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

916 commits

Author SHA1 Message Date
Manolis Papadeas 48326900d9 Fix a memory leak coming from the Layer class
Removed the "frame_container" property from Layer.gd, which used to hold a reference to a node, leading to orphan nodes being created and never freed. Memory management seems to be working okay now. Previously, every time the user made a change, memory kept going up and never coming down. Now, data that can never be recovered, like undo data that have been rewritten in history, are also removed from memory.
2021-12-23 19:58:07 +02:00
Manolis Papadeas 6a78351704 Fix undoredo not working if the users draws on a locked/invisible layer 2021-12-21 01:26:58 +02:00
Manolis Papadeas 50885b8769 Release v0.9.1-stable 2021-12-20 13:45:53 +02:00
Manolis Papadeas 30f2873ed1 Remove unneeded method from HTML5FileExchange 2021-12-18 02:31:10 +02:00
Manolis Papadeas 92c252e22d Fixes #618 2021-12-15 01:39:24 +02:00
Manolis Papadeas 28341a18d2 The autosave timer no longer starts after the backup confirmation dialog gets hidden, if the autosave option is turned off in the Preferences 2021-12-14 21:51:52 +02:00
Manolis Papadeas 7b7c572f13 Fix issue where the timeline would be unresponsive if zen mode was toggled off and on 2021-12-12 17:11:25 +02:00
Manolis Papadeas 750fae4713 Project data no longer remain in memory after the user has removed their tab 2021-12-11 21:29:32 +02:00
Manolis Papadeas 057318f659 Pause the app when it loses focus instead of limiting its FPS 2021-12-11 20:02:51 +02:00
Manolis Papadeas 47943703ec Update CHANGELOG & AboutDialog 2021-12-07 02:20:12 +02:00
Manolis Papadeas 02a74d498c Fix shape tool previews not being updated when modifier keys are being pressed 2021-12-06 19:11:50 +02:00
JumpJetAvocado fa27d7fbad
Fix drawing bug reported in issue-555 (#603)
* Fix drawing bug reported in issue-555

* Remove unused parameter from commit_undo() in Draw.gd
2021-12-06 18:38:54 +02:00
Manolis Papadeas af86856dc6 Added a clipboard pattern button
It starts empty and gets updated every time the user copies something.
2021-12-05 18:37:15 +02:00
Manolis Papadeas 086c6c5b9c Remove unneeded font changing code
Welp, I just found out that Godot's font resources have fallback options. Better late than never, I guess.
2021-12-03 02:39:10 +02:00
Manolis Papadeas 563aab3137 Update AboutDialog.gd 2021-12-03 01:45:57 +02:00
Manolis Papadeas 59ee60151e Change "Rectangle Select" undoredo action to "Select" 2021-12-02 13:25:20 +02:00
Manolis Papadeas 67ec887ad1 Just one method for undo/redo in Global.gd 2021-12-02 02:22:32 +02:00
Manolis Papadeas f70efe3076 Move new_empty_frame() to Project.gd from Canvas.gd
This commit also changes the behavior of the fill color. The new cels now only get filled with the Project.fill_color if they are on the bottom layer.
2021-12-01 20:50:50 +02:00
Manolis Papadeas 4c60ef144f Fixed project not having the correct size if the default image size has been changed in the Preferences
Ideally, the new_empty_frame() method should be removed from Canvas and should probably go to Frame or Project.
2021-12-01 20:02:39 +02:00
Manolis Papadeas f7ef4a4283 Remove handle_undo() and handle_redo() from Canvas.gd
Getting rid of some old, unneeded code.
2021-12-01 17:49:22 +02:00
Manolis Papadeas f3d696ef81 Clear code from ShaderEffect.gd
Now inherits from ImageEffect and uses a ShaderImageEffect to generate the image. We get to clear duplicate code that was shared between ShaderEffect.gd and ShaderImageEffect.gd this way, and it also uses the undo/redo logic from ImageEffect instead of Canvas.gd.
2021-12-01 03:41:20 +02:00
Manolis Papadeas 2cab2af561 Preload image effect shaders 2021-12-01 03:04:40 +02:00
Manolis Papadeas 72aef23cce UI changes to the onion skinning settings
Also changed the ignore text to the "_io" suffix instead of "ignore_onion", because this is quicker to type.
2021-12-01 02:28:12 +02:00
Manolis Papadeas 15d987ebae Changed behavior of flip image to make it work as expected with selections
The selection itself also gets flipped, if there is any
2021-11-30 02:42:35 +02:00
Manolis Papadeas 3835a3f0da Fix all of linter errors 2021-11-29 18:58:40 +02:00
Manolis Papadeas e2a68c4ba4 Add an underscore to private method's names
As a way to differentiate between public and private methods, as per the official GDScript naming convention. Haven't changed all of the codebase yet, just some scripts that had a lot of public methods. This fixed 4 of the 7 errors of the linter.
2021-11-29 17:12:30 +02:00
Manolis Papadeas 540a61ae4d Merge onion skinning past and future into one script 2021-11-26 03:38:00 +02:00
Variable 159a821dd2
Better Onion Skinning (#600)
* better onion part (1/3)

changed code and added scripts

* better onion part (2/3)

added some onion variables

* better onion part (3/3)

Added to onion dialog

* removed whitespace that gave static error
2021-11-26 02:55:08 +02:00
Manolis Papadeas 246f6f9be1 Minor code changes 2021-11-25 19:10:04 +02:00
Manolis Papadeas 8c9545e183 Preload tool scenes
The app now opens just a bit faster
2021-11-25 17:42:35 +02:00
Manolis Papadeas 7489ae3777 Optimize update_hint_tooltips() calls
Now gets called once at the beginning instead of multiple times for every shortcut.
2021-11-25 15:16:56 +02:00
Manolis Papadeas c6b9a1fb82
Format code and add static checks (#599)
* gdformat .

* Lint code - Part 1

* Format code - Part 2

* Lint code - Part 2

Trying to fix the max allowed line length errors

* Add normal_map_invert_y to the image .import files

Because of Godot 3.4

* Do not call private methods outside of the script's scope

Lint code - Part 3

* Format code - Part 3

* Fixed more line length exceeded errors - Lint code Part 3

* Export array of licenses - Lint code part 4

* Clean hint_tooltip code from Global

Removes a lot of lines of code

* Create static-checks.yml

* Fix FreeType's license
2021-11-25 14:48:30 +02:00
Manolis Papadeas 41b5db4622 Don't change the cursor tool icon texture _input() call
Seems like my past self has made some pretty embarassing optimization mistakes...
2021-11-23 02:52:21 +02:00
Manolis Papadeas 536250f517 Moved some variables away from Global 2021-11-23 02:36:22 +02:00
Manolis Papadeas c921344b04 Fix splash screen not appearing in the Web version 2021-11-22 21:38:17 +02:00
Manolis Papadeas 79ff0a8d45 Optimize _input() methods 2021-11-22 21:32:39 +02:00
Manolis Papadeas 4931e50213 Move cursot tool icon visibility to ViewportContainer
I have no idea what I was thinking when I put that code inside Canvas' _input()
2021-11-22 18:43:06 +02:00
Manolis Papadeas 36680795ee Move even more code away from Global
The idea is to make the project less dependant on Global. Global should strictly be used for reusable code in multiple places, not as a second Main. I just hope I'm not breaking anything during this process.
2021-11-22 17:37:06 +02:00
Manolis Papadeas 19c062fa07 Move some PopupMenu code away from Global's _ready() 2021-11-22 16:15:36 +02:00
Manolis Papadeas 88365301fb Change window opacity settings to a dedicated dialog with a slider and a spinbox
Changed from a popupmenu with fixed settings. This should give more freedom to the user while improving UX.
2021-11-22 04:47:41 +02:00
Manolis Papadeas f4c903771d Remove some unneeded yield() calls
And minor changes to make the code a tiny bit more clean. I tested this PR, but it still might be a bit risky.
2021-11-17 19:59:14 +02:00
mrtripie 0081aa365a
Guide Color Improvements (#561)
* Symmetry guide color work

* Changed to semi-transparent guides from red, blend slight blue into symmetry guides for variation

Co-authored-by: MrTriPie <MrTriPie>
2021-11-17 01:48:21 +02:00
Variable 3e88efc118
Improvements to Animation Tags (#560)
* Animation tag fix (a)

fixed tag behavior in "Project.gd"

* Animation tag fix (b)

fixed tag behavior in "AnimationTimeline.gd"

* Animation tag fix (c)

fix top part of line not visible

* Animation tag fix (d)

a fix i forgot about earlier

* added a randomizer...

... to auto select colors of new tags

* Fix Tag scrolling without cels when scrolled on it

* removed randomize() cause it's not needed
2021-11-17 00:21:29 +02:00
mrtripie 969aed8070
Cache Save/Open Sprite Dialog's directory, and keep dialogs synced (#559)
* Open/Save Sprite Dialogs now have their directory cached so when reopening Pixelorama they will be set to that directory. Load last project and load recent project also syncs with the open/save dialogs and caches that directory

* Sets a projects default file path to the cached file directory (not sure about) and if the export directory is blank, use the cached file directory

* Changed 'file_dialog_dir' to 'current_dir'

Co-authored-by: MrTriPie <MrTriPie>
2021-11-17 00:17:02 +02:00
Manolis Papadeas 752703878d Use onready vars for nodes in Global.gd
I have no idea why I didn't do that sooner. This cleared over 80 lines of code.
2021-11-16 00:04:50 +02:00
Manolis Papadeas 1fa0b1e1b7 Hide the "Brush colors from" option from the Eraser tool 2021-11-15 02:03:05 +02:00
Manolis Papadeas 9cfa8c82b1 Make the eraser tool's transparency settings work with brushes 2021-11-14 16:19:38 +02:00
Manolis Papadeas 4f02ea1b97 Alt to pick colors with draw tools - Closes #125 2021-11-14 03:30:00 +02:00
mrtripie a9039cccd5
Canvas Rotation (#558)
* Implemented canvas rotation

Co-authored-by: MrTriPie <MrTriPie>
2021-11-13 20:43:37 +02:00
Jeremy Behreandt 429b37f6fc
Use Luminance In Desaturate Shader (#557)
Updated desaturate shader to use perceptual luminance instead of HSV.
2021-11-12 21:46:29 +02:00
Manolis Papadeas 24d25d49ea Implement #429 2021-11-11 03:21:34 +02:00
Manolis Papadeas 0c1fcdea89 Use JavaScript.download_buffer() for file downloading in the Web version
This commit makes Pixelorama unable to run in Godot versions prior to 3.4.

I wonder if there are plans for an upload_buffer() method as well...
2021-11-10 20:16:25 +02:00
Manolis Papadeas 6e5c4fc99f Do not keep decreasing opacity with the Eraser without releasing the mouse first
Only relevant if the opacity strength is less than 255 in the tool options
2021-11-08 19:26:00 +02:00
Manolis Papadeas 056cb76a46 Minor code cleanups 2021-11-06 17:23:54 +02:00
Manolis Papadeas 87261e93c6 Disable "New Brush" in the Edit menu if there is no selection 2021-11-06 17:19:20 +02:00
Manolis Papadeas f6b15cb562 Fixes #552 2021-11-04 02:46:12 +02:00
Manolis Papadeas 77996c769e Implement #540 and a part of #429 for the zoom tool 2021-11-03 02:33:45 +02:00
Manolis Papadeas 11f8402d57 Change the UI scale slider step to 0.25 from 0.1 2021-11-01 18:23:09 +02:00
Manolis Papadeas 93a8e75bcb Change the backup dialog message 2021-10-26 03:34:14 +03:00
Silent Orb 520e31cd7e
Persist palette selection (#549) 2021-10-17 16:20:11 +03:00
Variable 087387a700
Minor adjs to eraser (#548) 2021-10-15 16:31:24 +03:00
Manolis Papadeas c7f238ff19 Don't show the brush color from option in the Shading tool 2021-10-15 15:49:23 +03:00
Manolis Papadeas cdb7ff1004 Add an opacity option for the Eraser's tool options
This lets the user change the strength of the tool. When it has an opacity of 255, the eraser will completely delete the underlying pixels. If it has less than 255, it will simply subtruct that value from the underlying pixel's alpha.
2021-10-12 23:12:05 +03:00
Manolis Papadeas a5e3afa7e2 Start the autosave timer if the user presses X on the backup confirmation dialog 2021-10-11 20:40:26 +03:00
Manolis Papadeas 4b552a1fdd Enable autowrap for the Backup confirmation dialog 2021-10-11 19:55:25 +03:00
Manolis Papadeas 18ed5b2a05 Update CHANGELOG & AboutDialog 2021-10-07 16:57:26 +03:00
Manolis Papadeas b7e598c438 Fix issue with copying and pasting to a different project that has a smaller canvas
Fixes a bug caused by 86e66495b1
2021-10-06 02:02:56 +03:00
Manolis Papadeas 845bf2bab7 Fixes critical bug that is caused by removing a project tab that is to the left of the currently active tab 2021-10-06 01:51:39 +03:00
Variable da070db27e
Log Option (#546)
* Added Log button option
2021-10-05 23:37:16 +03:00
Manolis Papadeas 721cab8765 Minor changes that make Pixelorama work with Android
Just planting the seeds of a possible Android version, probably tablet-only, at least at first. I do not know when that will happen yet.
2021-10-02 15:08:58 +03:00
Laurenz Reinthaler 502c7d9409
Add idle fps setting and fix bug when moving the mouse outside of the application (#543) 2021-09-29 18:03:45 +03:00
Manolis Papadeas 61fa13cde3 Fix notifications not appearing properly when the UI is scaled 2021-09-27 02:41:45 +03:00
Manolis Papadeas 3b7ac1eddf Fix guides not working properly when the UI is scaled 2021-09-27 01:30:53 +03:00
Marquis Kurt cad464eb99
(Port) Port Pixelorama to Ubuntu Touch (#517)
* Add support for creating Ubuntu Touch click packages.

The clickable directory contains the files necessary to create a
click package designed for Ubuntu Touch, a community-driven Linux
distro for mobile phones as an alternative to iOS and Android.

A new CI script has been added to create the packages, which is
copied over from one of my other projects. Please change this to
suit your needs.

A new custom feature "clickable" has been added to the project
settings to allow customizations for the Ubuntu Touch platform.

Signed-off-by: Marquis Kurt <software@marquiskurt.net>

* Make clickable CI follow more closely to desktop builds

* Remove sudo from clickable install step

* Install software-properties-common

* Comment out docker startups in click install

* Change export name for Click version

* Change name and export mode to pack only

* Change means of copying data to clickable dir

* Install sudo to docker

* Add -g to docker add user

* Remove docker user creation

* Remove other chpasswd stuff

* Split CI into two jobs

* Make build-ubports.sh runnable

* Use HiPDI GUI theme on Clickable

* Move clickable folder to Misc, add release CI targets

* Add mobile to clickable settings

* Add pixelorama_data to install data

* Create pixelorama_data subdir in click itself

* Change default save dir for clickable

* Update AppArmor policy

* Update clickable version to test AppArmor

* Revert changes and use user data dir

* Add README pertaining to Ubuntu Touch

* Remove GODOT_MAC_VERSION from UT port workflow

Co-authored-by: Manolis Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2021-09-25 13:42:31 +03:00
Manolis Papadeas 86e66495b1 Fix issue with copying and pasting to a different project that has a bigger canvas 2021-09-24 19:23:59 +03:00
Manolis Papadeas f948c24430 Fix Changelog URL 2021-09-24 17:39:02 +03:00
Variable 41d88c1839
Boost HSV and Rotation sliders (#531)
* Added a timer to filter out useless values

This timer will determine if you actually want to view these changes or just want to skip ahead

* a live preview checkbox

* Some dialog improvements

* Minor changes/adjustments
2021-09-23 21:25:35 +03:00
Manolis Papadeas 8f115a726e Fix #541 2021-09-22 21:54:16 +03:00
Laurenz Reinthaler ad37c67690
Add buttons for looking at different splash-screen artworks (#538)
Fix overlooked line of code
2021-09-22 16:06:30 +03:00
Manolis Papadeas d584ae0839 Launch of version 0.9 - selections & shapes update 2021-09-18 18:59:15 +03:00
Manolis Papadeas dc413eb724 Update the splash screen with 3 new artworks for v0.9
Art by Wishdream, Roroto and Kamilayza
2021-09-17 16:37:16 +03:00
Manolis Papadeas f3ea6b57cd Fix opening pre-v0.8 pxo files 2021-09-07 20:31:32 +03:00
Manolis Papadeas 7bbc01d978 Keep the tallscreen hsplit container invisible if we're changing panel layout mode in Zen mode 2021-09-06 17:55:26 +03:00
Manolis Papadeas 3d0d0b0335 Bump version to v0.9-rc3 2021-09-06 17:21:10 +03:00
Manolis Papadeas cae4f39a4b Hide the splash dialog when dragging and dropping a file 2021-09-06 15:36:28 +03:00
Manolis Papadeas da8bc0d057 Added a "Licenses" tab in the About menu, which displays Pixelorama's license as well as the software it depends on, such as Godot 2021-09-05 01:07:12 +03:00
Manolis Papadeas 37916b63ca Update the minimum value of the zoom level spinbox on project change 2021-09-04 16:59:23 +03:00
Manolis Papadeas 47b20ff5c3 Fix the canvas preview having incorrect zoom when switching between projects 2021-09-04 15:32:44 +03:00
Manolis Papadeas e4ba665c2a Always display the close button in tabs and let users close projects other than the current 2021-09-01 18:07:36 +03:00
Variable fb93143906
Dialog improvements (#530)
* Dialog Improvements

Preview now scales with resizing Dialog
2021-08-31 05:38:11 -07:00
Variable 32dc69fee6
Guide corrections (#528)
* Fixed guide size
2021-08-30 15:00:04 -07:00
Variable 75059b5b12
Selection fixes (#527)
* Fix for multiple cel selection issue

Now it will only apply selection to the selected cels that are **visible and unlocked**

* Fix for loss of selection data

This will hopefully fix the selection data loss on toggling layer buttons
2021-08-30 03:24:48 -07:00
Jeremy Behreandt c29254c2e8
DrawingAlgos Explicit Project DataType (#526)
I needed to add the data type to project for the scripts to compile.
2021-08-29 15:59:05 -07:00
Manolis Papadeas 680ab481f3 Don't transform content if layer is locked or invisible 2021-08-30 01:22:13 +03:00
Variable ab18e8bdb6
Transparency updates (#525)
* Update with theme instead of only value change

instantly updates with theme (old version updated on value change only)

* shortened some paths
2021-08-29 10:19:08 -07:00
Manolis Papadeas 3482314971 Fix project's selection bitmap having incorrect size when importing a pxo 2021-08-29 16:26:01 +03:00
Manolis Papadeas e088820c74 Bump version to v0.9-rc1 2021-08-28 20:01:05 +03:00
Manolis Papadeas 79e1ab5e61 Remove unneeded Global.update_hint_tooltips() call 2021-08-27 00:49:01 +03:00
Variable ddc69b8282
Editable zoom (#523)
* editable zoom change 1

* editable zoom change 2

* editable zoom change 3

* editable zoom change 4

* editable zoom change 4 part b

added upper limit automation for zoom
2021-08-26 14:23:51 -07:00
Manolis Papadeas 4e51b7211e Made the palette comments TextEdit a big taller 2021-08-26 05:00:05 +03:00
Manolis Papadeas 2518f72319 Fix Select by Color not working properly on non-square canvases 2021-08-25 16:43:04 +03:00
Manolis Papadeas a3f8c960ab Change the FPS value in the spinbox when loading a project in an empty project 2021-08-25 16:37:09 +03:00
Manolis Papadeas 180c775b72 Disable per pixel transparency for OSX
As a temporary workaround for #491
2021-08-24 17:34:58 +03:00
mrtripie de28a9d68e
Shading Tool Hue Shift Fixes + Tweaks (#522)
* Fixed issues with Shading tool Saturation and Value not always being right in Hue Shading mode

* Shading tool hue shifting fixes and tweaks

Co-authored-by: MrTriPie <MrTriPie>
2021-08-23 07:04:52 -07:00
Manolis Papadeas ed45c86649 Remove unused variables from Shading.gd 2021-08-21 17:00:37 +03:00
mrtripie c196a32ebc
Fixed issues with Shading tool Saturation and Value not always being right in Hue Shading mode (#519)
Co-authored-by: MrTriPie <MrTriPie>
2021-08-19 06:49:14 -07:00
Manolis Papadeas 58b1da41a1 Fix hue shifting brightening and darkening on colors between yellow and purple
By yellow and purple I mean hue 60 and hue 270 respectively
2021-08-18 21:53:42 +03:00
Manolis Papadeas e7f8417d0d Subtle toolbar UI changes 2021-08-18 20:13:56 +03:00
Manolis Papadeas 147a08f28b Use outlines textures for tool cursor icons
Instead of using the AutoInvertColors shader
2021-08-18 15:06:10 +03:00
Manolis Papadeas 3dfd597de4 Fix shading tool not working properly with multiple selected cels 2021-08-18 14:42:26 +03:00
Martin Novák 9ef7818c77
Tweak UI to use less empty space (#514)
* Tweak right side panels to use less empty space

* Add fake grabber to tools panel. Add a bottom margin. Fix a few issues with resizing.

* Fix tallscreen mode. Set a bit smaller animation timeline min height.

* Change Preferences visibility settings

* Update Main.tscn

* Fix crash when changing to tallscreen and then switching themes

Co-authored-by: Manolis Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2021-08-16 16:56:19 -07:00
Martin Novák b95496c57d
Fix dialog sizes (#512) 2021-07-30 16:05:50 -07:00
Manolis Papadeas 4292fcc51f Change behavior of selection quick-copy (Ctrl+Alt+mouse movement)
It should now keep the same image data until the transformation gets confirmed
2021-07-31 02:03:51 +03:00
Manolis Papadeas 06bd56866d Change selection shortcuts: Alt is now used to only move selection and Ctrl+Alt makes a quick copy of the selected content 2021-07-29 16:15:02 +03:00
Manolis Papadeas 1d20295f7d Keep images unlocked after editing them - Should close #331
Not sure if this actually solves the issue or just makes it more rare, but I haven't been able to reproduce any PoolVector locking issues so far. The problem was that images were remained locked essentially all the time, which seemed to cause issues. Maybe other PoolVectors could not get locked?
2021-07-25 21:49:37 +03:00
Manolis Papadeas 68cbf4cfb3 Remove unused method in Draw.gd
Global search for "restore_image" doesn't return anything, so I assume it's unused
2021-07-24 18:42:07 +03:00
Manolis Papadeas ef133f4f71 Fix issue where Cel's image setter was not being called 2021-07-24 18:17:44 +03:00
Manolis Papadeas 65051f0910 Bring back the image_changed setter of the Cel class
Caused issues when importing files
2021-07-22 16:33:20 +03:00
Manolis Papadeas c6a056bba6 Made cloning frames create linked cels if the linked cel button is toggled on - suggestion of #402 2021-07-22 03:10:00 +03:00
Manolis Papadeas 57bb7929df Fixed issue with linked cels where, if you had linked cels in one layer and then linked more cels of the same frame in another layer, their previews did not update automatically
Cel's image_texture was being reset due to the creation of new Cel instances in CelButton.gd (line 113)
2021-07-22 02:25:00 +03:00
Manolis Papadeas 9bec8f1b09 Preload more resources
Had to remove references to Brushes and Patterns classes from BrushesButton.gd and PatternButton.gd due to GDScript's cyclic reference bug
2021-07-21 18:29:52 +03:00
Manolis Papadeas 763a063de7 Made brushes work with the shading tool 2021-07-21 02:19:46 +03:00
Manolis Papadeas 0d5e9ce48a Fix crop image crashes on Windows and maybe also fixed buggy behavior?
Cropping images seem to be working fine now, or at least I haven't encountered any bugs so far
2021-07-21 01:24:39 +03:00
Manolis Papadeas 353702ebc4 Make top bar shape-related text disappear after shape has been drawn with the shape tools 2021-07-21 00:45:57 +03:00
Manolis Papadeas 28b8e000f9 Rewrite the crop image method
Should be a bit faster, but I still get weird bugs at random
2021-07-20 22:06:18 +03:00
Manolis Papadeas d0433bed6f Preload layer and cel button nodes in Project.gd
Just a minor optimization to avoid unnecessary loading
2021-07-20 21:03:15 +03:00
Manolis Papadeas 2c90991482 Closes #509 2021-07-18 14:28:33 +03:00
Manolis Papadeas 6de6c4b800 Closes #506 2021-07-14 18:06:07 +03:00
Manolis Papadeas a40203e5cc Bucket flood fill no longer affects separated selected parts of the canvas 2021-07-11 20:20:37 +03:00
Manolis Papadeas ad4b377bc8 Only click the layer button with the left mouse button 2021-07-10 05:19:09 +03:00
Manolis Papadeas 983d14c0d1 Fix deleting content not working with undo 2021-07-09 12:59:01 +03:00
Manolis Papadeas 55c5688f16 Fix changing cel opacity calling project.frames_changed()
It shouldn't happen
2021-07-09 03:38:06 +03:00
Manolis Papadeas 240e582070 Shape tool blue indicators now reflect their proper shape 2021-07-08 22:26:32 +03:00
Manolis Papadeas 873e2b8e9e The indicator's size of the shape tools should now change depending on the tool's thickness 2021-07-08 21:48:47 +03:00
Manolis Papadeas 2760049cfd Fix content transformation not getting confirmed when changes were done to frames and layers
Also fixes issue where frame/layer copying does not copy the transformed data
2021-07-08 20:46:56 +03:00
Manolis Papadeas 7b343cc30f Fix width and height fields in the create palette dialog that used to remain disabled when the dialog appeared again 2021-07-07 18:32:37 +03:00
Manolis Papadeas a46f21265e Update CHANGELOG & AboutDialog 2021-07-06 14:03:41 +03:00
Manolis Papadeas 0bcb65db62 Update AboutDialog.gd 2021-07-05 19:32:12 +03:00
Manolis Papadeas 4b191139f6 Fix timeline's resize grabber not responding immediatly
It seems that the Canvas-Timeline SplitContainer's split offset had a hardcoded value
2021-07-04 16:09:21 +03:00
Manolis Papadeas cd811d7e78 Fixed issue where "Layer 0" would be renamed when it changed position 2021-07-04 15:29:44 +03:00
Manolis Papadeas 9234005d1a Minor drawing optimization 2021-07-01 18:14:49 +03:00
Manolis Papadeas 43bd054df6 Update translations
Hopefully the final translations for 0.9?
2021-06-30 00:01:39 +03:00
Manolis Papadeas c71d371c8c Change shortcuts of the new tools 2021-06-28 21:52:45 +03:00
Manolis Papadeas 21e2cd6bd0 Dragging and dropping frames to re-arrange them no longer makes selected_cels empty 2021-06-27 18:15:06 +03:00
Manolis Papadeas 98d41fca14 Remove Global.find_node_by_name()
Use the built-in find_node() method instead.
2021-06-26 14:01:07 +03:00
Manolis Papadeas e4aff633bb Change "Current cel" strings to "Selected cels"
Because now we have the ability to select multiple cels
2021-06-25 17:58:41 +03:00
Manolis Papadeas 02278e5fee Fix crash when importing a new project on an empty project 2021-06-24 20:32:30 +03:00
Manolis Papadeas f5d07e660d Do not clear content from selection in selected cels when moving if Alt has been pressed beforehand
This is about Alt + mouse click when moving a selection. See https://github.com/Orama-Interactive/Pixelorama/issues/129#issuecomment-756799706 for more info
2021-06-23 20:38:17 +03:00
Manolis Papadeas 5b74a4292d Fix pasting not working properly on multiple selected cels 2021-06-22 01:46:52 +03:00
Manolis Papadeas db0799bc12 Added Ukrainian 2021-06-21 00:24:39 +03:00
Manolis Papadeas ac631e3e3d Transform selected content of multiple selected cels
Does not work with rotation. It might be a good idea to replace this whole system with one that uses a transformation matrix, to handle rotation and skewing more easily in the future. I'm not a huge fan of this current code.
2021-06-19 19:29:32 +03:00
Laurenz Reinthaler a899d2591d
Use CMD+Shift+H for showing the pixel grid on OSX (#494)
Co-authored-by: Laurenz Reinthaler <reinthalerlaurenz@gmail.com>
2021-06-15 13:03:19 -07:00
Manolis Papadeas 18592ed7c0 Minor UI changes 2021-06-15 01:03:46 +03:00
Manolis Papadeas 79b37a95b3 Fix palette importing not including all colors if they have more than 64 colors 2021-06-14 20:38:46 +03:00
Manolis Papadeas 791e966a71 Update Previews on all mouse events 2021-06-14 19:21:58 +03:00
Manolis Papadeas bdd06d42ce Added tool button size option in the Preferences 2021-06-14 02:14:31 +03:00
Manolis Papadeas 20f5a063fd Get palette colors from all selected cels 2021-06-13 18:27:48 +03:00
Manolis Papadeas de850ce8a1 Ability to select multiple cels and edit them all at once
A rather significant change, so, while I have tested it, it might still be buggy. Implements a part of #306.
2021-06-12 01:06:13 +03:00
Manolis Papadeas 73cce5b740 Set frame delay's min value at 0.01, does not let it become 0 2021-06-11 22:56:38 +03:00
Manolis Papadeas feece75935 Added Norwegian Bokmål 2021-06-11 19:38:34 +03:00
Manolis Papadeas 88e95ce35f Very minor code cleanup in 4 tools 2021-06-09 17:31:58 +03:00
Manolis Papadeas f1ea8e30b2 Fix animation tag spacing 2021-06-09 17:17:53 +03:00
Manolis Papadeas fd8b6b7385 Don't call Project.frame_changed() twice at the beginning 2021-06-07 20:05:50 +03:00
Manolis Papadeas e9bf310934 Implement layer and frame dragging and dropping to re-arrange them in the timeline
Part of #306
2021-06-06 02:19:34 +03:00
Manolis Papadeas 1a87321437 Added a Delete option in cel's right click menu
Delete doesn't actually delete a cel, it just clears its contents. Maybe renaming it to something else would be a good idea.
2021-06-05 13:38:32 +03:00
Manolis Papadeas e7a5b45536 Clicking on a layer button now selects the layer. Double clicking it allows renaming 2021-06-05 03:06:07 +03:00
Manolis Papadeas ecd08ce132 Add a right click popup menu on the frame buttons and move most of the frame related options there
These options used to be on the right click popup menu of the cel buttons. Now, cel options only contain Link/Unlink Cel, for now.
2021-06-05 02:37:33 +03:00
Manolis Papadeas 39b0baca84 Frame numbers in the timeline above the cels are now clickable buttons 2021-06-05 02:11:22 +03:00
Manolis Papadeas a4c9e0e8dd Use AutoInvertColors shader for the cursor tool icons 2021-06-05 02:01:04 +03:00
Manolis Papadeas a67855a7f2 Fix RestoreDefaultButton having an alpha value of 0.5 2021-06-04 22:13:48 +03:00
Manolis Papadeas ec1b29eb5e Let the user change icon colors regardless of theme 2021-06-04 21:44:05 +03:00
Manolis Papadeas 12ce12a292 Replace button icons with single-color textures that change color automatically depending on the theme
There is no longer any need for having specific graphics for each theme, as white colored textures can change their modulation to any color.
2021-06-03 22:42:08 +03:00
Manolis Papadeas fd45344e6b Escape cancels polygon selection making 2021-06-02 03:33:19 +03:00
Manolis Papadeas 489749e305 Fix division by zero crash 2021-06-01 18:43:23 +03:00
Manolis Papadeas 5e1c9dc73b Fix bug where you couldn't resize the selection after pasting 2021-06-01 18:19:16 +03:00
Manolis Papadeas 64e9d14a0e Use Texture resources instead of Image for tool cursor icons 2021-05-31 21:39:33 +03:00
Manolis Papadeas ed229565ad Resize selection with gizmo from center by holding Control after clicking 2021-05-31 03:04:10 +03:00
Manolis Papadeas 2a9420700b Fix image effect preview background not keeping its aspect ratio 2021-05-30 19:20:56 +03:00
Manolis Papadeas 207b3a5630 Update ShaderEffect.gd 2021-05-30 17:42:50 +03:00
Manolis Papadeas 43e733fe65 Fix Move tool's snap to grid movement and take grid offset into account 2021-05-28 17:43:50 +03:00
Manolis Papadeas 6d2f02b782 Let the user change border color and toggle the marching ants effect in the preferences 2021-05-28 03:46:16 +03:00
Manolis Papadeas 5a93af7477 Fix palette highlight not being shown over the selected swatch 2021-05-27 03:14:19 +03:00
Manolis Papadeas 1e6460e439 Keep colors of a palette if the width gets bigger and the height gets smaller 2021-05-26 15:48:26 +03:00
Manolis Papadeas bd84fbbe39 Rename the Lighten/Darken tool to Shading tool 2021-05-26 02:17:49 +03:00
Manolis Papadeas bd085786d5 Fixed issue when pasting and the clipboard image is empty 2021-05-25 22:50:35 +03:00
Manolis Papadeas a77cc05446 Made brush creation from selection a separate menu option
Also works with Ctrl+B. Copying no longer creates a project brush.
2021-05-25 22:48:37 +03:00
Manolis Papadeas 950f075269 Fix resizing palette issue
Having one dimension less than 8 and one higher than 8 caused issues. This should now be fixed.
2021-05-25 14:24:30 +03:00
Manolis Papadeas 4e8acdf002 Updated Translations.pot and some tool hint tooltips 2021-05-25 02:51:10 +03:00
Variable 0257adb97b
Set project name (#490)
* Set project name. Also fixed a bug

Added ability to set project name also fixed a bug that "if the aspect ratio button is pressed and a template of different width and height were selected, then the button also applied on them e.g a template of (but it shouldn't)"
Example: write 1 in width, 2 in height, enable aspect ratio, and then try to change template... a template of 256x240 will give 120x240

* Add files via upload

* Adjust save name to project name

* Add files via upload
2021-05-24 07:03:56 -07:00
Variable 62dc608eea
"Fill inside" option in pencil tool (#489)
I modified some code from  "EIRTeam/Pixelorama" and merged it with pencil tool.
2021-05-23 14:58:19 -07:00
Manolis Papadeas 1b286a95ab Optimize AutoInvertColors shader
Not sure if that single if statement counts as branching code, but it's generally a good idea to avoid if statements in shader code, so I used step instead.
2021-05-22 16:08:11 +03:00
Igor Santarek c5d1e3b52b
Fix for #341. :) (#488) 2021-05-21 15:55:06 -07:00
Manolis Papadeas 5b6f4ebe3e Added Polygon selection tool
Cursor icon is temporary. It works by clicking multiple times on the places you want to create edges, and to complete the polygon you either have to click at the first edge (if you hover the mouse, a circle appears in that position), or you can auto-fill by double clicking.
2021-05-18 01:56:55 +03:00
Manolis Papadeas de649c2057 Simplified AutoInvertColors shader 2021-05-17 03:08:25 +03:00
Manolis Papadeas 6499c0d3d5 Auto invert preview colors based on the screen color
Basically, when the background color of the screen at certain points is dark, the preview at that spot is white, and when it is bright, the preview is white at that spot. This helps to keep the previews always distinguishable, regardless of the background color.
2021-05-17 02:24:49 +03:00
Manolis Papadeas 61e7633365 Optimize Lasso tool's draw_preview()
Do not have it run when we're not creating a selection
2021-05-16 18:55:34 +03:00
Manolis Papadeas b8d055fe01 Added lasso / free select tool
Temporary icon, probably. Should work without problems, but more testing would be nice.
2021-05-16 03:52:13 +03:00
Manolis Papadeas 909f9480cc Correct rectangular and elliptical selection mirroring 2021-05-16 03:19:49 +03:00
Manolis Papadeas d13c5c1063 Added ellipse selection tool
Icons most likely temporary. A bit problematic when the selection is in negative coords and the preview does not work well with mirroring and mirror view. Same is true for the shape tools.
2021-05-14 03:48:33 +03:00
Manolis Papadeas 6b9f860618 Fix brushes being drawn flipped horizontally
My bad!
2021-05-13 21:50:55 +03:00
Manolis Papadeas b28e89e5c4 Users can now resize the left tool bar
Useful since the number of tools has started to grow a lot, and some monitors may not have enough vertical space for all of them.
2021-05-13 01:15:11 +03:00
Manolis Papadeas 336594272c Fix selection resizing issue after having moved the content first 2021-05-12 16:27:35 +03:00
Manolis Papadeas 1827381439 Remove unnecessary image.lock() lines 2021-05-12 15:51:31 +03:00
Manolis Papadeas e8b36bbc61 Fix symmetry guide crash when opening pxo files
Related to the PoolVectorArray locking issue (#331). This still doesn't fix the issue itself, but at least Pixelorama does not crash anymore. It is still possible, though, to fail to load a guide when opening a project. Opening it again may solve the issue.
2021-05-12 15:35:20 +03:00
Manolis Papadeas 99ce07b3ab Added a new line tool
One of the most requested tools has finally been added!
2021-05-12 04:35:20 +03:00
Manolis Papadeas 36652c6b56 Update a palette string 2021-05-11 21:03:11 +03:00
Manolis Papadeas 9e7de0022e Change strings of the select menu 2021-05-11 19:48:16 +03:00
Manolis Papadeas 0b9eb2bbed Change the project's name before saving the pxo file 2021-05-11 14:51:14 +03:00
Manolis Papadeas 1b80100588 Stop movement if content transformation has been confirmed while content is being moved 2021-05-11 04:41:30 +03:00
Manolis Papadeas 969b096efc Alt + mouse click when resizing with gizmos now works as intended when there is an active transformation occurring 2021-05-11 04:15:42 +03:00
Manolis Papadeas 47e83d7163 Added UndoRedo support for selection transformations for tool options and fixed resize content behavior 2021-05-11 00:27:57 +03:00
Manolis Papadeas c859834f7c Fix crash when deleting a frame or layer and there is a transformation occurring 2021-05-10 22:34:40 +03:00
Manolis Papadeas 24da4bd703 Fix selection resizing not keeping the original bitmap after gizmo release 2021-05-10 19:59:55 +03:00
Manolis Papadeas e86dde2fb5 Do not require confirmation when transforming a selection with invisible contents 2021-05-10 18:44:12 +03:00
Variable 729c3ae1af
Tall wide screen corrections (#478)
* a minor visibility change.

made the nodes that were not needed in wide-screen "Invicible"
the visibility will now be controlled procedurally

* Added some lines of code in "change_ui_layout()"

The added lines will control node visibility changes to adjust to current screen mode

* added a line to fix tall-screen "zen-mode"
2021-05-10 08:05:15 -07:00
Manolis Papadeas 70d5fad9fd Make selection tool options not editable when there is no selection 2021-05-09 00:56:23 +03:00
Manolis Papadeas 6adb01aac1 Cursor shape no longer changes when a gizmo is being dragged and the mouse cursor goes above another gizmo 2021-05-08 16:06:02 +03:00
Manolis Papadeas 9b54f8a387 Resize selection without contents if Alt is pressed before clicking on a gizmo 2021-05-08 03:54:32 +03:00
Manolis Papadeas 3876c97674 Resizing gizmos with Shift keeps the aspect ratio of the selection
This was harder to implement than I thought. It may need some more testing.
2021-05-08 03:40:28 +03:00
Manolis Papadeas 356ddc0038 Implement moving selections with arrow keys
Moves selection with contents by default.
Control + arrow keys = Moves & snaps selection to grid.
Alt + arrow keys = Moves the selection itself without the contents.
2021-05-07 04:33:28 +03:00
Manolis Papadeas e75b6e7d67 Made Rectangle Selection and Magic Wand tools work with symmetry 2021-05-04 21:26:04 +03:00
Manolis Papadeas ea8bfcd25d Remove drawn_rect from Selection.gd and use draw_preview() in RectSelect.gd instead 2021-05-04 19:26:06 +03:00
Manolis Papadeas 5f84629144 Update AboutDialog.gd 2021-05-04 13:57:40 +03:00
Manolis Papadeas 3db2673309 Prepare for v0.8.3-stable 2021-05-04 13:44:06 +03:00
Manolis Papadeas 6203b3a71c Minor UI changes in the tool options of shape tools 2021-05-04 13:26:07 +03:00
Manolis Papadeas 0ba940c886 Implement snap to grid while moving selections and using the Move tool
Mouse click + Ctrl to snap to grid while moving.
2021-05-04 02:45:14 +03:00
Manolis Papadeas 7cbbf4399d Implement Alt + mouse movement to quickly copy & move selection contents without cutting them from their original position 2021-05-03 21:10:49 +03:00
Manolis Papadeas 20275fc465 Snap movement to axis by holding Shift after mouse clicking
Works with the Move tool and with the Selection tools.
2021-05-03 18:33:51 +03:00
Manolis Papadeas 0a35615c24 Added a displace origin option to Rectangle, Ellipse and Rectangle Selection tools
Works with Mouse Click + Alt. Needs to be documented in the tooltips.
2021-05-03 03:11:12 +03:00
Manolis Papadeas 8f846fe04a Fix out of bounds errors with selection intersection 2021-05-03 03:09:32 +03:00
Manolis Papadeas 3ad3697c84 Fix issue with gizmos not working if the user has moved the selection with contents first 2021-05-03 02:08:53 +03:00
Manolis Papadeas 8f1c6bb3d3 Move selection with contents by default with all selection tools
Now, if you want to move the selection itself without its contents, you have to do Ctrl + Alt + Mouse click. Works the same with all selection tools.
2021-05-03 02:00:07 +03:00
Manolis Papadeas 4a1fcc4ca7 Add position and size as selection tool options
This allows the user to easily move and resize selections
2021-05-01 03:10:23 +03:00
Manolis Papadeas 0b3424be80 Make selection tool scenes inherit from SelectionTool.tscn
Useful for them to be able to share common tool options
2021-04-28 04:00:40 +03:00
Manolis Papadeas 708a1ddc20 Organize the selection tool files in a new folder 2021-04-28 03:06:03 +03:00
Manolis Papadeas b3d581bad4 Create a parent SelectTool script where all selection tools extend from 2021-04-28 02:57:48 +03:00
Manolis Papadeas a7cec3424a Restore project brush creation when copying 2021-04-24 14:50:36 +03:00
Manolis Papadeas 320c538bc3 Add enter and escape as input actions 2021-04-23 23:47:42 +03:00
Manolis Papadeas afd7cc43c9 Rename move_content methods to transform_content 2021-04-23 23:37:07 +03:00
Manolis Papadeas 83d9800fc1 Fix selection being moved by one pixel when being resized & temp_rect has negative size 2021-04-23 19:18:41 +03:00
Manolis Papadeas 4412671a08 Add selection intersection with Ctrl + Shift + Mouse click 2021-04-22 18:12:45 +03:00
Manolis Papadeas ecdf689afd Add 1:1 rectangle tool creation and expanding from click position as its center
Works similar to the rectangle & ellipse drawing tools. Shift for 1:1, Ctrl for expanding from center.

Shift + mouse click = add to selection
Ctrl + mouse click = subtract from selection
Mouse click + Shift = Create a 1:1 (square) selection
Mouse click + Ctrl = Create a selection that expands from center
Mouse click + Shift + Ctrl = Create a 1:1 (square) selection that expands from center

A combination like Shift + Mouse Click + Shift will add to selection while also making a 1:1 selection
2021-04-22 16:45:26 +03:00
Manolis Papadeas 58ef2420c9 Fix issue when resizing selection after moving it 2021-04-22 03:50:16 +03:00
Manolis Papadeas 687f2619a1 Change the order of the top menus 2021-04-22 03:34:04 +03:00
Manolis Papadeas 28cfe9bf77 Got rid of the deprecated enabled_focus_mode
Godot 3.3 has arrived!
2021-04-22 02:11:35 +03:00
Manolis Papadeas dbda57396b Fix selection_offset not being reset to 0 when the bitmap's position is back to positive coordinates 2021-04-21 18:22:43 +03:00
Manolis Papadeas 515e75f3dd Gizmos resizing no longer re-flips the image when temp_rect is negative 2021-04-21 18:16:42 +03:00
Manolis Papadeas b420bebb3e Fix gizmos being able to get edited when there is no selection 2021-04-21 17:35:37 +03:00
Darshan Phaldesai dca76afe17
Shader based invert, desaturate and HSV dialogs (#475)
* Shader based invert, desaturate and HSV dialogs

* Bug fixes
2021-04-21 05:31:33 -07:00
Manolis Papadeas a712f822d7 Fixed bug when copying while moving content 2021-04-21 15:25:17 +03:00