David Capello
5a713448da
Noisy MSVC warnings are disabled with laf-base flags now
2024-11-05 11:59:18 -03:00
Martín Capello
61515eea1f
Fix kMouse(Enter/Leave)Message handling( fix #4753 )
2024-11-04 16:08:05 -03:00
Gaspar Capello
bb567444cc
Add diagonal and 8-quadrant symmetry tests
2024-11-01 15:19:23 -03:00
Gaspar Capello
b7aa5d5ebe
Add diagonal symmetry ( fix #1171 )
...
Added symmetry UI buttons, 45 and -45 degrees axis.
Now are possible activate all four symmetries, both
diagonal symmetries, individual diagonal symmetry, and
the old horizontal/vertical combinations.
Also added symmetry to image brushes (prior to this fix:
only the brush position was symmetrical, the image brush
was not flipped).
2024-11-01 15:17:01 -03:00
Gaspar Capello
053a538272
Add image buffers and mask to apply symmetry to image brushes
2024-11-01 11:11:38 -03:00
Martín Capello
9e396227c2
Refactor HAS_MOUSE flag handling
...
Now each widget is responsible to enable/disable its own HAS_MOUSE flag
in response to the kMouseEnter/Leave message received. Also there is no
need to iterate over the parents since these messages are propagated
to the parent
2024-10-30 10:10:31 -03:00
Martín Capello
f67643a24e
Avoid using CallbackMessage for MouseEnter/Leave
...
Instead of wrapping the MouseEnter and MouseLeave OS events handling
inside a UI CallbackMessage, we now enqueue the corresponding
kMouseEnterMessage and kMouseLeaveMessage
2024-10-30 10:10:31 -03:00
David Capello
6093282ac3
Add pin/unpin icon to font search field ( #4617 , #4692 )
...
With this we can finally easily save font presets, even references to
external .ttf files.
2024-10-29 09:48:23 -03:00
David Capello
c83dd16a43
Add TinyEXIF submodule
2024-10-28 18:40:23 -03:00
David Capello
77dd92c679
Don't overlap search icon with text in SearchEntry
2024-10-28 15:32:41 -03:00
David Capello
b547b96835
Paint caret in ui::Entry even when there is no text
2024-10-28 15:28:01 -03:00
David Capello
35fcd94f04
Update laf ( fix #4740 )
2024-10-28 12:11:54 -03:00
David Capello
aed7c6a3b1
Merge branch 'main' into beta
2024-10-23 23:10:45 -03:00
Martín Capello
9667def753
Move kCallbackMessage logic to Widget
2024-10-23 23:09:28 -03:00
Martín Capello
cbac6f98a7
Fix MouseEnter and MouseLeave ( fix #4240 )
...
Callback messages were not being handled and since MouseEnter and
MouseLeave events were wrapped into CallbackMessages they were lost
and so never got called
2024-10-23 23:09:28 -03:00
David Capello
ed39f40efc
Fix crash/assert fail rendering UTF-8 file names w/CHARWRAP ( fix #4624 )
...
This could happen when painting text with CHARWRAP, where we removed
byte by byte from the end of the string, instead of removing (or
adding) well-formed UTF-8 string spans.
2024-10-22 16:05:03 -03:00
David Capello
4c06fbdaf3
Improve font search/selection from the context bar ( #4692 )
...
Improves the way we can write text to search a font, use up/down keys
to navigate through the font list, and use Enter/Esc keys to select
the font and go back to the text box.
2024-10-22 14:51:23 -03:00
دانتي باولا
85eb64ca35
Fix slice tool for tiles mode ( fix #4306 , #4705 )
2024-10-21 14:58:54 -03:00
David Capello
b90807f3e3
Merge branch 'main' into beta
2024-10-21 11:09:01 -03:00
David Capello
a7799b76fc
Add more tracing options to debug UI messages
...
Added REPORT_MOUSE/PAINT/TIMER_MESSAGES macros, and change _EVENTS to
_MESSAGES to avoid confusion with the current terminology.
The output string for each message was also simplified.
2024-10-17 19:23:52 -03:00
David Capello
71f6dbad28
Assert that we're in the UI thread in some ui::Manager functions
...
Simplify code removing DEBUG_UI_THREADS.
2024-10-17 15:30:18 -03:00
Martín Capello
dee6cd7d0d
Refactored to simplify code and avoid duplication
2024-10-16 17:10:26 -03:00
Martín Capello
6f9b10f9fb
Fix LayerImage::getMemSize
...
Now it doesn't count more than once the memory used by the layer's cels
2024-10-16 15:35:19 -03:00
Martín Capello
9560650867
Add support to dropping images into the timeline
2024-10-16 10:43:25 -03:00
Martín Capello
114a18bc4f
Move static funcs from Layer class to layer_utils
...
Also refactor the code to make these functions use the current
copyLayerContent function in app::Doc and make an actual copy of the
specified layer
2024-10-16 10:42:56 -03:00
Martín Capello
da60d14b11
Fix function to use surface format data
...
In Windows and macOs the underlying surfaces have different color
components order without this fix images are displayed with incorrect
colors
2024-10-15 16:24:41 -03:00
Martín Capello
0bf62c4545
Fix use of WebPGetFeatures's returned status
2024-10-15 16:24:41 -03:00
Martín Capello
ac1024f5d3
Relocate global webp decoder initilization
2024-10-15 16:24:41 -03:00
Martín Capello
765cf43f69
Update laf sumodule
2024-10-15 16:24:41 -03:00
Martín Capello
94202a51c8
Avoid trying to convert a null surface
2024-10-15 16:24:41 -03:00
Martín Capello
b1d1265450
Add support to webp encoded dragged images
2024-10-15 16:24:41 -03:00
Martín Capello
16f3e53ce9
Add flag to avoid creating backround layers
...
Now callers can force loading a file without creating any background
layer in the doc. This is because for drag and drop operations we don't
want to generate background layers
2024-10-15 16:24:41 -03:00
Martín Capello
abbbe11fe7
Fix drop of image files on Windows
2024-10-15 16:24:41 -03:00
Martín Capello
96ed89db8a
Propagate drop events to ancestors
...
When a drop event is not handled by a drag & drop enabled widget then
look for the next drag & drop enabled ancestor to propagate the drop
2024-10-15 16:24:41 -03:00
Martín Capello
365bad61d5
Support drag and drop images as new documents
2024-10-15 16:24:41 -03:00
Martín Capello
573822d9f1
Propagate drag & drop events to ancestors
2024-10-15 16:24:41 -03:00
Martín Capello
9ae0416627
Add support to drop a file into a timeline's cel
2024-10-15 16:24:41 -03:00
Martín Capello
84b56f4b2d
Add support to drop file sequences
2024-10-15 16:24:41 -03:00
Martín Capello
5523d3f366
Handle dropping on cels
2024-10-15 16:24:41 -03:00
Martín Capello
368d4cc143
Determine insertion point at layer
2024-10-15 16:24:41 -03:00
Martín Capello
718d15ad01
Add check to avoid undefined behavior
2024-10-15 16:24:41 -03:00
Martín Capello
8b0b1d8d1e
Allow executing transactions on contextless docs
2024-10-15 16:24:41 -03:00
Martín Capello
e5bf9cb253
Add LayerGroup::insertLayerBefore
2024-10-15 16:24:41 -03:00
Martín Capello
722c74189c
Allow dropping files into the timeline
2024-10-15 16:24:41 -03:00
Martín Capello
f7eed69d7c
Move OpenFileJob to its own header
2024-10-15 16:24:41 -03:00
Martín Capello
b110078a8b
Add static methods to copy a layer
2024-10-15 16:24:41 -03:00
Martín Capello
220254158f
Add UI feedback when dragging over the timeline
2024-10-15 16:24:41 -03:00
Martín Capello
65ec2bd7b7
Introduce drag & drop events to widgets
2024-10-15 16:24:41 -03:00
Martín Capello
2cf880eaf9
Delete duplicated include
2024-10-15 16:24:41 -03:00
David Capello
8b7370a77a
Improve click behavior to cancel Text box tool ( #4692 )
...
We've moved the logic to interpret "a single click" from DrawingState to
DelayedMouseMove.
2024-10-14 13:32:43 -03:00