2d mouse wheel support
This commit is contained in:
parent
64aea4a8be
commit
05a9bfd332
3 changed files with 25 additions and 5 deletions
|
|
@ -323,8 +323,7 @@ var Editor = function(renderer, doc) {
|
|||
};
|
||||
|
||||
this.onMouseWheel = function(e) {
|
||||
var delta = e.wheel;
|
||||
this.renderer.scrollToY(this.renderer.getScrollTop() - (delta * 15));
|
||||
this.renderer.scrollBy(e.wheelX, e.wheelY);
|
||||
return ace.preventDefault(e);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -314,6 +314,11 @@ var VirtualRenderer = function(container) {
|
|||
}
|
||||
};
|
||||
|
||||
this.scrollBy = function(deltaX, deltaY) {
|
||||
deltaY && this.scrollToY(this.scrollTop + deltaY);
|
||||
deltaX && (this.scroller.scrollLeft += deltaX);
|
||||
};
|
||||
|
||||
this.screenToTextCoordinates = function(pageX, pageY) {
|
||||
var canvasPos = this.scroller.getBoundingClientRect();
|
||||
|
||||
|
|
|
|||
|
|
@ -110,8 +110,24 @@ require.def("ace/lib/event", ["ace/lib/core"], function(core) {
|
|||
|
||||
event.addMouseWheelListener = function(el, callback) {
|
||||
var listener = function(e) {
|
||||
e.wheel = (e.wheelDelta) ? e.wheelDelta / 120
|
||||
: -(e.detail || 0) / 3;
|
||||
if (e.wheelDelta !== undefined) {
|
||||
if (e.wheelDeltaX !== undefined) {
|
||||
e.wheelX = e.wheelDeltaX / 8;
|
||||
e.wheelY = e.wheelDeltaY / 8;
|
||||
} else {
|
||||
e.wheelX = 0;
|
||||
e.wheelY = e.wheelDelta / 8;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (e.axis && e.axis == e.HORIZONTAL_AXIS) {
|
||||
e.wheelX = (e.detail || 0) * 5;
|
||||
e.wheelY = 0;
|
||||
} else {
|
||||
e.wheelX = 0;
|
||||
e.wheelY = (e.detail || 0) * 5;
|
||||
}
|
||||
}
|
||||
callback(e);
|
||||
};
|
||||
event.addListener(el, "DOMMouseScroll", listener);
|
||||
|
|
@ -158,6 +174,6 @@ require.def("ace/lib/event", ["ace/lib/core"], function(core) {
|
|||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
return event;
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue