From 81a6cf282be65838bbc9efb8cd306311fb54539d Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Tue, 15 Jan 2019 23:57:25 +0100 Subject: [PATCH] move mouse scroll logic to RulerScrollPane --- diylc/diylc-swing/lib/diylc-core.jar | Bin 242795 -> 242795 bytes diylc/diylc-swing/lib/swing-framework.jar | Bin 142138 -> 144399 bytes .../swing/plugins/canvas/CanvasPlugin.java | 37 +++++------------- 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 226453283e9e6ce84263e8f6f08196abb7d789d3..ac64bd273bc74cd9fc9804dfe40ad90847a6dd27 100644 GIT binary patch delta 4309 zcmYjTd0fp|8^7nAib%4gkdj?^g(3SMVbpExOxY=lN=beC*yq4X>D(InVR_{+NIIexH3g=lpIjo|?aSYHp^TBaGT;G_5rn@2U*5 zf!wPq!|9X!t8-#K0hX|S+`CE_$vy)xupt1C*)V{vd>p_+J_ukJcLIoHHoDv!?c4q< zudaz>n7#N9q;w~U6qHhog|I)xM1T=SjsR9S%G0`(V$@q}e?+hD&I0VGYjvB%g9Y@&309-{jsA8fK_Y7@um`sF4~i@8RVY@{o&u+snH z9E5&zT~;HWp8W@`L|>rohjEwZ^+bHJkcL07WHi>fu`~?*7kF5jgTK$l_9*Z0^+W$x zeg$Tr&)m@;_2FU0PLIWr3V-sKg4j)J79|}#dWJ6I`lwTE7 zX`7NHl#5T^#nuu|nr*Y;JTmAU@i*!uQ+Dzjy@{+t| zI*SXo`oRtJSv$BqY0v*YTO;*rbob)A=vMq@sxSGuf#K|)ck6eD35`b6N_RibQrgV* zWjB(si%Gu~VHZ#D+{G?x?>V%B?%zBvLw(V+YV3O5%V!|#+#3&r`CTIoarP~_`8MA- zlP}HSX3Po&kaw+FM_;SSuIxCH7I&78By|DHtfxGeCID;-`iD=u$Uo7hK;Hu$qS0;lx0eBv7^n+U@x742?eYH$ovmr=cqIbh(k?JNw4(#?tYHYA3# z091d9Vph0Wt2ibPT-H32s16>K%8sGNK9jx0n$}s&g(i!dapt0poXmnE%e65|(aF_Psk**qlWjcf;! z5pUTVBstB@9!b?-Y#@WoPg>Ye(0pahTcf3y;IyqhCVV#a_qCxsEkrK8&{)xqko_6A z;fd&*(T+DDS>J(oM-ttcMU~D0(JSBVW!B2(e9_k6Z^vn{ zk-hmisy3@fv`>(Hy4#o%nJTMg_2bD5uh`AqLs|yOgXqVV3BTLGpAq zPeBsw%AGKCsT((kFNEQ|mK!1Y&Yd5CZ-`;-0zL^z;bJb}x5#kZldnQe`&E1rI4j!K zydEsQ*YJo=K#l}+drVWijXNND6TaDli4KeGnkW#U(ia`6;f;S+2)ze;G4bX+f% zLx;*1FEK`5WaXrnm<;&ZOE?1d@)o1OzSLVx2h8^t69Dgdiz$G;Hi$WZn>Psfe@ZFY zAZ7wee;cL4Mlk>c8Dyg@+9>Qn2;C_ETaua2s`z0eWuELKW`jN1N4Nss_K}@PwDlF^ z0l)MW3jxc0g(qO=O@x7)#3GQdY!X^PyUm3Do5ccYLF{cv<(v*K~4&zI`_ha8_1432qSk;fAuQb@1%Nx zJHa!%0&Pzm5{~l2^ zXH^vCwc14(u#4vWQALMnl4GOATB!F&H2Jy2P`y-MO)(KO9T_e2Arb^W#W= zJdWmWQE_fO&3Q1M`uz}3aoPlmJC;EE`H(>Sb4?^UH<9W!CQ@FPBzgbjy;qXtJ|x~t zlJ{O>-(-2-5`$H|oGjy{Y?C7MNc2e&(*Vm-gfn1sio6#Rol_}3NyYk9%G))KaAlgj zm(uS<8pXXyBmc4Kgc0fTrAqtdbn>&zpg4~Vd2UjFG=u6ltLTy`=a>5YOp1G^;&2`1 z57EiJNqe16?n|QGZpyb_#Z$Yu@ zOchG%uEc{(ZJQEQ$6x6z82o{-rtO_c2F4LTR6~m*nid zl=s12(mU>>xNZBWe(gT$(`r90Va0wrEd72O-sk}3aX&!v!2=Z6bb#Wf3G=J50Zbk zL!@7Gi0YOfBKt>GKl3nMg3QB|@7`hAk9=JHkI*IGeuN(9ts`O?=$#5l-cv}Av8hn3 z0{y}wu@bPdh~yqe>0=asRICI2>!b9sU0O_j)y4Gq%#YEd^;Yqsigw3IAFATdDms?X zk3d2RJ=VJ=^f*VK5X+%X&Ix+7uTId%b;?QcCFt``Qonzlq&V#<@+&+=kN3TbpO=!H xr(%xUOX~ zhI!MB8PN=5Y~y414r=s@iJ9{}&+m`rB!)V9yp`n}YhWYu0n~-} zsjJL8qH*`Tk6|B)74a0)XPF2(R&Gc|K6t)VzX;kjB@Pv0g80)f5i;& z@!;!dHV&~xygt+mvD>ish+RfxU=tOi3K6}>24Is_6B;;H*Dp3}n8!7mWD{MnwXOaa zj}Y{m;kg{~#I!$PCHi8m3&vfU)fMsO92&l0{xGa_b3r)z`}o>efq%f-HYjfo+<^YC zHxyffK6867)Sr#W!??LopP@Y^#t!Au*uH45+a(ZxO|U|Io^%ROSDbneAS&%TWb;Y) zM(d%>Wr&v9ajig~Rpcvhy0mj?#$q|$1XJD8bQ{GjQnb=L9VkQRA4<%yWL;?|lwTjF z(hlWGC?7s{4_iw(ft%Nt>C3@iH~*_&00y3Ff>M1ASX!56{0L&|89Im3v(}izcz!Bg z8k39PV6y*Su1Ecu>bqDxw}vi>*VT*Eanlf|ktMR@MW&fg9rdGXFVQhIX){fS%S+P8 zbk-Lg_5JE*v(|8V(q8<1rb_Bp=uVOE;JfV3*CcVHqvIL zue_OzU5x#$6uWqK_a1gpec!bObpQ5ACF)C`pU19Oy?PF^&b$5qnBUdY5N8_6EwJf< zrF?0InWn5n0C{K5+97FW$p#@A+lKW-vZ@`kKoVrbS|f?HW1UPOD&K+4;y~UwveVW; zjtpQq=rd_BOF~jRl>Na67g&seRW|xp;k5`*GJc%V^ zUiT?%GMXZ$u^*Al^kQX5n!Q;%l2jj-$*rJ(`MPgixh(LJD{WsgTO~C^m>XuyV>SZK zqr3lUa$X+L>3^Hk7P4ztYUv_YL}?!0er#c5rqP@*Q!dmqTZ79|*2fHn^Ipvou;iUJ z>^73q>)1z(HUzQh0;lx1c^Vicn+V4#6>XNVFt~-N%Q(M;?M98`a}g&ap9A>1GuRqXIR9T0Rlh8qKFR zN@b!fu=!hNk7;x_*hCBH^VS`95rg(TU>QgTJYrQy-aKXPk(j<@^N=il#bzNnSH{%sy4MtOhAZyx?7kMl`5-cyYOU&SL{|+|K`5(AY8bT;mYk4ZLw%!@aoNn;D%#e zc`#P|t3SVhvz;Hn52MC!Ft0!&??X0{$`L#c$?!2e5XqtOdq9VVgmdI8oJFCX6Wqtg$P4Z;v+7@&#WPEq4*V}JQs=0@Ci0tSSGYc+N~Cg zp+jYppBOGLvU1E%j01e*C)@zL`HP`oU*In$0T%g-(SY~;#dyGOYs7TG^=kzDKc$qf z5mNxAzk||tt>_Jc402HBt`*K8gsqkTEy>JhRQ#}(GLH)o@}?M-{|>QT~`sWWTkE^7ja)zJr4)-w(mU6Z|`d zh>d`WA!0V*gAj@zw3+&d+)Q!TRO}i`_Kl&`UsWj8X}^Wy{kI5T$WyJ#j$4H{$U$4h z0>G=2Uy+eV1_fB_LS_o)a0H&kJfWS<&I{TD`3d_yGdX<8KZSsq2_C8DW+ z-)NfiTr}mi-ATA{C(Zezimovv$Hj=1Q16cz^7D+Pe1)+je~6{JGvY{pAddR^5J&Z9 z?;?HKE}FYp#ToH5=e~IA_d`6zX%i^!NCNHWLjvv3E0N^AiBzvXk@9*b$@?eoy^1d7^>oxWEm%AhZLDdVnB+R2w0gSJOG}oc^K0EeU3aViO#tc=buad6}ja1F;_l9X`h}) za!wxQeV9jjw|t7*l27%k^QlkUJ+y=+d+4zAduVu*0?OlEK=Qrdy5RUWsG;^fltuy5=m z|IYhKzhXbtJ-MIkA65O719S;84^Y1Q2V_6;arHV#mwekndYrcpiiMzeFClq%2|dP! z60r>Qb4tZhKw~M%T@KO5DE^RG1^PFK=wrL!F!`N7Opnj%2t8VV6)&miR7UzR6@OOI zt(<-Y63XeZ-YciaIqaxd40Upk(xZKSls>NGkBKiqUwDlA{p%RTX^)d%$#HtT?^XP~ zg5*LK8&veDBz;aL_5Hk(>P|c%&qwA@J3$}$yQ6?pA_1E0R4)t Ay8r+H diff --git a/diylc/diylc-swing/lib/swing-framework.jar b/diylc/diylc-swing/lib/swing-framework.jar index 6a30c2959461bc14fbb55b9178b399ec660ae0da..3d2be5b4a684a455ff15a3e5928d3389f9f1edea 100644 GIT binary patch delta 12102 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 L^7q9%1M>d>@iP-s diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java index f769526a..493f7706 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java @@ -17,7 +17,6 @@ */ package org.diylc.swing.plugins.canvas; -import java.awt.Cursor; import java.awt.Dimension; import java.awt.Point; import java.awt.Rectangle; @@ -108,10 +107,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { private double zoomLevel = 1; - // mouse scroll mode - private boolean mouseScrollMode = false; - private Point mouseScrollPrevLocation = null; - private static double MOUSE_SCROLL_SPEED = 0.8; + public CanvasPlugin(ISwingUI swingUI) { this.swingUI = swingUI; @@ -147,17 +143,10 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { @Override public void mouseClicked(MouseEvent e) { - if (!mouseScrollMode && e.getButton() == MouseEvent.BUTTON2) { - mouseScrollPrevLocation = null; - mouseScrollMode = true; - canvasPanel.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); - } else if (mouseScrollMode) { - mouseScrollMode = false; - canvasPanel.setCursor(plugInPort.getCursorAt(e.getPoint())); - } else { - plugInPort.mouseClicked(e.getPoint(), e.getButton(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown(), - e.getClickCount()); - } + if (scrollPane.isMouseScrollMode() || e.getButton() == MouseEvent.BUTTON2) + return; + plugInPort.mouseClicked(e.getPoint(), e.getButton(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown(), + e.getClickCount()); } @Override @@ -225,18 +214,10 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { @Override public void mouseMoved(MouseEvent e) { - if (mouseScrollMode) { - if (mouseScrollPrevLocation != null) { - int dx = (int) ((e.getPoint().x - mouseScrollPrevLocation.x) * MOUSE_SCROLL_SPEED); - int dy = (int) ((e.getPoint().y - mouseScrollPrevLocation.y) * MOUSE_SCROLL_SPEED); - scrollPane.getHorizontalScrollBar().setValue(scrollPane.getHorizontalScrollBar().getValue() + dx); - scrollPane.getVerticalScrollBar().setValue(scrollPane.getVerticalScrollBar().getValue() + dy); - } - mouseScrollPrevLocation = e.getPoint(); - } else { - canvasPanel.setCursor(plugInPort.getCursorAt(e.getPoint())); - plugInPort.mouseMoved(e.getPoint(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown()); - } + if (scrollPane.isMouseScrollMode()) + return; + canvasPanel.setCursor(plugInPort.getCursorAt(e.getPoint())); + plugInPort.mouseMoved(e.getPoint(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown()); } }); }