* Initial port of the text tool to Godot 4
* Change font (WIP)
* Add antialiasing option and remove some old unneeded lines
* Remove outline code
* Add horizontal alignment and update the text edit font size
* Improve the text edit
* Don't activate tools while typing
* Format
* Give input priority to the text edit so the key X and shortcuts such as control-z work in the text edit
* Add style settings for bold and italic
* Fix text going blank when changing font
* Use `font.draw_multiline_string()`
* Change the move behavior of the text tool, add confirm and cancel buttons
* Compress images on undo/redo
* Fix text position
The addition of the erase blend mode from #1117 resulted in loading pxo files from v1.0-v1.0.3 to have incorrect blend modes in their layers, if they are set to anything below normal, because the values of the `BaseLayer.BlendModes` enumerator changed.
Thanks to https://godotshaders.com/shader/color-manipulator/
The shader has more options than just brightness and contrast though, but I didn't know how else to name the effect. "Adjust Brightness/Contrast" makes it immediately obvious as to what the effect is about.
Pixelize makes the image pixelated, and Palettize maps the color of the input to the nearest color in the selected palette. Useful for limiting color in pixel art and for artistic effects.
Allows users to change project name and add custom user data. I was not sure where to put this, so I put it under the Edit menu. It might be a good idea to add a new "Project" menu in the future, and perhaps Scale Image, Resize Canvas and Crop to Content/Selection could be placed there, as they always affect the entire project.
The preferences code only handles the UI related stuff, while the Themes autoload is now solely responsible for theme adding, removing and changing. This makes it possible to handle themes without having the preferences dialog be in the middle.
I had to disable it, because for some reason having it be enabled by default does not seem to be working. This may be a good idea anyway, as many people will not need this feature, and having this enabled affects performance.
This commit also allows for changing project setting related options in the preferences to also work when running Pixelorama inside Godot.
* Reference Image Updates
* Fixed static typing
Fixed static typing in "src\UI
\ReferenceImages\ReferenceEditPanel.gd"
Changed "ri == null" to "!ri" in "src\UI\Canvas\ReferenceImages.gd"
* Tried fixing the static typing again
Removed lambda functions for the confirmation dialog.
Removed irrelevant print statement.
* Tried fixing static typing again
I think its fixed now
* Changed Spacing
* Fixed Trailing Whitespaces and tabs
* Fixed Final Trailing Whitespace
* Fixed styling and removed useless enum
* Removed double tabs left over from previous commit
* Fixed remove ConfirmDialog Showing on startusp
* Tried Fixing gdlint issues
* Fixed Linting
* Fixed Spelling issues
* Drag and drop to rearrange reference images
Added the ability to drag and drop Reference Images similar to dragging and dropping layers. These can be dragged or used with buttons (similar to the buttons that move frames). With full undo/redo support.
Added tool buttons these should help people who draw on tablets that cannot use keyboard shortcuts (icons still need to be created)
Renamed ReferenceEditPanel.gd to ReferenceEdit.gd (because it is no longer the script of a panel) and changed the base class of the Reference Panel.
Added some more translations.
Remade ReferenceImageButton.tscn to allow for drag and drop
Added drag highlight
* Added Icons
Added icons for the tools of the Reference Images
* Applied the icons to the UI
* Fix Scripting Issues
* Fixed Linting
* Rename Move.png to move.png
* Update Canvas.gd
* Updated the tooltips
Also added the correct translations
* Rename Select.png to select.png
* Rename Select.png.import to select.png.import
* Rename Move.png.import to move.png.import
* Rename Rotate.png to rotate.png
* Rename Rotate.png.import to rotate.png.import
* Fixed import files
* Rename Scale.png to scale.png
* Rename Scale.png.import to scale.png.import
* Added logic to update the reference panel when the project changes
Also fixed visual bugs related to highlighting the current reference image.
Made it so the reference image that was selected in a project get selected again when the project opens instead of going back to -1 (nothing)
* Update Project.gd