From 929cf21ff80e093aa0265bcc7ac5d07239e0775f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 22 Nov 2015 12:07:50 +0100 Subject: [PATCH] 3: Zoom in/out should try its best to keep cursor at the same position Task-Url: https://github.com/eyck/txviewer/issues/issue/3 --- .../database/swt/internal/WaveformCanvas.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java index 8b9f0bd..841e80b 100644 --- a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java +++ b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java @@ -222,16 +222,32 @@ public class WaveformCanvas extends Canvas { } public void setZoomLevel(int level) { + long oldScaleFactor=scaleFactor; if(level0) + origin.x=(int) -originX; // new cursor time offset relative to left border + else + origin.x=0; syncScrollBars(); - arrowPainter.setTx(tx); + arrowPainter.setTx(tx); redraw(); - } + } } public long getScaleFactor() {