From 21dd3f2e2d584ef1cf1e99eb5e27331087994e90 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Mon, 13 Apr 2020 05:07:52 +0300 Subject: [PATCH] Added a zoom tool Makes it easier to zoom for people with tablets and touch screens in general --- Assets/Graphics/Dark Themes/Tools/Zoom.png | Bin 0 -> 771 bytes .../Dark Themes/Tools/Zoom.png.import | 34 ++++ Assets/Graphics/Dark Themes/Tools/Zoom_l.png | Bin 0 -> 805 bytes .../Dark Themes/Tools/Zoom_l.png.import | 34 ++++ .../Graphics/Dark Themes/Tools/Zoom_l_r.png | Bin 0 -> 819 bytes .../Dark Themes/Tools/Zoom_l_r.png.import | 34 ++++ Assets/Graphics/Dark Themes/Tools/Zoom_r.png | Bin 0 -> 803 bytes .../Dark Themes/Tools/Zoom_r.png.import | 34 ++++ Assets/Graphics/Gold Themes/Tools/Zoom.png | Bin 0 -> 799 bytes .../Gold Themes/Tools/Zoom.png.import | 34 ++++ Assets/Graphics/Gold Themes/Tools/Zoom_l.png | Bin 0 -> 829 bytes .../Gold Themes/Tools/Zoom_l.png.import | 34 ++++ .../Graphics/Gold Themes/Tools/Zoom_l_r.png | Bin 0 -> 819 bytes .../Gold Themes/Tools/Zoom_l_r.png.import | 34 ++++ Assets/Graphics/Gold Themes/Tools/Zoom_r.png | Bin 0 -> 829 bytes .../Gold Themes/Tools/Zoom_r.png.import | 34 ++++ Assets/Graphics/Light Themes/Tools/Zoom.png | Bin 0 -> 1817 bytes .../Light Themes/Tools/Zoom.png.import | 34 ++++ Assets/Graphics/Light Themes/Tools/Zoom_l.png | Bin 0 -> 819 bytes .../Light Themes/Tools/Zoom_l.png.import | 34 ++++ .../Graphics/Light Themes/Tools/Zoom_l_r.png | Bin 0 -> 820 bytes .../Light Themes/Tools/Zoom_l_r.png.import | 34 ++++ Assets/Graphics/Light Themes/Tools/Zoom_r.png | Bin 0 -> 826 bytes .../Light Themes/Tools/Zoom_r.png.import | 34 ++++ Assets/Graphics/Tool Cursors/Zoom_Cursor.png | Bin 0 -> 5245 bytes .../Tool Cursors/Zoom_Cursor.png.import | 13 ++ Changelog.md | 8 +- Main.tscn | 161 +++++++++++++++--- Prefabs/Dialogs/PreferencesDialog.tscn | 84 +++++---- Scripts/Canvas.gd | 10 ++ Scripts/Global.gd | 17 ++ Scripts/Main.gd | 59 ++++++- Translations/Translations.pot | 29 +++- project.godot | 10 ++ 34 files changed, 737 insertions(+), 62 deletions(-) create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom.png create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom.png.import create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom_l.png create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom_l.png.import create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png.import create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom_r.png create mode 100644 Assets/Graphics/Dark Themes/Tools/Zoom_r.png.import create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom.png create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom.png.import create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom_l.png create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom_l.png.import create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png.import create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom_r.png create mode 100644 Assets/Graphics/Gold Themes/Tools/Zoom_r.png.import create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom.png create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom.png.import create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom_l.png create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom_l.png.import create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom_l_r.png create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom_l_r.png.import create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom_r.png create mode 100644 Assets/Graphics/Light Themes/Tools/Zoom_r.png.import create mode 100644 Assets/Graphics/Tool Cursors/Zoom_Cursor.png create mode 100644 Assets/Graphics/Tool Cursors/Zoom_Cursor.png.import diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom.png b/Assets/Graphics/Dark Themes/Tools/Zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..81d3987f1ba8c20c8a1634d2efeb6d44d4880f34 GIT binary patch literal 771 zcmV+e1N{7nP)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_UgaCxG%vneP000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5Fs4DTPS}3000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0002mNkl;PZG@gXh*Qw{iJUXbny& zo$J<`D#R=WBbe@WA)EyZ?>RUpgiBL^%@(}9*P`&d5!f!EUn!}=N9*V4Rs4?>Xi<3Q z{a1~MR&$4Nolu(vCVgLmN<%4Hz(>HHX=nzYh2AQ{8Mxam@PbbX@Pw-Zyy2pN74VOW z&;vd#zzZ(+0Z-`TrXgVb5#o;D^B0&9T+0%2w_pGO002ovPDHLkV1jEJ BOaK4? literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom.png.import b/Assets/Graphics/Dark Themes/Tools/Zoom.png.import new file mode 100644 index 000000000..f3c986f39 --- /dev/null +++ b/Assets/Graphics/Dark Themes/Tools/Zoom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom.png-a9bffd47e4782e488e6ddfb83fa57151.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Dark Themes/Tools/Zoom.png" +dest_files=[ "res://.import/Zoom.png-a9bffd47e4782e488e6ddfb83fa57151.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom_l.png b/Assets/Graphics/Dark Themes/Tools/Zoom_l.png new file mode 100644 index 0000000000000000000000000000000000000000..48401609a8429a1f303195566c0d3a1bd6de74b3 GIT binary patch literal 805 zcmV+=1KRwFP)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_UgaCxG%vneP000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5F!?IqmrTk000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0002|Nkl;K%xYGP~Ut#I8vp0t_Qmh0R9KLf#D9Ie??Q~y-Q%0yV zNoXv|9eped$IU=<1J~yz+TmDkUbqzhqXe-mtVN%-5xG?mLa3dv_*oFbV=8(UP;d-j zJq=@U)+VIjZYi=G;DYZmzzL5U;D&D+r~yxELJs(D16=T;x8md82TV7JhJ5iG_kl)P j5Z-C%OjP($^@4o^iGyohHf8Sp00000NkvXXu0mjf;$T%W literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom_l.png.import b/Assets/Graphics/Dark Themes/Tools/Zoom_l.png.import new file mode 100644 index 000000000..07c61d396 --- /dev/null +++ b/Assets/Graphics/Dark Themes/Tools/Zoom_l.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_l.png-14bf87f6d158434f443d987344490236.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Dark Themes/Tools/Zoom_l.png" +dest_files=[ "res://.import/Zoom_l.png-14bf87f6d158434f443d987344490236.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png b/Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png new file mode 100644 index 0000000000000000000000000000000000000000..5a081d1b9c6429dae6fe44ae766183db49983614 GIT binary patch literal 819 zcmV-31I+x1P)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_UgaCxG%vneP000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5F$4?%7Xj=000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003BNklLt(4&^4 z1>~3>Y$0O-xswylW(Qdxti=2$a2UUTm*pjmF#@W4w@xgOd)$`{7uF0C_VrruTD9HT zK_hBUc*uxO{o|&-jP0^|k>jPfxlPgg8h~J|n32r}>TC1WFN$Jp_kB+qNj3!#jK5(c zP%1_AA$Z70XquGBEX5r?m4)MGAiII;S&|hF<;UTr_#ab1Wnn7%O&by30X-zP6DHe= zF`QEDEYK<75WspGQgGHH48i?UWH-PCpJjj(P8#5bM-A)&UsQw~@Yx2q;7M=A$Gs1j xla;yP)(rAD?gKfp;2)>sY3NOGKUDGa`~$X2dWEl0aOeO4002ovPDHLkV1nPsVvqm; literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png.import b/Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png.import new file mode 100644 index 000000000..554c8f693 --- /dev/null +++ b/Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_l_r.png-109d1f72522d6c5377b11e54679918aa.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Dark Themes/Tools/Zoom_l_r.png" +dest_files=[ "res://.import/Zoom_l_r.png-109d1f72522d6c5377b11e54679918aa.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom_r.png b/Assets/Graphics/Dark Themes/Tools/Zoom_r.png new file mode 100644 index 0000000000000000000000000000000000000000..a5e4ec3390cde817335cf3a3e1dd55edc9e0c555 GIT binary patch literal 803 zcmV+;1Kj+HP)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_UgaCxG%vneP000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5F-qb+FF?a000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0002`NklpokxksX_xJB^eFDQ zLdRR!6%I`)5hY;zSLiUlpAdooA}XRqC1@C%l+Q+T2Si*BM)CosiWxapl5GimFnvdj_|iF|55Yr5Ld&F8 zWohZ?xh(u{2C5sFrira^Uv3`VivO_$To%4Xf2a}B4(K4UP8gEO0q3$2I}1z>xDOCL z4LP`I5r*JyD~cPCf^RY)31|tl0>0UR6g=99B%!A}4WSmi#~DuZKL9nN hr$q=QE~@l;{sN6ZXl9Kv&|Uxl002ovPDHLkV1oU0Q@8*C literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Dark Themes/Tools/Zoom_r.png.import b/Assets/Graphics/Dark Themes/Tools/Zoom_r.png.import new file mode 100644 index 000000000..daca9428a --- /dev/null +++ b/Assets/Graphics/Dark Themes/Tools/Zoom_r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_r.png-ababd5793227277c9a7e54c4ae265baf.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Dark Themes/Tools/Zoom_r.png" +dest_files=[ "res://.import/Zoom_r.png-ababd5793227277c9a7e54c4ae265baf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom.png b/Assets/Graphics/Gold Themes/Tools/Zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..03e81019ccaec6856a98f818b7b171f841c675ad GIT binary patch literal 799 zcmV+)1K|9LP)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5dt_oGtu|}000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0002?Nklemer0v zmxbTWKyw4Qq*4_g3&+u=_#ab{%fh?pzuJgsH6w)E2~z?IcrF{FX8{L~0c%e~kc5{) zKPti!xY{bvf)^Rkgl7$C!;=PTz*iNa2E5pS7CgBRXhOGj8q&8~O%3B@ws9Y5kp*M| d?Wp}ce*(Leaw%p)?pgo<002ovPDHLkV1j4#RaO81 literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom.png.import b/Assets/Graphics/Gold Themes/Tools/Zoom.png.import new file mode 100644 index 000000000..f2fca96f3 --- /dev/null +++ b/Assets/Graphics/Gold Themes/Tools/Zoom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom.png-7499ccd8f65f59da83fbe8cc18e23119.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Gold Themes/Tools/Zoom.png" +dest_files=[ "res://.import/Zoom.png-7499ccd8f65f59da83fbe8cc18e23119.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom_l.png b/Assets/Graphics/Gold Themes/Tools/Zoom_l.png new file mode 100644 index 0000000000000000000000000000000000000000..443b6f64c8ab2a0e7debb382845ffa0c8aff6257 GIT binary patch literal 829 zcmV-D1H$}?P)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5d#Ty_TYm6000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003LNkl@8R$aCy`2Kw*gh?p@+oQQF2(a7!7~&2^Su^}BhJuIM zcC%7g2%i#e6Cz@N`1Q`(^>Wd8{Tb}ksOWVMV6bT}AtGkP004QOx9h5^zI<##qLl!H z&39Ue&G;DTWqs|0+l1K4#38Y9>gau0_}vU77jS-_yd92B`Vi&GP7&Y00000NkvXX Hu0mjf7P@Ne literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom_l.png.import b/Assets/Graphics/Gold Themes/Tools/Zoom_l.png.import new file mode 100644 index 000000000..ed3079be0 --- /dev/null +++ b/Assets/Graphics/Gold Themes/Tools/Zoom_l.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_l.png-a2f1c7a4df39b3a7fa5f56d009a1a351.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Gold Themes/Tools/Zoom_l.png" +dest_files=[ "res://.import/Zoom_l.png-a2f1c7a4df39b3a7fa5f56d009a1a351.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png b/Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab36f5d54080bbe2724cde644f2cd4223188fe1 GIT binary patch literal 819 zcmV-31I+x1P)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5d#z#@Qhjj000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003BNklLt(4&^4 z1>~3>Y$0O-xswylW(Qdxti=2$a2UUTm*pjmF#@W4w@xgOd)$`{7uF0C_VrruTD9HT zK_hBUc*uxO{o|&-jP0^|k>jPfxlPgg8h~J|n32r}>TC1WFN$Jp_kB+qNj3!#jK5(c zP%1_AA$Z70XquGBEX5r?m4)MGAiII;S&|hF<;UTr_#ab1Wnn7%O&by30X-zP6DHe= zF`QEDEYK<75WspGQgGHH48i?UWH-PCpJjj(P8#5bM-A)&UsQw~@Yx2q;7M=A$Gs1j xla;yP)(rAD?gKfp;2)>sY3NOGKUDGa`~$X2dWEl0aOeO4002ovPDHLkV1k$%W2OKA literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png.import b/Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png.import new file mode 100644 index 000000000..d821c8075 --- /dev/null +++ b/Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_l_r.png-cabe5dd2cb254a46d23c6fdc1e8dbe3d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Gold Themes/Tools/Zoom_l_r.png" +dest_files=[ "res://.import/Zoom_l_r.png-cabe5dd2cb254a46d23c6fdc1e8dbe3d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom_r.png b/Assets/Graphics/Gold Themes/Tools/Zoom_r.png new file mode 100644 index 0000000000000000000000000000000000000000..50534ae4281defd90c07c417cb8a3111bb04096a GIT binary patch literal 829 zcmV-D1H$}?P)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5d$DLM0oE2000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003LNklp2igo&P(V{-@#wGD1j?Y!1N|O-u{}447!`dqSZwbVFdk z9U#Q}gBJ>gvW(mHM5F22jhUJ7p17BUhLJiB2Eg-cv zWTB?z#9B&LBE)7nEGyDH7tqRbq8va=%LzJw)|TUS06i=xDG}1ba-tnTE6eeg1GKbs zaMgx;4&GuMD9eL`UN8=h_P{`d0<3ciPlPZ>(7L0F-aQ8ZEZ=wkenTv700000NkvXX Hu0mjfbg)}i literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Gold Themes/Tools/Zoom_r.png.import b/Assets/Graphics/Gold Themes/Tools/Zoom_r.png.import new file mode 100644 index 000000000..d4eca9f2b --- /dev/null +++ b/Assets/Graphics/Gold Themes/Tools/Zoom_r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_r.png-781b021685e593e8b3bb53d35616af62.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Gold Themes/Tools/Zoom_r.png" +dest_files=[ "res://.import/Zoom_r.png-781b021685e593e8b3bb53d35616af62.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Light Themes/Tools/Zoom.png b/Assets/Graphics/Light Themes/Tools/Zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b81fcd85f7958646b95223f50ac14fc0b0372e GIT binary patch literal 1817 zcmV+!2j=*RP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+QpV@lIti8h5xgPSpt%Hh~@CCnjOsY=YWYj$?eWf zax*n{1u(|aK_7yc{?FgT{Dq5&f^j}-NFi8UF1f@R4YkLWS4q~ba$US%;rXWDoG%z% zf?AG84ZFXiAA@KQ)Vl3t^!qDAsqYu%_C?-?Shs`Se{m#qIIwLS%G;3e_Uw-5vOR~S z@p=mTJ3IFK6$bpwESy9RK2UTh9orZ~LR;Coh`2SsKIAmN^W|db_Ssy9GBj})61z%1 zRLb$o__hyr?#gq})ALP#3#W@C*cW{BH%8Mj`Z2rg0;U}Hq%KogEsQHOTI;K6 zFxp_S2o;TaC)|p(s8~zQR$FjaO2j}p$WfzAgZio~RY-K)IihB+hGlgsU?i?G;ktR# z;3!F&C>B7)k`VOrsfCu?wA@uv+l+05p~&9~$Nc_no*g(=P7ql=V+CD2R~=MX0{&TH z7>Ll=LG>%Zm;3&jTm=OE3bSH@*%ot{D4xC+mn_hNfgbgd#1z{$fDpm8hZqtNumKrE z0g57XBtjq+fHI`BI4&SS-gARUb|L|Aki+neZz8Rs?D^=%W+=`e0Rz%cK_~;3a~|s_ zI>j2wUcB?(2OquqGMwF-A2p#jK)Ey#|e{nlvX)f?d}qc|aC6rjSBvW$5@~N)+8fvUsQ_YQ=G~{s$EjDeb%)gwisXKT&3TC;rT z_?F)Nf?ToE|B%{Mtjh9rA2)MQ+QHeMzZ##%xpuGSSl!e3qFL6=zsQ=q0kiSe&SqXv z@@Gl=R1N3m9q(^$Y|l;I^iNFf$rybl?}MqE{Go&Ge>Wui&^!-M^O;cdONMR_P2Q*a zIy_4?^O%3?DE&=so;mL8;qBCbKS9a-3w@LS)3%v*G5`PpglR)VP)S2WAaHVTW@&6? z004NLeUUv#!$2IxU(*&vDh_rKaR}HtSr8R*lqwd%LTM|s>R@u|7c^-|Qd}Gb*Mfr| zi&X~~XI&j!1wrrw#L3Y~(M3x9Us7lhs^dzd7t}p^eY9E0X~st?f%Ws@Z4huXpY-H2(#9?Bw)Wvcav$CNQPZLKJRik_%=d!|ii?dp- zv-Umt3qu8MCBt=^BS>HgNu(e`MjaJYVIfAVMv93v?Z-X*!;U{iE}2{vFmf!Q1{IRy z2mgcL-I~RzNjE7J2ZArQ{SgIvc7ayIw!e>UyLAHipMfi_y{D4^000SaNLh0L04^f{04^f| zc%?sf00007bV*G`2jm0=3?(o`Z@lRM000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2H zM@dakSAh-}0002!Nkl{qJ`4S-2xs78t3V1qWk3=>G$0M{8dw3p zRD=@nX#-O5?mi$1z1L}o-)bwBQquRh5A4W7WdiP4{XBmG6JBwQ4FW-y00000NkvXX Hu0mjfZfRNN literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Light Themes/Tools/Zoom.png.import b/Assets/Graphics/Light Themes/Tools/Zoom.png.import new file mode 100644 index 000000000..a8c583707 --- /dev/null +++ b/Assets/Graphics/Light Themes/Tools/Zoom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom.png-0365e1ce91fbabb42513755db7e593c3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Light Themes/Tools/Zoom.png" +dest_files=[ "res://.import/Zoom.png-0365e1ce91fbabb42513755db7e593c3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Light Themes/Tools/Zoom_l.png b/Assets/Graphics/Light Themes/Tools/Zoom_l.png new file mode 100644 index 0000000000000000000000000000000000000000..07c20aeaa2d789a279c0e85054fc9e1c403c4875 GIT binary patch literal 819 zcmV-31I+x1P)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5d|OCc=A*L000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003BNklFhe#-PbxS?N01-LIQc8=r9&Tf%3u~=}&&^cuRCQhF zp%JwtJY}RQ{o%gv_B0bB;7pYzZJ3zr#kL zREg+Q@RX6%GAU76iaUBL3%{Fz>IN>)Gg;wKVIJO!|FHyA7QRJ4s}bQ27$CV$SgaLe zIHlZK(3F5f0PAT;!C8wi1rJ-1-2fMSkO59OX@DD^HLwJHR1tE(2OHpmXB!bGbX}*R x+3aO4xV2WUt<8 literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Light Themes/Tools/Zoom_l.png.import b/Assets/Graphics/Light Themes/Tools/Zoom_l.png.import new file mode 100644 index 000000000..821252661 --- /dev/null +++ b/Assets/Graphics/Light Themes/Tools/Zoom_l.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_l.png-0888c26a8d0dc63865bf929d4d81b466.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Light Themes/Tools/Zoom_l.png" +dest_files=[ "res://.import/Zoom_l.png-0888c26a8d0dc63865bf929d4d81b466.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Light Themes/Tools/Zoom_l_r.png b/Assets/Graphics/Light Themes/Tools/Zoom_l_r.png new file mode 100644 index 0000000000000000000000000000000000000000..48ae85dc78e517162700ae232a372313a265746b GIT binary patch literal 820 zcmV-41Izr0P)EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5d{y+&*Cru000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003CNkl0p2+!9+-y|zt_C0&D`X_vKy|IZp3AbF#=|g>Mv^T71mkzu z2$V_@y$|j);#(#qGD~qsPi5hEGmzat`)tSxhjR1qR{W18pt3L*eN-dD9ne8SoiJG| z#&AlZv!F-;hXB^okb<)op%3o1BD(=D_#y+GaMA!bJZNAK_^Kl0fG;+{1rIhNPUx{t yLwz-E=~mD_A1{0000EX>4Tx04R}tkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-zC~bvS9ZW9$gC-40 zii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV_Z=WKt4uWm6M(8& zMmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@PfKMczW4d7xZxBy! zS~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWH zMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHipMfi_y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0<5d{LZex8j0000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003INkls&me@dY zumi8T+JqhCXihjAW(84JOx_8d9ly8B0wRntfK`^|01-N!UoqiOnO@*$wG_NmkLPi~ zM&y=o%7{w+;p^o+j&JuvFkaMky()X#0~qYeXGEpU7yzIsigDa^-B%1{B-s>Tu=~y$ zp(NKp+qRvAQ%0z1l8{-FJNr--ezyYI4QQ={9gbz=+@<&*QxK}cRQ9VjBD)G)2(=UX zq*A~`)ku04P;d;0Jq=Y#_+03sCZynYDYCBuF8C}1obaFlZn)RL7VxMh^kN_X139W-FQ;P@S`*wCRrh-S0Z;^Vo+B11iU0rr07*qoM6N<$ Eg87GJwg3PC literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Light Themes/Tools/Zoom_r.png.import b/Assets/Graphics/Light Themes/Tools/Zoom_r.png.import new file mode 100644 index 000000000..e3c6b0b58 --- /dev/null +++ b/Assets/Graphics/Light Themes/Tools/Zoom_r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Zoom_r.png-5a61f1daada72161eb5c98d11e189b7e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Graphics/Light Themes/Tools/Zoom_r.png" +dest_files=[ "res://.import/Zoom_r.png-5a61f1daada72161eb5c98d11e189b7e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Graphics/Tool Cursors/Zoom_Cursor.png b/Assets/Graphics/Tool Cursors/Zoom_Cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..9849434c66f52ffae6f77fa552148e00ca9b8eea GIT binary patch literal 5245 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�Ap3KI1YyS%5P?}0cJ8y|tCdE2wbFP?p$}8h)o%BM-lPAJlR##t zIUR*oa@GI3vnW{yy~3AQV+YjIBkiDD=s8H*8ELx)LN;l;vLnqJ_isPSL`3|~1s@ov zO_pa9>Z07mIP-3W z0004nX+uL$Nkc;*aB^>EX>4Tx0C=2zkv&MmKp2MKrWK`B9PA+CkfAzR5G^83QpF-z zC~bvS9ZW9$gC-40ii@M*T5#}ZvFhOBtgC~oAPD||I5|2gx=4xNC509--f`T+d*AzV z_Z=WKt4uWm6M(8&MmiA}bNN-V_Z0z}LBudCF;h=w7PIgiU-$6w{VvM0yzBlP{Yt@P zfKMczW4d7xZxBy!S~}-_;xH>q3h_DdxIq^re&o9B@*C%p!vfC?8`<xC6lWHMvev4ph9x|;D7MDw`Or_(oG7*fu0xJ{ul*%cY#*Jw!e>UyLAHi zpMfi_ zy{D4^000SaNLh0L04^f{04^f|c%?sf00007bV*G`2jm0<5HA&21ie)N000?uMObu0 zZ*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0001-NklpO zujqN~3ZoQ1C^qS=jM2vg1QGN~#Tr|OPzwwpvB`6oc$@K+?gcfck*T)=xo{Ik!Pvx4s9W_YRb#%Gcd8+3|PAq0c z5+)e#PPZ0xYaY)))vv-7nsa9jeYLa|w5s;PAK29c{Nh?6+OJ`w00000NkvXXu0mjf D#Z(OC literal 0 HcmV?d00001 diff --git a/Assets/Graphics/Tool Cursors/Zoom_Cursor.png.import b/Assets/Graphics/Tool Cursors/Zoom_Cursor.png.import new file mode 100644 index 000000000..4f852b99b --- /dev/null +++ b/Assets/Graphics/Tool Cursors/Zoom_Cursor.png.import @@ -0,0 +1,13 @@ +[remap] + +importer="image" +type="Image" +path="res://.import/Zoom_Cursor.png-e3af3f47b82b1194656f9f30a59605fd.image" + +[deps] + +source_file="res://Assets/Graphics/Tool Cursors/Zoom_Cursor.png" +dest_files=[ "res://.import/Zoom_Cursor.png-e3af3f47b82b1194656f9f30a59605fd.image" ] + +[params] + diff --git a/Changelog.md b/Changelog.md index 959242643..f6362eae4 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [v0.7] - Unreleased This update has been brought to you by the contributions of: -Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Teashrock +Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Matheus Pesegoginski (MatheusPese), sapient-cogbag ### Added - Cels are now in the timeline. Each cel refers to a specific layer AND a frame. Frames are a collection of cels for every layer. @@ -22,7 +22,7 @@ Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Teashrock - Ability to get color for palette buttons, when editing a palette, from the currently selected left and right colors. - Esperanto translation. - When the image is unsaved and the user tries to make a new one, a new warning dialog will appear to ask for confirmation. -- You can now zoom in with the `+` key, and zoom out with `-`. +- A new zoom tool has been added, and you can also zoom in with the `+` key, and zoom out with `-`. - The left and right tool icon options (found in Preferences) are now saved and restored on startup. ### Changed @@ -40,6 +40,7 @@ Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Teashrock - Onion skinning settings have been moved to a popup window, and 2 new buttons were added. One that toggles onion skinning, and one that opens the settings window. - The default window size is now 1280x720, and the minimum window size is 1024x576. - .pxo files now use ZSTD compression to result in smaller file sizes. +- Palettes/Brushes get loaded/saved in appropriate locations as specified by the XDG basedir standard, for easier usage of standard linux/bsd packaging methods and for better per-user usability. - The splash screen is no longer purple, it now gets affected by the chosen theme. ### Fixed @@ -48,6 +49,9 @@ Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Teashrock - Fixed issue with LineEdits not letting go of focus when the user clicked somewhere else.! (Issue #167) - When the palette, outline and rotate image dialogs are open, the user can't zoom in the canvas anymore. +### Removed +- It's no longer possible for frames to have different amounts of layers. All frames have the same amount. + ## [v0.6.2] - 17-02-2020 ### Added diff --git a/Main.tscn b/Main.tscn index 3acbb519a..b4bb99e40 100644 --- a/Main.tscn +++ b/Main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=53 format=2] +[gd_scene load_steps=54 format=2] [ext_resource path="res://Themes & Styles/Dark Theme/Dark Theme.tres" type="Theme" id=1] [ext_resource path="res://Scripts/Main.gd" type="Script" id=2] @@ -42,6 +42,7 @@ [ext_resource path="res://Assets/Graphics/Dark Themes/Tools/Horizontal_Mirror_On.png" type="Texture" id=40] [ext_resource path="res://Assets/Graphics/Dark Themes/Tools/Vertical_Mirror_On.png" type="Texture" id=41] [ext_resource path="res://Assets/Graphics/Dark Themes/Tools/Vertical_Mirror_Off.png" type="Texture" id=42] +[ext_resource path="res://Assets/Graphics/Dark Themes/Tools/Zoom.png" type="Texture" id=43] [sub_resource type="InputEventKey" id=1] scancode = 88 @@ -232,7 +233,7 @@ mouse_default_cursor_shape = 2 button_mask = 3 texture_normal = ExtResource( 4 ) -[node name="ColorPicker" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ +[node name="Zoom" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ "UIButtons", ]] margin_top = 36.0 @@ -240,9 +241,9 @@ margin_right = 32.0 margin_bottom = 68.0 mouse_default_cursor_shape = 2 button_mask = 3 -texture_normal = ExtResource( 5 ) +texture_normal = ExtResource( 43 ) -[node name="Pencil" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ +[node name="ColorPicker" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ "UIButtons", ]] margin_top = 72.0 @@ -250,9 +251,9 @@ margin_right = 32.0 margin_bottom = 104.0 mouse_default_cursor_shape = 2 button_mask = 3 -texture_normal = ExtResource( 6 ) +texture_normal = ExtResource( 5 ) -[node name="Eraser" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ +[node name="Pencil" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ "UIButtons", ]] margin_top = 108.0 @@ -260,9 +261,9 @@ margin_right = 32.0 margin_bottom = 140.0 mouse_default_cursor_shape = 2 button_mask = 3 -texture_normal = ExtResource( 7 ) +texture_normal = ExtResource( 6 ) -[node name="Bucket" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ +[node name="Eraser" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ "UIButtons", ]] margin_top = 144.0 @@ -270,9 +271,9 @@ margin_right = 32.0 margin_bottom = 176.0 mouse_default_cursor_shape = 2 button_mask = 3 -texture_normal = ExtResource( 8 ) +texture_normal = ExtResource( 7 ) -[node name="LightenDarken" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ +[node name="Bucket" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ "UIButtons", ]] margin_top = 180.0 @@ -280,6 +281,16 @@ margin_right = 32.0 margin_bottom = 212.0 mouse_default_cursor_shape = 2 button_mask = 3 +texture_normal = ExtResource( 8 ) + +[node name="LightenDarken" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools" groups=[ +"UIButtons", +]] +margin_top = 216.0 +margin_right = 32.0 +margin_bottom = 248.0 +mouse_default_cursor_shape = 2 +button_mask = 3 texture_normal = ExtResource( 9 ) [node name="CanvasAndTimeline" type="VSplitContainer" parent="MenuAndUI/UI"] @@ -704,9 +715,9 @@ ticks_on_borders = true [node name="LeftColorPickerOptions" type="VBoxContainer" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions"] visible = false -margin_top = 142.0 +margin_top = 75.0 margin_right = 138.0 -margin_bottom = 184.0 +margin_bottom = 117.0 [node name="Label" type="Label" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftColorPickerOptions"] margin_left = 47.0 @@ -727,6 +738,59 @@ text = "Left Color" items = [ "Left Color", null, false, 0, null, "Right Color", null, false, 1, null ] selected = 0 +[node name="LeftZoomOptions" type="VBoxContainer" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions"] +visible = false +margin_top = 75.0 +margin_right = 138.0 +margin_bottom = 190.0 + +[node name="ModeLabel" type="Label" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions"] +margin_left = 52.0 +margin_right = 85.0 +margin_bottom = 15.0 +mouse_default_cursor_shape = 2 +size_flags_horizontal = 4 +text = "Mode:" + +[node name="LeftZoomModeOptions" type="OptionButton" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions"] +margin_left = 22.0 +margin_top = 19.0 +margin_right = 114.0 +margin_bottom = 42.0 +rect_min_size = Vector2( 92, 0 ) +mouse_default_cursor_shape = 2 +size_flags_horizontal = 4 +text = "Zoom in" +items = [ "Zoom in", null, false, 0, null, "Zoom out", null, false, 1, null ] +selected = 0 + +[node name="OptionsLabel" type="Label" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions"] +margin_left = 46.0 +margin_top = 46.0 +margin_right = 91.0 +margin_bottom = 61.0 +mouse_default_cursor_shape = 2 +size_flags_horizontal = 4 +text = "Options:" + +[node name="FitToFrameButton" type="Button" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions"] +margin_left = 22.0 +margin_top = 65.0 +margin_right = 114.0 +margin_bottom = 88.0 +rect_min_size = Vector2( 92, 0 ) +size_flags_horizontal = 4 +text = "Fit to frame" + +[node name="100%ZoomButton" type="Button" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions"] +margin_left = 22.0 +margin_top = 92.0 +margin_right = 114.0 +margin_bottom = 115.0 +rect_min_size = Vector2( 92, 0 ) +size_flags_horizontal = 4 +text = "100% Zoom" + [node name="EmptySpacer" type="Control" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions"] margin_top = 75.0 margin_right = 144.0 @@ -969,6 +1033,59 @@ text = "Right Color" items = [ "Left Color", null, false, 0, null, "Right Color", null, false, 1, null ] selected = 1 +[node name="RightZoomOptions" type="VBoxContainer" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions"] +visible = false +margin_top = 75.0 +margin_right = 138.0 +margin_bottom = 190.0 + +[node name="ModeLabel" type="Label" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions"] +margin_left = 52.0 +margin_right = 85.0 +margin_bottom = 15.0 +mouse_default_cursor_shape = 2 +size_flags_horizontal = 4 +text = "Mode:" + +[node name="RightZoomModeOptions" type="OptionButton" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions"] +margin_left = 22.0 +margin_top = 19.0 +margin_right = 114.0 +margin_bottom = 42.0 +rect_min_size = Vector2( 92, 0 ) +mouse_default_cursor_shape = 2 +size_flags_horizontal = 4 +text = "Zoom in" +items = [ "Zoom in", null, false, 0, null, "Zoom out", null, false, 1, null ] +selected = 0 + +[node name="OptionsLabel" type="Label" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions"] +margin_left = 46.0 +margin_top = 46.0 +margin_right = 91.0 +margin_bottom = 61.0 +mouse_default_cursor_shape = 2 +size_flags_horizontal = 4 +text = "Options:" + +[node name="FitToFrameButton" type="Button" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions"] +margin_left = 22.0 +margin_top = 65.0 +margin_right = 114.0 +margin_bottom = 88.0 +rect_min_size = Vector2( 92, 0 ) +size_flags_horizontal = 4 +text = "Fit to frame" + +[node name="100%ZoomButton" type="Button" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions"] +margin_left = 22.0 +margin_top = 92.0 +margin_right = 114.0 +margin_bottom = 115.0 +rect_min_size = Vector2( 92, 0 ) +size_flags_horizontal = 4 +text = "100% Zoom" + [node name="EmptySpacer" type="Control" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions"] margin_top = 75.0 margin_right = 144.0 @@ -1174,8 +1291,8 @@ resizable = true mode = 0 access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "" -current_path = "" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="SaveSprite" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1190,12 +1307,10 @@ window_title = "Save Sprite as .pxo" resizable = true access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "" -current_path = "" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="ImportSprites" parent="." instance=ExtResource( 29 )] -current_dir = "" -current_path = "" [node name="ExportDialog" parent="." instance=ExtResource( 39 )] @@ -1244,8 +1359,8 @@ dialog_text = "This is an error message!" [node name="PaletteImportFileDialog" parent="." instance=ExtResource( 37 )] filters = PoolStringArray( "*.json ; JavaScript Object Notation", "*.gpl ; Gimp Palette Library", "*.png; Portable Network Graphics" ) -current_dir = "" -current_path = "" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="LeftCursor" type="Sprite" parent="."] visible = false @@ -1276,6 +1391,9 @@ visible = false [connection signal="value_changed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftLDOptions/LeftLDAmountSpinbox" to="." method="_on_LeftLDAmountSpinbox_value_changed"] [connection signal="value_changed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftLDOptions/LeftLDAmountSlider" to="." method="_on_LeftLDAmountSpinbox_value_changed"] [connection signal="item_selected" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftColorPickerOptions/LeftForColorOptions" to="." method="_on_LeftForColorOptions_item_selected"] +[connection signal="item_selected" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions/LeftZoomModeOptions" to="." method="_on_LeftZoomModeOptions_item_selected"] +[connection signal="pressed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions/FitToFrameButton" to="." method="_on_FitToFrameButton_pressed"] +[connection signal="pressed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftZoomOptions/100%ZoomButton" to="." method="_on_100ZoomButton_pressed"] [connection signal="toggled" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftMirrorButtons/LeftHorizontalMirroring" to="." method="_on_LeftHorizontalMirroring_toggled"] [connection signal="toggled" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftMirrorButtons/LeftVerticalMirroring" to="." method="_on_LeftVerticalMirroring_toggled"] [connection signal="pressed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightBrushType/RightBrushTypeButton" to="." method="_on_RightBrushTypeButton_pressed"] @@ -1288,6 +1406,9 @@ visible = false [connection signal="value_changed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightLDOptions/RightLDAmountSpinbox" to="." method="_on_RightLDAmountSpinbox_value_changed"] [connection signal="value_changed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightLDOptions/RightLDAmountSlider" to="." method="_on_RightLDAmountSpinbox_value_changed"] [connection signal="item_selected" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightColorPickerOptions/RightForColorOptions" to="." method="_on_RightForColorOptions_item_selected"] +[connection signal="item_selected" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions/RightZoomModeOptions" to="." method="_on_RightZoomModeOptions_item_selected"] +[connection signal="pressed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions/FitToFrameButton" to="." method="_on_FitToFrameButton_pressed"] +[connection signal="pressed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightZoomOptions/100%ZoomButton" to="." method="_on_100ZoomButton_pressed"] [connection signal="toggled" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightMirrorButtons/RightHorizontalMirroring" to="." method="_on_RightHorizontalMirroring_toggled"] [connection signal="toggled" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions/RightMirrorButtons/RightVerticalMirroring" to="." method="_on_RightVerticalMirroring_toggled"] [connection signal="pressed" from="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/PaletteVBoxContainer/CenterContainer/PaletteButtons/AddPalette" to="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/PaletteVBoxContainer/ScrollPalette/CenterPalette/PaletteContainer" method="_on_AddPalette_pressed"] diff --git a/Prefabs/Dialogs/PreferencesDialog.tscn b/Prefabs/Dialogs/PreferencesDialog.tscn index 30c7d781f..80cd049a2 100644 --- a/Prefabs/Dialogs/PreferencesDialog.tscn +++ b/Prefabs/Dialogs/PreferencesDialog.tscn @@ -46,7 +46,7 @@ size_flags_horizontal = 3 [node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/ScrollContainer"] margin_right = 314.0 -margin_bottom = 1162.0 +margin_bottom = 1186.0 size_flags_horizontal = 3 [node name="General" type="VBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer"] @@ -438,7 +438,7 @@ color = Color( 0, 0, 0, 0 ) [node name="Shortcuts" type="VBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer"] margin_top = 964.0 margin_right = 314.0 -margin_bottom = 1162.0 +margin_bottom = 1186.0 [node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts"] margin_right = 314.0 @@ -467,7 +467,7 @@ margin_bottom = 28.0 [node name="Shortcuts" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts"] margin_top = 32.0 margin_right = 314.0 -margin_bottom = 198.0 +margin_bottom = 222.0 custom_constants/hseparation = 5 columns = 3 @@ -526,95 +526,115 @@ margin_right = 313.0 margin_bottom = 46.0 size_flags_horizontal = 3 -[node name="ColorPickerLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] +[node name="ZoomLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_top = 53.0 margin_right = 137.0 margin_bottom = 67.0 +text = "Zoom" + +[node name="left_zoom_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] +margin_left = 142.0 +margin_top = 50.0 +margin_right = 225.0 +margin_bottom = 70.0 +size_flags_horizontal = 3 + +[node name="right_zoom_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] +margin_left = 230.0 +margin_top = 50.0 +margin_right = 313.0 +margin_bottom = 70.0 +size_flags_horizontal = 3 + +[node name="ColorPickerLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] +margin_top = 77.0 +margin_right = 137.0 +margin_bottom = 91.0 text = "Color Picker" [node name="left_colorpicker_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 142.0 -margin_top = 50.0 +margin_top = 74.0 margin_right = 225.0 -margin_bottom = 70.0 +margin_bottom = 94.0 [node name="right_colorpicker_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 230.0 -margin_top = 50.0 +margin_top = 74.0 margin_right = 313.0 -margin_bottom = 70.0 +margin_bottom = 94.0 [node name="PencilLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] -margin_top = 77.0 +margin_top = 101.0 margin_right = 137.0 -margin_bottom = 91.0 +margin_bottom = 115.0 text = "Pencil" [node name="left_pencil_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 142.0 -margin_top = 74.0 +margin_top = 98.0 margin_right = 225.0 -margin_bottom = 94.0 +margin_bottom = 118.0 [node name="right_pencil_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 230.0 -margin_top = 74.0 +margin_top = 98.0 margin_right = 313.0 -margin_bottom = 94.0 +margin_bottom = 118.0 [node name="EraserLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] -margin_top = 101.0 +margin_top = 125.0 margin_right = 137.0 -margin_bottom = 115.0 +margin_bottom = 139.0 text = "Eraser" [node name="left_eraser_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 142.0 -margin_top = 98.0 +margin_top = 122.0 margin_right = 225.0 -margin_bottom = 118.0 +margin_bottom = 142.0 [node name="right_eraser_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 230.0 -margin_top = 98.0 +margin_top = 122.0 margin_right = 313.0 -margin_bottom = 118.0 +margin_bottom = 142.0 [node name="BucketLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] -margin_top = 125.0 +margin_top = 149.0 margin_right = 137.0 -margin_bottom = 139.0 +margin_bottom = 163.0 text = "Bucket" [node name="left_fill_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 142.0 -margin_top = 122.0 +margin_top = 146.0 margin_right = 225.0 -margin_bottom = 142.0 +margin_bottom = 166.0 [node name="right_fill_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 230.0 -margin_top = 122.0 +margin_top = 146.0 margin_right = 313.0 -margin_bottom = 142.0 +margin_bottom = 166.0 [node name="LightenDarkenLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] -margin_top = 149.0 +margin_top = 173.0 margin_right = 137.0 -margin_bottom = 163.0 +margin_bottom = 187.0 text = "Lighten/Darken" [node name="left_lightdark_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 142.0 -margin_top = 146.0 +margin_top = 170.0 margin_right = 225.0 -margin_bottom = 166.0 +margin_bottom = 190.0 [node name="right_lightdark_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] margin_left = 230.0 -margin_top = 146.0 +margin_top = 170.0 margin_right = 313.0 -margin_bottom = 166.0 +margin_bottom = 190.0 [node name="Popups" type="Node" parent="."] diff --git a/Scripts/Canvas.gd b/Scripts/Canvas.gd index afafc78af..07441bcf1 100644 --- a/Scripts/Canvas.gd +++ b/Scripts/Canvas.gd @@ -251,6 +251,7 @@ func _input(event : InputEvent) -> void: var ld := 0 var ld_amount := 0.1 var color_picker_for := 0 + var zoom_mode := 0 west_limit = location.x east_limit = location.x + size.x @@ -270,6 +271,8 @@ func _input(event : InputEvent) -> void: ld = Global.left_ld ld_amount = Global.left_ld_amount color_picker_for = Global.left_color_picker_for + zoom_mode = Global.left_zoom_mode + elif Input.is_mouse_button_pressed(BUTTON_RIGHT): current_mouse_button = "right_mouse" current_action = Global.current_right_tool @@ -278,6 +281,7 @@ func _input(event : InputEvent) -> void: ld = Global.right_ld ld_amount = Global.right_ld_amount color_picker_for = Global.right_color_picker_for + zoom_mode = Global.right_zoom_mode if mouse_in_canvas && Global.has_focus: Global.cursor_position_label.text = "[%s×%s] %s, %s" % [size.x, size.y, mouse_pos_floored.x, mouse_pos_floored.y] @@ -441,6 +445,12 @@ func _input(event : InputEvent) -> void: elif color_picker_for == 1: # Pick for the left color Global.right_color_picker.color = pixel_color Global.update_right_custom_brush() + "Zoom": + if can_handle: + if zoom_mode == 0: + Global.camera.zoom_camera(-1) + else: + Global.camera.zoom_camera(1) if Global.can_draw && Global.has_focus && Input.is_action_just_pressed("shift") && (["Pencil", "Eraser", "LightenDarken"].has(Global.current_left_tool) || ["Pencil", "Eraser", "LightenDarken"].has(Global.current_right_tool)): is_making_line = true diff --git a/Scripts/Global.gd b/Scripts/Global.gd index d26493e5a..52516a8c2 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -95,6 +95,10 @@ var left_color_picker_for := 0 # warning-ignore:unused_class_variable var right_color_picker_for := 1 +# 0 for zoom in, 1 for zoom out +var left_zoom_mode := 0 +var right_zoom_mode := 0 + # warning-ignore:unused_class_variable var left_horizontal_mirror := false # warning-ignore:unused_class_variable @@ -224,6 +228,9 @@ var right_ld_amount_spinbox : SpinBox var left_colorpicker_container : Container var right_colorpicker_container : Container +var left_zoom_container : Container +var right_zoom_container : Container + var left_mirror_container : Container var right_mirror_container : Container @@ -346,6 +353,9 @@ func _ready() -> void: left_colorpicker_container = find_node_by_name(root, "LeftColorPickerOptions") right_colorpicker_container = find_node_by_name(root, "RightColorPickerOptions") + left_zoom_container = find_node_by_name(root, "LeftZoomOptions") + right_zoom_container = find_node_by_name(root, "RightZoomOptions") + left_mirror_container = find_node_by_name(root, "LeftMirrorButtons") right_mirror_container = find_node_by_name(root, "RightMirrorButtons") @@ -674,6 +684,13 @@ func update_hint_tooltips() -> void: Press %s to move the content""") % [InputMap.get_action_list("left_rectangle_select_tool")[0].as_text(), InputMap.get_action_list("right_rectangle_select_tool")[0].as_text(), "Shift"] + var zoom_tool : BaseButton = find_node_by_name(root, "Zoom") + zoom_tool.hint_tooltip = tr("""Zoom + +%s for left mouse button +%s for right mouse button""") % [InputMap.get_action_list("left_zoom_tool")[0].as_text(), InputMap.get_action_list("right_zoom_tool")[0].as_text()] + + var color_picker : BaseButton = find_node_by_name(root, "ColorPicker") color_picker.hint_tooltip = tr("""Color Picker Select a color from a pixel of the sprite diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 2d03940fa..cd5e0609b 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -144,6 +144,7 @@ func _ready() -> void: tools.append([Global.find_node_by_name(root, "LightenDarken"), "left_lightdark_tool", "right_lightdark_tool"]) tools.append([Global.find_node_by_name(root, "RectSelect"), "left_rectangle_select_tool", "right_rectangle_select_tool"]) tools.append([Global.find_node_by_name(root, "ColorPicker"), "left_colorpicker_tool", "right_colorpicker_tool"]) + tools.append([Global.find_node_by_name(root, "Zoom"), "left_zoom_tool", "right_zoom_tool"]) for t in tools: t[0].connect("pressed", self, "_on_Tool_pressed", [t[0]]) @@ -477,6 +478,8 @@ func _on_Tool_pressed(tool_pressed : BaseButton, mouse_press := true, key_for_le Global.left_mirror_container.visible = true elif current_action == "ColorPicker": Global.left_colorpicker_container.visible = true + elif current_action == "Zoom": + Global.left_zoom_container.visible = true elif (mouse_press and Input.is_action_just_released("right_mouse")) or (!mouse_press and !key_for_left): Global.current_right_tool = current_action @@ -511,6 +514,8 @@ func _on_Tool_pressed(tool_pressed : BaseButton, mouse_press := true, key_for_le Global.right_mirror_container.visible = true elif current_action == "ColorPicker": Global.right_colorpicker_container.visible = true + elif current_action == "Zoom": + Global.right_zoom_container.visible = true for t in tools: var tool_name : String = t[0].name @@ -557,13 +562,14 @@ func _on_ColorSwitch_pressed() -> void: update_left_custom_brush() update_right_custom_brush() + func _on_ColorDefaults_pressed() -> void: Global.left_color_picker.color = Color.black Global.right_color_picker.color = Color.white update_left_custom_brush() update_right_custom_brush() -# warning-ignore:unused_argument + func _on_LeftColorPickerButton_color_changed(color : Color) -> void: # If the color changed while it's on full transparency, make it opaque (GH issue #54) if color.a == 0: @@ -572,7 +578,7 @@ func _on_LeftColorPickerButton_color_changed(color : Color) -> void: update_left_custom_brush() previous_left_color = color -# warning-ignore:unused_argument + func _on_RightColorPickerButton_color_changed(color : Color) -> void: # If the color changed while it's on full transparency, make it opaque (GH issue #54) if color.a == 0: @@ -581,67 +587,110 @@ func _on_RightColorPickerButton_color_changed(color : Color) -> void: update_right_custom_brush() previous_right_color = color -# warning-ignore:unused_argument + func _on_LeftInterpolateFactor_value_changed(value : float) -> void: Global.left_interpolate_spinbox.value = value Global.left_interpolate_slider.value = value update_left_custom_brush() -# warning-ignore:unused_argument + func _on_RightInterpolateFactor_value_changed(value : float) -> void: Global.right_interpolate_spinbox.value = value Global.right_interpolate_slider.value = value update_right_custom_brush() + func update_left_custom_brush() -> void: Global.update_left_custom_brush() + + func update_right_custom_brush() -> void: Global.update_right_custom_brush() + func _on_LeftFillAreaOptions_item_selected(ID : int) -> void: Global.left_fill_area = ID + func _on_RightFillAreaOptions_item_selected(ID : int) -> void: Global.right_fill_area = ID + func _on_LeftLightenDarken_item_selected(ID : int) -> void: Global.left_ld = ID + + func _on_LeftLDAmountSpinbox_value_changed(value : float) -> void: Global.left_ld_amount = value / 100 Global.left_ld_amount_slider.value = value Global.left_ld_amount_spinbox.value = value + func _on_RightLightenDarken_item_selected(ID : int) -> void: Global.right_ld = ID + + func _on_RightLDAmountSpinbox_value_changed(value : float) -> void: Global.right_ld_amount = value / 100 Global.right_ld_amount_slider.value = value Global.right_ld_amount_spinbox.value = value + func _on_LeftForColorOptions_item_selected(ID : int) -> void: Global.left_color_picker_for = ID + func _on_RightForColorOptions_item_selected(ID : int) -> void: Global.right_color_picker_for = ID + +func _on_LeftZoomModeOptions_item_selected(ID : int) -> void: + Global.left_zoom_mode = ID + + +func _on_RightZoomModeOptions_item_selected(ID : int) -> void: + Global.right_zoom_mode = ID + + +func _on_FitToFrameButton_pressed() -> void: + var bigger = max(Global.canvas.size.x, Global.canvas.size.y) + Global.camera.zoom = Vector2(bigger, bigger) * 0.002 + Global.camera.offset = Global.canvas.size / 2 + Global.zoom_level_label.text = str(round(100 / Global.camera.zoom.x)) + " %" + + +func _on_100ZoomButton_pressed() -> void: + Global.camera.zoom = Vector2.ONE + Global.camera.offset = Global.canvas.size / 2 + Global.zoom_level_label.text = str(round(100 / Global.camera.zoom.x)) + " %" + + func _on_LeftHorizontalMirroring_toggled(button_pressed) -> void: Global.left_horizontal_mirror = button_pressed + + func _on_LeftVerticalMirroring_toggled(button_pressed) -> void: Global.left_vertical_mirror = button_pressed + func _on_RightHorizontalMirroring_toggled(button_pressed) -> void: Global.right_horizontal_mirror = button_pressed + + func _on_RightVerticalMirroring_toggled(button_pressed) -> void: Global.right_vertical_mirror = button_pressed + func show_quit_dialog() -> void: if !$QuitDialog.visible: if Global.saved: $QuitDialog.call_deferred("popup_centered") else: $QuitAndSaveDialog.call_deferred("popup_centered") + Global.can_draw = false + func _on_QuitAndSaveDialog_custom_action(action : String) -> void: if action == "Save": is_quitting_on_save = true @@ -649,10 +698,10 @@ func _on_QuitAndSaveDialog_custom_action(action : String) -> void: $QuitDialog.hide() Global.can_draw = false + func _on_QuitDialog_confirmed() -> void: # Darken the UI to denote that the application is currently exiting # (it won't respond to user input in this state). modulate = Color(0.5, 0.5, 0.5) get_tree().quit() - diff --git a/Translations/Translations.pot b/Translations/Translations.pot index 2c21a58ba..9b3d2019c 100644 --- a/Translations/Translations.pot +++ b/Translations/Translations.pot @@ -449,6 +449,11 @@ msgid "Rectangular Selection\n\n" "Press %s to move the content" msgstr "" +msgid "Zoom\n\n" +"%s for left mouse button\n" +"%s for right mouse button" +msgstr "" + msgid "Color Picker\n" "Select a color from a pixel of the sprite\n\n" "%s for left mouse button\n" @@ -493,9 +498,6 @@ msgstr "" msgid "Reset the colors to their default state (black for left, white for right)" msgstr "" -msgid "Raw Mode" -msgstr "" - msgid "Left tool options" msgstr "" @@ -580,6 +582,24 @@ msgstr "" msgid "Right Color" msgstr "" +msgid "Mode:" +msgstr "" + +msgid "Zoom in" +msgstr "" + +msgid "Zoom out" +msgstr "" + +msgid "Options:" +msgstr "" + +msgid "Fit to frame" +msgstr "" + +msgid "100% Zoom" +msgstr "" + msgid "Mirroring" msgstr "" @@ -891,6 +911,9 @@ msgstr "" msgid "Rectangular Selection" msgstr "" +msgid "Zoom" +msgstr "" + msgid "Color Picker" msgstr "" diff --git a/project.godot b/project.godot index dde3b05ff..1636991c6 100644 --- a/project.godot +++ b/project.godot @@ -310,6 +310,16 @@ image_flip_vertical={ "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":false,"meta":false,"command":false,"pressed":false,"scancode":86,"unicode":0,"echo":false,"script":null) ] } +left_zoom_tool={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":90,"unicode":0,"echo":false,"script":null) + ] +} +right_zoom_tool={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":true,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":90,"unicode":0,"echo":false,"script":null) + ] +} [locale]