This adds a new button in the context bar so we have the three
available options to handle a transformation/drop pixels:
* Drop pixels and deselect (Esc key)
* Drop pixels but keep the selection (Enter key), new "Apply" command
* Discard changes/undo (Ctrl+Z)
This adds a new key context (Transformation) and also fixes tooltip
shortcuts on context bar buttons to show the current configured
shortcut for each action.
Reverts debab653fa and 194f8424a8
This was originated for #1279 (CLI-only Aseprite) which can be
achieved with LAF_BACKEND=none anyway.
In this way we simplify the development process, and checking for the
availability of the GUI can be done in run-time through App::isGui()
or Context::isUIAvailable().
This menu was accessible right-clicking the Play button in the
Timeline (and in the Preview window, with specific options for the
Preview).
This change includes some changes:
1. Now if a menu <item> in gui.xml doesn't specify a text field, the
text of the command is used (to avoid double translation, the bad
side is that we don't have a mnemonic specified).
2. Menu::showPopup() can be used with submenus from the root menu, to
do this we have to remove the menu item owner temporarily before we
show the menu as popup (see the change in Menu::showPopup())
3. We can specify a special active DocView for commands with
UIContext::SetTargetView, this is used to set the Preview editor as
active view for commands like TogglePlayOnce, etc.
Now we can export one (or several) tilesets in one sprite sheet (using
the same options that are available in the Export Sprite Sheet dialog,
e.g. like extruding tiles, related to #1982 in some way).
Some changes:
* New "Source" field and fromTilesets param for ExportSpriteSheet
command
* New ExportTileset command (which acts like ExportSpriteSheet but
with fromTilesets=true by default)
* Added --export-tileset CLI option
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.
Now we have an easy way to convert between:
Background <-> Layers <-> Tilemaps
Deprecated (they are kept only for backward compatibility):
BackgroundFromLayer
LayerFromBackground
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)
With these new classes (Param/NewParams/CommandWithNewParams(Base)) we
can load parameters for commands from a Lua table directly without
converting to a string. So instead of
Lua value -> string -> C++ param type
We can do
Lua value -> C++ param type
directly.