9772 Commits

Author SHA1 Message Date
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
David Capello
5b88ea8532 Merge branch 'main' into beta 2024-10-11 15:16:32 -03:00
David Capello
a49bfe7f0a Lua was still being compiled as C (instead of C++) when generating Visual Studio solutions
We're compiling Lua as C++, but it seems that target_compile_options()
doesn't work for Visual Studio solutions (only for Ninja/makefiles).
The proper cmake solution to this issue is using
set_source_files_properties() to specify C++ as the language to use to
compile all Lua C files. This generates a valid Visual Studio solution.
2024-10-11 15:05:18 -03:00
David Capello
11883a51ff Disable Curl tests in compilation
This avoid creating a lot of testNNN projects inside the Visual Studio
solution generated by cmake.
2024-10-11 14:59:37 -03:00
David Capello
e900f2dfd9 Fix blending of rendered text into semi-transparent pixels (#4692) 2024-10-10 16:48:51 -03:00
Liebranca
0a45319e06 Fix cursor alignment and implement pivot point 2024-10-09 21:49:35 -03:00
Liebranca
dca06a53c0 Cap scaling to grid size 2024-10-09 21:49:35 -03:00
Liebranca
d6ddaa7a27 Snap cels to grid on moving cel action (fix #4027) 2024-10-09 21:49:35 -03:00
David Capello
8fd882d90b Merge branch 'main' into beta 2024-10-08 15:06:57 -03:00
David Capello
384813421c [lua] Update scripting API version to 29
This should have been changed for v1.3.9.
2024-10-06 20:41:08 -03:00
Gaspar Capello
ff520c14d2 Fix transparency issue with new color criterias (fix #4686)
Prior to this fix, the following particular conditions caused
an incorrect conversion of an opaque color to a transparent color
during RGBA->Indexed conversion:
- RGBA image with black color (#000000 a=255) painted on the canvas
- The black color is absent from the palette.
- The mask color is present in the palette
- Converts the sprite to indexed color mode using
  Sprite > Color Mode > More Options
- Select Advanced Options, select a Color Best Fit Criteria other than
  Default (for example CIELAB) and press OK
- The original black color becomes the mask color.
v1.3.9.1
2024-10-04 10:37:28 -03:00
David Capello
e5faac07b5 Fix regression breaking linked cels on "Merge Down" (fix #4685) 2024-10-03 12:43:26 -03:00
David Capello
08d9101b62 Fix mouse capture being lost when scrolling list of fonts
As font thumbnails are generated on-demand, each time a new thumbnail
is generated, the viewport will be updated (updateView() called). This
viewport update will remove the scroll bars temporarily which will
remove the mouse capture from them, but we'd like to preserve that
capture so the mouse can continue dragging the mouse/scrolling.
2024-09-27 19:01:51 -03:00
David Capello
ec3f8617f0 Update laf module 2024-09-27 18:10:06 -03:00
David Capello
5c7a3a41f6 Add ligatures button to Text tool (#4679)
Doesn't fully fix the issue as we cannot move the cursor between the
ligature clusters, but at least we can disable the ligatures now.
2024-09-25 16:37:41 -03:00
Christian Kaiser
a975873f7a Fix Sentry wrapper compilation v1.3.9 2024-09-24 11:30:59 -03:00
David Capello
4e2488534f Don't show GPU checkbox in preferences dialog
This option is only available in ENABLE_DEVMODE, regression from
31c80a5e0c8724635eff173a64b88604de595367.
2024-09-23 15:04:11 -03:00
David Capello
e700cce987 Merge branch 'main' into beta 2024-09-23 15:03:11 -03:00
David Capello
c697a8767b Update laf module 2024-09-23 13:46:13 -03:00
Christian Kaiser
96438b789e WebP show_alert reset in options 2024-09-23 13:38:14 -03:00
Christian Kaiser
b10cc60fdb Add dont_show checkbox for WebP format 2024-09-23 13:38:14 -03:00
دانتي باولا
b40614ca36
Use FlattenLayers for MergeDownLayerCommand (#4643)
Rework of the cmd::FlattenLayers implementation to accommodates the
'Merge Down' command as a special case.
2024-09-20 17:25:09 -03:00
David Capello
d1e134d988 Don't read the magic number of all objects to show a backup description (#4610)
Now we lazily initialize the description of each backup on each
session. This means that only when we have to display the item on the
screen (onPaint) we'll ask for the description/doc
info (width/height/color mode, etc.). We've also removed the check of
all magic numbers of every single object in the backup when we only
need the doc description.
2024-09-19 19:13:47 -03:00
David Capello
340883a2f5 Don't use webp/freetype/harfbuzz libs/includes if they're not found
Fixes #3589, #3628, #3831, #3874, #4547
2024-09-19 16:14:32 -03:00
David Capello
c4e5473d1c Parse hour/minutes/seconds from session filenames (#4660) 2024-09-19 16:06:17 -03:00
Christian Kaiser
5860269358
Use new list_files, parse dates to check if sessions are old (#4660) 2024-09-19 15:50:02 -03:00
Christian Kaiser
31c80a5e0c Add reset preferences page (fix #4432, #4620) 2024-09-17 16:09:14 -03:00
Gaspar Capello
0f7cac0f0c [lua] Add get/set the foreground/background tile (fix #4403)
It's now possible to get/set the selected foreground/background tile
index. Example of use:

  app.fgTile = 1    -- the primary tile is '1'
  print(app.fgTile) -- this will show '1'
  app.fgTile = 0    -- the primery tile is 'no tile'
  print(app.fgTile) -- this will show '0'
  app.bgTile = 2    -- the secondary tile is '2'
2024-09-16 16:19:29 -03:00
David Capello
7e504ad5ea Merge branch 'get-gc-from-image' into beta (#4605) 2024-09-16 16:05:02 -03:00
Martín Capello
100ce10618 Add Image.context lua tests 2024-09-16 16:03:41 -03:00
Martín Capello
51c976f167 Add GraphicsContext format hint member
This helps in setting the right paint color when using GraphicsContexts
based on non RGB images.
2024-09-16 16:03:34 -03:00
Martín Capello
79a22deaa9 [lua] Add Image.context property (fix #4330) 2024-09-16 16:00:59 -03:00
Martín Capello
d1f1a8dcb0 Remove include already included in header 2024-09-16 14:39:08 -03:00
Liebranca
46c57c91c7 Release mouse before command execution (fix #4484) 2024-09-16 14:31:22 -03:00
David Capello
0a1c5275a7 We have to list commands in Keyboard Shortcuts regardless of context
Removed KeyContext param from Command::isListed().
2024-09-16 10:53:31 -03:00
David Capello
55e1b320c4 Remove invalid ExportSpriteSheet definition from gui.xml 2024-09-16 10:37:36 -03:00
Gaspar Capello
04c45f4329 Fix duplicate items in keyboard shortcuts list (fix #4387)
Introduced Key::isListed() and Command::isListed() to customize when a
command should be displayed in the list of shortcuts.

Removed commands:
'Launch'
'OpenBrowser'
And removed unnecessary commands:
'Change Color Mode: Indexed'
'Contract Selection'
'Export Sprite Sheet'
'Flip Canvas Horizontally'
'Frame Properties'
'Load Palette'
'Open Sprite'
'Playback Speed 1x'
'Run Script'
'Save Palette'
'Select Used Colors'
'Set Palette Entry Size'
'Tileset Mode: Auto'
2024-09-16 10:14:12 -03:00
Gaspar Capello
a7a31f9a4a Fix duplicate "Zoom" items in the keyboard shortcuts list (#4387)
Before this fix, the following items were repeated in the list box:
'Zoom 600%'
'Zoom 800%'
'Zoom 1600%'
2024-09-16 10:08:47 -03:00
Gaspar Capello
aca9bf6bb7 Fix duplicate "Tiled Mode" items in the keyboard shortcuts list (#4387) 2024-09-16 10:08:35 -03:00
David Capello
12e253d1ef Revert [symmetry]reset_position string name
This was changed to reset_position_to_center in
d4c9a2fb36f44576db2dee76613525623d8b5b06 but it's better if we keep
the string ID as it is so we can use the existent i18n.
2024-09-16 09:32:07 -03:00