David Capello
4f2eae6b77
Use C++17 [[fallthrough]] if needed
2022-06-29 20:14:03 -03:00
David Capello
b01c28c48d
Add missing override modifier
2022-06-29 20:05:58 -03:00
David Capello
7aa90db770
[lua] Add undo information in Sprite:newSlice() ( fix #3393 )
2022-06-29 19:46:37 -03:00
Martín Capello
c00f4b0d26
Comment m_overlap->setImmutable() to avoid crashing when moving tabs while debugging on windows
2022-06-29 15:02:21 -03:00
Martín Capello
306e13dfad
Clear the exported images with its mask color instead of 0 ( fix #3391 )
2022-06-28 18:43:23 -03:00
Gaspar Capello
1f5e4cfc4f
Add '{title}' and '{layer}' functionality to the Export dialog ( fix aseprite/aseprite#3363 )
...
Also Add '{title}' functionality to CLI dialog on sprite-sheet file name
2022-06-28 18:42:33 -03:00
David Capello
3d0b5d809c
Fix bug in move_or_copy_palette_colors() accessing out-of-range index
2022-06-28 15:17:29 -03:00
David Capello
6d30f274f4
[msvc] Fix problem using invalid min/max bounds in std::clamp
...
There is an assert() in the std::clamp() impl on MSVC that checks if
the min/max values are valid.
2022-06-28 14:02:18 -03:00
David Capello
b7d5d4a2c9
Editable resize factor in File > Export ( fix #3007 )
...
Related to #3008
2022-06-15 12:25:43 -03:00
David Capello
af74f8bc84
Fix memory leak when the created cel is not used in ExpandCelCanvas
2022-06-14 23:25:10 -03:00
David Capello
4aa5fedfec
New "on the fly" resize when saving/exporting image ( fix #1112 )
...
Implemented using a new FileAbstractImage interface to get scanlines
for each frame automatically resized (without modifying the original
sprite/without using SpriteSize command/adding new undo information).
Related to #3008
2022-06-14 23:19:39 -03:00
David Capello
c58dae51fa
Fix crash using a deleted surface in Overlay::restoreOverlappedArea()
...
Can happen when a resize event is received and m_captured stores the
surface with the old window size.
This was found opening a file from the CLI on Linux/X11.
2022-06-14 21:39:38 -03:00
David Capello
e2798bc849
Fix crash creating the "No Recent File" w/AppMenuItem() ( fix #3371 )
2022-06-14 14:01:28 -03:00
David Capello
30b61e501e
[lua] New Image(Image, Rectangle) ctor
2022-06-14 10:04:54 -03:00
David Capello
82cd244a6e
Add support to use SaveFile commands from CLI (without UI)
2022-06-13 19:19:44 -03:00
David Capello
ddc1b76214
Convert SaveFileBaseCommand to CommandWithNewParams
...
With this patch we fixed some use cases:
* We can show the ui with a default filename { filename=..., ui=true }
* We can specify fromFrame/toFrame for SaveFileCopyAs
2022-06-13 17:04:12 -03:00
David Capello
d160fb8b91
Minor changes in SaveFileCommand to use enums instead of bool params
2022-06-13 12:46:11 -03:00
David Capello
4471dab289
[osx] We cannot use std::optional::value() if we want to support macOS 10.9
...
It looks like value() member was introduced in macOS 10.13 (error
detected because we use CMAKE_OSX_DEPLOYMENT_TARGET=10.9).
2022-06-09 19:07:08 -03:00
David Capello
71d885d2a0
Replace base::clamp -> std::clamp as now we use C++17
2022-06-09 19:05:48 -03:00
David Capello
b2d46bf10b
Use std::unique_ptr/optional in more App objects
2022-06-09 17:29:40 -03:00
David Capello
99c0d5b743
Fix SpriteEvents destruction ( fix #3162 )
...
Classic "static initialization order fiasco" but in the destruction
phase.
2022-06-09 16:28:25 -03:00
David Capello
1630416991
Fix a crash when a script generates a Fg/BgColor change when closing the app
...
If a script Dialog changes the app.fgColor/bgColor in its onclose
callback, it will notify all fgColor/bgColor preference
observers (ContextBar is one of them), if we don't disconnect from
these signals when we're deleting ContextBar, the signals will call a
deleted slot/connection from app::script::close_all_dialogs().
2022-06-08 16:24:36 -03:00
David Capello
39ba883f90
Fix bugs executing plugin init/exit() functions in different situations
...
Reinstalling a previously enabled plugin extension wasn't running the
init() function, and uninstalling it wasn't calling its exit()
function.
2022-06-07 15:02:54 -03:00
David Capello
a39e235b23
Don't store a Command* pointer in AppMenuItem ( fix #3359 , fix #3360 )
...
Instead of storing a Command* we can store the command ID, which it's
less problematic in extreme cases where the Command that is being
referenced is deleted or recreated, i.e. when a plugin is
disabled/re-enabled.
2022-06-07 14:47:40 -03:00
David Capello
93dcc0349f
Fix warning by ThreadSanitizer in HttpLoader
2022-05-30 19:41:41 -03:00
David Capello
6ce205e0db
Add experimental option to disable shaders for color selectors ( #960 )
2022-05-30 19:35:01 -03:00
David Capello
1781ee0f15
Fix bug painting a spot w/brush size=max when releasing the mouse after auto-scrolling
2022-05-30 18:45:57 -03:00
David Capello
251323a4d5
Add new MouseMessage() ctor to copy full information of the original message
...
This is mainly to keep the pressure information when a MouseMessage is
copied, and any future property which could be added in MouseMessage.
2022-05-30 18:44:12 -03:00
David Capello
23b269a6bc
Use shaders for ColorWheel selector
...
This patch includes a fix for the RYB color wheel (the blue was not in
the correct hue angle).
2022-05-27 19:57:37 -03:00
David Capello
b561a6fbfb
Use Sentry breadcrumbs to get wintab32.dll information
...
Useful to detect which vendor is causing most of the crashes related
to wintab32.dll. Related to:
https://github.com/aseprite/aseprite/issues/2785#issuecomment-1033222868
2022-05-26 19:34:23 -03:00
David Capello
0e9001fbd3
Go to Desktop instead of showing an error if a parent folder is deleted in the middle of files navigation
2022-05-24 09:06:32 -03:00
Kukhyeon Heo
c457f1680a
[win] Fix crash browsing files when a folder is deleted ( fix #2950 )
2022-05-23 18:21:11 -03:00
David Capello
f886e85af9
Restore Reference Layer bounds correctly if we delete a cel & undo it ( fix #3264 )
2022-05-23 18:01:38 -03:00
David Capello
fd430603a0
[lua] Allow to compare different docobj types without failing ( fix #3218 )
...
Just return false if we compare a layer with a sprite, etc.
2022-05-23 17:15:15 -03:00
David Capello
3ac4ca8869
Create a custom widget for UndoHistory ( fix #3281 )
...
Several performance issues fixed (as we avoid keeping a ListBox with
ListItem in sync with the UndoHistory/UndoStates). There is still some
room for improvement: e.g. grouping several ui::View::updateView() in
just one if several onAddUndoState() will be called (e.g. when we are
running a script without transactions).
2022-05-23 16:19:06 -03:00
David Capello
1366a6948c
Fix performance issues adding/deleting widgets (related to #3281 )
2022-05-20 11:03:12 -03:00
David Capello
4f9fe90304
Display the Hue bar in ColorTintShadeTone with saturation/value=1.0
...
This is the previous behavior, but might change in the future.
2022-05-17 13:43:22 -03:00
David Capello
aca96c6d36
Use shaders for ColorTintShadeTone/ColorSpectrum selectors ( #960 )
...
This is the first step to optimize the painting code of ColorSelectors
which were using a background thread to paint their
surface. ColorWheel is still using the old method (without shaders).
This impl is already a lot faster on CPU, and it's ready for
GPU-acceleration in a future.
2022-05-17 13:24:53 -03:00
David Capello
4b99d3022a
Minor change in ColorSelector to resize the previous rendered canvas
2022-05-17 09:07:52 -03:00
David Capello
922f99ef87
Use Graphics::drawSurface() with explicit Sampling/Paint options
2022-05-17 09:07:24 -03:00
David Capello
38fca8ed61
Don't use std::iterator<> as it's deprecated in C++17
2022-05-16 11:50:12 -03:00
David Capello
b5414c5d95
Merge branch 'fix-2776' of https://github.com/ruerob/aseprite into ruerob-fix-2776
2022-05-13 15:25:18 -03:00
David Capello
0a3644dfbb
Update laf module with initial GPU support ( #960 )
...
Anyway this is incomplete and Aseprite is not yet ready to support GPU
acceleration (as the rendering phase is CPU intensive).
2022-05-13 11:41:44 -03:00
David Capello
adaef68bbb
Minor change in macros to detect platform
2022-05-05 09:39:16 -03:00
David Capello
7fea99a718
Move the "invert wheel for brush size" option to Edit > Keyboard Shortcuts > Mouse Wheel
2022-05-05 09:26:19 -03:00
David Capello
04903692f9
Add some comments & simplify code handling WheelAction::BrushSize
2022-05-05 09:15:00 -03:00
Thanos Kamber
2a00d41e95
Changed the default behaviour in Windows and Linux
...
This commit makes the default behaviour for changing the brush size to
be scroll up to increase brush size, this should already be the case
in macOS.
Note: It's correct in Windows and Linux, but I don't have a mac to test
it with.
2022-05-04 18:49:22 -03:00
Thanos Kamber
b9dfad6b6b
Option invert scrolling direction for brush size ( closes #2364 )
...
This commit adds the option to invert if the brush size increases or
decreases when holding CTRL and scrolling as mentioned in the issue #2364
By default, the previous behavior is kept.
2022-05-04 18:48:45 -03:00
David Capello
9248f53447
Don't invalidate the cached file system on each action
...
We can use the refresh button for this, and in a future we could
refresh it when the window loses focus and is activated again, or
listening the file system changes.
2022-05-03 15:46:01 -03:00
David Capello
db84c02e94
Fix crash accessing an invalid iterator in FileSelector::onRefreshFolder()
2022-05-03 15:24:55 -03:00