Added a new option (enabled by default) to set the mouse cursor when a
pen/pointer message is received. This fixes a couple of issues:
1) When we zoom in/out with keys or scrolling the trackpad, the last
known position will be used (the pen position if we are using the
pen).
2) If we are recording the stream/live streaming with a software like
OBS Studio, the cursor position will correctly be in the pen
position if we're painting with the pen.
We have to mark the SkBitmap as modified (new generation ID) in
convert_image_to_surface() so we upload the bitmap changes as a new
texture in the GPU.
On CPU we might try to blit the old content of the window in a new
location, but with a GPU this operation is super slow, it's fast just
to draw everything again.
* Moved flags that only app-lib uses from add_definitions() to
target_compile_definitions()
* Curl flags for TLS moved from third_party to root CMakeLists.txt (as
they were defined in both places)
The code was refactored moving the BlenderHelper class from "render"
to "doc", and now doc::blend_image() supports blending different color
modes.
Some work is still needed to work with grayscale images correctly.
This is the exact version that SerenityOS uses, it looks like it can
comment on Aseprite issues, while the original
one (unsplash/comment-on-pr) cannot, giving us the following error:
Couldn't find an open pull request for branch with head at .
Before this fix, the "cannot modify sprite/cannot lock sprite" message
was displayed instead of just dropping pixels.
Co-authored-by: David Capello <david@igara.com>
This commit addresses the issue where the Shift+brush tool was not disabling the mouse stabilizer, leading to unintended behavior when previewing a line. This commit adds the necessary implementation to properly disable the stabilizer when Shift+brush tool is used. Additionally, the function DrawingState::disableMouseStabilizer() now calls ToolLoopManager::disableMouseStabilizer() to ensure the stabilizer is disabled correctly.
With https://community.aseprite.org/t/layers-become-empty-when-autosaving/22141
we found a couple of bugs where only 2 backed up versions of stored
objects were added in ObjVersions::add().
Also as ObjVersions has a limited space for 3 versions, it's a good
idea to ignore invalid binary files (files without the magic number
"FINE" as header). So now we only add valid versions to ObjVersions,
previously we could lead to a situation where 3 invalid binary
versions of the same object were added to the ObjVersions and a 4th
valid version were ignored.
Related to: https://github.com/aseprite/aseprite/issues/4481
ENABLE_UPDATER flag now only controls the "check update" portion of
the updater-lib. Probably the user agent string could be moved to the
ver-lib in the future.
Only in debug mode with TEST_BACKUP_INTEGRITY flag, we now don't
detect as a layer diff between the doc in memory and the restore doc
from backup if only some layer flags like visibility/collapse changed.
This is to avoid reshaping the widget text each time we have to paint
or calculate the widget size. When we change the widget text we
invalidate this blob and recalculate it when it's needed.