Commit Graph

7761 Commits

Author SHA1 Message Date
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
25fbe786f8 [osx] Compile for macOS 10.9 in GitHub Actions 2022-06-09 19:10:31 -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
def9752199 Update laf module 2022-06-07 15:04:50 -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
fde8c1edb4 Add libcxx-devel as required package for Fedora in INSTALL.md (#3353) 2022-06-02 12:05:11 -03:00
David Capello
c84210fa74 Don't use expat for libarchive (we don't need support for xar files) 2022-05-31 16:51:00 -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
0d0cfa7bb6 [win] Fix double-clicking on Surface devices (fix #3347)
Fixed bug painting with full brush size when double-clicking on a
Surface device with Dynamics option enabled.
2022-05-30 14:34:52 -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
6277329176 Update harfbuzz module 2022-05-26 15:26:43 -03:00
David Capello
e8ad293aca Update laf module 2022-05-26 15:06:00 -03:00
David Capello
cbbb4f12fa Update pixman module 2022-05-26 11:31:36 -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
Gaspar Capello
8aff048364 Fix auto show selection edges tool tip (fix #3288) 2022-05-20 08:41:53 -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
Martín Capello
feece489fe Fix "Expand menu bar items on mouseover" tooltip (fix #3284) 2022-05-17 09:06:20 -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
e823ee37e9 Fix crash using built-in zlib functions from freetype
We must define FT_CONFIG_OPTION_SYSTEM_ZLIB to use zlib instead of the
built-in zlib functions in FreeType (which crash the program).
2022-05-09 15:40:34 -03:00
David Capello
5864e84d47 Fix freetype compilation including the correct dir for ftconfig.h for Unix-like systems 2022-05-09 13:06:41 -03:00
David Capello
ff397fe425 Update compilation instructions to new compilers and Skia-m102
The code is compatible with Skia-m96, so in the best case the update
of Skia is not mandatory yet.
2022-05-09 10:57:34 -03:00
David Capello
adaef68bbb Minor change in macros to detect platform 2022-05-05 09:39:16 -03:00
David Capello
50707117f6 Merge branch 'invert-mouse-wheel-for-brush-size' into main
* Fixes #2364
* Introduced in PR #2715
* More information about this issue in:
    https://github.com/aseprite/aseprite/issues/2364#issuecomment-832321902
  and
    issue #2896
2022-05-05 09:33:08 -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