1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-31 07:29:49 +00:00
Commit graph

302 commits

Author SHA1 Message Date
Emmanouil Papadeas 04a5292672 Use exact match for the draw_color_picker shortcut 2024-08-15 04:36:33 +03:00
Emmanouil Papadeas 15c186d8a1 Re-introduce #729 to fix an issue where the bucket tool filled with a slightly wrong color
We should probably keep this issue in mind though in case we find a better solution, but this seems to be working for now.
2024-08-12 16:36:20 +03:00
Emmanouil Papadeas 1678738d75 Add tolerance to the magic wand, rename "similarity" to "tolerance" in the select by color tool and make it work the inverse way
Continuation of b0a284583b for the selection tools.
2024-08-10 18:43:04 +03:00
Emmanouil Papadeas b0a284583b Add tolerance to the bucket's "similar area" mode, rename "similarity" to "tolerance" and make it work the inverse way
A slightly breaking change for a minor update, but one that needed to be done. The bucket tool's "similarity" (now renamed to "tolerance") used to work the opposite way from all other software, the maximum value meant exact color match and 0 meant no color match. Now it works the inverse way to make it be consistent with other software, and the range is now 0-255 instead of 0-100. 0 means exact color match, 255 means no color match. And tolerance also now works for the "similar area" mode as well.
2024-08-10 18:20:42 +03:00
Emmanouil Papadeas a3d7725a44 Fix popups appearing in wrong places when single window mode is disabled 2024-08-03 22:36:05 +03:00
Emmanouil Papadeas c0c391674d [skip ci] Change instances of "yield" to "await" in comments 2024-08-02 00:42:14 +03:00
Emmanouil Papadeas 8ba2b62921 Mirror the previews of the shape tools
Now they are consistent with the selection tools
2024-07-31 22:23:50 +03:00
Emmanouil Papadeas 3011d8469f Mirror the preview of the elliptical selection tool 2024-07-31 21:29:05 +03:00
Emmanouil Papadeas 6c016697d9 Fix a crash when selecting an imported model in a 3D cel 2024-07-31 20:55:19 +03:00
Emmanouil Papadeas 7063af098f Optimize the previews of the lasso, paint and polygon select tools
Continuation from the previous commit
2024-07-31 18:19:10 +03:00
Emmanouil Papadeas 9c7effdba3 Optimize previews of the ellipse selection and the shape tools
Before this commit, when these tools were being used on large areas, the software would start being very slow due to the polyline drawing. Now it simply draws an image.
TODO:
- Optimize the lasso, pixel and polygon select tools
- Mirror the previews of ellipse selection and shape tools, for consistency with the lasso, pixel and polygon select tools
- Perhaps somehow remove Previews.gd since its work is even more limited now.
2024-07-31 18:05:22 +03:00
Emmanouil Papadeas cd269c9a4e Slightly optimize line and curve tool drawing 2024-07-31 14:28:30 +03:00
Emmanouil Papadeas fdc8c05f07 Optimize shape drawing
Shape previews also need to be optimized somehow, including some of the selection tool's previews
2024-07-31 03:52:30 +03:00
Emmanouil Papadeas cdf50ce00d Fix zoom tool mode doing the opposite of what it says 2024-07-30 19:43:19 +03:00
Emmanouil Papadeas 52501cdca3 Fix errors with the bucket tool when it's outside of bounds 2024-07-28 17:05:47 +03:00
Emmanouil Papadeas c6d24d458e Replace some Vector2s with Vector2is 2024-07-23 13:51:02 +03:00
Emmanouil Papadeas f84f15b8ae Experiment with Steam achievements, using a new SteamManager class
This has no effect on non-Steam builds. Steam achievements are mostly for fun, but can also be educational because they can let users know of certain features and functionalities. It's using the GodotSteam GDExtension, but because I do not want to bloat the GitHub repository with things that are not needed for most builds, I decided not to include the GDExtension files, and instead check if the `Steam` class exists in `ClassDB`. The new SteamManager class pretty much does nothing on non-Steam builds, so do not worry about bloat.

In the future we could even take advantage of more of Steam's features, such as Cloud storage for pxo files.
2024-07-22 03:11:29 +03:00
Emmanouil Papadeas 64ced35bac Move the dynamics-related code into a new script
This also fixes the dynamics previews not working, as `_input()` is now handled locally in the dynamics popup panel.
2024-07-19 19:39:13 +03:00
Emmanouil Papadeas 3358d59f6f Implement filling while moving the mouse in the bucket tool
Probably the last new feature for version 1.0
2024-07-14 00:15:38 +03:00
Emmanouil Papadeas fae89ed2a1 Increase the slider bounds of the crop tool and the scale slider max value of the 3DShapeEdit tool 2024-07-12 12:53:37 +03:00
Emmanouil Papadeas 896d714a9e Make "similar colors" mode in the Bucket tool change the same color in all selected cels 2024-06-30 13:27:15 +03:00
Emmanouil Papadeas b146c88a5e Fix shape tools indicator being reset after drawing 2024-06-27 01:25:17 +03:00
Emmanouil Papadeas fc10d600a5 Remove Crop tool's apply button shortcut
The issue is that by default it's mapped to Enter, which is also used to confirm editing of a slider. If we want to keep the shortcut, we need to check if something else does not have focus first.
2024-06-14 16:33:52 +03:00
Emmanouil Papadeas b7a77a2ceb Clear polygon select tool when switching projects 2024-06-01 16:03:39 +03:00
Emmanouil Papadeas 2afb087b7a When switching projects and the curve tool is active, clear it
Instead of applying it. This also fixes a crash when the curve tool is active and the current project closes
2024-06-01 12:59:22 +03:00
Emmanouil Papadeas b9c289e742 [Curve tool] Don't draw a circle when hovering over the first point, if there is only one point in the curve 2024-05-26 14:27:02 +03:00
Emmanouil Papadeas b25ae8b4cc Fix curve being immediately applied if the user presses and releases immediately 2024-05-25 00:42:34 +03:00
Emmanouil Papadeas 0a38345376 [Curve tool] Only control the out control point when holding Shift
Needed to make curves with sharp edges. Inspired by Krita's Bezier curve tool
2024-05-21 19:37:47 +03:00
Emmanouil Papadeas e5d0a661f7 Properly fix polygon select tool circle radius not scaling properly with zoom
For real this time
2024-05-21 03:01:23 +03:00
Emmanouil Papadeas 3f8799f25a When hovering above the first position when using the curve tool, apply the curve shape 2024-05-21 02:59:37 +03:00
Emmanouil Papadeas 318b381938 Add a fill shape checkbox in the curve tool options
Now the curve tool can also be used as a polygon tool
2024-05-21 02:28:40 +03:00
Variable 601c25f2dd
Curve tool implementation (#1019)
* curve tool

* formatting

* formatting

* saving my progress

* update to kirita mode

* Formatting

* fixes for mirror mode

* added way to remove point, added tool shortcut

* Add translation strings

* Use Curve2D instead of a control_points array

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-05-20 03:46:40 +03:00
Emmanouil Papadeas 0fc60168e8 Fix polygon select tool circle radius not scaling properly with zoom 2024-05-18 15:01:21 +03:00
Emmanouil Papadeas d734ae24a5 Allow negative values in shading as requested in #1015 2024-05-04 15:08:21 +03:00
Emmanouil Papadeas dc6efe02bb Fix issue where shader-based effects were not respecting the selection bounds, when the selection was out of the canvas 2024-04-13 19:51:12 +03:00
Emmanouil Papadeas 9a1464f73b Move selection offset code inside SelectionMap.is_pixel_selected() 2024-04-13 17:57:51 +03:00
Emmanouil Papadeas 9184b25c01 Fix Lasso Vector2 appending to array of type Vector2i error 2024-04-13 15:39:42 +03:00
Emmanouil Papadeas 1e83173697 Fix regression where interecting selections was not working 2024-04-13 15:34:36 +03:00
Emmanouil Papadeas 79b18fc242 Fix brushes being able to get drawn outside of the selection, if the selection is outside the canvas 2024-04-13 14:31:48 +03:00
Emmanouil Papadeas 018f95158e If there's already a 3D object with the same name in the 3DShapeEdit selected object OptionButton, add a number next to it 2024-04-10 02:09:18 +03:00
Emmanouil Papadeas 0ac7789bf9 Store image data in undo/redo of the move tool, reverts 4f5f37a522
This fixes an issue where, if the user moves pixels outside the canvas and then undos, those cut pixels will not be restored.
2024-04-05 18:02:46 +03:00
Emmanouil Papadeas 963819a71a Fix color picker selecting fully transparent pixels that are not black 2024-03-26 02:11:21 +02:00
RorotoSic 8bfd474613
Add flip X and Flip Y, and Rotation (90, 180, 270) buttons to BaseTool (#988)
* Add Flip X, Flip Y, Rotate 90, Rotate 180, Rotate 270

* node placement

* flip_rotate for BrushButton

* flip corrected for BrushButton (x, y was reversed)

* code changed for github static checks

* github static checks

* github static checks 2

* remove " _ " before my variable name

hope this was the problem

* var brush_texture_rotation

* Hide Flip/Rotate buttons where it is unnecessary

* btns flip/rotate  hide when a non-image brush is selected

* rotate ButtonGroup (radio btn)

* expand button for flip/rotate

* radio btn grp 2

* expand button (forgot to add the tscn )

* cursor shape to pointing hand

* tooltip R90 R180 R270

i dont add txt to the Translations.pot bc not sure to understand and dont want to make mistake

* shading.tscn  (nodes placement debreaking)

back as before

* Revert "expand button (forgot to add the tscn )"

This reverts commit 3062afe73f.

* Revert "expand button for flip/rotate"

This reverts commit 51189ac793.

* Collapsible Container

change "expend buton" to the pixelorama custum node "CollapsibleContainer"

* remove thick white outline when CollapseContainer is pressed and focus

* styleboxflat when CollapseContainer is pressed and empty for checkbox

* Revert "styleboxflat when CollapseContainer is pressed and empty for checkbox"

This reverts commit 0af0e1f427.

* StyleboxEmpty for normal /  keep hover unchanged

* Revert "StyleboxEmpty for normal /  keep hover unchanged"

This reverts commit 14b3745053.

* Revert "remove thick white outline when CollapseContainer is pressed and focus"

This reverts commit b80ab1ad5c.

* "flip_rotateD" + "Flat CollapsibleContainer'"

* conflicts Resolved

signal color_changed(color: Color, button: int)

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-03-23 16:39:44 +02:00
Emmanouil Papadeas 64983b0404 Some static typing improvements 2024-03-22 03:07:21 +02:00
Emmanouil Papadeas dc9ba6dd9c Implement alpha lock as a global tool option 2024-03-09 02:47:13 +02:00
Emmanouil Papadeas f56d536b36 Create a get_mirrored_positions() method in Tools
Reduces some code replication across tools
2024-02-13 02:31:48 +02:00
Emmanouil Papadeas 3935bfd2d3 Control + wheel works on the line tool's thickness now 2024-02-09 14:42:10 +02:00
Emmanouil Papadeas afaae8ee4b Simplify guard conditions in Bucket's draw_start() 2024-02-04 14:45:16 +02:00
Emmanouil Papadeas 647ec29ab0 The crop tool can now be applied by pressing enter 2024-02-03 15:16:21 +02:00
Emmanouil Papadeas 978ddf3b45 Fix 3DShapeEdit import object not using native dialog 2024-02-03 13:57:05 +02:00