From 247f01ad2a51f2dbd78a723947107ae2c1decd5d Mon Sep 17 00:00:00 2001 From: void <> Date: Thu, 21 Mar 2024 20:42:44 +0000 Subject: [PATCH] hopefully the last cursor sync (match changes to xarcan) FossilOrigin-Name: 7e69c1bfa0b96d643049087337a2dd9304526e8efcb81687a1cc4ea96d91663b --- README.md | 3 ++ durden/builtin/mouse.lua | 9 ++---- durden/cursor/default/context.png | Bin 0 -> 915 bytes durden/cursor/default/default.lua | 44 ++++++++++++++++++-------- durden/cursor/default/drag-reject.png | Bin 0 -> 1713 bytes durden/cursor/default/forbidden.png | Bin 0 -> 1594 bytes durden/cursor/default/help.png | Bin 0 -> 1888 bytes durden/cursor/default/rz_updown.png | Bin 0 -> 1069 bytes durden/durden.lua | 1 + durden/tiler_mh.lua | 16 +++++----- 10 files changed, 45 insertions(+), 28 deletions(-) create mode 100644 durden/cursor/default/context.png create mode 100644 durden/cursor/default/drag-reject.png create mode 100644 durden/cursor/default/forbidden.png create mode 100644 durden/cursor/default/help.png create mode 100644 durden/cursor/default/rz_updown.png diff --git a/README.md b/README.md index 09769b5d..9a2f1d75 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ and licensed under the Apache-2.0 license. The included UI font, IBM/Plex, is provided free via the SIL OpenFont License 1.1. +The included cursors, phinger, are provided free (cc-by-sa 4.0) +https://github.com/phisch/phinger-cursors + The included fallback font, Emoji-One, is provided free (cc-by 4.0 attribution) by http://emojione.com diff --git a/durden/builtin/mouse.lua b/durden/builtin/mouse.lua index 0a8363f1..3321aa1a 100644 --- a/durden/builtin/mouse.lua +++ b/durden/builtin/mouse.lua @@ -1377,8 +1377,6 @@ function mouse_custom_cursor(ct) image_shader(mstate.cursor, "DEFAULT"); end - print("custom-cursor", ct.hotspot_x, ct.hotspot_y); - mstate.hotspot_x = ct.hotspot_x; mstate.hotspot_y = ct.hotspot_y; mstate.active_label = ""; @@ -1387,17 +1385,15 @@ function mouse_custom_cursor(ct) mouse_cursor_draw(); end -function mouse_switch_cursor(label) +function mouse_switch_cursor(label, force) if (label == nil) then label = "default"; end - if (label == mstate.active_label) then + if (label == mstate.active_label and not force) then return; end - mstate.active_label = label; - if (cursors[label] == nil) then hide_image(mstate.cursor); return; @@ -1405,6 +1401,7 @@ function mouse_switch_cursor(label) local ct = cursors[label]; mouse_custom_cursor(ct); + mstate.active_label = label; end function mouse_cursors() diff --git a/durden/cursor/default/context.png b/durden/cursor/default/context.png new file mode 100644 index 0000000000000000000000000000000000000000..8c87ec515a4acbf08100e0451b0f457243ea3902 GIT binary patch literal 915 zcmeAS@N?(olHy`uVBq!ia0vp^5+E$V0wks0X&L}2g=CK)Uj~LMH3o);76yi2K%s^g z3=E|}xmO7c3|2E37{m+a>(^4`i^H zc>21szhD*>(O?L;=4}Gfps3M&+ia<<1c#NX5>o%~r>FS*$jGQj z1`TF|b|I^PTBqSs|f95>WRDZwzkHwApZ*LyolQyqA_y5Pn=FfjBD}Vm~zqeT4 z=7-tqYr1S~a&jI&}UteBcKfm_pp#ulb_2n>fpQ+x>T2y@0 zS5(yh)cyVcRewA`zo>Px+T0so9vs}fvZiKD_rJf+-+pZmHP3%{+SDYaqCsXxP*8l; z`MHM$FHH~{&SjIzlz@9G=6`Fo&Vq8A3ud38eOVsNaN%&HZ(LSD7K$r zUj1!;_I&&MnsW>o1-HF=yhA9qT=>Bw<^_{o)K;c9mvm9ywqTSV3W|2>is z!52@yynHcO&~v9yBIn1S4LsZzc-`2qWE=4CF)(~wUp!eb=KfJ&0#q$=jVMV;EJ?LW zE=mPb3`Pb0o0%Y sx1l66H?_DVF}DD&$H*|m$iT`3WIV)@e+Ob5fqED`UHx3vIVCg!0Apo<=l}o! literal 0 HcmV?d00001 diff --git a/durden/cursor/default/default.lua b/durden/cursor/default/default.lua index 5dfa07c6..708ddac0 100644 --- a/durden/cursor/default/default.lua +++ b/durden/cursor/default/default.lua @@ -1,22 +1,38 @@ return { +-- generic default = {"default.png", 0, 0}, - drag = {"drag.png", 8, 7}, wait = {"wait.png", 12, 12}, forbidden = {"forbidden.png", 12, 12}, grabhint = {"grabhint.png", 8, 10}, - hand = {"pointer.png", 14, 6}, - sizeall = {"sizeall.png", 16, 16}, crosshair = {"crosshair.png", 12, 12}, - ["col-resize"] = {"rz_col.png", 16, 15}, - cell = {"cell.png", 12, 12}, - typefield = {"typefield.png", 12, 12}, - rz_diag_l = {"rz_diag_l.png", 6, 6}, - rz_diag_r = {"rz_diag_r.png", 6, 6}, - rz_down = {"rz_down.png", 6, 13}, - rz_left = {"rz_left.png", 0, 5}, - rz_right = {"rz_right.png", 14, 5}, - rz_up = {"rz_up.png", 5, 0}, + hand = {"pointer.png", 14, 6}, ["zoom-in"] = {"zoom-in.png", 11, 11}, - ["zoom-out"] = {"zoom-out.png", 11, 11} -} + ["zoom-out"] = {"zoom-out.png", 11, 11}, + help = {"help.png", 0, 0}, + ["context-menu"] = {"context.png", 1, 1}, +-- data oriented + typefield = {"typefield.png", 12, 12}, + datafield = {"typefield.png", 12, 12}, + ["vertical-datafield"] = {"verticaldata.png", 12, 12}, + cell = {"cell.png", 12, 12}, + alias = {"alias.png", 12, 12}, +-- drag and drop + drag = {"drag.png", 8, 7}, + ["drag-drop"] = {"drag-drop.png", 0, 0}, + ["drag-reject"] = {"drag-reject.png", 0, 0}, +-- resizing operations + sizeall = {"sizeall.png", 16, 16}, + west = {"rz_left.png", 0, 5}, + east = {"rz_right.png", 16, 15}, + north = {"rz_up.png", 5, 0}, + south = {"rz_down.png", 5, 0}, + ["west-east"] = {"rz_leftright.png", 15, 15}, + ["north-south"] = {"rz_updown.png", 12, 12}, + ["north-west"] = {"rz_diag_l.png", 6, 6}, + ["south-west"] = {"rz_diag_l.png", 6, 6}, + ["north-east"] = {"rz_diag_r.png", 6, 6}, + ["south-east"] = {"rz_diag_r.png", 6, 6}, + ["north-west-south-east"] = {"rz_diag_l.png", 6, 6}, + ["south-west-north-east"] = {"rz_diag_r.png", 6, 6}, + } diff --git a/durden/cursor/default/drag-reject.png b/durden/cursor/default/drag-reject.png new file mode 100644 index 0000000000000000000000000000000000000000..572c5694f3ed8116c36d7e786a62ea07c9d07b47 GIT binary patch literal 1713 zcmZ{jdsLEX9>*UqjpeN@Bg+a>^V(Y|C@zu~tAMCXxQgP1NW?`Hg@L@Fu1w0-sM)5L zNEP2WIO9!)&Kyza7t)2oKEX&%NOvo(>T=w2Z}?9jsigH4uGr_fED;i_6qD9%jB;Od>qzb*kJov(OFZtvXapD4WIuYcX;Ehw(@etCKq zbvptHIYyRK97f1KF$uFaw`2GMyS2`jX`={RC&bMN8zMjBY!r1X6}!t{l=5t>e;g?a za330GNMsn>ESz59vSqnor4GUDjBW##aYUP0s)$ z$R6#2(i4Ynwj}o?OhfMw%Xf?9L&Wq($;UUf>t&u)*dn*{24Z%&|SqCqJFE%$)2D1NgI?y zkXbE&6i%~W6Rf-Y>wamMYT6V#c#Rj^O_@F;3B|jFHF2uet@a?hl3-QA%DM(vNnn7+ zWw)6k>nPN|VGq8Wmw<&76S`W8+tzO^4X1vCm0Z7YshFP}?vuV>;3qP9&DES7!2cn? zW17{ktr{5kkt&34Cgd%I5$QJEb%T-ft>fK60T)+O2IH}asH8FPYHEAwKxwI3U0GRa zFT3o~aai|(;QxL;v3ZbZxuqTuBklNlaPEv&A0>+3}f+hI*Y}s^t~Ubqcmz#4OLuVSxl3opT)acTmWBLtvs63Lf}4#BNJN!Q>Yfy!;>~gt%Ct7)Oe&*3 zHtqfLOt}%3lhOy>Vt9EIH|_&_v)OF;Z#m-WXl+L6QmfVWGE`M{b+y?RK99!(piZe& zCOg!7nQE6E6rxlG=5d0c3p@Nbz9(c?_^+kKZwst{Zc3_|6Sm|<6TDP%`Ioa^j@ELb z*^#OweQm_r4&ixl-Q2Ij&&158|C*^ppZaHYL;G?d;%Ik@?pY1A?^`qFdvqIc88 zNAfxwUmx*y@4-P43~)Nlt)WnWGFsSAGu-rBLV0bncKi-mh`g0 zy}ZK0LITCI@fytV`He0R1lh^h_67C@cP7-A6=H>0owVt}Kc+@_OPqs+$|iH;(qMDQ zr@CC++pM@96MijwhDfBZE^RZ^*Vpd^rznw;k+x|K7Hbi+!b#zA!F=!e5?3qo%Bsa* z4y%MN&W`rNrHA7U=Do|GOv^@->D{mT+}XE7$ly>NMjkme)_~l%`CaFMm9zb6T}s+& zM_Q)7q=c_YP+vp_-Wxr=lIW0M?UdOWJ+)QEeDnFlN&V;j<{4(Jh~RPWV)K4upY24O zH~evd{gSYFN$Lp+7ti^M3kUE+`(Yt820~+Fd@*=52JeUSL8I|#bcQ#&=6?!;?9}wM z{QqCrm3zh$E_nVvL6R=uiX|rm!rwc7zA=7iJjNf7#r$_jsqo?y+yUWXv`{sXed^y3 CsqJO} literal 0 HcmV?d00001 diff --git a/durden/cursor/default/forbidden.png b/durden/cursor/default/forbidden.png new file mode 100644 index 0000000000000000000000000000000000000000..26069348f79f715209dad11daf465712c22a8a88 GIT binary patch literal 1594 zcmZ{kdpOg39LK-SZ5)@;l2|hLXvbzQwUD!hF(gTIiH*5tu4{$FQHb0|7q@6c$up;m zdSbKXUS~>@P$xpHquic|(CPd-=XrXb^T&C;pU?OG{eHgB`}_Ito9*H5q@Gya&~i&doQ&GsVCiZz+H9O-B&Vc!l99jtCktc7|b)L_0w~^Ms56LZ&?+VIB!@PHP4SG zh~_Jj=l7_*H5CT=J!C(6V)a#LDMK3Gd1BVZ?OCe)z!E#-8kwp;!E|&SxLp_Q*5g76 zOJz$QB((5@C1+k;efeRkdP#0=|E_Lc|J|i13r&oqCrngTQCg9>dh2!*q@@=-+xn73 zRaN~+yp9@Y^E>H1To1vMxK)&}yW5{FN)?SUi2SvIwE>c@PN0%dQy+fTM!Uf1V2fwH z7YrQs^7LxIqrp4>URQDQujN)qPp@p0r3=%AABO5XUeIS2+F_y`I-3mgKV8yqrOZj@ zBq!!W&Bhy6XG-zmfs{bX4riD&>{ok}wnFh#Jm@`UNmW8lt!Lc3`&no=Ifv4pb@?4s_JdcLAW5O@gI) zU^NtBQN74{xyLb8ttprE&x-~tUQ{&sW~9hy?^Hk_Cs&_v%lBJn<($Xa)^aU^a76d( z1M;Ad!{KbQM?eq3fR38{5v(d|Xl!guJ0o!;v z-p=~7E$pNG#vA04*29KH4AAky@!mnEO%jqUv6a}O4y;ytH*5meJnJpCOoZMYQB0fM z0+fFR|)fZWi4%#}_YBOlTp|-xVRBXwJv;gK=~ew+rHl?&!$K zNV89;7{YqZ>Cybk`es>m#@3LnHT|(E5A6K=#>$v*`|zfCNYAI*YiAl}8WtsrX#SgM zxwj8SAr5T6xU5>Bhf>a(4Ev@xEa*urP}Mx1*W!4z{W8y#RYX9T`BP?v5o1f`)}6Cj zde)9eg|po~Jv~Fs?bweA=kSUh;8v8MpPv>WDra?UN~3>)0RA1dA1Nbtfv;kcfBx89 zST6o8n{;2TNMCA~_(-=sZFOa+WvFF3bb*?*%NA)MAjWO@m0(L<4W$4)gUIb9zmBrf z0^*m0gM(e!KlNeMZ=Cl1dZAkO8+#aae>!yZ`ZGOd-UZX!5~CH%m3xhi61968!~Z6yOn?p3ss`W<0)p>>44 zqH@CX*lTT(Q(-aujA76D%;=`^lO2nhlLiK<4o1m_$=Wv5b@Ww5QnV6Qe!svs@clE1<^OX^&GRjRG`|P&snL-{2lru4Ok9T7K6?T zAq2;VKnBdQ<`x(%9)q>;!r=*6Ji*-B6pJNbvBylX7yc7q#xNp66aPP;dE%Tg6fpiV qffd0FNnp{Lu|G2AI4^T70dGmbTKqet>q^~4CP zDn%*L1!R#XJz)hNH4&t%^!44mH?uSE!#lq@=YQv(`Olg2>7-a$81bEvI0FCxAKqBs z21;@E6y$-{dgekq6tdpNHs$~jsRRIVi2!f}{fc7&Kqv?RYaRfADFgtqz~a}|TF?fM zm#L9Hl+ZZ5+5R&Wyn)8ILZI~c&)mL;8-YGxWW2cnjKw7?B6qcLVZ;?GUcu{Q?FijN zgcvhhM-f`gDQA^zGFi1@5^h1RR39Set0vdflM~f(#iox8NwTGKDBERk|93Qc{AI6e z|0^}<>Hh|5koi4Jam?jN~r{S~gmo5b&0esIiOo{QSlW`>R2 z*q_@M_izHm$M+ExDtaqwz_N^16`1t*jbjhZ;B1RMA&o?aYdS$(6O> zOzEYtUCqN19HPwJsOQg41B4RKd-e}>2L?zt( z6?9f>-c}sIhchwey<8+sQ;D@cq1J=#?`s>YFZ}q^#KpC9p@)ZcgR(g(AF{hCZjoyd z%Dc1`74zldzaW?T4ogq0Vp%PuiORYFECE7a9eNjTJKF@y%VSM{)2=mqoK%1Q!FA8p zang83SJX)Ct3ZThvGVYFQ-z6WU0T1SI!C5ekcJ(vW(ls;%2@dg?V)Cm^dkR4xStD~ zqoZ92WH0_7caxk-9hR4`_7k!jzIf{C;r7Hxjg3^QM7cv6qs?V@V|ac?P$|Tx=Wb{_ zN1?8+EPw@)Q=Qs#P{!FvGwRZjH@&$|VoAcnhu9yEbo+foR5aJVy(GKtH*`SknTYqU zyKI~HVPriRnxdeTg7=zf3!=@((oSQMlqCVC;_i*q)s+$r&nB!&ftW~I297>DI-9;E zh$+$7d~lOKXVJW}dvY>r4d2_Fyj#SFJH|5=7Xw7JrJ^*x1%94-kz-uSGNl@vI09e6IRT)@>uyJDYh9)+&^AWp zI?#C3G)+DD31#;DOAT-SqvQG@x22AE5fnjNtm1=N{08Om*Oy{Q7HH7J5o7QhAQX_xW1UGLPY_!N7gx~v1@Qc5`Aq~vQp_>k*) zFPlc}D^~F63N`7hkW3G3hnK%RHN^jOySDBn=_Ujm`^z$!|AHuyczDe9VU~mx;szwl zNiVvw2HZG+?tkGd01Q|D{J!LRfx@j2N*BDSOC{)|d=iWLbpG^ZPml>ls^~$$OsC)e zbK7onw$RYYPi%Wk-JytI_s~W!%BSBhAL#6^4isRqc0rLh?I(wdER=x?OGkUg#`%o# zr;jB~-*g4dH#4-D-}@wk%LQb35-|KDztM{5^5+hah=s*oNg5`>y==@`mT2T(I|AZs z3z9@<(wdu1FUGs;9%)^hH07QXnUlM=)9Wzj*g|`0Qbx_}-VS^i*Zb@1v9}3+ej%%7 z8}1G9W0vBA?n|Kh=Lz4ho!&Q$a{&*;mGfl?I-ZTDxNaFA+rc zOQc9PAdr1L$wZ8IFcAs>2_n&IAW98H+o_{4APR%LegyADNDZt0iH{$;n zB*Kzapn}TZCy@O}#1OJ4De&(OQr!*-Vo+!d8vWlxYDK%Pp$>pIu+Xo?dBp!4<-c25 literal 0 HcmV?d00001 diff --git a/durden/cursor/default/rz_updown.png b/durden/cursor/default/rz_updown.png new file mode 100644 index 0000000000000000000000000000000000000000..0aaf8d6d89918967d16afeeed0d36fc69905a964 GIT binary patch literal 1069 zcmeAS@N?(olHy`uVBq!ia0vp^5+E$V1|&B;f4Cb+DI|LY`7$t6sWC7#v@kII0tz*} zU|=XUU|@Kaz`$TNgMmT3V9u^U8=wSRlDE4HkOqRE&b#Y@6lZ})WHFFV0OJqYPUnFP z_7YEDSN0doq9Q7M(ziA385o#;c)B=-L>#^vao$@gP^SLWxrE+zB9)N_`QDe-e^sdV zy5Zd$a^WW5!?Km$u}KRLXZ>%GtX}2pQ*m?ku}McSh&5JgbUH1O7cTuEV6t|}<1;g^ z?cv*ee`;3tO3BIho-)hZ-~YaE{?C2iYmKD>Lfa00`0-xi^|qi=A@z>qrB64-x%E`3 zzf+27=`OHpHBI!5xP41#kyA)VULI5Z?Faw0LYbMnpD6A0@bfETaW7yw79)K9h^ZpW zo_lO1UUL>jOiPU{D+y6j4N~&=zb$nO2)S4t9yqcWni?^2Pgtg|vnFI+Q(YpRpY zd*fd{cFM;sW%$|;HySE@SkP=Sul})J9al8 zoxh1^#(&*?yZ;>eyr6l-PW{!uJHto;l?s2tQiHa^!a9!`Zwf~gZBJ~%XRfpcTt!0XS zK7Et5#{UVajzah2`sUAV$)9Zs@AMCo$-NnH7 zfFUj_s&|cBnDWXgr@SV0d9Cd#+TW|^uM32|{rf|tug>|Qz4wF`n}q)3)IE0c_m7r; zj6Ht5#QLt^_H?82`>hS^vPUva7wqIVR6fIDylH#7>;}FFcAaU*N|JXO#_HU=%E)ik zQN2+8--Q)_UvD`VyJDT5bLt8nQ~UGlKWP8)^5)javE3#Yeg5CR*e%^RxP literal 0 HcmV?d00001 diff --git a/durden/durden.lua b/durden/durden.lua index 4d99aac6..9b060061 100644 --- a/durden/durden.lua +++ b/durden/durden.lua @@ -283,6 +283,7 @@ load_configure_mouse = function() local setname = gconfig_get("mouse_cursorset") or "default" mouse_load_theme("cursor", setname) + mouse_switch_cursor("default", true) switch_default_texfilter(FILTER_NONE); diff --git a/durden/tiler_mh.lua b/durden/tiler_mh.lua index d6ea3514..d9c185a6 100644 --- a/durden/tiler_mh.lua +++ b/durden/tiler_mh.lua @@ -21,14 +21,14 @@ end -- map rectangle edge to mouse-cursor direction and name local dir_lut = { - ul = {"rz_diag_r", {-1, -1, 1, 1}}, - u = {"rz_up", {0, -1, 0, 1}}, - ur = {"rz_diag_l", {1, -1, 0, 1}}, - r = {"rz_right", {1, 0, 0, 0}}, - lr = {"rz_diag_r", {1, 1, 0, 0}}, - d = {"rz_down", {0, 1, 0, 0}}, - ll = {"rz_diag_l", {-1, 1, 1, 0}}, - l = {"rz_left", {-1, 0, 1, 0}} + ul = {"north-west", {-1, -1, 1, 1}}, + u = {"north", {0, -1, 0, 1}}, + ur = {"north-east", {1, -1, 0, 1}}, + r = {"east", {1, 0, 0, 0}}, + lr = {"south-east", {1, 1, 0, 0}}, + d = {"south", {0, 1, 0, 0}}, + ll = {"south-west", {-1, 1, 1, 0}}, + l = {"left", {-1, 0, 1, 0}} }; -- display- local coordinate to window border conversion