From d8d786898468fe6b6065a626070593cc162f5171 Mon Sep 17 00:00:00 2001 From: pin Date: Fri, 19 Feb 2010 17:28:17 +0000 Subject: [PATCH] =?utf8?q?D=C3=A9but=20de=20refactoring=20du=20curseur.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@47 fe552daf-6dbe-4428-90eb-1537e0879342 --- src/app/widgets/cursors.py | 112 +++++++++++++++++++++ src/app/widgets/data/black/0.png | Bin 0 -> 1499 bytes src/app/widgets/data/black/1.png | Bin 0 -> 1618 bytes src/app/widgets/data/black/10.png | Bin 0 -> 1393 bytes src/app/widgets/data/black/2.png | Bin 0 -> 1769 bytes src/app/widgets/data/black/3.png | Bin 0 -> 1917 bytes src/app/widgets/data/black/4.png | Bin 0 -> 2034 bytes src/app/widgets/data/black/5.png | Bin 0 -> 2154 bytes src/app/widgets/data/black/6.png | Bin 0 -> 2358 bytes src/app/widgets/data/black/7.png | Bin 0 -> 2450 bytes src/app/widgets/data/black/8.png | Bin 0 -> 2627 bytes src/app/widgets/data/black/9.png | Bin 0 -> 2550 bytes src/app/widgets/data/black/cursorBlack.svg | 99 ++++++++++++++++++ src/app/widgets/data/black/flash.png | Bin 0 -> 904 bytes src/app/widgets/data/blue/0.png | Bin 0 -> 919 bytes src/app/widgets/data/blue/1.png | Bin 0 -> 1021 bytes src/app/widgets/data/blue/10.png | Bin 0 -> 1300 bytes src/app/widgets/data/blue/2.png | Bin 0 -> 1120 bytes src/app/widgets/data/blue/3.png | Bin 0 -> 1212 bytes src/app/widgets/data/blue/4.png | Bin 0 -> 1281 bytes src/app/widgets/data/blue/5.png | Bin 0 -> 1412 bytes src/app/widgets/data/blue/6.png | Bin 0 -> 1542 bytes src/app/widgets/data/blue/7.png | Bin 0 -> 1637 bytes src/app/widgets/data/blue/8.png | Bin 0 -> 1788 bytes src/app/widgets/data/blue/9.png | Bin 0 -> 1773 bytes src/app/widgets/data/blue/cursorBlue.svg | 99 ++++++++++++++++++ src/app/widgets/data/green/0.png | Bin 0 -> 923 bytes src/app/widgets/data/green/1.png | Bin 0 -> 1022 bytes src/app/widgets/data/green/10.png | Bin 0 -> 1362 bytes src/app/widgets/data/green/2.png | Bin 0 -> 1131 bytes src/app/widgets/data/green/3.png | Bin 0 -> 1243 bytes src/app/widgets/data/green/4.png | Bin 0 -> 1331 bytes src/app/widgets/data/green/5.png | Bin 0 -> 1495 bytes src/app/widgets/data/green/6.png | Bin 0 -> 1617 bytes src/app/widgets/data/green/7.png | Bin 0 -> 1756 bytes src/app/widgets/data/green/8.png | Bin 0 -> 1870 bytes src/app/widgets/data/green/9.png | Bin 0 -> 1882 bytes src/app/widgets/data/green/cursorGreen.svg | 99 ++++++++++++++++++ src/app/widgets/data/red/0.png | Bin 0 -> 897 bytes src/app/widgets/data/red/1.png | Bin 0 -> 1032 bytes src/app/widgets/data/red/10.png | Bin 0 -> 1374 bytes src/app/widgets/data/red/2.png | Bin 0 -> 1127 bytes src/app/widgets/data/red/3.png | Bin 0 -> 1237 bytes src/app/widgets/data/red/4.png | Bin 0 -> 1353 bytes src/app/widgets/data/red/5.png | Bin 0 -> 1462 bytes src/app/widgets/data/red/6.png | Bin 0 -> 1605 bytes src/app/widgets/data/red/7.png | Bin 0 -> 1731 bytes src/app/widgets/data/red/8.png | Bin 0 -> 1850 bytes src/app/widgets/data/red/9.png | Bin 0 -> 1848 bytes src/app/widgets/data/red/cursorRed.svg | 99 ++++++++++++++++++ src/app/widgets/playingscreen.py | 9 +- 51 files changed, 514 insertions(+), 3 deletions(-) create mode 100755 src/app/widgets/cursors.py create mode 100755 src/app/widgets/data/black/0.png create mode 100755 src/app/widgets/data/black/1.png create mode 100755 src/app/widgets/data/black/10.png create mode 100755 src/app/widgets/data/black/2.png create mode 100755 src/app/widgets/data/black/3.png create mode 100755 src/app/widgets/data/black/4.png create mode 100755 src/app/widgets/data/black/5.png create mode 100755 src/app/widgets/data/black/6.png create mode 100755 src/app/widgets/data/black/7.png create mode 100755 src/app/widgets/data/black/8.png create mode 100755 src/app/widgets/data/black/9.png create mode 100755 src/app/widgets/data/black/cursorBlack.svg create mode 100644 src/app/widgets/data/black/flash.png create mode 100644 src/app/widgets/data/blue/0.png create mode 100644 src/app/widgets/data/blue/1.png create mode 100644 src/app/widgets/data/blue/10.png create mode 100644 src/app/widgets/data/blue/2.png create mode 100644 src/app/widgets/data/blue/3.png create mode 100644 src/app/widgets/data/blue/4.png create mode 100644 src/app/widgets/data/blue/5.png create mode 100644 src/app/widgets/data/blue/6.png create mode 100644 src/app/widgets/data/blue/7.png create mode 100644 src/app/widgets/data/blue/8.png create mode 100644 src/app/widgets/data/blue/9.png create mode 100644 src/app/widgets/data/blue/cursorBlue.svg create mode 100644 src/app/widgets/data/green/0.png create mode 100644 src/app/widgets/data/green/1.png create mode 100644 src/app/widgets/data/green/10.png create mode 100644 src/app/widgets/data/green/2.png create mode 100644 src/app/widgets/data/green/3.png create mode 100644 src/app/widgets/data/green/4.png create mode 100644 src/app/widgets/data/green/5.png create mode 100644 src/app/widgets/data/green/6.png create mode 100644 src/app/widgets/data/green/7.png create mode 100644 src/app/widgets/data/green/8.png create mode 100644 src/app/widgets/data/green/9.png create mode 100644 src/app/widgets/data/green/cursorGreen.svg create mode 100644 src/app/widgets/data/red/0.png create mode 100644 src/app/widgets/data/red/1.png create mode 100644 src/app/widgets/data/red/10.png create mode 100644 src/app/widgets/data/red/2.png create mode 100644 src/app/widgets/data/red/3.png create mode 100644 src/app/widgets/data/red/4.png create mode 100644 src/app/widgets/data/red/5.png create mode 100644 src/app/widgets/data/red/6.png create mode 100644 src/app/widgets/data/red/7.png create mode 100644 src/app/widgets/data/red/8.png create mode 100644 src/app/widgets/data/red/9.png create mode 100644 src/app/widgets/data/red/cursorRed.svg diff --git a/src/app/widgets/cursors.py b/src/app/widgets/cursors.py new file mode 100755 index 0000000..2cbe4cc --- /dev/null +++ b/src/app/widgets/cursors.py @@ -0,0 +1,112 @@ +# -*- coding: utf-8 -*- +""" +Curseurs winwii + +$Id$ +$URL$ +""" + +import pygame +import os + + +class WarpingCursor(pygame.sprite.Sprite): + ''' + The class for animating the warping cursor + + durations: + The duration of each image in the animation + centerPosition: + The Position of the center of the cursor + _imagePointer: + A pointer to the current image + _animationOffset: + The time elapsed since when the current image should have been displayed + ''' + #screen = None + #images = None + #durations = None + #centerPosition = None + #_imagePointer = None + #_animationOffset = None + + @staticmethod + def _get_theme_images(name) : + basePath = os.path.abspath(__file__).split(os.path.sep)[:-1] + basePath.append('data') + basePath.append(name) + basePath = os.path.sep.join(basePath) + images = [f for f in os.listdir(basePath) if os.path.splitext(f)[1] == '.png'] + return basePath, images + + + def __init__(self, theme='black', duration=75): + pygame.sprite.Sprite.__init__(self) + imagesPath, images = WarpingCursor._get_theme_images(theme) + flashImage = images.pop(images.index('flash.png')) + images.sort(lambda a, b : cmp(*[int(os.path.splitext(f)[0]) for f in [a, b]])) + + self.images = [] + for img in images : + imagePath = os.path.sep.join([imagesPath, img]) + self.images = pygame.image.load(imagePath).convert_alpha() + + #self.flashImagePath = flashImage + #self.durations = durations + #self.centerPosition = initCenterPosition + #self.flashLength = 100 + #self.flashing = False + #self.image = pygame.image.load(self.images[0]).convert_alpha() + #self._imagePointer = 0 + #self._animationOffset = 0 + #self._flashTimer = 0 + + def update(self, elapsedTime, centerPosition): + ''' + Update the cursor's look and position + + elapsedTime: + The time passed since the previous update + centerPosition: + the new position of the creep + ''' + self._updateImage(elapsedTime) + self.centerPosition = centerPosition + if self.flashing : + self._flashTimer += elapsedTime + if self._flashTimer > self.flashLength: + self.flashing = False + + def _updateImage(self, elapsedTime): + ''' + Update the cursor's image + + elapsedTime: + The time passed since the previous update + ''' + self._animationOffset += elapsedTime + + if self._animationOffset > self.durations[self._imagePointer]: + #New animation offset is computed first, before updating the pointer + self._animationOffset -= self.durations[self._imagePointer] + #point to the next image (restarts from the beginning when it reaches the end) + self._imagePointer = (self._imagePointer + 1) % len(self.images) + + if self.flashing: + self.image = pygame.image.load(self.flashImagePath).convert_alpha() + else : + self.image = pygame.image.load(self.images[self._imagePointer]).convert_alpha() + + def flash(self,flashLength = None): + self._flashTimer = 0 + self.flashing = True + if flashLength: + self.flashlength = flashLength + + def blit(self,surface): + ''' + Draw the circle on surface + ''' + + newPos = (self.centerPosition[0] - self.image.get_width() / 2, self.centerPosition[1] - self.image.get_height() / 2) + surface.blit(self.image, newPos) diff --git a/src/app/widgets/data/black/0.png b/src/app/widgets/data/black/0.png new file mode 100755 index 0000000000000000000000000000000000000000..d676349a2e625ff228624850ffab8e94fa4cd5e4 GIT binary patch literal 1499 zcmV<11tj{3P)rG;Hu zDp*ov>9V-7tQU`a$U!eTEuO?{PaayxMS9sqij}2EDQqb%vTU&wJZR{~)l62gcHK08 zrju!Ydob17ZJJJ7JM{x|$Uo-u&HFR&{bnR0!fufy=@5WkMNy)Rv2dkQ30jtQ)HF>$ z5lKFuufRE9lx6wva=H9hKA)ceFiJ!(cYW@i29PA_7=Z5%A3l6}d3pKENF=h-*Vm^s zH#bAmH0ZhxUDwgj(11)P^X_>5{5i(P#tIJ}Jm9LTKFZ~C!$kB85v6w|LPU-Z00G9> zO~#nn+1XjRb?X)xhCxnQT3Vvpw{O#h3l~a^F-r)M1kmKz$ALJLBz)Jv za8?NMIv$T(wrzhj`SlD846OQmz9N9WT?GKp&p9t8lgY}yn6G1ee4JEOH5p?+?I-|% ze!t&enx3BCZ})ekQYq4Py|7h?TJmRnK3{2aa?&OB_oPxOQdQNg)txqzZxTYh8X6kf z_ij^*@$qr0j*0&b?2Yo0s;Up;@%W01zMC>IFtA#koj#aiHwL&I4u|vmHQP9)tE;QX z7`s861pvT>5HCkZM_rZNin+NtVvL#Vuh{Pb$g-ShYirB9t5}~{EM^KJlC(Ym0F^OT zn35=RG=%5jeMio_6&&iCjP)kdT&ut;696x>>Ua$9rEQDwY27_+< zI7ZiXR4SFvWdORSX>R*CM%Q(irg>DhEUW2LZGn}Q6-AaLY1OuEw|yLA+cqRgBH8Qp zzQ|^?Zu>YUlgWT{zAO{bGs7_4_Hj%mlL2FFQ7)BAe}0NBU>F8uSe zoJb@r7kxhzu#X1&|lND)(2D#!8w1ENF=QN9uq@DLlvLTx21gD0M!sD6h(R5+uOS@vy*Mx z6pzPOgb=R)oT=+q?+f&PVBc$OY%C5A4${ZE*o}^kQaBvWtE&1C+q~($tpMwSL={Cz zg+igiUM@RkW@f0Ztu0@@19KVGM!bkwx0et24dP72pFC<9{ zmCNNOBJwcCUI56HN~HzMvYr9>1Hf-YRNn2m{{tK|GG}MI6z%{3002ovPDHLkV1luH BxFrAp literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/black/1.png b/src/app/widgets/data/black/1.png new file mode 100755 index 0000000000000000000000000000000000000000..7703e899090c5ac158be19484c7a20e99e7b17c8 GIT binary patch literal 1618 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 D@_Cg8 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/black/4.png b/src/app/widgets/data/black/4.png new file mode 100755 index 0000000000000000000000000000000000000000..7c9d191a50859b8b64fce3155fca1bfff8e63553 GIT binary patch literal 2034 zcmVS&cDRT|j9U z7-dW;{W&dt_hKl6EPv;eg?WKt)DI#<{7fseJ_n z1Bh!J^7(wE6_b;b)YjHU<>lpJ#+b@EZvn7PvmOn?nIH(? zN|F>PDJcoPc=1BB=%p|;G(?q^l@Z2RgfaFV0P~s}0AP`2`Bgzd!E|S5=b8y$h=G9t zDlRS#an8p9IM&1ffI`msC%4bMSh-WVKqSmou@Hc$dj!3U_sNZIJZe;PrY* zQIyD1(`hmB+c@VxH#ax0`?OgK9*>7+*TnxU?1kb5MNyu+-R|fH>RlA|_4PBeyVDn2 z>_P+Q^78V6>$TfxMR9R)h%xpZEoK0K#5o`D=;+u`k;`FVV1O87k@lpJK@k2*$tlD+|Dmp~ZbomwiHQk1efspAP?yU^7cN|&=H_N({z+PEJme!C;63*a`rp+1c44U6F|B%$YL;fKHw~NmEl( zEB04al`dYqNC0U6{{5tP%RYGUU=YAJ0Pwe}s;Y>dAnon#1c0`0-%g)De_k~&9*@($ zeftOiUAuNoPine)^(rZfavO}Xe_Xk8MOTpA+*|@c4<0K6 z)>hiGWy?<@=X_^QPLAg7Y+_;pBO@c&wQCnjOG`EL^Yim@^ypDUqfrbD3~1(CtyUxw zi9d<}tQLz!bAbN-egHsWVWDPj5=m}vZ?9&q)oMi~63G@-Ro$j%1bz<&qS2@<3W6{b zkH<9!Fc=H~06p9!lH9bkG+kUl5J)r{jbnblUvmJb(+L20_UxHvZW2kZ%jMF{9UUEo zBuP^u5xw{Me3}F7-Mbe6@bu|Z&D_Lrmg>q$MC5Qdf&k6}fFMcIFWueUx&j4*LE5ut4*{Ue%uH%)Yg@9f$KxTJ%|-wy zJ3E_3Mn-hy^!a>bFc@M0HiL*DNm5HqO^xn@a4;C8OP4N@AP95MMimtmbp85us;{r7 zs;Vl=&(EKG+^(popz-l>z3Hg2v5_(|GI}U^9sqFMVzH!roP7B3Avqk5IU@_(&Ye4{ zy}dovG*nbnG!3Ad<{c>+=iGnu=FO~Ar%q{JPzw2xA1D=X#LFJHcd z%jJrys%j&miTPEDuWdHl^zXH#l0->KNr*A_JuOmJ5oKBSHZ?VEtiol`+1W{wBn1GZ z(-MWP<5^i*q1BwM)*JD7oC*pGrUgOxmX@oH%Ch`pSy@>q)ylzI!|isfvMj#>z-Wcy zt}M&)U~O%!x`BGXKub$Yf^+@}fQ43BUeA>z>GQ2yw>EqjdU|?DlB6(zLRw7gVn5Qa zCJr;kA{%LM>*#|18}XVZ>0|O+rs`aD=RD1)YPQA7_|~QIyxvXFE6Ml%5$vp zrT3}~%rkOamSwNaW}Ciy_wJerfBg6{Ii1en>>HSKnEeD|%?-?&5CMG6Isa&}Sb{Y* zHSzB5Zq1|8*VjjNb#*g#yFI`dn-)c}7J#HxPbwdKFaUp%B%*1 zIXOA7SS-lN$w69L8vK4gd_Euiem~y5dl$Wb|9&D62*6-4{4*R5w*$CGL_u9T^cq-T zMgZ_<0Edi5qm6U^CqWQwu~=*y5g8a`V*p0O;qW_ERo?^X1@MT7VyWi-FW-@>s+GrR Q(EtDd07*qoM6N<$f=MT~cK`qY literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/black/5.png b/src/app/widgets/data/black/5.png new file mode 100755 index 0000000000000000000000000000000000000000..34b149dda3f94a787d676973b72227cfff2a7c93 GIT binary patch literal 2154 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 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/black/7.png b/src/app/widgets/data/black/7.png new file mode 100755 index 0000000000000000000000000000000000000000..68ec2dd9f729d801359d65a30943bc171b2a58e9 GIT binary patch literal 2450 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 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/black/9.png b/src/app/widgets/data/black/9.png new file mode 100755 index 0000000000000000000000000000000000000000..e5e4f092c9e399abfecefae5f06378c2cdbbba5f GIT binary patch literal 2550 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 M07*qoM6N<$g6S64e*gdg literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/black/cursorBlack.svg b/src/app/widgets/data/black/cursorBlack.svg new file mode 100755 index 0000000..7c3c9b4 --- /dev/null +++ b/src/app/widgets/data/black/cursorBlack.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/app/widgets/data/black/flash.png b/src/app/widgets/data/black/flash.png new file mode 100644 index 0000000000000000000000000000000000000000..412cbcee1a0eb61bbf41bac44a82e61407c9f487 GIT binary patch literal 904 zcmV;319$w1P)8^nS{N+dubDH1`I9tnwp9#KTR zLKIP^PC-XWfuN@24G;wq4?qM$iL4Y9G)W|6#}0VC?B!2kK$!TlyIy*4OkuP%6onK@krCT4Ut$Qoc9s zB-zmR_OSfm*1)u*BYb>#vtbE|h)Kff*Do6d5$O9NwqXf*9=d+D_ZrVb?f&(h0|y84 z)-Yi9Us5;>18Q?qCT_3qmJlg^r;XU4K!PGPfSVauT$C5XA|3!lAX8KF47iyA*OhD2 z?EN+&PFxqZX)<%OgrxgJK_XC$_4WEx3?q}1k`vp;Wh#Y{q{T$x;sOQneGEZvYkf34PC?+i=Dwc(!v9^XcNehX}_BLjQe>)8T zz7H>HDPi%vdiKNsfcbe$v^O6-R#q?#{4a-k0NC2XRC1ESvA>U*+s_S|InNVUDX2tL z1;qE^83yn2R}C*R(?q8KlER@>qs9gYNV;cd_}pJf!8tj>>OZBYW@+GZ8DEpmL_cih zGQKtIXj$N}ZTXWWPTH232BAvRsl?QFH>x#r)hf>8mlcdk1%-Cv zfdJd-T#nO)0zSnjD;S4|c%RR6wv%1hLbs(<@@kEnfpF`+s5yu eB|M4a*?$2W^iv-%offtL0000wGziIxw63X0u}Z})DDwbN zP$T6bcmkdv{jGPEbhluow5h2`5k-ni7A}_c{OmoqvF)#Be1cl2Q#&(RFod zt>Q{W*Jo!^x2x1#UP@=gdQu4g06OtJ4Xahfolbhu&(Y~f)v998 z(-3q5`tYI#Kw%K*B8qg=YQ3EB$Fy2f6zL`ibO8!q!~p1%=V@54Ycid_p7W4fcy`%X zo2~dI?Y3mCZl7CDPi|Px(=dx=^Bj$aW{W-X)5iWOR0e@A>UB*r)cYj$x+aV0^h1b! zY~Un{bn_O`CN0zHJj8-d^ppWm(epHX%{adkw#9V!LY|v^4@~5@&HBJZ tejDA7jQmko4RU|kV`T%6%w%@m=065>-8|0Di`M`E002ovPDHLkV1oU?tGoaJ literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/blue/1.png b/src/app/widgets/data/blue/1.png new file mode 100644 index 0000000000000000000000000000000000000000..894e8c4a836e16c156c787f3ff1d415296b72c7c GIT binary patch literal 1021 zcmVf9{%hc2^7(FA@lW=Ir6EIkce#d+^qL z06lmX@&&y43B(VO`+IIl@Z!NjuAzq>gn}M|uy`qfq8pR2dEUb&YOTKQ#*O>NAN&tH zEHlqDnVro1XXYgFSmx$%fpyDb&GRVQHu*4Qxz}R}z!<*UHs@i;SrBkK9P$}Bl;}RX z?MV&H&G7=LWV38`yS&fm=~pVag#vai2jc+n{hMgF3F~#bXJ`E7x*YxZ!9PG45LGy_k0OdVT$Hk&98;#_I-=)!zibY*|o{mBJL=1plJB~Wls``V$ z^u&)D45VsR{n4-S`cVcfOIyb1s#eo*`qF=ushRs9NY8sBdiC;eKU#3dW({Z(`eu{eU zrCL>gG&}t?#ojfrT`cPIDQ26v32{f~WZAd}H< zxvU^viNB{@j+Py|Z2zMQWwBPN;HE7qE|m(dWwB;?9>qcdJ8eO6DHO0hkD_JU!iNvhv+G7>uU;kBMlJ`v9!u8m zUyV<%2gcky8xxgH1Irk``+l;OzIg)&2XJ^8#lb;TmL$F(CCn__<~(Tw0Q>vkI8p5H zCtttsgKcv@ABLRyK7S|Q1iX7UjanmoAHt9`D+oAkw+W}$)O2XK34?%BYdGX{z5e(l z>r+#&(;X#=XM8ay(RE#pK7LHQPyd`xpTKoFlIV_iWLu?@F4FGVKc!UC1w_fNncq@A zk4?RvLs~_%p4ifJNG)pCle@YxF}vyYam@4qhi;je*(0Xw7iRg8@0N+#J!ZXSVs;O@ r?-==CT{W2b%N`ROxML=@>o)%aOB(n&5X}7?00000NkvXXu0mjfsmAA6 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/blue/10.png b/src/app/widgets/data/blue/10.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef30f7b5956a74638bd7869548b2ed1eaca5317 GIT binary patch literal 1300 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 rK4s*GdexxsU-k%W;FOswd)?+ghkDmm>Q_F`!d zrH8UmPdx}Z2p&CD=+TniJbCxjgHVeF54#{j+oVD-g@RhdHWaM5wmKT^oU3BYXtP%Kv3$_kuk z&#<$)iiXBU{Q31OCILJnu@NW{l3ESmrAUOMrb#=U=2k98E-g_Ti;H9~N2b%s0Hru!n%te3VEMBI>e zjdJ56hD|L@Ot5?~Cyq_*V@qW$#&_8)_bxEs6Oqkw?_hPRT4Ik17_=;I|BTf}7yJ9N z!~z_oC+EXbA{4@fmBNR-d^C!m0w%`HIQ4Iqi;X1>Vf^hok~G8`6$%a_T?N&mi+li~viM?S9?JC`Gy zoB4t=f7uv`u%uHG@9dD>-Id|;>62apr1-eQs=He_{bF&Ej6_%h*a(2PJ39DHC;0Gi zWf)9N>84)6)KrCMcv#Q3ql4c7-iA_qGBm{RejPu2AeEA!0|S~FpMd-Kg-a>n_KTq* zepiZ5R4fLoy&Z<%wfN;rpj?*gv9Vz5xfhQgOJ6Pvw_mik!-&OTDZ@b0-MjihJ}-So z2M~|@_p60?T)4d4evn82hJmDV9JJ{Oc>P-X-d_Jc{|1-K<@SR_0&pC(sZt58eg!y= zln4NjPU|Ik8eFc01&QGYi3Ct8p;hSyJ1CtH4(oc>hRfx0>p+<%){8}d#)bj(^vJba zsGSE~uAUx=;RnT{9GEG?z-PY#fXaCN5dw7PRj~*d20kmt!D=aJFs4C_du$-Qs zCk;aqxO$bGnep#CGb28LaLmu^#jYx+d4>(m*jS~o1IPyt$hEcF_G@cmZ;x@S{8Zlp4_QiPOdGh+NP^Z|IU*&wv;^Mrrx%tp7%bDT1_djwF5;u zzNtUgW0j8|fmg49LZNcJ0#uGu(rMtv4dB|fVEm^ZtFTTFw*Fs7i>&viPo*JtFG%6VstVJ%8l$h^XJstR4~d`=R@YkpI+Q4eI{S9)SfM5p!XGxA_NBOE&o< Slk`&n00008(SDXnQ7ikMw60OZM6-8p_?vTWl^%RkJ_R_ zx~K*5EnG-JY3N_jMWOpZp&QW_y79Fj1tCI9AMzf!apB5EDO3xoHT4I@zM4i8nVc@J zF*BOXk0gD4IdI`Je)oLmI5Rijy>~n$Q7b$i_yAm&BwW=rgk>2aUB~%c4rc*CQSe2U zv7zf&%Vx1!DBvFef05X$Id`=NJRSrA!~y~QvA2icLm}j2G59(=A$N2D#RdTBbg89M z(345*t*zlVpAUb3`-VROBuVU4C4{7_2C&KN><_`{jp7}lL2gO*YI5-efEWq)y1^_mx zDtFw>^DkeLt*vHZl0-(MFH8ZO(Q2JoC`mWi3!0`krefIGyE2P)U96%oc-t6k)uHB%SnNpH7XUKHA9?}KUX~9|KpP8{A)78aY zfHx&c!qr#|KD&j_%uK1DNC55aRjr@OqP<;kmdjNMu^4=kgsYOKA>7#s*(x}n2VT7r zeV-2)8mdKZc?=B+Zb0P9=dI&AJ0WWt!jdc_R9w4O!tye(yDR$Fua^?l6F#5d21Ksq zW$XBk4nUR>l5`#C?F^*TrT*p1wF$L?k=vNF96CAxUB`JTm%~{*0~;IWfjkaQhub_Tk;fu<(WfAa>&cu~QE;!t-FHS6I+%75m`_0S2Terx~P3OWlH^mquM}NPw zv1ON(bh)VC+A=Rf0J5cpeD;jYSlq`m+no&CjjcliRc|dOlVSs_t*x@? zwl)!yOuA*SytR1Zkk8{mNL8`?_%Tl3xdYd=XQ2SRe-C{61gx)%YZop67cT;rE&-CG z`qzvnPr!Tk@bCUUx=E~={%CY#xD$=Lymwj&Y1Jrn*e0URQw*UYD07*qoM6N<$g3%qs@c;k- literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/blue/7.png b/src/app/widgets/data/blue/7.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2033bb1586832bad054409c2255368337efff6 GIT binary patch literal 1637 zcmV-r2AcVaP)#9WK~!jg)mlwR8)+DRGGm-1q9_#!DONEE_EZajN>Jz$mO^WK z@Zez&o@5bnEO_zI!_t$+o0rY4hrM|+l%@;rf=VrTZlUTSwY9boELLM;GI{p!C7qdM zzGT$6yFT#2Xuj`#o_BuUdEfUN7fDvr=gz_xSiIfw8TfHNKs55r+*x3b^16v$YNXXUFgaw!KCg;ScwTq42J z)l0V`kzh&Fm{Sx^)zc`ALaK_Xwl@6!;svzPQD*_+-~dRafZbgq>HtPW3I>4(4*+$fg(QQ*Kl8FQv2s9Qg8-akZQ7qPXB9UOJ{7lq5*fpWj=i}R0jA!)> ze*8#=LiVCmmAreG93LmAr^Of_7ynaL`!%7EuvrhW7|+Vl$r56#9heCQc~URhynapk z{k0+@5%T$SGLw<7&1A%!NThbX-!E*-P$-BH3vkBP0f22D4-f0b`L#9D z@-;G~Qev&ymd7JFWJo5-@~!majs3#`x0_GHVM-sXbeinxu@c5&;>=tW<(O}=+0!Gq zWC({v+F@}3V3(%J(}P@&93Hk3Ei7DIcr_LlthR@T1*aXhwn$B57GRgzfvHf4$1;NX z`PwtzY*b%~`FZ)=P>9EXc)@`rIy(3=9=D&I$&j6$hT(hn8i&1$pjZ^PD?FW@@_-PJ zlN}v=N%0b<*X?FrmJ-j+Sp!n9IP-vAr!c*dZE) zS5a_Z@%a$!>w{`HDVa2m+uMOiq?uCf5s3&cI}K*^^+EOd5L8qZy_MRv8s@V{D?xFHkw>63BnG>2~n z%v@#-W&{F2K93tpJwxVN$K`5VU}b6{Y=I9^`|3Wes0l%Y@%Ty`4F*xv_q z9eYYPi`{e@y4|ElkBsAQ-+Z;(f(_ltA4LzI1E*hm0{r$$PeRA?Dk_Rg$ zCk?*-e)+sgDuG7H-0ZBiqwwa<)d(krZF6U1cGiBLC7EM`bo%R8vc26fIyOd@uAt3T zDhb;ap7wUZZ3jy_O$P?+00000NkvXXu0mjfmY5Zl literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/blue/8.png b/src/app/widgets/data/blue/8.png new file mode 100644 index 0000000000000000000000000000000000000000..c75055c483a35902b424dd97ffd19c8d2db96a22 GIT binary patch literal 1788 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 + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/app/widgets/data/green/0.png b/src/app/widgets/data/green/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a6018131000a308f42c59c1ed8725ff8d96048c4 GIT binary patch literal 923 zcmV;M17!S(P)n3 zpf=%0_zV06^tav(bhmI5T52mP2#K*VBpV$BGQ3*|%4PMg1M2MfOr{tz3GaJ2=i@uy zcXEgh)zsBMPqE6Du2) zRlYgZsk-VaDHpoXsZLc^`NqmduG|wuA-SHH3;%>T&MQBts1kM5Ni6y~I_jvRN|aZA zfH+2cdQ}66z?Xj>D!gr}^=iVGX{n`9;jJ(K91*;V0mPTQ@`JkS$`8_*HqX&eV>(+Czbx!uLZvVNysr8Wp@fxfqMf*ibsbW z7E)D~fI|)oMT$rFPr`HMj#f#D)8axGa^;Q?o&gR5g7IfQr#h-h2nh)Y#=wCwnEfhM zFKtmtsZ#X}X5aYuVTqEHwxFbxC^c!c-xE^ZDrNK zh|!k${i}aA#$vB8xlCI}VlKJFVy}&ZbCp#C4$hT{iThbK5EJ)JMAYrki_;dAlpeh} zBI=qc)9+21YZqDHn+owU&wHiZ^1-% x+pG&FvfJohGV(_qHOTy7kChE9nMv)q%}-$(-8`fMXv6>j002ovPDHLkV1j9cr4IlA literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/1.png b/src/app/widgets/data/green/1.png new file mode 100644 index 0000000000000000000000000000000000000000..a0343a6cb8ff13facc406102f48c5c7921264c68 GIT binary patch literal 1022 zcmV;`4~;Y{1|f@TXAs&3#X6 zAVcO8P|A_p?$Z6;$M2OWxq0%|3J(P!d{o-B;~KT@Ip@E)xX0i5{s&MK>P#g>(nJqp z(U!gM$cYLnTp#E_XFAiQwA9jp4pdO#+L064viA{-lk0iC@CC$fR@qKb#i*&~#G+rK zsiul5Mp+a8p-3G2u_CtFA!7jVJFE;U{7M@g=Klr>t_Xul~%$ zkLatfvdX>Tukqzg28_&(Bj>iF%3$WopHNX{;K;c(GCNZlFfuz!TDonh@!s0UG}O?N zmj2Vki_^xDldAX;4K?J*xqWFmJ^R9DmF=W4ZC;|H%3%0T{P1G`5Gp-+r)8CUDe8Te zvdX<-boy6_eQIDgP;m1e(PmQm>MKxigV@z`1`vx`WjnKs^KYfDx`tC}{Et00V9VYw zsu-m!@#hp(jBMHadTapk$&r)j@?cgp)s!PALVS{h8LsI{tE>*zSet4=_@1n>#wx1= zpak3-$dTLLVrwx~WfQQ))?$v__I*vbw(PrUmc(h%QcJe%JA`Y1O&`Dana`LdgN z`1n0w(-_P~iISVPs7WbNat&s~cz8jcyp^_~Ny(G9JiNeISpI15nlyh8%Pd%71q;hJ zG4b*&4D7MTU&FG;UgGVqutH3{j4k`FrB`3676FYiOkQvPRjbS(T;4Vpu%<9Bl}tkDqJIW^bxj{ zA7fLmkC0Z;yeGEw5mJkq_vG%whjW}>A3bw@z@bMb=Jtr`;R|zo$oI&^{2sGDGBLjg s-A|1CudW)*{bi4-4LmWE+I5?M0GD&C!u#BIR{#J207*qoM6N<$g6oy@?EnA( literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/10.png b/src/app/widgets/data/green/10.png new file mode 100644 index 0000000000000000000000000000000000000000..a57da5ed281be8afd04189b4adde9e0822098fea GIT binary patch literal 1362 zcmV-Y1+DstP)*F` z$hJh~5+M<}NKJ`kSC)*CIYn||glLhlFyM4FL~c@$+G%3h0#k56e73>tycD@Z%QAbn zcLxV=bjAHUGyA=re^)cJYb4RE4CV^(i^2SyB6ZVXIvuXV;o1N!_N&E~gth~McS4K6 zZ$h7&KDnfZeuymMQCjJL5DwK{T)FKdM7D8``oY_c%)F6l1ln7Sj59Lxi1srxfUt;3 zBXf9K;2tA~h)IM^%4L$=0|xVbiqxM0!PTUxnI=t+8~`8qz#)f;(>g_JFCh3q=uOSa z39kI@T35YIZ5q;$3Myz_>)O(moSZ6ha@x|C*0rvJ3L4Uo+SHb0G;TMQLWl>|PST?u z&1gnN6;-c_Dr!bE>QPUv)Oyg60mQ?&F0;yNTGKkvLEYd{9q2&QnpRfXY9=1mWdLzE zuB*KA+SP8;;8E>rS9#^DnYf$C0HQZ8=f^d!K*6cQR}?7FxW>KsWv1S$1`sJLyX$GJ zSQ+gmmcv(6Qc2zF_Km{)F$0L4Z*DWExpRZBXijs!QE-TyLIx(ImHO3x zE~yihlT*L?eWNg`iUBM8HhOqbi|5ULq(v?Io=9&cVGtd_zksRCk1}M~Vv98C#1pWy z)FFpt$x@^k4h#6k0{02Q1LVnH7N?mld z94x7#Y(gEjvh@*H=^`o0=5TE`TFG)EbYbLUvlja`9N1*DWkB^R%4V@&t-+MS!3{QA z3RRDyYz9-Z4!0c+mMF2uUQ5A}XpcQg9J|&y+_n`uku$G(-7>JG@-Yc*THsamzzbfq zf~hXWFugK}tH5qJ+C>-dd5<|hMLIVLaf2Ja`}12Xv}dvJ!qE*jSYxeqgf+Cr+6j1z zeJ8Y6Seub)Wzu~!_Y`vLOicE8qJh)-_MCWDw|3nkC6;wnZ~}4h%2t#XQqChIva$H+(ZV6Fnc0zX-7m%(%jwTC~qF_=$6+YYw@{0>YBHNE)$4`^I7 UJTwO;2><{907*qoM6N<$g3m64EdT%j literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/2.png b/src/app/widgets/data/green/2.png new file mode 100644 index 0000000000000000000000000000000000000000..3c611a144f36c3ebd1660e19f2fec55f80c95548 GIT binary patch literal 1131 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 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/6.png b/src/app/widgets/data/green/6.png new file mode 100644 index 0000000000000000000000000000000000000000..9732994221919fc648dd415eb3992f4eeb1eb7a3 GIT binary patch literal 1617 zcmV-X2Cn&uP)NjdliyujohF)( znZ({+pF?0E=Y8MjnKS3i`<^omfa*nq8Z1fuhK%b$1*1OsBDUy{kMoB*#Qk$9qRCf^`l8rqM&VR)1K4Z z_qgJXmaM1A9ZJzm4BYqt7 z%o8R0ElBX4P~=nu2z3Vt?2R#&&5`?Q8;BJ)YH!rKrF1w5{QkHbNHo^$I?7EJVBS)0zH=(;F1qg)# z1ophF^YhFTCVYb2WiB(s5WgR`A%?ijQhxmRiv$R@n3%59gInAxBG64Y?|JXa z7T`Va>888L$1QHTvRz>X6Eh{$QYc`wi>|M39K7VE6SR>=CYa!W1J~q_aKHf*OwdT9 zq#c78h+#>t+YA;AM(&M@#A>NL&sk$t$gHTRhvmBX`<;h zAPHH1{24bX@gRdvuwHt}Q-6k$Cr>ZEj^9BBtJtZ7y*sDKuypGOiD3z^YdGywD5h`hgxOqDV~zR4GIh(E~jw z8LJ!yG+-Grt{XuGqaEt-RqC8mP77L)Bn1@EP2H@IaS7biO$8K?BrRw`Ipr$$?@)&? zs9@Ca$rm}QUCUurtJ>GTB&k=u3Mq6ttP2oQNWJQnB<*Wot6HttKdi8P@BCtGZf0+cGHhT^O?z!V1fl-DYHzxmZoWwzi$?cD2{XvH}Wy7sf1wu)@kHbJ1|) z_&^8FwNDkNOI;}RT^O?x3{&Q(YQyE_&eQ`hBb`t}rp!-X#%XmDHT(PKovp%xO+ZB_&Dy>UVBfIc#dvPARqFI+b|Fv!X)8OEpyuyX+Pf zM$dRw)#fObaGlKA*u;oAL53MVE&dEM?D&ll!^W=IzbKi*Lpr_28bN|iuo-6RCO^ZB z<1a{%HP))y6s6O6ENC9{*a_G|3$x7DOn#PGT4-_nJ?611yAuVCmy$A1o<92O+F>ZQ zlhH??tNNm3Nr}gzew%H2=qV!5PCL^~lO|o(E=`(grfH|W$hL9v!xE#<{@_&U3z~Z-@|2c;dRUtGKN~jT>7VY;cWhMa0~+ zYh3emvQu?qi#oOzZET+NyyRUjH9F6EUUjKFj&fUzCl2`<)DQ_M@aB;oHQ&*l2Cr|_ zj52zoH%cg>9qmYx+SI17!s=9~OqpI?>ZzV`PxtoIN_QgSMSm8mDHw^fyS;w&JJSao z6o@#pM@&CDoZ&;h0ug8Tn6*H}**)k!Cggwhsll25*rR3v$He@y&u#tzoqM0=zUH-q P00000NkvXXu0mjfp}PS+ literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/7.png b/src/app/widgets/data/green/7.png new file mode 100644 index 0000000000000000000000000000000000000000..8c77ca768173a167d18f42506e322e5d562726cf GIT binary patch literal 1756 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 IM6N<$g3tbrGXMYp literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/9.png b/src/app/widgets/data/green/9.png new file mode 100644 index 0000000000000000000000000000000000000000..b950aa17d1e7f32b0321e3734e0fc028c2c04a4a GIT binary patch literal 1882 zcmV-g2c`IlP)bMK~!jg<(f}uQ(GR#zrDAeo1|J$5tBS(Yf~${u_EZA1PTr~ zh>I4r3wg8XN>C{NS%^bdT@So&L{#X;g-ka^D(&LIAPxo*H4EWk7S9G+o5pTR^|eh+ z(womLrs?G7-rCl->4W+H$mVeFIiGLtxykwc&aDBoRn@4*FX^v_j57fRqNdD1e_PVhUm}X+JJsoLRHGTz z|3Z>7WihEqdsL%KQ=0mdU;gL6>-T?38b!=i#XyZ}>g!Z@+mP}1HnkOh(ogjlbV1E( z){>Sqp$TP_(X^)ZNuMN1A%*mVeo$CpHK|E{`IS;iPxVwo8e05SzZyjq|4~rkXT;*B zfPf8sgldJZ`S8ufh-DKb07#SO0S`FOc`PinPFPr+=R6O1K$!mke zpg@u&U36_3yfV7zB1w`01$ybtuiTCHEg3K{dMvE3gA5jn6zQiQ6LUjA``OQ*S7JZ= zH*}4ONk9D*DKf}l(Zc#_VDx;K0Ry9FFMGeniL<~0-E^-xaV@o+`IB`Dmk&~SCoG3tmKKhtt)&;zt zW|^grJ^}cLre*CWa&T)=q zmg%K8zw+zk_=&AFa4kx7u|R=a+;R;TBE%csY&(2OZ+Jt9kZays+@e5%DA7fsYn}## z>V5d;#uy_`+%?D^_VA8(I|g6UJKnK}J+ArV#2I6Zm8DegGEhfde~efbpq+Nd#Rdi= zjO;jkNh6G4U^p1sX$K%iEL%rizr%pgJ_{?GAi*%hF86)(RSmwRKKfi7!wi!kfrXV7 z+E;F%=QO7mY;2Bl)N#=v4l&Ps)eX!u&mj&uSdMZO8=KRdUJ&Y8HPArAF9Qtll9w*m z4|!O1_>vy-(8cqTmkcmK0}a0bl90cSx?GABx4G@;e3-*5v%G5tmRaU7haF6}xy?A^ z)KQlc@=K_zndW(bC{ah}8{F76_>yjL!@(3K3P3Z>^Fm#QA>&M^I{okUUMZy$@6RKoLDW&&%uTFLP4H;*QfCAA*HJV8!9UbdcuMTxo5!G8A>QKGv9c@V^)u=`@ zpg`0xWk$jZucm(`MHEr3YOBfWsan-4qKKpIlRhb|uuPc|!>)uG#fDp|@|4NKN+ zMj6lB^hc4`^3EtDOV+Gm%AD~sP`RXbQ5IPTwO&_~)l;waT3__V(bl3CO={B4Dw|r}N)#y) zBSi}0D5018rx~QjmD!=^C5lfDQCQsg#M6}RCo_y86`8;`AXmKT1 zdGhXrraYy*&wW=CahJPQH*lA`E{^-$_f9D(OX>?0Xrb%{%^LE30zim4rgpJIwO+FbKq z;?nwsEh*Q5|lH1U|n6e(^RyhxG9Jf?{z&#^;< zNRZfkdA;;0Kj27{<`kzqCldcHzg*`!&v-_G!kW+p3OwT(*SYR0mz2jTPLU@4{RbT7 zCQ3(4S+ZQ_@|u&D!iSG$nu!skdnIDTXr>t-zICs^%w@7M_zMRSr`9>M#ILFro z*=!u=IHQbi?;&5A3CA(3jm;w-5h1c=@CXqe@dz7xXO3CROt=oZOKbWjH#x$Q4MQK{ z2sgR8`pj(QpnF?iHApI{-}IYiR-*h>gWyWEs#QPg$8CGn;Q#Msk2TEf+Uqv|0fnfx U@g*RjH2?qr07*qoM6N<$f)P}QiU0rr literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/green/cursorGreen.svg b/src/app/widgets/data/green/cursorGreen.svg new file mode 100644 index 0000000..34e8bc6 --- /dev/null +++ b/src/app/widgets/data/green/cursorGreen.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/app/widgets/data/red/0.png b/src/app/widgets/data/red/0.png new file mode 100644 index 0000000000000000000000000000000000000000..839bc89b0e9f997da26bd2e137e08991f93a0a7f GIT binary patch literal 897 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 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/3.png b/src/app/widgets/data/red/3.png new file mode 100644 index 0000000000000000000000000000000000000000..3088b82736ef6c86558c126499fc02fa55a2ab8e GIT binary patch literal 1237 zcmV;`1SsJjkGkGj6 z{RM~PUt}^b0L*|)8}fr>eGTZK-9AMra|{Hs42Q|ZMb?dl1u`5a1A#21%+YS2BG6H< zKlM0%guob8HO*i!$7Hg8r>h~EB!j^mRW(gujKC3V1pq!eo%8hj*BFag=lE{KVx-@{ zMyGS0fX^BMz(uNRnxRmUrBdUZ-$1EEhC;>4+qh^>fDogUa-Gp=x$&OwLNr>YlP zSY>*c=g`=6a2*sP!ikCBrVYM+P1Gq0nVYK)DRe%>jWx?PJcJ+ZtySUN2B6bRF=%Ye2CG!uHSwPd4ObfVs7x?i5n4CPgZ#)h>e-1o&V2(4D0yJ&OxFT*49w(0; zC4)ip*?2RNSyf6Di{$vYE@EJSeEO7}n+U9>Jh7$@+EL7rpxYg1IBeeVc4RVoaW^wVe*bQ*?QocMyW`xpBO7HP zkhPYjfd~Y$1V-5oTgo=s)VIa4O3NQ?wZ+k5%OCEx#qoMuTyV6-71Q?V)Uua++ZT4r zUbAiwu`PSiy;I2l>QjT3|JcL0fSqER_PNb}sz~aha6@1G00000NkvXXu0mjfYQsT- literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/4.png b/src/app/widgets/data/red/4.png new file mode 100644 index 0000000000000000000000000000000000000000..8e7549d4a3a0604e921216e7368ceffa674e9d5e GIT binary patch literal 1353 zcmV-P1-AN$P)mI183x?5yVzC-~(p&@DXtRw`)AICsa|{N_Sd6BzxJU+rq}Q9HrsZj~ zjS*-w%f}3HD}f=}?P>aac}An=N$-Scl=S)XwA<4Jh6q@jD*$j&*B9vVtTG&K9`UUR zhe?lTmAbw_z||Z9ziPl$f%Sc)yFCJd^^NRQmtwaH7^26s`b)BnS(Hj5#R5azRshgO zyFI<9dA?DE!`zrk)i3s@0Gn-$K3{%+8SVl;pC~)(1OQ#swC0uvi3IuP4f*O7`SBxZ z7|rn;jgp#{C(y+j0fY2#mHN?$YaNZ>)O`VMqa$grc6<> z9hS@F^XGyjKw7Qj>C@!HhvdizdFc|_-o7d3{(Ul=m5&z;lAWDXLIB{P%~q5ui7Vv& zenCuC$X44X7$GG6Ljs=3~3vDs^c_R9I_ke8Hob97WKq>{? zxdZg}nvWfi8_4Hljh7NPZip}H?b~FbusfRq>hB^R@K5^eOrFEjcqoK6^&qy-OZBBF4B} z;CQ9g9l_L(@?0|4UM=TuvogFY5!to#vzrHYq7E-@_RHY z`bc#Ba?>657-gP3f5D_v= literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/5.png b/src/app/widgets/data/red/5.png new file mode 100644 index 0000000000000000000000000000000000000000..a18a1a47df5d7598916188bd895f8a8b9c22ef08 GIT binary patch literal 1462 zcmV;n1xfmeP)e_6}&~klOXhF3*r{L*rRFbK|QENLp1iH(X>sQ#>uybmvoZ0 z>CT%}yV(yO6Uh92@B8Mx_nY7Ey-`S_X(&oNfIpzBzr!>m(6kUNYX^$OtpEUB{|rr= zfn{Y-C`_YV{u{twAQzhM+O+^h2>>_^zyD7xEF429w1m^A+tJaXAsEDR1AuJSZt1jz zM~@be$!tM;`xx^12LK*{%(>!0Qmz4BdOQQv^#Y^OIVKY1^faaM_AQx6kkRNIb-h53 zXMliLmX8eaHUfP#j2vUJ0#hk@(v6Txk+E2ThLI!CN1$zE1ppzM<|{@b^Bf-DIN~cY zJWNI+^EAy@1VS4l060R!$T1#YVyX1w$X8J+k@5IaWi*a7CqPwusq2eOCd)sb`3fYH zW$OAORkhch09Ea!&$r0&@t@9p8RO%m&$q6K#?waEHouQ`ymgB#yIf+im`FS7rVtRIuDeSQ=I6;vmqvv*iB$tN%ZG)LjmhN|Cx=AP}e((939aPTJYT1i5FAO)4BFA3h{Meq4R;w{PUr zr{swf_WfQjdH1foh-h?0XGR=I!%T`!bc?HTs$dKagV1+pdAEy7!J=$bv`m; zPlL;sC7IXY$rF2R#N%?d;qWYh9#B;W+28-&v0fElQLxX8XRA^dg zxpsAei3xFSYXiEw<;boDuUEX_YJEFFFbHT`NQGtXa3$ctf##on6>bGs)(#cL;#OAz zy1Ja({2QtQ-n|39d~s$I3tb?JTmu0h9Cl`t%>ugqS%s#}NC}8W#dT^*M2?Msn`xQN0-83X!m={1MqqXp zc=N`&-Fm1Bs6HGg$Yue{%BUz5rjbrtjt#rI0Il-cxOPo~Wdl5T0Aw=a_u<3N?b2xr zg~GJERN~4NJCzt3l6>{n;KK(p5DOfXOoIT zUc4wOwDoZBo?Qz7qQLp?JeMT7MnTg|NjWw~?%r(^GEFiT6J_T8`(lk;y()-q-(G*; z?c4IT@tP%Nvqk;vEP4L?>bkd4>+U9BzjoEt+C@Dp2N#BsYij#^a*`Yz6oq_er>NEd zQ9qnIMGg#zV#u=G`5zu;WruG0AmqnxY~}N0HoGyt8fd1=Ne#w9jq+0S#Tf`%1Wm QoB#j-07*qoM6N<$f*hZ;2><{9 literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/6.png b/src/app/widgets/data/red/6.png new file mode 100644 index 0000000000000000000000000000000000000000..6a6c2afe165bed474d15ad6ce16fc5dc39075ea2 GIT binary patch literal 1605 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 Z=3m*n9=+hYFNXjC002ovPDHLkV1hCBR*wJx literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/8.png b/src/app/widgets/data/red/8.png new file mode 100644 index 0000000000000000000000000000000000000000..785a4b17fb2b5f96ed560e471bac14f373bc6531 GIT binary patch literal 1850 zcmV-A2gUe_P)K~!jg)mmLh6kQm8cBXZ9*EB>bvo_1sh$1MklBKK<`nsqr z>aHL!ic0V{=&B5Fio&8Ox{!(pii&GcNK+&ps9@zC5%dc6TU9DV|o1jdc70f3t>S1Uc9el|3W z9`RT-G>{%oKV7a?0`Ac<04Sxy;b&D5=*2aS#7^yy|J_U;wO4GwBsEKq4}0FX(C!*AN>-@hj(PBi;#Q&Vch zjp*so+{&oKW+N|M62~<(@Ruw7{$lF}*zMKydIQ1(;jp#{je_&?$PXVzkGxUW%9Wxn zmrHXsBfMTM><|n9a;PZg@ZjiCQJ|ubPo9iE`6&E;vbb2(xoVX-rn#9^lmLMoqX88x zDG@i~A3w~lbMj>R$Vc(&mG*5g>TPTk$CQ-x5vb4&$j-jS+FEf?b+stO>rFrTC~9g% z-HR59_iJm(?Ce`40Rm3i?IBZ09Q!ICJQy?n{Q1-Ty)nj5ZEd989wOibfwe3w{3!@% zX%Qb@xNz*qN3nai$YK9}@qS_9PXcQtNYZkYmpg?l=gJi^>sh}(sbnc7#Ol0$UF?^a zJ0VHSCAeH36cot9&3pF}3mXe8SOCnJq4%FY1%ieYx}ZRY%jJepFW z!0g#+!Nxz;pExjZYAy&6>V)OF>Rn3zS3grq0 z^!AFc>Q6Qx6v~xM4~0Tv-{D9Dvtc4ucPuvm5)`FZ@U6*{0okyojqWtoh}CWMl+I2- zQF>GJ? zb^@x}At4ZGhtH=91Lx1zuSuYxA&o5Kpt~D*_Dt_jpAO{Y=zX70MIg{FAriTd`g*a* zx?zJT?Ao<7GL3^9H-Jb)@2_1e-mk9@A`-c89n6J778*SZrsp9hbSga1ePt+``51nPG=*?VElxp zr9~@qL}$QmCttoy|I7~zkaOmUvw!%oIL4IF#7il+Y!L+&7n5JVrq_VYn?;>7XKF4T zg=I<^FRB0dQA@0i0#~d^y_6CU2M?OdE9cIMV=R;UL}itW7qt?HQRwQ`z9Seyt=QD}U)yt<)05kcBNKC@n@JfD9(=(z6G9JA_1{KW^|q9K3O oUk(2HKYJu^fN0GB_II2A04Tdyr1l4*T>t<807*qoM6N<$f*=HO761SM literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/9.png b/src/app/widgets/data/red/9.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c9758c5b80494c0076e1304b1fd644d17bbd2f GIT binary patch literal 1848 zcmV-82gmq{P)6MvL`nJ42FD|On*U={>H3XF>KwMkM-+;vNG}ij~{@~CrW20 zpsK)x34q-$N}=c!cs#)E+rZVUy?FapLM(O)k;p$Fdxyk_WM&005~!uw+(VZuz*nzG zk_?B*`}aw=o18R>1O_fP8@Xu{dHFK=^{Z&()hp8F3earsAy7-em?^JJ$vbGZzNgdK z%f?0#w4;OEvxgizc5u?^iqS}}UQIrGCfaOlB%RJ)TCML1II<%ESV*(Ehi-S6kqGJc zlXZ2Z)%yFyQ_k_le&zw|20a;W;%5vsC za^wgZi;)ctF)B)kl2r410wk%1W5$H|(}*9MN!C$7qd$|5iKobNr_%WO^sNcoX%bXwW$RF`81n**w`q#HPzF& za%JSm$I;qK78dGbU%Mt&K{1r_^#V+$db(TzlH{&k`UdLiMxJ~eO--c9q>b-%inqSY z6`;vfuN43kP*KG8;N3g@y1jO-SetW+GiUS<@yr>q?NF2efr3NB&JW-av3*HydUPy{Xw9nUx3YakEc(QU%u#HFuQl>o_riPZ>FAyr%#hM z+dUxwu+U^u>G6;kE@&&uve>kZCg#l1a@w**Omve;C13%8N|u#-

_Bm`$X64Qmj_ImlslpW zp}buC+v^qiwk$g&M5A^T7Xuv~+DdkN?g$Qs2@|xxJ354bXw)u2RSQ%0K=MtaiDWME z9#GXnsqdnyYAcz|IbfC{lDP!??Ia0`(haXyKV*Eq95Ble$z0+iMp3#Y$g&S!FEDYU zwo+$j?g$QsWG)jY3IVe0lMs!z_l>DU`2E79`Y#}PfrB6`jDX3~{A9l(Vvb%c_V~a`FqN^{BFC)# zBJ>B{!6142Ho0SmSY9(FZ8nqZ){zYjV)-1#L3j2(HJCgZc<};w_io@%4N6Oa<;%tY mS@_i8fB3OSYB8hsxy`?k`M2pRPTlJO0000sM literal 0 HcmV?d00001 diff --git a/src/app/widgets/data/red/cursorRed.svg b/src/app/widgets/data/red/cursorRed.svg new file mode 100644 index 0000000..54f5fc0 --- /dev/null +++ b/src/app/widgets/data/red/cursorRed.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/app/widgets/playingscreen.py b/src/app/widgets/playingscreen.py index 955a3ab..055ed71 100755 --- a/src/app/widgets/playingscreen.py +++ b/src/app/widgets/playingscreen.py @@ -23,9 +23,9 @@ ON_SATURATION = 1 ON_COLUMN_OVERSIZING = 1.5 -def rename_method(newName) : +def event_handler(eventType) : def doRename(m) : - m.__name__ = newName + m.__name__ = 'eventHandler%s' % eventType return m return doRename @@ -113,7 +113,7 @@ class _PlayingScreenBase(pygame.sprite.OrderedUpdates) : handler = getattr(self, 'eventHandler%s' % event.type, lambda e:None) handler(event) - @rename_method('eventHandler%s' % pygame.KEYDOWN) + @event_handler(pygame.KEYDOWN) def handleKeyDown(self, event) : if event.key == pygame.K_q: self._running = False @@ -121,6 +121,9 @@ class _PlayingScreenBase(pygame.sprite.OrderedUpdates) : if uni.isdigit() and int(uni) <=8 : self.highlightColumn(int(uni)) + + @event_handler(pygame.MOUSEMOTION) + def handleMouseMotion(self, event) : -- 2.20.1