Commit Graph

7466 Commits

Author SHA1 Message Date
David Capello
28c26aa62c [lua] Add ev.tileset value to remaptileset event 2022-12-27 15:54:41 -03:00
David Capello
c8d4c60f07 [osx] Fix error using std::any_cast() without a pointer as argument (not available in macOS 10.9) 2022-12-27 15:53:41 -03:00
Martín Capello
8568390306 Add a map of custom properties to be used by extensions (#3631) 2022-12-27 14:24:48 -03:00
David Capello
25a4e67aaa [lua] Add remaptileset event for sprites 2022-12-27 14:11:05 -03:00
David Capello
d683aaf437 [lua] Rename MouseCursor.HIDDEN -> MouseCursor.NONE 2022-12-26 18:31:37 -03:00
David Capello
8447a097c6 [lua] Add Image.id and Image.version getters 2022-12-26 17:20:27 -03:00
David Capello
a6a7519178 [lua] Add possibility to modify the mouseCursor of a canvas 2022-12-26 15:33:14 -03:00
David Capello
ae6f9c22ba Add support to save multiple files with -save-as {title} etc.
Fixes #2442, fixes #3629, and https://community.aseprite.org/t/16491
2022-12-23 12:09:05 -03:00
David Capello
5309991d0d Remove CliOpenFile argument from CliDelegate::loadPalette()
It wasn't used.
2022-12-23 12:07:04 -03:00
anGie44
4dc579c386 Update save-as option to use format elements (#2442) 2022-12-23 11:30:49 -03:00
David Capello
822a309724 Several fixes/rewording for --tagnames-format CLI and GUI 2022-12-23 09:59:01 -03:00
David Capello
658a583c7b Assign default/restore tagname format in Export Sprite Sheet UI 2022-12-23 09:53:04 -03:00
Nathan Pannell
bc9e201255 Added cli option --tagname-format 2022-12-23 09:11:58 -03:00
David Capello
8eacee4c98 [lua] Dialog:canvas() will capture the mouse on mousedown/up by default 2022-12-21 19:09:34 -03:00
David Capello
cdab75beed [lua] Add GraphicsContext:drawImage(image, srcRect, dstRect) 2022-12-21 19:08:46 -03:00
David Capello
f23adb0b1a [lua] Add GraphicsContext:clip()/rect()/roundedRect() functions 2022-12-21 19:07:43 -03:00
David Capello
909ebd6dcb [lua] New Rectangle(point, size) constructor 2022-12-21 13:01:03 -03:00
David Capello
4d880bd5b7 [lua] Add Rectangle.origin and Rectangle.size properties 2022-12-20 18:04:51 -03:00
David Capello
39109793a9 [lua] Add GraphicsContext:drawImage(img, x, y, w, h, dx, dy, dw, dh) 2022-12-19 16:39:59 -03:00
David Capello
914e14377c [lua] Add Image.bounds and Image:shrinkBounds() 2022-12-19 12:27:30 -03:00
David Capello
810aefaeab Add TODO note to improve shrink_bounds_templ() performance 2022-12-19 12:26:41 -03:00
Gaspar Capello
6d6dfb96a9 Add user data to tiles (fix #3626)
Co-authored-by: David Capello <david@igara.com>
2022-12-17 14:13:49 -03:00
David Capello
ea17eae524 Fix several bugs copying name/userData when we clone tilesets
Found on #3630

Co-authored-by: Gaspar Capello <gaspar@igara.com>
2022-12-17 13:42:51 -03:00
David Capello
3d9021d717 [lua] Add app.theme.dimension/color.id to access theme values 2022-12-16 10:55:11 -03:00
David Capello
a98f81288d [lua] Add GraphicsContext:drawThemeImage/Rect() functions
Maybe not the best API, but the simplest, in the future we could cache
the part using its ID with something like: app.theme.parts.part_id
2022-12-15 19:41:13 -03:00
David Capello
d4cefb8ba6 Fix crash double clicking a Dialog:canvas()
There were missing some setRecipient() when some messages are
converted to other kind of message (e.g. DoubleClick -> MouseDown)
2022-12-15 19:29:28 -03:00
David Capello
789e857d98 [lua] Add path functions to GraphicsContext object 2022-12-15 16:22:22 -03:00
David Capello
8b390d56fd [lua] Fix mouse position to client coordinates on mouse events 2022-12-15 16:21:24 -03:00
David Capello
b42a8b7ecf [lua] Add fillText() and measureText() functions to GraphicsContext 2022-12-15 10:01:13 -03:00
David Capello
0aaa9fdddf [lua] Add onmousemove/down/up events to canvas widget
At the moment very basic properties were added to the received event:
x, y, and button.
2022-12-14 22:13:49 -03:00
David Capello
25682a44d8 [lua] Add Dialog:repaint() function 2022-12-14 21:17:51 -03:00
David Capello
2cb526a19b [lua] Add new GraphicsContext type for Canvas onpaint event
We include a simple initial API for the GraphicsContext (like
stroking/filling rectangles and images).
2022-12-14 18:59:44 -03:00
David Capello
6e13e59aff [lua] Add initial version Dialog:canvas() (aseprite/api#87)
Right now it just creates a plain widget, but now we can specify
hexpand/vexpand arguments too so we can create a canvas with a fixed
size or with dynamic size (e.g. to use the whole dialog client area).

The onpaint event is not functional yet.
2022-12-14 17:33:29 -03:00
David Capello
c25649d865 [osx] Fix shortcuts for Edit actions when a native file dialog is displayed
Fixes #2719, related to #3615
2022-12-09 13:55:44 -03:00
David Capello
3a8596d02b [osx] Add QuickLook plugin to generate thumbnails and previews (#834, #3615) 2022-12-08 12:05:17 -03:00
David Capello
01967be53c Don't put the color indicator in normal map outside the wheel (fix #3595) 2022-11-17 17:50:17 -03:00
David Capello
d8c1b19c80 Update all editors after pasting cels/frames/layers in timeline (fix #2215, #3434) 2022-11-17 11:56:01 -03:00
Martín Capello
04e095bbd5 Fix clamp limit to avoid assertion in debug mode on visual studio on windows 2022-11-16 12:14:21 -03:00
David Capello
8cda612be5 Update shader for color wheel for normal map to match #3114 behavior 2022-11-16 11:50:15 -03:00
David Capello
b2973f71d7 Remove unneeded code for ColorWheel 2022-11-16 11:03:19 -03:00
Gaspar Capello
6ccf3f2385 Simplify if-elseif-else statements to calculate discrete steps in normal map 2022-11-15 16:00:01 -03:00
Christophe SAUVEUR
f240545020 Fixed color picking in normal map mode 2022-11-15 14:13:08 -03:00
Christophe SAUVEUR
0c490dff96 Fixed normal color wheel generation 2022-11-15 14:12:03 -03:00
David Capello
8149e4fa45 Fix timeline conf popup is not closed when we switch between docs 2022-11-09 09:03:21 -03:00
David Capello
551aae36c4 Destroy overlay in ~DraggableWidget destructor
There is an issue where we can drag a recent item and load a file
(using Alt+F or Ctrl+O) while dragging the recent item. With this
commit the overlay is destroyed after the file is open (without this
the overlay is kept floating).

Probably related to #3504 but we're not sure.
2022-11-08 21:14:12 -03:00
David Capello
4643aa6a1b Fix possible crash calling View::getView() with a nullptr widget (#3504) 2022-11-08 21:13:26 -03:00
David Capello
0eb9e17caf Fix clang error on macOS
note: 'operator<<' should be declared prior to the call site or in namespace 'doc'
2022-11-08 19:54:24 -03:00
David Capello
7f8df8a08d Fix compare_docs() to compare cels correctly + added more comparisons 2022-11-08 19:26:27 -03:00
David Capello
bd674dcb31 Add user data to tilesets (only logic side + scripting properties)
There is no UI yet to set Tileset user data (color and text).
2022-11-08 19:23:56 -03:00
David Capello
4dfa3ca0eb Add doc::rgba_seta/graya_seta() functions 2022-11-04 11:28:47 -03:00
David Capello
1f71286960 Minor change in convert_pixel_format() using "auto" keyword 2022-11-03 19:43:31 -03:00
David Capello
66496bdcd2 Replace unique_ptr w/std::optional for optional values in doc::Brush 2022-11-03 08:26:10 -03:00
David Capello
d029efbcc0 Merge branch 'saved-undo-state' (#3578) 2022-11-03 07:53:04 -03:00
David Capello
683954b8fd Enable DeselectMask and MaskAll commands when ENABLE_UI=off 2022-11-02 10:26:51 -03:00
David Capello
38c0400927 Fix Doc::isModified() when we are in a similar UndoState to the saved one
If the current UndoState doesn't modify the "saved state" (e.g. there
is a sequence of undoes/redoes that doesn't modify the saved version
of the sprite compared to the current one), we can indicate that we
are in the saved state anyway (!Doc::isModified).
2022-11-02 09:58:18 -03:00
David Capello
e703de535e Show saved undo state in Edit > Undo History window (fix #3578)
Some extra changes introduced:
* DocUndo & CmdTransaction were simplified: removing the saved
  counter, and storing a specific UndoState pointing to the state that
  matches the version in the disk
* DocUndo::onDeleteUndoState() can generate a
  impossibleToBackToSavedState() if the saved state is deleted. This
  might fix some bugs where a "save changes" dialog weren't displayed
  after undoing and making changes (probably related to #3542, but not
  sure)

Some extra work is needed to avoid showing the "save changes" dialog
if we are close to the saved state and only non-modification undo
states separate us from there. E.g. if we open a file, select the
canvas, and close it, Aseprite now shows the "save changes" dialog,
this wasn't true in previous versions.
2022-11-02 09:57:52 -03:00
David Capello
ebdf535ec8 Remove unused member function Timeline::celBoxSize() 2022-10-31 13:11:57 -03:00
Gaspar Capello
e1caf39887 Fix Marquee Tool becomes invisible in the grayscale mode (fix #3274)
Before this fix, during the action of selecting an area (with any selection tool), the preview of the selection edge in grayscale Color Mode was not displayed (fix #3274).
2022-10-27 15:39:16 -03:00
David Capello
49e4e10311 Fix bug where Layer > Open Group didn't update the Timeline rows 2022-10-24 17:17:06 -03:00
David Capello
69d3ada204 Avoid setting invalid frame on Editor in certain cases
Playback is still buggy, and we need to fix some test cases, but this
is useful to fix a crash/assert fail if we try to set as active frame
something outside the valid range.
2022-10-24 16:19:25 -03:00
David Capello
b21831561a [lua] Add Tag.repeats field 2022-10-24 14:03:05 -03:00
David Capello
3691b9a16c Merge branch 'repeat-tag' 2022-10-24 11:05:24 -03:00
David Capello
fafaf85b29 Simplify onion skinning ignoring subtags 2022-10-20 16:00:03 -03:00
David Capello
6c2d2f6f79 Fix crash if we remove a tag when we're playing the animation 2022-10-20 14:51:42 -03:00
David Capello
9601c02812 Add option to play/preview with subtags & repetitions 2022-10-20 14:41:24 -03:00
David Capello
e78e1e9a54 Remove current_editor, replace with Editor::activeEditor()
Finally removed src/app/modules/editors.h file.
2022-10-20 12:31:22 -03:00
David Capello
4f96d37b1f Add repeat field to animation tags (#1275, #1740) 2022-10-19 12:25:06 -03:00
David Capello
17a5b3f3fc Replace base::mutex with std::mutex
* Removed base::mutex & base::scoped_lock
* We can use std::lock_guard with deduced template args (as we're
  using C++17 now)
2022-10-18 16:20:34 -03:00
David Capello
616f74ae2d Minor changes when accessing "properties_grid" widget 2022-10-13 09:40:54 -03:00
Joshua Ogunyinka
ed26fdd806 Add missing language strings in other uncategorized sections 2022-10-12 14:57:23 -03:00
Joshua Ogunyinka
6c55847151 Add more missing language strings for filtering/editing 2022-10-12 14:54:50 -03:00
Joshua Ogunyinka
aaa69a3d81 Add more missing language strings when importing/exporting sprite sheets 2022-10-12 14:40:01 -03:00
Joshua Ogunyinka
a4bc897f76 Add missing language strings for preview editor/new brush/inks/mask by color 2022-10-12 14:36:31 -03:00
Joshua Ogunyinka
3cdb187487 Add more missing language strings for colorbar's wheel properties 2022-10-12 14:24:20 -03:00
Joshua Ogunyinka
a6aa84981f Add more missing language strings when changing sprite's pixel format 2022-10-12 14:23:40 -03:00
Joshua Ogunyinka
05c4326ada Add missing language strings for all components using the status bar 2022-10-12 14:23:30 -03:00
Joshua Ogunyinka
bf88fa2bd1 Add missing language strings when loading/saving components 2022-10-12 14:21:21 -03:00
Joshua Ogunyinka
05ece3fad1 Add missing language strings in sprite size command 2022-10-12 13:49:24 -03:00
Joshua Ogunyinka
9105642dbf Add missing language strings for layer/frame/anidir comboboxes 2022-10-12 13:46:29 -03:00
Joshua Ogunyinka
dd2efe28d2 Add missing language strings for dithering selector 2022-10-12 13:41:19 -03:00
Joshua Ogunyinka
974c13dd33 Add missing language strings in sprite properties & import sprite sheet 2022-10-12 13:38:22 -03:00
Joshua Ogunyinka
6bc0d312d2 Add missing language strings in the layer properties 2022-10-12 13:24:09 -03:00
Joshua Ogunyinka
ab56186d79 Update commands strings when language change 2022-10-12 13:22:26 -03:00
Joshua Ogunyinka
bbfae36d8f Add missing language strings for preference window 2022-10-12 13:20:41 -03:00
Joshua Ogunyinka
de44545930 Add missing language strings for keyboard shortcuts
Co-authored-by: David Capello <david@igara.com>
2022-10-12 13:20:35 -03:00
Joshua Ogunyinka
797f8db2fa Add missing language strings for the file selector 2022-10-12 13:20:23 -03:00
Joshua Ogunyinka
60b5df4030 Add missing language strings for the color bar 2022-10-12 13:19:32 -03:00
Joshua Ogunyinka
3c815ac1bd Add missing language strings for the timeline/context bar 2022-10-12 13:19:20 -03:00
David Capello
a5ac9ada27 Merge branch 'main' into beta 2022-10-11 18:50:09 -03:00
David Capello
c253bfbedd Simplify FilenameInfo initialization 2022-10-06 11:49:05 -03:00
Gaspar Capello
16362cc511 Fix {duration} file format always gives an incorrect number (fix #2998)
Before this fix, the string '{duration}' in the file format gave an incorrect/random and constant number across all frames. This happened in Save-AS, Export File, CLI, Json on Export Sprite Sheet.
2022-10-06 11:28:16 -03:00
Jeremy Behreandt
1133f4cc0f Floor Mod in Shift Image Mask
Changed shift image with mask routine to use floor modulo (or Euclidean remainder). Switched from two nested for loops to one for loop.

In response to bug report at https://community.aseprite.org/t/app-command-movemask-error-when-wrapping-with-a-value-higher-than-sprite-width/10437 .
2022-09-30 11:11:02 -03:00
David Capello
ba3452b059 Merge branch 'main' into beta 2022-09-29 17:23:11 -03:00
David Capello
6b21fec417 [lua] Add "ev" args to "change" sprite event, to ask for "ev.fromUndo"
In this way we can know if the event was generated from a
undo/redo/undo history change and not from the direct user
manipulation of the sprite.

Useful for scripts like in #3539
2022-09-29 12:10:09 -03:00
David Capello
5c4024c44f Replicate same changes from c0dfb832d8 for redo (#3539) 2022-09-29 11:04:05 -03:00
David Capello
c0dfb832d8 Fix crash if a script modifies the sprite when we're undoing/redoing (fix #3539)
To do this the script must be listening the sprite changes (which are
generated on undo/redo commands too).
2022-09-29 10:57:40 -03:00
Gaspar Capello
022c0c38df Fix dynamics + gradient + no dithering + fg or bg is mask color results in an opaque stroke.
Before this fix, dynamic + gradient (pressure or velocity) + no dithering + fg or bg = mask color results in an opaque stroke.
2022-09-28 18:50:01 -03:00
Martín Capello
4ff4274deb Refactor some conditional expressions to fix a compiler warning 2022-09-28 17:08:11 -03:00
David Capello
88594bfa0e Merge branch 'main' into beta 2022-09-28 16:20:03 -03:00
David Capello
00be9afcea Avoid warning about use of uninitialized variable 2022-09-28 15:56:26 -03:00