Commit Graph

62 Commits

Author SHA1 Message Date
David Capello d683aaf437 [lua] Rename MouseCursor.HIDDEN -> MouseCursor.NONE 2022-12-26 18:31:37 -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 3d9021d717 [lua] Add app.theme.dimension/color.id to access theme values 2022-12-16 10:55:11 -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 4f96d37b1f Add repeat field to animation tags (#1275, #1740) 2022-10-19 12:25:06 -03:00
David Capello ab2cef1c29 Merge branch 'main' into beta 2022-04-06 00:00:44 -03:00
David Capello 2594892dd5 Fix crash when a Lua error happens in a Dialog onclose (fix #3237) 2022-04-05 23:57:36 -03:00
David Capello d077900fe5 Merge branch 'main' into beta 2021-10-13 10:15:39 -03:00
David Capello 212e9fbe6c New initial Lua debugger version (#1967)
Incomplete version of the Lua debugger.
Some available features:

* Break in next executed instruction
* Step in, over, out
* See & navigate stacktrace
* See local variables

Some missing features:

* Breakpoints
* Eval user expressions with local variables

The UX needs some improvement yet.
2021-10-12 16:52:14 -03:00
David Capello db44eeb269 Merge branch 'main' into beta 2021-10-12 10:45:33 -03:00
David Capello cd342f5630 [lua] Add events handling with Sprite.events & App.events
Added a new Events object with :on() and :off() methods to start or
stop listening to a specific event respectively. This also allows to
add several callbacks for the same event.

Replaced the temporal Site.onChange & Sprite.onChange implementations.

Related to several issues (enable more possibilities for): #138, #1403, #1949, #2965, #2980
2021-10-07 18:56:39 -03:00
lampysprites 4354be1d7a Add CMake option to disable websockets 2021-10-03 12:40:29 +07:00
lampysprites b0f10ee276 Add Websocket client API 2021-10-02 13:57:51 +07:00
David Capello ecbd845aae Merge branch 'main' into beta 2021-04-22 14:02:36 -03:00
David Capello d7a1c71df0 lua: Add support for selection tools in app.useTool()
Fix https://github.com/aseprite/api/issues/37
2021-04-22 13:51:56 -03:00
David Capello d8f6c666de Merge branch 'beta' into tilemap-editor 2020-07-30 16:49:17 -03:00
David Capello 7656627605 [lua] Fix calling onclose Dialog event when we close the app (fix https://github.com/aseprite/api/issues/28) 2020-07-28 10:35:38 -03:00
David Capello 27e2a287bf [lua] Add possibility to draw tiles w/app.useTool{ tilemapMode=TilemapMode.TILES... } 2020-07-14 17:27:40 -03:00
David Capello a10efb187b Merge branch 'master' into tilemap-editor 2020-06-01 16:21:32 -03:00
David Capello f56931a612 Add missing #include in engine.cpp 2020-05-22 11:15:15 -03:00
David Capello 1ec502d242 Add "ink" parameter to app.useTool() + minor needed refactors 2020-05-20 17:15:30 -03:00
David Capello a80af2b304 Merge branch 'master' into tilemap-editor 2020-05-18 20:24:22 -03:00
David Capello 6b6b9057bf Add support for scripts on extensions (#1949)
It still need some work to associate the command to menus easily.

Related issues:
  https://github.com/aseprite/aseprite/issues/1403
  https://github.com/aseprite/aseprite/issues/1949
  https://github.com/aseprite/api/issues/20
  https://community.aseprite.org/t/lua-script-extension-and-menu-api/5085
2020-04-02 20:21:21 -03:00
David Capello 32fd67e187 [lua] Add ev.button property onclick of shades widget 2020-03-27 16:14:00 -03:00
David Capello f2abf09bbf Change TilesetMode names: Manual/Auto/Stack 2020-02-17 09:06:02 -03:00
David Capello 92b794d457 Add the final TilesetModes UI: Manual/Semi/Auto 2020-02-17 09:06:01 -03:00
David Capello 26139c4ae2 Add tilemap layers (#977)
This is the first commit with a simple tilemap editor. Still buggy but
functional in several ways. Several changes were made:

* NewLayer command can receive a tilemap=true to create a new tilemap
  layer
* New ToggleTilesMode command added to switch between the palette and
  the tileset in the ColorBar (the ColorBar was expanded to show
  colors or tilesets with a generic AbstractPaletteViewAdapter)
* All commands to create new layers were moved to Layer >
  New... submenu
* There are a new tileset chunk to save tilesets in .aseprite files,
  and a new kind of cels to save tilemaps
* Added doc::LayerTilemap, doc::Tileset, etc. and several other types
  to handle tilesets/tilemaps in the doc layer.
* Added doc::Grid class with grid specifications that indicates how a
  tilemap <-> tileset must be drawn
* Added and expanded cel operations to work with tilemaps and
  conversions between regular LayerImage cels <-> LayerTilemap cels
  (e.g. copy cels in the timeline between layer types)
2020-02-17 09:06:00 -03:00
David Capello 45fc74f596 lua: Fix crash on program exit if some metatable.__gc calls print() 2019-12-11 23:46:33 -03:00
David Capello ff2af4f3e8 lua: Add app.fs object with some functions/properties for file names 2019-12-11 15:39:40 -03:00
David Capello d6c6b00b32 Now using -script from CLI can return an error code (exit code != 0) 2019-11-01 15:04:22 -03:00
David Capello aa66ff35a2 Refactor DocExporter::DataFormat -> SpriteSheetDataFormat 2019-10-07 17:22:27 -03:00
David Capello 1ef67cada4 lua: Support more filters from scripts (BrightnessContrast, Despeckle, HueSaturation, InvertColor, Outline) 2019-07-18 11:47:26 -03:00
David Capello 9143523827 Add params to ReplaceColor command (now this filter can be used from a script without UI) 2019-07-16 09:31:25 -03:00
David Capello 0264964c4e lua: Add app.preferences object 2019-04-24 21:14:20 -03:00
David Capello d35251d431 lua: Add Version() class 2019-04-21 00:04:49 -03:00
David Capello 8a821c83fd lua: Add Brush class and app.useTool{ brush } parameter 2019-04-18 22:33:48 -03:00
David Capello 396824383f lua: Add app.activeTool + Tool object 2019-03-23 09:19:10 -03:00
David Capello 4dd7febb99 lua: Add support to specify ExportSpriteSheet params 2019-01-08 16:42:01 -03:00
David Capello 0fef9bfa6b lua: Add ColorSpace class 2019-01-03 17:18:10 -03:00
David Capello b2cafe4108 lua: Add app.params and --script-param
Now parameters for scripts can be specified from the CLI with
--script-params and from gui.xml or .aseprite-keys from <param>
sections.
2018-12-10 16:45:30 -03:00
David Capello bf916fe029 lua: Add Range and RangeType 2018-11-23 13:10:12 -03:00
David Capello 61225b318a lua: Add support to load relative paths with dofile() 2018-11-21 17:42:47 -03:00
David Capello 7029e05dc4 lua: Avoid crashes executing transactions without an active sprite
This is true even for background Dialogs with buttons that will
try to create a transaction for a nil app.activeSprite.

With this change we introduced a new way to handle the app::Console window,
it'll be alive almost the entire execution of the program (so if we
close it, it's hidden, but then will appear in the same location if
it's open again, and the text is cleared).
2018-11-20 19:42:53 -03:00
David Capello c91d4b1430 lua: Rename ColorMode.GRAYSCALE to ColorMode.GRAY 2018-11-13 21:04:31 -03:00
David Capello bccd3f1bf8 lua: add Dialog() 2018-10-11 12:01:21 -03:00
David Capello f6e3aa9fd8 Add security dialog to access files from scripts 2018-09-17 13:14:56 -03:00
David Capello aed23f4751 lua: use the active EngineDelegate::onConsolePrint() in print() function
This is needed to output print() messages in the DevConsoleView when
it's open.
2018-09-14 20:38:27 -03:00
David Capello eb56884677 lua: use our base::open_file_raw to open files from io lib funcs 2018-09-13 16:55:53 -03:00
David Capello 02388e2d6a lua: add app.sprites 2018-09-12 12:55:56 -03:00
David Capello 4ab94e9982 lua: add Sprite/Image.spec (ImageSpec metatable) 2018-09-11 21:52:53 -03:00