From b7502db9c6e0a26f3af15a2979d0d4a9138757db Mon Sep 17 00:00:00 2001 From: abdullah12121212 Date: Mon, 27 Apr 2026 13:10:51 +1000 Subject: [PATCH 1/2] Add mouse_shown usage example for input API --- .../input/mouse_shown-1-example-oop.cs | 40 ++++++++++++++++++ .../input/mouse_shown-1-example-top-level.cs | 32 ++++++++++++++ .../input/mouse_shown-1-example.cpp | 35 +++++++++++++++ .../input/mouse_shown-1-example.gif | Bin 0 -> 17797 bytes .../input/mouse_shown-1-example.py | 28 ++++++++++++ .../input/mouse_shown-1-example.txt | 1 + 6 files changed, 136 insertions(+) create mode 100644 public/usage-examples/input/mouse_shown-1-example-oop.cs create mode 100644 public/usage-examples/input/mouse_shown-1-example-top-level.cs create mode 100644 public/usage-examples/input/mouse_shown-1-example.cpp create mode 100644 public/usage-examples/input/mouse_shown-1-example.gif create mode 100644 public/usage-examples/input/mouse_shown-1-example.py create mode 100644 public/usage-examples/input/mouse_shown-1-example.txt diff --git a/public/usage-examples/input/mouse_shown-1-example-oop.cs b/public/usage-examples/input/mouse_shown-1-example-oop.cs new file mode 100644 index 000000000..ca5dc0dd4 --- /dev/null +++ b/public/usage-examples/input/mouse_shown-1-example-oop.cs @@ -0,0 +1,40 @@ +using SplashKitSDK; + +namespace MouseShownExample +{ + public class Program + { + public static void Main() + { + SplashKit.OpenWindow("Mouse Shown", 800, 600); + + while (!SplashKit.QuitRequested()) + { + SplashKit.ProcessEvents(); + + // Press S to show the mouse, H to hide it + if (SplashKit.KeyTyped(KeyCode.SKey)) + SplashKit.ShowMouse(); + + if (SplashKit.KeyTyped(KeyCode.HKey)) + SplashKit.HideMouse(); + + // MouseShown returns true if the mouse cursor is currently visible + string status; + if (SplashKit.MouseShown()) + status = "Mouse is visible"; + else + status = "Mouse is hidden"; + + SplashKit.ClearScreen(Color.White); + SplashKit.DrawText("Press S to show the mouse, H to hide it", Color.Black, "Arial", 18, 170, 250); + SplashKit.DrawText(status, Color.Blue, "Arial", 24, 170, 290); + SplashKit.RefreshScreen(60); + } + + // Always show the mouse again before closing + SplashKit.ShowMouse(); + SplashKit.CloseAllWindows(); + } + } +} diff --git a/public/usage-examples/input/mouse_shown-1-example-top-level.cs b/public/usage-examples/input/mouse_shown-1-example-top-level.cs new file mode 100644 index 000000000..347d8321c --- /dev/null +++ b/public/usage-examples/input/mouse_shown-1-example-top-level.cs @@ -0,0 +1,32 @@ +using SplashKitSDK; +using static SplashKitSDK.SplashKit; + +OpenWindow("Mouse Shown", 800, 600); + +while (!QuitRequested()) +{ + ProcessEvents(); + + // Press S to show the mouse, H to hide it + if (KeyTyped(KeyCode.SKey)) + ShowMouse(); + + if (KeyTyped(KeyCode.HKey)) + HideMouse(); + + // MouseShown returns true if the mouse cursor is currently visible + string status; + if (MouseShown()) + status = "Mouse is visible"; + else + status = "Mouse is hidden"; + + ClearScreen(ColorWhite()); + DrawText("Press S to show the mouse, H to hide it", ColorBlack(), "Arial", 18, 170, 250); + DrawText(status, ColorBlue(), "Arial", 24, 170, 290); + RefreshScreen(60); +} + +// Always show the mouse again before closing +ShowMouse(); +CloseAllWindows(); diff --git a/public/usage-examples/input/mouse_shown-1-example.cpp b/public/usage-examples/input/mouse_shown-1-example.cpp new file mode 100644 index 000000000..e1da4f4c4 --- /dev/null +++ b/public/usage-examples/input/mouse_shown-1-example.cpp @@ -0,0 +1,35 @@ +#include "splashkit.h" + +int main() +{ + open_window("Mouse Shown", 800, 600); + + while (!quit_requested()) + { + process_events(); + + // Press S to show the mouse, H to hide it + if (key_typed(S_KEY)) + show_mouse(); + + if (key_typed(H_KEY)) + hide_mouse(); + + // mouse_shown returns true if the mouse cursor is currently visible + string status; + if (mouse_shown()) + status = "Mouse is visible"; + else + status = "Mouse is hidden"; + + clear_screen(COLOR_WHITE); + draw_text("Press S to show the mouse, H to hide it", COLOR_BLACK, "Arial", 18, 170, 250); + draw_text(status, COLOR_BLUE, "Arial", 24, 170, 290); + refresh_screen(60); + } + + // Always show the mouse again before closing + show_mouse(); + close_all_windows(); + return 0; +} diff --git a/public/usage-examples/input/mouse_shown-1-example.gif b/public/usage-examples/input/mouse_shown-1-example.gif new file mode 100644 index 0000000000000000000000000000000000000000..eaa273927efe95a2671b26b6605e4ea603d36f4c GIT binary patch literal 17797 zcmeIacUY6}wk`SvLT{l+F99PUQWcOYU3ycLsuV#%5do=!Lg<~)dq;Yg-h1ywy3%_I zy#;b{t+m(s?fdL?&OU#gbMJHVSKuSz&CL6bIp-L2eDaDSpKS`1rn3Ie&Mn(oXIXM?E_sQi6KG0BBJb83vAJ<-er{=3T*>>TE;I2MIp$G? z%1f>1`s!+0>YDPiv$Iah!13W#LgaZ)(6fc#+e`DmMA^`$&(Xs}BVz+-ohRf21Eb`a z4d0V~!N~f@#>WZ@3Z|0oV**zX?^BS1=2{!jqN1XGeSN%iXe)Y_C*o2B1O%Gm=#l4! zyV9BoLGNvCZKI>&0ibVnK-E79D=C0BklPA>q|) zV>*IaBXPjR#ihP>h!kT$>>g{aBR~M4U=Z|f9#eHyJ*r+LMMZOG`=F`0c4KYV@)epK zxH-MNXo(j8o<3YxS4WR`LxbJAy0UYAcDA~N?(0CGlye=(J!@0Y;$t2;IM^-BTLJ+` zM@`RryEYF`fBja~p(AX&N4liL&bhORUYPd7gc<$cScbSGRrx9!Ve$Tge&|g{k^%hnv*fVQD?N4 zL3dfl|3U^mHTg>bwv?AWdY61|bM@eM^E2P@$tymEzWHS3U}kG)W(sw*urr66+u2!v z7UAJB`|{4>E%%#GA9)-sOwB%V*?r=={RO~`CQy^pdM+cSA@`7*7Zdd7eJ;RQ_y8K< zynPP*Ia>fO8dzTS>&i@R@x&$PFz7BxYx9NNRZ3JSP45V#e)N8>yELOK6e<%yuUMAZ z6T$vG&yJm!(Ophku>B2HaX?^#(C4kWo*&smDUzP}3`*rWBN+-29ItxIbH}nZGL({( zD)J`sb$+~`@11xT70p9XmZ9j7HC<*tl&9L~P&iv@{ku0<*|BK8)@grhpwF@RccVKR zpIF7IWUIv z$(z1p)w;^v+3L^R$>KkZ%m=XYcNo>`s}GjDBOVwI(mQ-&4G?r9-t~BOvd+|9dEIX{ zE9k)_8H&DsJ^6U8Z(}H5edt?*OCQb=2xM4GL2fu#$^DQ0B z$k043&hfVex9d9%F#++C>G#9|6LUWF4jYTU(16Z%Hbv{yxZA&D4q&DVIhhU2YS~CP zZ}|cNr-*?#~&ctMx8}WLaW;vw6kbTM>cq=7CV}yJg{JTsXOl^=%4$e)(^KR~k;IxU zx)NEXf}zPy553qpDHoU1OrOQGr5*_!wmt_8-F)j|7`Be`#Jq)$ePN8kd7xr*8zR-NOKxwcGdiD?lgCPAy$Ky6+`eASW zT!ydeviReIQvR|2m7Mgoprb*NF}dgEN|Kk7`0ng*F7kB3Qg$f47_D@8q9-2> zxudz97KCt|jl?7vtEKKjAFHYH5Jr{}S&+Dzknle^!XR2ZH|OnEi5SbYF3lWM*$JV_ zF1p<6ripLIJKxgxVj}=d{J=r9bvdOPvy;o%Toer;l633Tb;$j8na33ZCPWIP=_qOv zJdGoxcVyg7t>w()GOcY#2MT#!%yy3p#9?$Q^LF+HRr@zryL~#*$J<3Sfy+#RL6Q!K z;^DSy3CmbdFaWP1zih?t%0{JAvehlZC2&YPVel3|7>}J9PmCG^2PxNBaHn03tXpb7 z>oGV^Hr*=ST!(;C&I6`Wh}(J*5e)lYPQSAa7FK8;<2C1(DJZmBd@fCl78}W+pXz}; zpf|+W_*srCasbzGO{V~5Byq5qOC{*GT_ew`AHgtn-dsrDQ7Q@Ox3Ky=oC9a9&JY@_ z3Dc4BNTFXpe^TL9=#{P^9a`{ClvNMci$%r5JK&s4K>;74*qy)_k;<}sv8HvvPIn?} z(?*X%_%2_i&C7yt)$|bHWTymXu`oqq(?Sh9mG2zdHO#C78;ZxXK|Iw{)uxf0%1h0@ zG}_Uf0uEhrfJ??^yFiD@(}UPf7}3;DyQiQ+AXsH%WY0e~1)1rB@rz!cY^Z~pr(*LVY&qxSu4;KY}H=e|Sd#

`(Tgw zhUzTwybjC{uvoouTWBGRk*ZL? z_|GVbEE-KxCk0%Aa#7mMo1&ijq z?!o#n+OG=f2q{M8vc9?#>HGzg-qXFb_I#lD%AhCuL2oujqjgmNQ(huUQ#MgE%_&YK zJk&u_M*GaY4O&Uce2Dz1)81MVzxHL8c=EK()1Q=A;%+B6#ZPO$gWKF)j-&8>7w3@x z^osWQ^}vF!N^@kWuOs0Sqf2b+clhelt{-vMTFZp*sHN_aF$+7m8a>Z&CcEQ@2%rTw zQ=}PTesJ8-D&I3Bv z{7Jj@@1D7cjO8?z=eb1BsuJk(!>5}s*)^E}R-Tul|b(rfy}oRj5Cv?BDr zcF^WELD^>i?}D4l>EShqThv!$;tx^NwnZk{V?j$=E-n-0clfd|>OW}u&P>lIZ)JA{ z?|!PIo7=~Rlx4V9w~x#Y<{JN~yeQZ+zpBe?@gXfedG+oq-RyJ^chzF#{JxtgYO#i| zs`Pqx%kJIVh4Z&g^@{^GH~}tsD|-$t74s(WPcAE0XiCAV$AgC8;_f=CeD7H;dP7e`MO;!(50Mqt2Z9T z458LU(HFy^PmVq@T`q{eXzS{2JgpkKCj7+IHc!%oKJQY$IZQyKHq@IgCx>oM>(JN8 zP;_a~gb)3Aid|+t`nrPT=J@P4`gHy4x$oCYHaBc1cidQa{Azc?DR<&?_Z@k+-|`|U zP%ySNoH`axTMeh5f-|1Oq0}BMLLM+34^}4+_E-;&Y7fpS5AJghUTV*WLZ19Oo`O!E zLb0AA)t+Kb9@0omacVDVAum}SucuC43b9^F)m|!7UTWuFqUV^BxZYYi-Y=cJbz;5s zs=W=SykDDpKRfp}5%MwB@p;>*$Ja>6+acEXOSP}- zl<&85U$ZG6cOgG79X}r@KfhQ%26n%IDZdc(xgUbsKYYq7NXS3h$v-yMKfc4WqvZgX#t|(uBiw!+$x2vc`pT z2nXM-3Fp2DFPIAF6^`J?3wWp-A%u>L2zQDQnT~j3;U{(xAuSyFg*sB!IZ{D5h&?V+ zWjgY!d88Um)H7#q4dJMl&QVG_Q93nI2KN!l(@{n=(ds!-Cc4pYb3II*quY zFQTn204tgpJB#Sgx-m}EQI2sjt`<=)(=qPTk#01xUW$>Py0L!K5x#M;L5dN9)3Jz} z@KBn#NX767-MHAAu$Z{G#QR|h({ZUah!mRmOhrV7ZhTHnXm(tDfnsR>bbQHlNHI-9 zxkbni-Gu7t;HtQUdW+z?>4fHspeCBccK@I@-NbI1psu*Y{@lR6>BM2-z#*EXaheE2 z-K43Dkg>R=Ihugk>7<2R|KDhubBp1{etO(~-XyeX6nQ~+zN8V?rc&3Y z1q-FoU#7jrOJ}K#pcP4HeV=mgOFBnh%Kh4O?yVHA%k+mFsgLwBrT}$sf+n4V;BI$ay-=Q<# zU-zaN(PmMLWSQ!vz5S9!8lUxkCe?B#3-2<^S})aBBpalc?J$$#6rX)jlkKXP^6fJF zfF{RdCfQ3bXVW>yPcJzDU7NEwof9&XgrLox7S4^-ON#!II}(>0Ka-d^liPEVo2r+X zE|S-xo0m0{kQ1L*QS4xv#HWOd2m!IpLU#%BkTbrLYo!>YU*GyXwCtT33 z7uWfvAS|w+cP6%frojKAU|279RHP8DTljM(W-7kWxu$SVFXq=}p$$#Z(q;6DUeO2V zqKz-nTeU@I(?xr<(Ma0jFa8o{6(lS5k!&PN6 zZIvxuo}GSG=9elbm%J}^Re3X2-)8gN>8eXas=Y+>eO#(5o2PjSNY+h zHLZFz(fS3k2{qldHHmcv$yYUlw6*DUg_-)b<6mlXTnh8*YG-C@i)IT;=;{_k>dHln zDqZT<;_GS?it1kswnJN1iuW-Ghv>aS+%2e*qyM61U760P(b2JsrE zTuNpWs^*mwC(&08qqz-B1f{E2RqK5TiwTWCdm5{28utjw%10AYlOTL~^10`3F= zTtLo+zMrsbC!biSFW_b0+(LDZ<7C-|E!pf;(CWI=#CVP)nMhz?g8R51&M5{4&cBYC0-8?P3*#kf&)u%T?$&Ukyy?VcuDeARg_RftPn_#w!tEtM zVaCrjeML2=TEeRg0-b}pBo+FcTs>3`z#5z#^f|rs06?GGOT`YxKy=ae!;=BvwOCgY zdrO~AvmCUOy1H-sKG>}p3)bJtM^A!_YW=9)A8U?1M0 zWX+*B^aCnJ%y=arCLJ6}*CcxckXhgT!4jY@=_V-wD?@q>>v1U$0g6{WF+m`K`gSu* zSHKzI!Yp)+%D3*$m1Z>|QmU4wlBm&V5-GK_dAcN)#>dp|NQA1!B4F%_E4(l&H9tbOFgnUN)}?|Gzy;J8 z0Ud>NhERs&=J6L_ouSw5j0zp;?(mtf@M-i;2LtthT0ys-CH&LQ?^)~7xl0v;F{b0k*0cqZuJceP( z`mR*5MO)noMs~1K8#uNET>G_$(y7M~(n-xe0}Te@@q*=1@O$%^G?svDeY>my&JNH{ z@o_=9eilID_-IHmFw9X~!$;wu4x(}Cj{rhr;e{p8QV69i13!8dn2mzBi1km+!*@{a zjPvu@kb$rBaN&ZESFd`o5x+Nxx;C$W-^~4H+!)+190q{NRnCetB0sHq(2z=pSZYgv zC2pZ*bN^hwA!Ohk3dbY4?G1Vk9w|=D=Q_#IjU`&p9l$%IywFqx00#^3Py-w(p#2wT zn>2#pAqq=22n5u(Ni2{Ba<++~-~xq9f$kU*lD*0XZ5WU__u<}wdAPte&H?f{!`J@g z)L!lboE8-3P(#m6AdUp0of@%Pi0W@uTWz0f*CrkShV_6FcHM&BpL_5f&NTpvHAe(E zSpfn4m=cfy>-lvzMi1fsh1sCZfSnD0z4dRnxGwXPltN$^)jetCn zG>RE8idWL?gXWziP#G5(LPqVuTVCM^yMr_sR)kByF;%!l)^IYT3E$y%#U@-PG$8*K zPTxEh2w9cp9%Jer9Qz1pC7v+q+#Uz;)b0t1JD&C~TxntWbz<8>;l3Jr^`;SwSQymX z*#{4;F;pXok~VC1hflxlzo6~Vaw|T{Z~EoG@5S`P$L*Xy|2#+dTzDjN$e2v1AaKBkl_gWhAjNiw9$=MwUG&><%>KbpD^R8fGU}?zQ z%fxHISaLzq1B-}JHdbR%+J}hYi5Iozl5D^ouGj6cn#)f^7{nb=2g}O};rCRNE!j;I z5fZ-N2ti0mKS-p&$6xJn&)3zG#lPNww|Gr8(&d6#`UQ#xsR-;j#Q^JWU?Af~;p>k0 z7uzq3Bz+yQ=zgXn7|RGVEF&P7rs)X3(>HJMvvM$h3RPit0o@?{ZsT# zM4`p+&LsUatBFcyG&ZBbIkK|RpGiL1;KDYvGfu*n@l~zu`dFc1S2BaW{VoZdlmbJC z%`{ZJ@iExp+g88lBT+|RCPO~Q3p`Joy1ONe-;zi(X*RntOd+J|%*n8flmnWwq(epj6j}rxQBd_l+5mY>h(x425Z^z>&&fo3Ytsf`yQ`l z55$r924Qk^I3j!vj0Uocf$&E2rx5EYI`c$*XpRPy#&@nn=|TSJaPO0s?tq6*Ei8=E z!g5*~hirY(r`>9l!kp2f68eZz;P)I0C2%L5IbLU&hMhrrp4RcLrWG%e%L;6j8SIc` z9-{cVi-`ta8<1#eVxcZ~XBY^9VYQ=?6(Um2>mGaO=ZG2pH{$9?X%C5=ox2&aoalEVLd{sIvSfg=1xANng6kYAJ}+ zoqz>*`%AG4AL6%9HVC*xG$w;ED2r}Itls(-GTJTCaK^orO&z1tYd^?YG_Wn+iV3N;^f4Dd_r@GHWs%^ zKG(D_@I;#hTF!nd&Oenk=Dq+95u)VIT(cE2{Mxht#VAUqvSXD5ln%dZ*znVB~8 zB7R70QRRXr`|czQB@Pam^-CEn*pZKVTQWzGZk5L5wb-fuJ<3xegoZD1E$;%3qlWkM z9P7uD7_{w{R7wF(wo;6k^(OQY8gL9ZWXzB5ZGwpE1sFcR6q>O219NeSJHD8c6d5Hu zGv#@!3#&26EJy}=16{<&!)T>^q9nzBoGQt=Kw?I%=*!1x1o57dm?s+Xlb2<&B#xD3 z6&&$*(p@6|E+ohC_Flk?b`#2q*oX&KBY}qCH&1J+pFWHp3BsjWrkSYj ztv)=a37n;AOQT{!`I)(m|Lwyl#db5nu{fC2+N19ledcQDvG~G*HGv9?UQ4U7gruFd z#~q42)*)kw!JO;D6N=q-MPo@Wmg}Ocid{~FW62*1*2Pa0J6-q2QuKG$C9sq_+=<6i zRXI1L?!0gJ;vP=}TW-kQQ>ye+8&4<9-;fh{|2@cRJcDv;LtgH-#|jzG{CR&<@x^6g zWYPHdZi`K2Gup)1!SSrx+)Y(`k%Yv(@$90_O?B@t@u|cUIjQ%zG^4)6WpYpC796ZT z|NbQ{OKl<#p1bv;f+MEDY9hbGe@nZgH?b&WqCn^Vw(bN+e@W3qVV&Z({%UPR_25L2 zVD9#-lgpCIy@}$io^3;{2c33OmqmIK0?FoElo#ab$VVpa3d-T%=i*? zd#s{=gq-ZWqoUIrVT>;S&ah*ld8Iv30kxnpY7?e{*%(7xJajH;br*s?FZdcJGrm_2{8r`kgID=s9a zo=0HcSv&sqNpfVvF2knF;+5tt*OhTnu`hR!@Y{bcritWa-;Ija2*ecGjK#PCCq=1a z@i?UrIUvQE=@*^VVq5pik=~PW#zZL*Z48X-zEUVv(om;_dx8f7nu$vmMX?=2b_an8 zG;e4gM05%Wt_9nus4(nP$BLiw@xbX#UlGT3k7uHH!Yn?R-s=kQQSE#io)$F2rcM*} zqVnP6?}=uECUJdf$A>X3HD-K{(fwxFyKy68dIH7MZW z_+<3Z*UsG(P=me{$xM~Epq({olKB#M{79GmaYhuKh2rCw(I}t2?|kB~R6otsCY{L2GFA7gBSLxYzY)|cC)zL|xE8uYO`3iO&?+C&-puW}WS_8BvFhYyKG zJggFieMtUnyO+2g-hMHpxb-=uOh0BU+hvD?V}l!w%iggC#Z5y zOh3=3>7I$$G&4FZ1|{t@^Ic6lM>te0k8gc+yF0u1jjm=WDf?5^70q_C(iGav0Hs zTz%AZLG1SAID_e6bCT?2V!ijIwD`{MC#J&0vv01oOy4-+DX1A5^hIF!x06Sms9pKZ zt3@7$(;=ouhgEJ9MS~La#hiMozv0Qd|y@Z?`B1% zFKxcQ=4gF5LpepQq4s2Z>c@xQgAH|O`wMM>XeRZ>`irBDv3$d!#)hji8`X}%mRw3f3RB6hm594d)@e+BUmZ9aD;Tt#qmB|_ur z{nbdVmlms0I&X7VqYWH3S7VHP?ytp~Mq8}KnP=s$#amWxt|eG^-d|6&`)RSB`myG1qz4IZZDb&xa%^TszI?y=J@#$hW>%uZ)@F99564zc zX7u~5+?=eut-ONDt*!i$PBh1MLHW=3+lAF@dD}(xr(4^_&DaliO4=zu?38x1=I{K` z=68M!KYg%UKK}ByLka z*l##r%inKAoo??p0XUq@=4qs1jm2|1wI6C#Du#F?)kDRNSlh`q+dHiR|Tf!e8ZIyRJv5AL=Es&|>+Nyj3XEQ8EJ_>V`pp z`>(T23c3r@1*mQhJ{lmxodID*#}4^UtxD zuJpv*Awsd|JiDtL!uwg8Vsv>p%}s#(mu2pc4QXa+A0P*le`(nNX$GzA7Jf4eNR^a0 z>U`+CR;)sl-gU%_m7l?efj(Hx4y4nmuZEUX5d4@$1ki0xwmA9zD6ip#aSozJAZ+}Cd_lTS7 z{a_vsK8?1uAA%mxLoa+mzO{;|^Ii}>mf6J26dYm1iQ86A8hz_E1t0}4?IN(fP|OIq z+6yMkWox&`9RFxy_1vhhQzRr7M%C$(&uW?Qe9|*s+$kluNT!ZGSXy}QG^FqLt_&6 zDCF)1QHAgt^H*;CNy#^iaWtI`=2TpJ}Dm7%C1 z#0!pL-08hV#80D-cRYuGulu+lr5x(fz`cX7!y%BCHs2#dRb4w!v<_5e-{dnLC~B+i-Ej(R7F`8PV_%F^7gS2cpPUOLmd`^-g8N<;2RVHk&#vV-v4 zgM~CnV?H)}5g_R8^b_z~I>8RJT;*obZ}lQ^71E%lt10fiQ7_HWnz0}%uVy$Q+ zH)K7z?GiHZ#p8zgsRwK|MA1%nHvS;u9Z|2BqnaEBFH3{X)BhkMdntPCStQeW7ioUU zA4H^Dtkv+W|NjUg9*-!n6&{bOJl;JX(~##n8Q0SOcru~$uJGiif#dGUq>(Sz>6B^A z$J1%^?84I-%c|YeS?eyYvpKuTTNrd&FFgC@dWPOT`|XayeZJsDWp%#j$5wQ{6!duS zd>J9neX$a$ZFR94`>yC>EzxoBVm;ND`*I^Q#_Do2=g+iKLDk;nc1aia)lT`O)zxnG zdePNh{n_5telrda3fWHe33brTR*X9Af4q-68kXm|J|5TpbbT`QuK45i+Cib2)g zj4gtMLxNJlYzi&-dPooI{#5M8-7Umlke*P&G+cRwR< zXb*Af&!FrwZ+vn|3UdcHvw&;l4`>b%jEb2oG>Y8^;$-3UVK6{YI90NzN(lTG0O;P+jzt&D z`9T_?fboqHE?^xbn(vJ6|KQOMm?fGqd;@TqkBt(HcJ9*oU-(Ku`M=@|^oSks4m%x^ z#u)T_%Vl(rgnaX&!#P-aD*SNNO#$<+%^W*(7<`n^XAv7`dL2qtMi>~WW%ED>m)AWF z^1ip6MQos(dNvl~h&_>|N0=+^rxcd)QWheu>i7J9HYTp67sj1wY3bT9gbqSBpGwnL zx;>AyWE{^=#2q~=!jP_odm9$Q6n6eg(idY9%(|AVMO~r&c3gz)|$t9etk*bk_ zbW>vQO7Hr$Z2bxTUvf4+fCGep9{nx*xLniy&+GAj&C32qJ^qjE^WUD8{lE42|F7zC zx^xgWZfOokf)KWsyg=Iwsj(+K7^-phxC*Vu!#ikW0;&o2lQ#46xuvmPHF1E8M!Nm_ zo0|`a274#Tl18V~1f*0AikG(qYhN_Got&y2d58L)C0iE*iD|Qty*vHGcDrzcvIY!J zvWG27)b*u(tRz}CZPe?jvZTo?oY{S3O&|CGdUg;%f<__Rs3gpHSVs;oMF*J>^$7q# zJ#M4GV7OAo*LoeEv`4jMGVI9?C=8c#;&TY1|exU0mzxbq{={`3tu+~XJ&&kNu#=EXP|h~kM)V> zUwYgC5bRd_CcmwN^KW}x)H|cp7C5#SF0&32+Uh3lgW???PJ{Dc!`k0$AfQqTXhCZ+ zrx5@LF81^Z|HY?~rbxWoQNjz7X62|y>NDkdKa22= zpaK2IR6jBm?nOdJ7UaYW{a01}Z{OzMUSPU45&Xxerur+HvI~fT!~y)jwKeGLM}UeS z1b%BLpwL04N_%1uDHsS@v&eaqH9^UbIknpZG0}KES#SC(5NL&&XRM`WvY2=D^}xc2 zemHRrVJrB4CLSZ3h*|&zOS3=J4AUFXr?trieaA8Go%7dNf+;?J_`Sv^IIoq*LImZR z>bXi{%20`ryIg*zr;m=NIiFx2Yt*sNu8rgf3xVM}I51R$Y<)w_-X?a`Mn4E9wl+-M zL@@V}c)c>bL5>{kEIVE@!C}Lcca$@)3?D%{kfpvNVBS?>9~DN*qTsL!nKZ4VDMNsjm#STuY6h zlQuQ`%FmM+RUsUhH|3V4Atf20N22W>3XGzbe9cs;?Y1(E7M9FyBo%p41Or@~-6pM&a8fD)O&pb=bl>0`4g1-6pElu2A;pwYO~&Yg+{0 z$E`UF@^?ycVxIU!n~!eU8HKx)*Ky^!&%Ko6o+NGYZz<;KgzCw~RXiAq)wcP@85vZ(${6c4bM1Y9-30p*n zHcR>?Cvn>!OPLsQ;`NzCTn|x^b*O4^<1zdwf$9@dT*?H~X^BW%5IjRZK4x0oc~j3`2Tf0__wdvy~W;wzhUoxN!nBLOOCj=|J_i>mjPi$vpf9VP>11$ zOLKS^)_Y6Z_oB{LQ@oroxCZ|i>e_g)p`a8;@@6cH>x1AglCby7@44#yyx7QmZ{U%ARPP7W0bXi+m7_i? zW|1q7y^Fh4{>*3vpqm-y2XKp%@%*AclJDd3-O>^_1xnuz=BR(Uv0>-I0T9Po$=A=i zsX!8qsAiy9V{@$B^8|Pt8ex;n1!5l#LQ^7zI95TP+JEF6G43{wj_arYuLy0R!_= zJc}jgHMC|Pr5eBuSL7DfJnrCwa4wH}QS^4DDq_2)bvz*ryxG*;$}Td7)lN}+1&&c(+FQI?M0Ky*>ryBbT$ zy%hq%2`TVw0)6SfDQbqP(jxkJAQXokbTs_8G(SxRdk^K4c$;RT%Q#Rk<>RTPlrIAt z3mHjOk_&g)AYKaT9&*yn8$_i}=WMAoVQE+_aXEK09UQ`Yuo%^j?b%tFMA$E6GW!6T zZ8vNn0tAkma#l<((vy6zND)Wd=T1Nz8Hm-r!fuAsa+Bjp>_uy>$mzU8PEf_Xy5tVU z;5hH744yGrD!u!{w1ujE>+v9rU)A=l+A{l_78peX*)!!cAN~-mUcgL~#84$1`DI6% z0`jl4_;0u9zrEmpTZ}^hirc!O4j`gFKU4oxHlp!JSxSthy(GK{FO01h+T09p6#dqR zO6V;&Y!>$QzJ zhmwMmIQ|98g8WlLfDo&aJvt2`A^~t|Z5=|VB%C5&Yn@|}nEEDoclRdzwXl7D`*~!6 zTNC(y63|%rn}^+7|Cn20-AKa@f9gj{mK(!qouSbCddC~LBzq9OXtY?*Gh?MFt~V^M ziqEnJ;QYqFBIACn4MvL#-cxQ>xKC@8EfJpcu_=a z=pk2YSJ310)|VD?82WJrA^mOT{S{>dc105C339%-U8|J7p~WtNf!tY=?^C^P1-oav88)U~b0WD@<(xpsbKk|G z6rR{eUDwa$yJPMF#MkGCGToD1oyH`jEcngYZj|O97|&KUl6c$*G1=YJrkjPh9k;uC z!1g)n?{F z52xJ%8Tqq<*js0?4;|e%dK#N$=`h%HT7KuzCCLB|(K1U#-Uvu6AJ1Used`zyp@ha- zVs*rF6BD*9AL)keMoT)s_X-DwJI?cL+IJqA=Q5Od06_SvqxM<8Vx}RLw}8^=J*^_? z91kMVO0MogUas^cf}eRBWuF*sx=*5b0M=q#0R~!~gN(jx+$=KaM)SK!}5h95Jyt6NRg7g%z*M( znSqEqm)MMG|jc>B224IGeBq4teQ zb&&m@_atYyUd)3SHqy9{WI~<1a zi|$*g`*_`_l#Pp@u4u6al<)DPOj9vm)3+1{YugN7o7GwQzF*C;@UdEej96sf5e&>x{~rAmUUwpObJ3t zyIae;oOjJP6yD*drH)W2IXvbQU{zkL++wK6%pWu=@kr=5s^$55-@KRpMBb}}ZRMZLHMd*saL9wR!H@jiE6x{w z#$vv#^X-w!xNH6K0}cYn@5EHhZ*5osiUqCqHppM+-X`H)OaLGy#b!eYC- z*s86fHZU^^*CH*P(AWMe7_0(pATfaMZ!ssLhL|k;Gv;Y+Zj@g1oaZIC9VO0f4HLed zA{hjgVMQIPYZ7DDJP9yxJ_v-<15fa@ddgVac*=}A=@rJZ)IGV4xi8s%Ks!>N*ldAI zKC_Ny^2FV|(JNmcLr8t61((3rNAjUj7}W8pe%UblCwf>{2w13`6dCIC#d05&$A@V_ zR5*bm1d|@HhImLxg6j=WL{Nuqk_=+LoreQaqq$1~#a^y>9&FllKp3IHQS4b+Yb^$+ zb&ov=po@%FmEcb$U2S4=x1Bg;r^}G6t3jeH3~C?C3^;8a$Hq;a%P{)|ihk;L6}cUr zEBr7S__a>X{uhG-Hi`PT)zZHl{ePQHSAqMtF}pQC;AR1CD7wR;=B9t$S^G=ZAdCHaV+(!qoMQ^+xtSJ$WP-=9N$YB4i7{~kPT_OIXqy952Bl`aUh_h+L literal 0 HcmV?d00001 diff --git a/public/usage-examples/input/mouse_shown-1-example.py b/public/usage-examples/input/mouse_shown-1-example.py new file mode 100644 index 000000000..30955614c --- /dev/null +++ b/public/usage-examples/input/mouse_shown-1-example.py @@ -0,0 +1,28 @@ +from splashkit import * + +open_window("Mouse Shown", 800, 600) + +while not quit_requested(): + process_events() + + # Press S to show the mouse, H to hide it + if key_typed(KeyCode.s_key): + show_mouse() + + if key_typed(KeyCode.h_key): + hide_mouse() + + # mouse_shown returns true if the mouse cursor is currently visible + if mouse_shown(): + status = "Mouse is visible" + else: + status = "Mouse is hidden" + + clear_screen(color_white()) + draw_text_font_as_string("Press S to show the mouse, H to hide it", color_black(), "Arial", 18, 170, 250) + draw_text_font_as_string(status, color_blue(), "Arial", 24, 170, 290) + refresh_screen_with_target_fps(60) + +# Always show the mouse again before closing +show_mouse() +close_all_windows() diff --git a/public/usage-examples/input/mouse_shown-1-example.txt b/public/usage-examples/input/mouse_shown-1-example.txt new file mode 100644 index 000000000..ed9ac3029 --- /dev/null +++ b/public/usage-examples/input/mouse_shown-1-example.txt @@ -0,0 +1 @@ +Mouse Visibility Toggle \ No newline at end of file From 276ab089b94d115bf1ab032e091162da3a30ca0a Mon Sep 17 00:00:00 2001 From: abdullah12121212 Date: Mon, 4 May 2026 13:45:11 +1000 Subject: [PATCH 2/2] Address review feedback: fix C++ string type and C# using order - Add #include and use std::string in C++ example - Swap using directive order in top-level C# to match project style --- public/usage-examples/input/mouse_shown-1-example-top-level.cs | 2 +- public/usage-examples/input/mouse_shown-1-example.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/public/usage-examples/input/mouse_shown-1-example-top-level.cs b/public/usage-examples/input/mouse_shown-1-example-top-level.cs index 347d8321c..3b6c7e9b6 100644 --- a/public/usage-examples/input/mouse_shown-1-example-top-level.cs +++ b/public/usage-examples/input/mouse_shown-1-example-top-level.cs @@ -1,5 +1,5 @@ -using SplashKitSDK; using static SplashKitSDK.SplashKit; +using SplashKitSDK; OpenWindow("Mouse Shown", 800, 600); diff --git a/public/usage-examples/input/mouse_shown-1-example.cpp b/public/usage-examples/input/mouse_shown-1-example.cpp index e1da4f4c4..3533fc936 100644 --- a/public/usage-examples/input/mouse_shown-1-example.cpp +++ b/public/usage-examples/input/mouse_shown-1-example.cpp @@ -1,4 +1,5 @@ #include "splashkit.h" +#include int main() { @@ -16,7 +17,7 @@ int main() hide_mouse(); // mouse_shown returns true if the mouse cursor is currently visible - string status; + std::string status; if (mouse_shown()) status = "Mouse is visible"; else