1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-19 09:39:48 +00:00
Commit graph

115 commits

Author SHA1 Message Date
OverloadedOrama 37621477c8 Hide invisible layers in onion skinning 2020-03-07 16:43:20 +02:00
OverloadedOrama 6e713988d3 Fix Canvas.gd problems 2020-03-07 16:43:20 +02:00
OverloadedOrama 953d002d91 [EXPERIMENTAL] Re-making the timeline
Trying to merge layers into the timeline, and eventually add more features like "share layer with all frames", among others. THIS IS NOT FINISHED, IT WILL *NOT* WORK PROPERLY. Once it is finished, this branch will be merged onto master.

So far only add layer and add frame work, and even they may have some issues. Undoing also does not work properly yet.

The UI is also not finished, as it currently has problems with the scroll containers.
2020-03-07 16:43:17 +02:00
OverloadedOrama 4ea56363bf Don't store the same pixels in Canvas.gd again and again 2020-02-14 18:05:53 +02:00
OverloadedOrama f3759d677e Load the image of the cursor once
This should fix some rare crashes as well
2020-02-12 00:38:35 +02:00
OverloadedOrama d1793c2e60 Fix bug with undo and drawing after motion draw, again
If you did motion drawing, stopped and then went to draw to the frame the motion drawing started, undo wouldn't work properly. That's because can_undo was false.
2020-02-11 20:05:37 +02:00
OverloadedOrama 2531aa7b65 Affect already painted pixels on the same mouse press, if the pen pressure is higher than it used to
And fixed bug with undo and drawing after motion draw
2020-02-11 18:42:23 +02:00
OverloadedOrama 17f623c769 Blend all color channels when the color alpha is less than 1
Along with the alpha blending that already was added some commits ago
2020-02-11 03:45:05 +02:00
OverloadedOrama 8ff917111c Changes to better follow GDScript style guide
Nothing new is being added in this commit, just code re-ordering & re-naming to better follow the recommended GDScript style guide.
http://docs.godotengine.org/en/3.2/getting_started/scripting/gdscript/gdscript_styleguide.html

And

https://www.gdquest.com/docs/guidelines/best-practices/godot-gdscript/
2020-02-11 00:06:24 +02:00
OverloadedOrama 5fe4b74a39 New alpha blend behavior now works on circle brushes 2020-02-10 02:39:36 +02:00
OverloadedOrama f28a3a4405 Basic tablet pen pressure sensitivity, brush alpha now gets blended
Instead of replacing the pixels with the new color's alpha value, the alpha values of the selected color and the current pixel color get blended together. This means that, if you have a pixel with 50% alpha and you draw a color over it with 25% alpha, the final result will have 75% alpha, instead of 25% as it used to be.

The pressure sensitivity is still experimental and may not work properly. Works only with Godot 3.2 and above.

draw_pixel() has also been renamed to draw_brush()
2020-02-09 01:34:37 +02:00
OverloadedOrama 808883b3a5 Restore freehand drawing on motion drawing 2020-01-16 01:38:44 +02:00
OverloadedOrama 1353db92d1 Don't execute Canvas' _input() method if it's not the selected frame
Canvas.gd's _input() method returns when the canvas' frame is not the currently selected frame. Saves a little bit of performance and fixes some issues like the line angles of ALL frames being drawn, and might fix some crashes I had with motion drawing and undo/redoing.
2020-01-15 22:47:56 +02:00
OverloadedOrama bac3fdcad6 Canvas Line2D doesn't get freed and re-created
Make Line2D have the same position for both of its points so it's invisible when the user is not making a straight line
2020-01-15 22:31:02 +02:00
henlo-birb 6fa41000ed added option to hide tool icons next to cursor 2020-01-12 20:41:17 -05:00
OverloadedOrama 542f709a8f Fixed issue where undo/redo was not working properly for straight lines that went outside the canvas 2020-01-13 01:11:03 +02:00
OverloadedOrama ff758467dd Fixed a rare crash with straight lines
It was possible that the variable `is_making_line` could be true, even if the line itself has been freed from memory.
2020-01-12 22:43:07 +02:00
OverloadedOrama 5562d3f2d5 LightenDarken tool no longer affects transparent pixels 2020-01-12 02:34:47 +02:00
OverloadedOrama 50fa262a75 Put default image width and height to 64, made minor changes in the About dialog and in the Chinese translation 2020-01-11 00:29:29 +02:00
Manolis Papadeas 8b4c42a576
Merge pull request #118 from Gaarco/master
Add preference options for the Image: default width, default height, default fill color and their translation strings
2020-01-11 00:21:35 +02:00
Manolis Papadeas 6dfa3ac9b7
Fixed issue where the size wouldn't change if the user modified only the width or the height 2020-01-11 00:08:24 +02:00
OverloadedOrama 5cce9d3180 Changes to the tool options UI
New option for the color picker tool (closes #115 - also includes new translatable strings), VSplitContainer for the tools and their options and a ScrollContainer for the tool options.
2020-01-10 22:44:29 +02:00
Marco a34c163cdb Add fill color 2020-01-10 20:47:44 +01:00
Marco 5e49c3eae8 Fix 2020-01-10 20:32:31 +01:00
Marco 7b0251fdfa Image preferences and its translations 2020-01-10 20:24:07 +01:00
OverloadedOrama 16e92b0e9f Removed uneccesary code from Canvas.gd that prevented _input() from executing if Space was being pressed 2020-01-09 20:51:03 +02:00
OverloadedOrama 48e871586c Added space for panning - Closes #110 2020-01-09 20:49:27 +02:00
OverloadedOrama db29c1af67 Fixed crash that occured when trying to delete contents of a selection that were outside the canvas' borders 2020-01-07 17:20:25 +02:00
OverloadedOrama 46e4ea15ad Fixed issue with line_2d in Canvas.gd where it wasn't being freed when releasing shift 2020-01-05 22:40:07 +02:00
OverloadedOrama 830ae623d2 Added new strings to be translated
Greek translation is still in progress
2019-12-31 20:10:10 +02:00
OverloadedOrama d42648efe1 Added a Splash Screen popup window
Re-organized transparent backgrounds, removed the Timer from Canvas nodes.
2019-12-31 18:04:00 +02:00
OverloadedOrama 129885ddfc Cloning layers now adds "(copy") to the layer name
So if you clone "Layer 0", the cloned layer's name will be "Layer 0 (copy)"
2019-12-30 22:05:09 +02:00
OverloadedOrama 04fe708560 Fixed issue where the canvas was stuck on 64x64 size 2019-12-28 19:03:45 +02:00
OverloadedOrama 3cac42ba15 Fixed mirroring of the bucket tool
Also removed unnecessary double code from Canvas.gd, made it a little cleaner.
2019-12-28 15:14:54 +02:00
OverloadedOrama abfa70be31 Fixed issue with the filled circle brush
It no longer leaves any unfilled pixels
2019-12-28 00:25:44 +02:00
OverloadedOrama d6a199c53f Added a new brush type - Filled Circle
Filled Circle brush is just like the Circle brush, but filled. Issue is, when drawing while moving the mouse, some pixels remain unfilled.

Also added some more file brushes.
2019-12-27 22:02:47 +02:00
OverloadedOrama 86761c92ec Layers stay invisible when adding/removing/moving a new layer 2019-12-27 20:24:44 +02:00
OverloadedOrama 42e3aec561 Fixed issue where Shift and Ctrl weren't working with straight lines on Canvas.gd 2019-12-27 17:38:43 +02:00
Overloaded 080676ac83
Merge pull request #96 from Calinou/fix-gdscript-warnings
Fix GDScript warnings pertaining to unused arguments
2019-12-27 17:19:03 +02:00
Hugo Locurcio 02c76cfd14
Don't call update() in the canvas on non-mouse input events
This partially addresses #85.
2019-12-27 16:16:20 +01:00
Hugo Locurcio 386473845e
Fix GDScript warnings pertaining to unused arguments
Those warnings can be ignored by prefixing the argument with an
underscore.
2019-12-27 16:14:01 +01:00
OverloadedOrama fec657efc8 Fixed bug with random brushes, they were being resized forever while the user was drawing 2019-12-27 00:00:20 +02:00
OverloadedOrama 3a20b3e073 Added a new brush type - Random Brushes
They're like File brushes, but each time you draw, expect to see something different!

To make a random brush, just put the images you want in the same folder (under the main Brushes folder of course), and make sure their filename starts with "%".

I also changed _process() to _input() in Canvas.gd, so there may be some unexpected behavior.
2019-12-26 21:36:56 +02:00
OverloadedOrama d4b42534bb Added sliders for brush size & 2 new custom brushes
Also, in Canvas.gd's _draw() method, draw_set_transform() is called again after the circle brush drawings, to reset the transform to its default state.
2019-12-25 21:17:29 +02:00
OverloadedOrama 06e0d74c14 Added proper circle brush - Bresenham's Circle Algorithm
The circle's radius is the brush's size. Respects image/selection boundaries, works with mirror. A special plot_circle() method is found on Global, to calculate the rectangles used by the mouse cursor/position indicator.
2019-12-25 20:27:25 +02:00
OverloadedOrama d3ff1e984b Added diagonal outlines, changed paint all pixels of the same color to respect selection 2019-12-25 02:53:45 +02:00
OverloadedOrama ed2e757c11 Layer Opacity - Change alpha of each layer
Added a slider under the layer add/remove/etc buttons that changes the currently selected layer's transparency. It gets saved in .png and .pxo files, while respecting non-opaque pixels in the image too. Which means, their alpha values aren't being overwritten.
2019-12-24 23:51:08 +02:00
OverloadedOrama c6ded721d1 Canvas transparent background changes on dark & gold themes
It's also in Global.gd instead of Canvas.gd
2019-12-21 04:56:48 +02:00
OverloadedOrama 69392ff34b Constrained angles on straight lines while pressing Ctrl 2019-12-19 15:50:41 +02:00
OverloadedOrama a76bfcef48 Straight lines now paint the target pixel too
They also start at the middle of the pixel, rather than the last mouse position in general
2019-12-19 03:38:14 +02:00