1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00

Added a zoom tool

Makes it easier to zoom for people with tablets and touch screens in general
This commit is contained in:
OverloadedOrama 2020-04-13 05:07:52 +03:00
parent 354dffd98b
commit 21dd3f2e2d
34 changed files with 737 additions and 62 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Zoom_l_r.png-b2e15ef8ba24a0281d47c6e1fda4c79b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Light Themes/Tools/Zoom_l_r.png"
dest_files=[ "res://.import/Zoom_l_r.png-b2e15ef8ba24a0281d47c6e1fda4c79b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -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]

View file

@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [v0.7] - Unreleased ## [v0.7] - Unreleased
This update has been brought to you by the contributions of: 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 ### 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. - 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. - Ability to get color for palette buttons, when editing a palette, from the currently selected left and right colors.
- Esperanto translation. - 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. - 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. - The left and right tool icon options (found in Preferences) are now saved and restored on startup.
### Changed ### 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. - 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. - 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. - .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. - The splash screen is no longer purple, it now gets affected by the chosen theme.
### Fixed ### 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) - 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. - 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 ## [v0.6.2] - 17-02-2020
### Added ### Added

161
Main.tscn
View file

@ -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://Themes & Styles/Dark Theme/Dark Theme.tres" type="Theme" id=1]
[ext_resource path="res://Scripts/Main.gd" type="Script" id=2] [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/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_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/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] [sub_resource type="InputEventKey" id=1]
scancode = 88 scancode = 88
@ -232,7 +233,7 @@ mouse_default_cursor_shape = 2
button_mask = 3 button_mask = 3
texture_normal = ExtResource( 4 ) 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", "UIButtons",
]] ]]
margin_top = 36.0 margin_top = 36.0
@ -240,9 +241,9 @@ margin_right = 32.0
margin_bottom = 68.0 margin_bottom = 68.0
mouse_default_cursor_shape = 2 mouse_default_cursor_shape = 2
button_mask = 3 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", "UIButtons",
]] ]]
margin_top = 72.0 margin_top = 72.0
@ -250,9 +251,9 @@ margin_right = 32.0
margin_bottom = 104.0 margin_bottom = 104.0
mouse_default_cursor_shape = 2 mouse_default_cursor_shape = 2
button_mask = 3 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", "UIButtons",
]] ]]
margin_top = 108.0 margin_top = 108.0
@ -260,9 +261,9 @@ margin_right = 32.0
margin_bottom = 140.0 margin_bottom = 140.0
mouse_default_cursor_shape = 2 mouse_default_cursor_shape = 2
button_mask = 3 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", "UIButtons",
]] ]]
margin_top = 144.0 margin_top = 144.0
@ -270,9 +271,9 @@ margin_right = 32.0
margin_bottom = 176.0 margin_bottom = 176.0
mouse_default_cursor_shape = 2 mouse_default_cursor_shape = 2
button_mask = 3 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", "UIButtons",
]] ]]
margin_top = 180.0 margin_top = 180.0
@ -280,6 +281,16 @@ margin_right = 32.0
margin_bottom = 212.0 margin_bottom = 212.0
mouse_default_cursor_shape = 2 mouse_default_cursor_shape = 2
button_mask = 3 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 ) texture_normal = ExtResource( 9 )
[node name="CanvasAndTimeline" type="VSplitContainer" parent="MenuAndUI/UI"] [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"] [node name="LeftColorPickerOptions" type="VBoxContainer" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions"]
visible = false visible = false
margin_top = 142.0 margin_top = 75.0
margin_right = 138.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"] [node name="Label" type="Label" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions/LeftColorPickerOptions"]
margin_left = 47.0 margin_left = 47.0
@ -727,6 +738,59 @@ text = "Left Color"
items = [ "Left Color", null, false, 0, null, "Right Color", null, false, 1, null ] items = [ "Left Color", null, false, 0, null, "Right Color", null, false, 1, null ]
selected = 0 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"] [node name="EmptySpacer" type="Control" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/LeftToolOptions"]
margin_top = 75.0 margin_top = 75.0
margin_right = 144.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 ] items = [ "Left Color", null, false, 0, null, "Right Color", null, false, 1, null ]
selected = 1 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"] [node name="EmptySpacer" type="Control" parent="MenuAndUI/UI/RightPanel/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer/ToolOptions/RightToolOptions"]
margin_top = 75.0 margin_top = 75.0
margin_right = 144.0 margin_right = 144.0
@ -1174,8 +1291,8 @@ resizable = true
mode = 0 mode = 0
access = 2 access = 2
filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) filters = PoolStringArray( "*.pxo ; Pixelorama Project" )
current_dir = "" current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama"
current_path = "" current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/"
[node name="SaveSprite" type="FileDialog" parent="."] [node name="SaveSprite" type="FileDialog" parent="."]
anchor_left = 0.5 anchor_left = 0.5
@ -1190,12 +1307,10 @@ window_title = "Save Sprite as .pxo"
resizable = true resizable = true
access = 2 access = 2
filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) filters = PoolStringArray( "*.pxo ; Pixelorama Project" )
current_dir = "" current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama"
current_path = "" current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/"
[node name="ImportSprites" parent="." instance=ExtResource( 29 )] [node name="ImportSprites" parent="." instance=ExtResource( 29 )]
current_dir = ""
current_path = ""
[node name="ExportDialog" parent="." instance=ExtResource( 39 )] [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 )] [node name="PaletteImportFileDialog" parent="." instance=ExtResource( 37 )]
filters = PoolStringArray( "*.json ; JavaScript Object Notation", "*.gpl ; Gimp Palette Library", "*.png; Portable Network Graphics" ) filters = PoolStringArray( "*.json ; JavaScript Object Notation", "*.gpl ; Gimp Palette Library", "*.png; Portable Network Graphics" )
current_dir = "" current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama"
current_path = "" current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/"
[node name="LeftCursor" type="Sprite" parent="."] [node name="LeftCursor" type="Sprite" parent="."]
visible = false 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/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="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/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/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="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"] [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/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="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/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/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="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"] [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"]

View file

@ -46,7 +46,7 @@ size_flags_horizontal = 3
[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/ScrollContainer"] [node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/ScrollContainer"]
margin_right = 314.0 margin_right = 314.0
margin_bottom = 1162.0 margin_bottom = 1186.0
size_flags_horizontal = 3 size_flags_horizontal = 3
[node name="General" type="VBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer"] [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"] [node name="Shortcuts" type="VBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer"]
margin_top = 964.0 margin_top = 964.0
margin_right = 314.0 margin_right = 314.0
margin_bottom = 1162.0 margin_bottom = 1186.0
[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts"] [node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts"]
margin_right = 314.0 margin_right = 314.0
@ -467,7 +467,7 @@ margin_bottom = 28.0
[node name="Shortcuts" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts"] [node name="Shortcuts" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts"]
margin_top = 32.0 margin_top = 32.0
margin_right = 314.0 margin_right = 314.0
margin_bottom = 198.0 margin_bottom = 222.0
custom_constants/hseparation = 5 custom_constants/hseparation = 5
columns = 3 columns = 3
@ -526,95 +526,115 @@ margin_right = 313.0
margin_bottom = 46.0 margin_bottom = 46.0
size_flags_horizontal = 3 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_top = 53.0
margin_right = 137.0 margin_right = 137.0
margin_bottom = 67.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" text = "Color Picker"
[node name="left_colorpicker_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="left_colorpicker_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 142.0 margin_left = 142.0
margin_top = 50.0 margin_top = 74.0
margin_right = 225.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"] [node name="right_colorpicker_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 230.0 margin_left = 230.0
margin_top = 50.0 margin_top = 74.0
margin_right = 313.0 margin_right = 313.0
margin_bottom = 70.0 margin_bottom = 94.0
[node name="PencilLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="PencilLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_top = 77.0 margin_top = 101.0
margin_right = 137.0 margin_right = 137.0
margin_bottom = 91.0 margin_bottom = 115.0
text = "Pencil" text = "Pencil"
[node name="left_pencil_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="left_pencil_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 142.0 margin_left = 142.0
margin_top = 74.0 margin_top = 98.0
margin_right = 225.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"] [node name="right_pencil_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 230.0 margin_left = 230.0
margin_top = 74.0 margin_top = 98.0
margin_right = 313.0 margin_right = 313.0
margin_bottom = 94.0 margin_bottom = 118.0
[node name="EraserLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="EraserLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_top = 101.0 margin_top = 125.0
margin_right = 137.0 margin_right = 137.0
margin_bottom = 115.0 margin_bottom = 139.0
text = "Eraser" text = "Eraser"
[node name="left_eraser_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="left_eraser_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 142.0 margin_left = 142.0
margin_top = 98.0 margin_top = 122.0
margin_right = 225.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"] [node name="right_eraser_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 230.0 margin_left = 230.0
margin_top = 98.0 margin_top = 122.0
margin_right = 313.0 margin_right = 313.0
margin_bottom = 118.0 margin_bottom = 142.0
[node name="BucketLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="BucketLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_top = 125.0 margin_top = 149.0
margin_right = 137.0 margin_right = 137.0
margin_bottom = 139.0 margin_bottom = 163.0
text = "Bucket" text = "Bucket"
[node name="left_fill_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="left_fill_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 142.0 margin_left = 142.0
margin_top = 122.0 margin_top = 146.0
margin_right = 225.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"] [node name="right_fill_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 230.0 margin_left = 230.0
margin_top = 122.0 margin_top = 146.0
margin_right = 313.0 margin_right = 313.0
margin_bottom = 142.0 margin_bottom = 166.0
[node name="LightenDarkenLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="LightenDarkenLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_top = 149.0 margin_top = 173.0
margin_right = 137.0 margin_right = 137.0
margin_bottom = 163.0 margin_bottom = 187.0
text = "Lighten/Darken" text = "Lighten/Darken"
[node name="left_lightdark_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"] [node name="left_lightdark_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 142.0 margin_left = 142.0
margin_top = 146.0 margin_top = 170.0
margin_right = 225.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"] [node name="right_lightdark_tool" type="Button" parent="HSplitContainer/ScrollContainer/VBoxContainer/Shortcuts/Shortcuts"]
margin_left = 230.0 margin_left = 230.0
margin_top = 146.0 margin_top = 170.0
margin_right = 313.0 margin_right = 313.0
margin_bottom = 166.0 margin_bottom = 190.0
[node name="Popups" type="Node" parent="."] [node name="Popups" type="Node" parent="."]

View file

@ -251,6 +251,7 @@ func _input(event : InputEvent) -> void:
var ld := 0 var ld := 0
var ld_amount := 0.1 var ld_amount := 0.1
var color_picker_for := 0 var color_picker_for := 0
var zoom_mode := 0
west_limit = location.x west_limit = location.x
east_limit = location.x + size.x east_limit = location.x + size.x
@ -270,6 +271,8 @@ func _input(event : InputEvent) -> void:
ld = Global.left_ld ld = Global.left_ld
ld_amount = Global.left_ld_amount ld_amount = Global.left_ld_amount
color_picker_for = Global.left_color_picker_for color_picker_for = Global.left_color_picker_for
zoom_mode = Global.left_zoom_mode
elif Input.is_mouse_button_pressed(BUTTON_RIGHT): elif Input.is_mouse_button_pressed(BUTTON_RIGHT):
current_mouse_button = "right_mouse" current_mouse_button = "right_mouse"
current_action = Global.current_right_tool current_action = Global.current_right_tool
@ -278,6 +281,7 @@ func _input(event : InputEvent) -> void:
ld = Global.right_ld ld = Global.right_ld
ld_amount = Global.right_ld_amount ld_amount = Global.right_ld_amount
color_picker_for = Global.right_color_picker_for color_picker_for = Global.right_color_picker_for
zoom_mode = Global.right_zoom_mode
if mouse_in_canvas && Global.has_focus: 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] 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 elif color_picker_for == 1: # Pick for the left color
Global.right_color_picker.color = pixel_color Global.right_color_picker.color = pixel_color
Global.update_right_custom_brush() 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)): 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 is_making_line = true

View file

@ -95,6 +95,10 @@ var left_color_picker_for := 0
# warning-ignore:unused_class_variable # warning-ignore:unused_class_variable
var right_color_picker_for := 1 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 # warning-ignore:unused_class_variable
var left_horizontal_mirror := false var left_horizontal_mirror := false
# warning-ignore:unused_class_variable # warning-ignore:unused_class_variable
@ -224,6 +228,9 @@ var right_ld_amount_spinbox : SpinBox
var left_colorpicker_container : Container var left_colorpicker_container : Container
var right_colorpicker_container : Container var right_colorpicker_container : Container
var left_zoom_container : Container
var right_zoom_container : Container
var left_mirror_container : Container var left_mirror_container : Container
var right_mirror_container : Container var right_mirror_container : Container
@ -346,6 +353,9 @@ func _ready() -> void:
left_colorpicker_container = find_node_by_name(root, "LeftColorPickerOptions") left_colorpicker_container = find_node_by_name(root, "LeftColorPickerOptions")
right_colorpicker_container = find_node_by_name(root, "RightColorPickerOptions") 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") left_mirror_container = find_node_by_name(root, "LeftMirrorButtons")
right_mirror_container = find_node_by_name(root, "RightMirrorButtons") 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"] 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") var color_picker : BaseButton = find_node_by_name(root, "ColorPicker")
color_picker.hint_tooltip = tr("""Color Picker color_picker.hint_tooltip = tr("""Color Picker
Select a color from a pixel of the sprite Select a color from a pixel of the sprite

View file

@ -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, "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, "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, "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: for t in tools:
t[0].connect("pressed", self, "_on_Tool_pressed", [t[0]]) 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 Global.left_mirror_container.visible = true
elif current_action == "ColorPicker": elif current_action == "ColorPicker":
Global.left_colorpicker_container.visible = true 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): elif (mouse_press and Input.is_action_just_released("right_mouse")) or (!mouse_press and !key_for_left):
Global.current_right_tool = current_action 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 Global.right_mirror_container.visible = true
elif current_action == "ColorPicker": elif current_action == "ColorPicker":
Global.right_colorpicker_container.visible = true Global.right_colorpicker_container.visible = true
elif current_action == "Zoom":
Global.right_zoom_container.visible = true
for t in tools: for t in tools:
var tool_name : String = t[0].name var tool_name : String = t[0].name
@ -557,13 +562,14 @@ func _on_ColorSwitch_pressed() -> void:
update_left_custom_brush() update_left_custom_brush()
update_right_custom_brush() update_right_custom_brush()
func _on_ColorDefaults_pressed() -> void: func _on_ColorDefaults_pressed() -> void:
Global.left_color_picker.color = Color.black Global.left_color_picker.color = Color.black
Global.right_color_picker.color = Color.white Global.right_color_picker.color = Color.white
update_left_custom_brush() update_left_custom_brush()
update_right_custom_brush() update_right_custom_brush()
# warning-ignore:unused_argument
func _on_LeftColorPickerButton_color_changed(color : Color) -> void: 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 the color changed while it's on full transparency, make it opaque (GH issue #54)
if color.a == 0: if color.a == 0:
@ -572,7 +578,7 @@ func _on_LeftColorPickerButton_color_changed(color : Color) -> void:
update_left_custom_brush() update_left_custom_brush()
previous_left_color = color previous_left_color = color
# warning-ignore:unused_argument
func _on_RightColorPickerButton_color_changed(color : Color) -> void: 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 the color changed while it's on full transparency, make it opaque (GH issue #54)
if color.a == 0: if color.a == 0:
@ -581,67 +587,110 @@ func _on_RightColorPickerButton_color_changed(color : Color) -> void:
update_right_custom_brush() update_right_custom_brush()
previous_right_color = color previous_right_color = color
# warning-ignore:unused_argument
func _on_LeftInterpolateFactor_value_changed(value : float) -> void: func _on_LeftInterpolateFactor_value_changed(value : float) -> void:
Global.left_interpolate_spinbox.value = value Global.left_interpolate_spinbox.value = value
Global.left_interpolate_slider.value = value Global.left_interpolate_slider.value = value
update_left_custom_brush() update_left_custom_brush()
# warning-ignore:unused_argument
func _on_RightInterpolateFactor_value_changed(value : float) -> void: func _on_RightInterpolateFactor_value_changed(value : float) -> void:
Global.right_interpolate_spinbox.value = value Global.right_interpolate_spinbox.value = value
Global.right_interpolate_slider.value = value Global.right_interpolate_slider.value = value
update_right_custom_brush() update_right_custom_brush()
func update_left_custom_brush() -> void: func update_left_custom_brush() -> void:
Global.update_left_custom_brush() Global.update_left_custom_brush()
func update_right_custom_brush() -> void: func update_right_custom_brush() -> void:
Global.update_right_custom_brush() Global.update_right_custom_brush()
func _on_LeftFillAreaOptions_item_selected(ID : int) -> void: func _on_LeftFillAreaOptions_item_selected(ID : int) -> void:
Global.left_fill_area = ID Global.left_fill_area = ID
func _on_RightFillAreaOptions_item_selected(ID : int) -> void: func _on_RightFillAreaOptions_item_selected(ID : int) -> void:
Global.right_fill_area = ID Global.right_fill_area = ID
func _on_LeftLightenDarken_item_selected(ID : int) -> void: func _on_LeftLightenDarken_item_selected(ID : int) -> void:
Global.left_ld = ID Global.left_ld = ID
func _on_LeftLDAmountSpinbox_value_changed(value : float) -> void: func _on_LeftLDAmountSpinbox_value_changed(value : float) -> void:
Global.left_ld_amount = value / 100 Global.left_ld_amount = value / 100
Global.left_ld_amount_slider.value = value Global.left_ld_amount_slider.value = value
Global.left_ld_amount_spinbox.value = value Global.left_ld_amount_spinbox.value = value
func _on_RightLightenDarken_item_selected(ID : int) -> void: func _on_RightLightenDarken_item_selected(ID : int) -> void:
Global.right_ld = ID Global.right_ld = ID
func _on_RightLDAmountSpinbox_value_changed(value : float) -> void: func _on_RightLDAmountSpinbox_value_changed(value : float) -> void:
Global.right_ld_amount = value / 100 Global.right_ld_amount = value / 100
Global.right_ld_amount_slider.value = value Global.right_ld_amount_slider.value = value
Global.right_ld_amount_spinbox.value = value Global.right_ld_amount_spinbox.value = value
func _on_LeftForColorOptions_item_selected(ID : int) -> void: func _on_LeftForColorOptions_item_selected(ID : int) -> void:
Global.left_color_picker_for = ID Global.left_color_picker_for = ID
func _on_RightForColorOptions_item_selected(ID : int) -> void: func _on_RightForColorOptions_item_selected(ID : int) -> void:
Global.right_color_picker_for = ID 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: func _on_LeftHorizontalMirroring_toggled(button_pressed) -> void:
Global.left_horizontal_mirror = button_pressed Global.left_horizontal_mirror = button_pressed
func _on_LeftVerticalMirroring_toggled(button_pressed) -> void: func _on_LeftVerticalMirroring_toggled(button_pressed) -> void:
Global.left_vertical_mirror = button_pressed Global.left_vertical_mirror = button_pressed
func _on_RightHorizontalMirroring_toggled(button_pressed) -> void: func _on_RightHorizontalMirroring_toggled(button_pressed) -> void:
Global.right_horizontal_mirror = button_pressed Global.right_horizontal_mirror = button_pressed
func _on_RightVerticalMirroring_toggled(button_pressed) -> void: func _on_RightVerticalMirroring_toggled(button_pressed) -> void:
Global.right_vertical_mirror = button_pressed Global.right_vertical_mirror = button_pressed
func show_quit_dialog() -> void: func show_quit_dialog() -> void:
if !$QuitDialog.visible: if !$QuitDialog.visible:
if Global.saved: if Global.saved:
$QuitDialog.call_deferred("popup_centered") $QuitDialog.call_deferred("popup_centered")
else: else:
$QuitAndSaveDialog.call_deferred("popup_centered") $QuitAndSaveDialog.call_deferred("popup_centered")
Global.can_draw = false Global.can_draw = false
func _on_QuitAndSaveDialog_custom_action(action : String) -> void: func _on_QuitAndSaveDialog_custom_action(action : String) -> void:
if action == "Save": if action == "Save":
is_quitting_on_save = true is_quitting_on_save = true
@ -649,10 +698,10 @@ func _on_QuitAndSaveDialog_custom_action(action : String) -> void:
$QuitDialog.hide() $QuitDialog.hide()
Global.can_draw = false Global.can_draw = false
func _on_QuitDialog_confirmed() -> void: func _on_QuitDialog_confirmed() -> void:
# Darken the UI to denote that the application is currently exiting # Darken the UI to denote that the application is currently exiting
# (it won't respond to user input in this state). # (it won't respond to user input in this state).
modulate = Color(0.5, 0.5, 0.5) modulate = Color(0.5, 0.5, 0.5)
get_tree().quit() get_tree().quit()

View file

@ -449,6 +449,11 @@ msgid "Rectangular Selection\n\n"
"Press %s to move the content" "Press %s to move the content"
msgstr "" msgstr ""
msgid "Zoom\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Color Picker\n" msgid "Color Picker\n"
"Select a color from a pixel of the sprite\n\n" "Select a color from a pixel of the sprite\n\n"
"%s for left mouse button\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)" msgid "Reset the colors to their default state (black for left, white for right)"
msgstr "" msgstr ""
msgid "Raw Mode"
msgstr ""
msgid "Left tool options" msgid "Left tool options"
msgstr "" msgstr ""
@ -580,6 +582,24 @@ msgstr ""
msgid "Right Color" msgid "Right Color"
msgstr "" 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" msgid "Mirroring"
msgstr "" msgstr ""
@ -891,6 +911,9 @@ msgstr ""
msgid "Rectangular Selection" msgid "Rectangular Selection"
msgstr "" msgstr ""
msgid "Zoom"
msgstr ""
msgid "Color Picker" msgid "Color Picker"
msgstr "" msgstr ""

View file

@ -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) "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] [locale]