From c68bed51e0d51d1ab6351dd1908fb808df6cfcba Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 9 Dec 2012 18:36:01 +0400 Subject: [PATCH] make gutter resizing faster --- lib/ace/virtual_renderer.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index 6b0d467d..86cd84db 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -96,7 +96,7 @@ var VirtualRenderer = function(container, theme) { this.setHighlightGutterLine(true); this.$gutterLayer = new GutterLayer(this.$gutter); - this.$gutterLayer.on("changeGutterWidth", this.onResize.bind(this, true)); + this.$gutterLayer.on("changeGutterWidth", this.onGutterResize.bind(this)); this.$markerBack = new MarkerLayer(this.content); @@ -339,6 +339,16 @@ var VirtualRenderer = function(container, theme) { delete this.resizing; }; + this.onGutterResize = function() { + var width = this.$size.width; + var gutterWidth = this.showGutter ? this.$gutter.offsetWidth : 0; + this.scroller.style.left = gutterWidth + "px"; + this.$size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBar.getWidth()); + + if (this.session.getUseWrapMode() && this.adjustWrapLimit()) + this.$loop.schedule(this.CHANGE_FULL); + }; + /** * * Adjusts the wrap limit, which is the number of characters that can fit within the width of the edit area on screen.