private currentRowHeight: number;
private lastRecordedBufferLength: number;
private lastRecordedViewportHeight: number;
+ private lastTouchY: number;
/**
* Creates a new Viewport.
// Prevent the page from scrolling when the terminal scrolls
ev.preventDefault();
};
+
+ public onTouchStart(ev: TouchEvent) {
+ this.lastTouchY = ev.touches[0].pageY;
+ };
+
+ public onTouchMove(ev: TouchEvent) {
+ let deltaY = this.lastTouchY - ev.touches[0].pageY;
+ this.lastTouchY = ev.touches[0].pageY;
+ if (deltaY === 0) {
+ return;
+ }
+ this.viewportElement.scrollTop += deltaY;
+ ev.preventDefault();
+ };
}
self.viewport.onWheel(ev);
return self.cancel(ev);
});
+
+ on(el, 'touchstart', function(ev) {
+ if (self.mouseEvents) return;
+ self.viewport.onTouchStart(ev);
+ return self.cancel(ev);
+ });
+
+ on(el, 'touchmove', function(ev) {
+ if (self.mouseEvents) return;
+ self.viewport.onTouchMove(ev);
+ return self.cancel(ev);
+ });
};
/**