1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-24 14:33:14 +00:00
Commit graph

507 commits

Author SHA1 Message Date
Emmanouil Papadeas
c488e605dd Update About & Splash dialogs 2025-02-11 18:21:25 +02:00
Emmanouil Papadeas
0b759c8c71 Move some code away from GradientDialog to GradientEdit 2025-02-10 22:22:55 +02:00
Emmanouil Papadeas
93bbdb7c7b Unify the two gradient shaders into one 2025-02-10 20:51:06 +02:00
Emmanouil Papadeas
5df01a9170 Users can now add custom dithering matrix images
Not exposed somewhere in the UI yet, but users can now add custom dithering pattern as images in "user://dither_matrices". Right now only used for gradient generation.
2025-02-10 20:15:45 +02:00
Variable
563edced5e
Fix always_on_top for sub-dialogs (#1167)
* Fix Create Folder sub-dialog of Export > Browse being always behind (thus making it unusable)

* Add a dedicated tag (makes it easier to remove it if godot itself fixes this bug later), save and save as dialog are fixed

* the scenes themselves have the tag instead of in Main.tscn

* Fix browse->new folder of export dialog

* fix a typo

* Restore lines that were unintentionally changed by Godot

* simplify the code and move it to the Export Dialog

* fix artefacts of moving the code
2025-02-06 01:56:33 +02:00
Emmanouil Papadeas
7b96947066 Remove the Manage Layouts dialog
Instead, add "Add Layout" and "Delete Layout" options in the layouts submenu. This makes layout management easier, more intuitive and quicker, as it now requires less clicks. This is similar to what Photoshop does with its Workspaces

By removing the manage layouts dialog, we also got rid of duplicate code that already existed in TopMenuContainer, and it should be less bug-prone now.
2025-01-31 02:36:02 +02:00
Emmanouil Papadeas
b3ae706383 Add a Reset layout option for the default layouts in the layouts menu
Easy and user friendly way to reset default layouts, similar to Photoshop. This only works for default layouts, currently Default and Tallscreen.
2025-01-31 01:51:33 +02:00
Emmanouil Papadeas
1eb553fea8 [skip ci] Add some missing uuids from scene files 2025-01-29 21:04:03 +02:00
Emmanouil Papadeas
87b9df8049 Fix group layers blending twice in Canvas.update_texture() when their blend mode is set to passthrough
This solves a part of #1166
2025-01-29 16:45:33 +02:00
Emmanouil Papadeas
47a91bbb9a Allow the image to be expanded in DrawingAlgos.transform 2025-01-21 00:43:05 +02:00
Emmanouil Papadeas
e40d507a6a Add a transform method to DrawingAlgos
Can be used as a general method to apply rotation and skewing. It does not handle scaling though, and I am not sure if it should.
2025-01-20 01:08:31 +02:00
Emmanouil Papadeas
f273918368 Fix the resize canvas dialog's offset not resetting to zero on dialog popup
Also renamed some of the script's methods to be snake_case
2025-01-12 20:31:25 +02:00
Variable
60c54601ce
fix crash when importing (not-yet) supported layers from one project to the other (#1161) 2025-01-05 20:46:30 +02:00
Emmanouil Papadeas
6afdb372b3 [skip ci] Hide the Brightness/Contrast dialog 2024-12-31 19:34:17 +02:00
Emmanouil Papadeas
616bd91c49 Mirror image image effect now works with indexed mode 2024-12-22 02:40:05 +02:00
Emmanouil Papadeas
2d81bd495a Move value and basis slider files into a folder 2024-12-17 01:04:56 +02:00
Emmanouil Papadeas
39c85c3079 Implement the ability to load custom shaders and image and layer effects
Finally expose the feature of importing custom shaders as image effects, and implement custom shader loading for layer effects as well. To load a shader, drag and drop a .gdshader file into Pixelorama and it will get copied into `user://shaders`. Then, in the Effects menu, a new "Loaded" submenu will appear, and the new shaders will also be available in the layer effects dialog. Since they are stored on a persistent location, the shaders will also be available on the next times Pixelorama will launch as well.
2024-12-16 01:18:56 +02:00
Emmanouil Papadeas
482dbecd13 Add presets to the curve edit widget 2024-12-15 20:46:07 +02:00
Emmanouil Papadeas
048058bd35 Implement a color curves image effect
Massive thanks to Material Maker for the custom widget code. The color curves effect is still WIP, I need to make the tangent points visible (not yet sure why they aren't now), add some curve presets, and implement it as a layer effect as well.
2024-12-15 18:10:55 +02:00
Emmanouil Papadeas
a7a76ff9f0 Enable always on top for more child dialogs of other dialogs
Continuation of c72a1f4b90
2024-12-10 14:36:56 +02:00
Emmanouil Papadeas
1ea80a342a Fix some unintentional behaviors with tilemap layer tile editing modes 2024-12-06 04:03:57 +02:00
Emmanouil Papadeas
f91bb18fb2
Implement tilemap layers (#1146) 2024-12-05 03:57:44 +02:00
Emmanouil Papadeas
c72a1f4b90 Enable always on top for the child dialogs of the export dialog 2024-11-30 22:23:09 +02:00
Emmanouil Papadeas
2d28136449
Implement indexed mode (#1136)
* Create a custom PixeloramaImage class, initial support for indexed mode

* Convert opened projects and images to indexed mode

* Use shaders for RGB to Indexed conversion and vice versa

* Add `is_indexed` variable in PixeloramaImage

* Basic undo/redo support for indexed mode when drawing

* Make image effects respect indexed mode

* Move code from image effects to ShaderImageEffect instead

* Bucket tool works with indexed mode

* Move and selection tools works with indexed mode

* Brushes respect indexed mode

* Add color_mode variable and some helper methods in Project

Replace hard-coded cases of Image.FORMAT_RGBA8 with `Project.get_image_format()` just in case we want to add more formats in the future

* Add a helper new_empty_image() method to Project

* Set new images to indexed if the project is indexed

* Change color modes from the Image menu

* Fix open image to replace cel

* Load/save indices in pxo files

* Merging layers works with indexed mode

* Layer effects respect indexed mode

* Add an `other_image` parameter to `PixeloramaImage.add_data_to_dictionary()`

* Scale image works with indexed mode

* Resizing works with indexed mode

* Fix non-shader rotation not working with indexed mode

* Minor refactor of PixeloramaImage's set_pixelv_custom()

* Make the text tool work with indexed mode

* Remove print from PixeloramaImage

* Rename "PixeloramaImage" to "ImageExtended"

* Add docstrings in ImageExtended

* Set color mode from the create new image dialog

* Update Translations.pot

* Show the color mode in the project properties dialog
2024-11-20 14:41:37 +02:00
Emmanouil Papadeas
e2b6262560 Update translators in AboutDialog 2024-11-18 17:50:19 +02:00
Emmanouil Papadeas
763783f2f1 Improve the UI of the tile mode offsets dialog and add an Isometric button 2024-11-15 17:59:57 +02:00
Emmanouil Papadeas
0d6b140dea Add border selection, fix some missing translation strings 2024-11-15 01:41:44 +02:00
Emmanouil Papadeas
dec698024c Implement selection expanding and shrinking via the Select menu 2024-11-14 17:59:53 +02:00
Emmanouil Papadeas
638130c5c8 [skip ci] Update AboutDialog.gd 2024-10-25 12:02:26 +03:00
Emmanouil Papadeas
2d7d7e7c06 Allow greater values in the resize slider of the export dialog 2024-10-23 12:02:19 +03:00
Emmanouil Papadeas
dd8d217dc3 Changes in formatting due to gdtoolkit's new update
https://github.com/Scony/godot-gdscript-toolkit/releases/tag/4.3.2
2024-10-22 15:54:59 +03:00
Emmanouil Papadeas
370ae7525a Fix formatting and make unused docstrings to comments of the previous commit 2024-10-18 00:01:27 +03:00
Variable
2cb29ab274
somewhat fix transparency for floating window (#1116)
* somewhat fix transparency

* some formatting
2024-10-17 19:51:45 +03:00
Emmanouil Papadeas
b52cdc6e7b Fix some text in the About dialog not having the text color of the theme 2024-10-12 15:44:06 +03:00
Emmanouil Papadeas
be7d45205e Remove Roboto-Italic
Pixelorama now takes ~100KB less space
2024-10-12 15:36:46 +03:00
Emmanouil Papadeas
bd68f3d20b [skip ci] Add some strings to Translations.pot 2024-10-11 13:08:29 +03:00
Variable
b350f436c6
Allow clipping to selection during export (#1113)
* Allow clipping to selection during export

* linting

* removed shader
2024-10-01 20:18:58 +03:00
Variable
b5ded76654
Stretch mode and expand mode fixes (#1103)
* Set dynamics dialog to correct size after something is made visible or hidden

* fixed aspects of brush buttons

* Fixed wrong stretch mode

* improved rotation brush UI

* Update PaintSelect.tscn

* formatting

* fix all stretch modes

* fix export expand mode

* Fix more Stretch modes

* Fixed Resize canvas transparent checker

* removed an addition

The change: 625fe4cdd1
is moved over to a new pr

* moved some changes to another pr

* Moved some more changes to another pr
2024-09-17 21:38:21 +03:00
Emmanouil Papadeas
8c7594a1c8 Add a failsafe to the previous commit's solution 2024-09-13 01:05:53 +03:00
Emmanouil Papadeas
1e2e5dc431 Fix wrong preview in the gradient dialog when editing the gradient and dithering is enabled 2024-09-13 01:02:48 +03:00
Emmanouil Papadeas
6ad23f8485 Second attempt to fix a visual bug with resize canvas' dialog preview 2024-09-12 21:08:32 +03:00
Emmanouil Papadeas
462a95a5ae Fix visual bug with the preview of the resize canvas dialog 2024-09-12 20:23:18 +03:00
Emmanouil Papadeas
8f6eba3f84 Make the Gaussian blur dialog invisible 2024-09-11 17:01:25 +03:00
Emmanouil Papadeas
b962b31568 Make some method names in ExportDialog lowercase
They were named this way due to the naming conventions of Godot 3, but Godot 4 automatically makes these method names be all lowercase. Eventually we should replace all methods in the codebase to be all lowercase.
2024-09-11 16:59:53 +03:00
Emmanouil Papadeas
54068895bc Rename "trim sprite" to "trim images" and add the related strings to Translations.pot
"Trim images" should be a more fitting name for this option, as it's quite common to export multiple images and the use of plural makes it more clear that this option applies to all exported images.
2024-09-11 16:45:16 +03:00
Emmanouil Papadeas
f9dd09dc2c Update AboutDialog.gd 2024-09-09 00:52:20 +03:00
Emmanouil Papadeas
321102e8fe Add Gaussian Blur as an image effect 2024-09-08 03:13:55 +03:00
Emmanouil Papadeas
a0c7dd4527 Optimize the export dialog by caching all of the blended frames
No more slowness when changing the export settings. The only setting that causes the frames to be blended again is changing the layers.
2024-09-05 04:50:36 +03:00
Emmanouil Papadeas
69ce932f1c Add a quality slider to the export dialog when exporting jpeg files 2024-09-01 02:49:13 +03:00
Vaibhav Kubre
613dd5d7f6
feat: Added option to trim sprites empty area while exporting (#1088)
* feat: Added trim sprite option works like charm

* fix: format issue

* ran working gdformat
2024-08-29 19:07:48 +03:00