Exemple #1
0
    function mousemove(e) {
        if (!this._dragging) {
            return;
        }

        eventTool.stop(e.event);

        if (e.gestureEvent !== 'pinch') {

            if (interactionMutex.isTaken('globalPan', this._zr)) {
                return;
            }

            var x = e.offsetX;
            var y = e.offsetY;

            var dx = x - this._x;
            var dy = y - this._y;

            this._x = x;
            this._y = y;

            var target = this.target;

            if (target) {
                var pos = target.position;
                pos[0] += dx;
                pos[1] += dy;
                target.dirty();
            }

            eventTool.stop(e.event);
            this.trigger('pan', dx, dy);
        }
    }
Exemple #2
0
    function mousemove(e) {
        if (!this._dragging) {
            return;
        }

        eventTool.stop(e.event);

        if (e.gestureEvent !== 'pinch') {

            if (interactionMutex.isTaken(this._zr, 'globalPan')) {
                return;
            }

            var x = e.offsetX;
            var y = e.offsetY;

            var oldX = this._x;
            var oldY = this._y;

            var dx = x - oldX;
            var dy = y - oldY;

            this._x = x;
            this._y = y;

            eventTool.stop(e.event);
            this.trigger('pan', dx, dy, oldX, oldY, x, y);
        }
    }
Exemple #3
0
    function mousemove(e) {
        if (eventTool.notLeftMouse(e)
            || !checkKeyBinding(this, 'moveOnMouseMove', e)
            || !this._dragging
            || e.gestureEvent === 'pinch'
            || interactionMutex.isTaken(this._zr, 'globalPan')
        ) {
            return;
        }

        var x = e.offsetX;
        var y = e.offsetY;

        var oldX = this._x;
        var oldY = this._y;

        var dx = x - oldX;
        var dy = y - oldY;

        this._x = x;
        this._y = y;

        this._opt.preventDefaultMouseMove && eventTool.stop(e.event);

        this.trigger('pan', dx, dy, oldX, oldY, x, y);
    }
Exemple #4
0
 function mousewheel(e) {
     eventTool.stop(e.event);
     // Convenience:
     // Mac and VM Windows on Mac: scroll up: zoom out.
     // Windows: scroll up: zoom in.
     var zoomDelta = e.wheelDelta > 0 ? 1.1 : 1 / 1.1;
     zoom.call(this, e, zoomDelta, e.offsetX, e.offsetY);
 }
Exemple #5
0
    function pinch(e) {
        if (interactionMutex.isTaken('globalPan', this._zr)) {
            return;
        }

        eventTool.stop(e.event);
        var zoomDelta = e.pinchScale > 1 ? 1.1 : 1 / 1.1;
        zoom.call(this, e, zoomDelta, e.pinchX, e.pinchY);
    }
Exemple #6
0
    function zoom(e, zoomDelta, zoomX, zoomY) {
        if (this.pointerChecker && this.pointerChecker(e, zoomX, zoomY)) {
            // When mouse is out of roamController rect,
            // default befavoius should be be disabled, otherwise
            // page sliding is disabled, contrary to expectation.
            eventTool.stop(e.event);

            this.trigger('zoom', zoomDelta, zoomX, zoomY);
        }
    }
Exemple #7
0
        eventTool.addEventListener(textarea, 'keydown', function (e) {
            if ((e.keyCode || e.which) === 9) {
                // get caret position/selection
                var val = this.value;
                var start = this.selectionStart;
                var end = this.selectionEnd;

                // set textarea value to: text before caret + tab + text after caret
                this.value = val.substring(0, start) + ITEM_SPLITER + val.substring(end);

                // put caret at right position again
                this.selectionStart = this.selectionEnd = start + 1;

                // prevent the focus lose
                eventTool.stop(e);
            }
        });
Exemple #8
0
    function zoom(e, zoomDelta, zoomX, zoomY) {
        var rect = this.rectProvider && this.rectProvider();

        if (rect && rect.contain(zoomX, zoomY)) {
            // When mouse is out of roamController rect,
            // default befavoius should be be disabled, otherwise
            // page sliding is disabled, contrary to expectation.
            eventTool.stop(e.event);

            var target = this.target;
            var zoomLimit = this.zoomLimit;

            if (target) {
                var pos = target.position;
                var scale = target.scale;

                var newZoom = this.zoom = this.zoom || 1;
                newZoom *= zoomDelta;
                if (zoomLimit) {
                    var zoomMin = zoomLimit.min || 0;
                    var zoomMax = zoomLimit.max || Infinity;
                    newZoom = Math.max(
                        Math.min(zoomMax, newZoom),
                        zoomMin
                    );
                }
                var zoomScale = newZoom / this.zoom;
                this.zoom = newZoom;
                // Keep the mouse center when scaling
                pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);
                pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);
                scale[0] *= zoomScale;
                scale[1] *= zoomScale;

                target.dirty();
            }

            this.trigger('zoom', zoomDelta, zoomX, zoomY);
        }
    }
Exemple #9
0
 onmousemove: function (e) {
     // Fot mobile devicem, prevent screen slider on the button.
     eventTool.stop(e.event);
 },