Commit Graph

2859 Commits

Author SHA1 Message Date
240bfa8ed5 Rewrote render_paint_node now it works without leaving pixels out, but it is an extermely inefficient implementation. It will be reworked soon. 2022-11-20 02:35:02 +01:00
5aa98e8955 Added Brenzenham's line algorithm found in the TileMapEditorPlugin to Geometry, and it's binder class. 2022-11-20 02:33:40 +01:00
e5fd8cd2b5 Added the ability for PaintNode rendering to skip evaluating certain PaintNode's childrens. 2022-11-19 23:19:41 +01:00
9141997c87 Changed the prefix of the image saving related helpers from save to render. 2022-11-19 23:12:06 +01:00
fb4aa87663 Initial image rendering implementation for PaintNodes. 2022-11-19 23:06:56 +01:00
4eec1ffcb4 Implemented serialization for PaintCanvas image data. 2022-11-19 20:43:40 +01:00
4f06946cf5 Centralize LZ4 usage. 2022-11-19 19:51:29 +01:00
7328a5126a Added a new lz4 module. 2022-11-19 19:39:50 +01:00
f1bda28b11 Cleaned up PaintNode resize notifications. Also now PaintCanvas allocates and resizes it's internal images properly. 2022-11-19 19:26:19 +01:00
b7d93e4525 Added clear() helper method to Image. 2022-11-19 19:25:04 +01:00
629ec81669 Added a new PaintProjectToolsPropertyInspector class. 2022-11-19 15:41:52 +01:00
be9493a25a Structural setup for saving images for PaintProjects. 2022-11-19 13:45:14 +01:00
cebc26f3ce Also handle NOTIFICATION_PAINT_NODE_RESIZED in PaintVisualGrid and PaintCanvasBackground. Note that they won't yet get that notification. 2022-11-19 13:21:05 +01:00
50cf64b7f1 Added a few notifications to PaintNodes. 2022-11-19 13:17:30 +01:00
9f8f6cb3b4 Now PaintCanvasBackground and PaintVisualGrid will automatically size themselves to a parent PaintNode if they can. 2022-11-19 13:16:54 +01:00
17842720a5 Added helper methods to PaintProject for creating PaintCanvasBackground and PaintVisualGrid. 2022-11-19 12:22:10 +01:00
71a455687d Cleaned up PaintVisualGrid. 2022-11-19 02:31:39 +01:00
d7ccaff144 More cleanups to PaintCanvasBackground. 2022-11-19 02:31:02 +01:00
5c38af1d1a Reworked PaintCanvasBackground. Now it draws it's pattern using canvas draw commands. 2022-11-19 02:20:52 +01:00
5a78997c83 Now PaintNodes can draw their outlines. 2022-11-19 01:23:33 +01:00
af1018bae6 Don't update the preview when the mouse is not over a PaintCanvas. 2022-11-19 00:21:15 +01:00
dc4ded8bd8 Now the undo and redo buttons in PaintToolsPropertyInspector actually work. 2022-11-18 23:50:05 +01:00
120e59baba Ported the logic to PaintCanvas from the experimental project. 2022-11-18 23:47:37 +01:00
4060eeccc7 Now _forward_canvas_gui_input() in PaintNode is a virtual, as it should have been. 2022-11-18 23:47:05 +01:00
8e766ee8ab Added undo and redo buttons to the PaintToolsPropertyInspector. It won't work for now. 2022-11-18 22:25:24 +01:00
65cf1c60d9 PaintProjectPropertyInspector now updates if the preset or the current color changes in PaintProject. 2022-11-18 12:26:36 +01:00
12193b03f4 Added a slider for the brush size property into PaintToolsPropertyInspector. 2022-11-18 01:09:25 +01:00
8c8dc051cb Added brush prefabs to PaintToolsPropertyInspector. 2022-11-18 00:33:27 +01:00
884fae4847 PaintProjectPropertyInspector now uses and manages the presets in PaintProjects. 2022-11-17 23:56:19 +01:00
2485665f89 Added more helper methods to PaintProject. 2022-11-17 23:55:36 +01:00
a3bedba43a Now PaintProject can store color presets. They also support defaults. 2022-11-17 23:32:09 +01:00
62a7fda32e Added a button for the currently selected color into PaintProjectPropertyInspector. Also logic cleanpus. 2022-11-17 23:05:27 +01:00
4b3c8aed30 Now ColorSelectorButton can work both in toggle mode, and in normal mode. 2022-11-17 23:04:16 +01:00
e53868f60f Added a new PaintProjectPropertyInspector class. 2022-11-17 17:46:03 +01:00
f72fa755e0 Added a new ColorSelectorButton. Same idea as the ColorPickerButton, except left clicking it emits a pressed signal, right clicking it opens a color picker. 2022-11-17 17:42:07 +01:00
6ddd0c1fa3 Fix non-tools builds. 2022-11-17 12:07:02 +01:00
526800fcf9 Added a new PaintToolsPropertyInspector. 2022-11-17 11:56:03 +01:00
b49ea8c5ef PaintColorGrid now has 5 columns. 2022-11-17 11:55:39 +01:00
8fc5633933 Added TOOL_ prefix to the Tools enum's values in PaintCanvas. 2022-11-17 11:55:25 +01:00
33c70f7a86 Removed PaintSidebar and renamed PaintSidebarModules to PaintCustomPropertyInspector. 2022-11-17 10:05:05 +01:00
b9f0429f8c Renamed sidebar_modules folder to property_inspectors in the paint module. 2022-11-17 09:55:37 +01:00
01f078e016 Created icons for the new paint nodes. 2022-11-17 00:56:04 +01:00
ef3110d4d1 Disabled the paint sidebar, as I found a better way of handling this using custom property inspectors. 2022-11-16 23:48:45 +01:00
25968b2803 Fix bindings. 2022-11-16 21:55:12 +01:00
761e381d0e Store the previous tool in Paintcanvas. 2022-11-16 17:23:17 +01:00
f439b421c5 Added some signals to PaintCanvas. 2022-11-16 17:09:21 +01:00
a2f02d669c Added a current_tool property for PaintCanvas. 2022-11-16 15:52:29 +01:00
338fc04a75 Added the Tools enum from PaintWindow to PaintCanvas. 2022-11-16 15:40:40 +01:00
fff7d1f152 Added brush_prefab and brush_size properties to PaintCanvas. 2022-11-16 15:38:09 +01:00
c683e675e1 Now PaintNodes can handle input events coming from the editor plugin. 2022-11-16 15:25:27 +01:00