From 29d9737b4cc45d28b5ffd7f75bdabcdb40cead66 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 4 Feb 2013 18:07:35 +0400 Subject: [PATCH] add beforeRender and after render events --- lib/ace/virtual_renderer.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index a95f999d..4700d3f4 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -632,6 +632,7 @@ var VirtualRenderer = function(container, theme) { if (!force && (!changes || !this.session || !this.container.offsetWidth)) return; + this._signal("beforeRender"); // text, scrolling and resize changes can cause the view port size to change if (changes & this.CHANGE_FULL || changes & this.CHANGE_SIZE || @@ -666,12 +667,12 @@ var VirtualRenderer = function(container, theme) { this.$cursorLayer.update(this.layerConfig); this.$moveTextAreaToCursor(); this.$highlightGutterLine && this.$updateGutterLineHighlight(); + this._signal("afterRender"); return; } // scrolling if (changes & this.CHANGE_SCROLL) { - this.$updateScrollBar(); if (changes & this.CHANGE_TEXT || changes & this.CHANGE_LINES) this.$textLayer.update(this.layerConfig); else @@ -682,8 +683,10 @@ var VirtualRenderer = function(container, theme) { this.$markerBack.update(this.layerConfig); this.$markerFront.update(this.layerConfig); this.$cursorLayer.update(this.layerConfig); - this.$moveTextAreaToCursor(); this.$highlightGutterLine && this.$updateGutterLineHighlight(); + this.$moveTextAreaToCursor(); + this.$updateScrollBar(); + this._signal("afterRender"); return; } @@ -717,6 +720,8 @@ var VirtualRenderer = function(container, theme) { if (changes & this.CHANGE_SIZE) this.$updateScrollBar(); + + this._signal("afterRender"); }; this.$computeLayerConfig = function() { @@ -1231,10 +1236,6 @@ var VirtualRenderer = function(container, theme) { this.$composition = null; }; - this._loadTheme = function(name, callback) { - - }; - /** * [Sets a new theme for the editor. `theme` should exist, and be a directory path, like `ace/theme/textmate`.]{: #VirtualRenderer.setTheme} * @param {String} theme The path to a theme