Several performance issues fixed (as we avoid keeping a ListBox with
ListItem in sync with the UndoHistory/UndoStates). There is still some
room for improvement: e.g. grouping several ui::View::updateView() in
just one if several onAddUndoState() will be called (e.g. when we are
running a script without transactions).
This commit adds the option to invert if the brush size increases or
decreases when holding CTRL and scrolling as mentioned in the issue #2364
By default, the previous behavior is kept.
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.
Updates folder upon navigation (up, back, forward, in).
Also introduces a new button to refresh the current folder view when pressed or when hotkey pressed (F5 or ctrl+R)
Now on Windows it's more clear the different APIs to use (Windows
Pointer vs Wintab), the Wintab API works as before (generates mouse
events on WM_MOUSE message instead for each packet), and there is a
new Wintab mode to create events directly from packets (still a little
buggy with some tablets, but might be useful in other tablets to get
more precision for fast strokes).
* Now the max value in dynamics is equal to the brush size, so changing
the brush size (e.g. switching between pencil/eraser tools) will
change the max brush size (which is the most common parameter to
change)
* Added mini_slider style for min/max brush/angle values
* Fixed some issues clicking outside the dynamics popup
* Change the Home status bar text
* Show the full path of the document (if the user preferences allow
us) when we move the mouse over the document tab
* We weren't calling onWorkspaceViewSelected() from
WorkspacePanel::setActiveView()
We've changed the way the "recover files" option works:
* Now it's an option that is always available (so we can open files
even from sessions that were correctly closed in the past)
* We can open sessions from other Aseprite versions (as in a "best
effort" approach, if it works, ok, if it doesn't -> contact user
support)