Commit Graph

120 Commits

Author SHA1 Message Date
David Capello 0c0ecc1792 Fix disabled checkbox with mouse style (fix #4988)
build / build (Debug, macos-latest, lua, cli) (push) Waiting to run Details
build / build (Debug, macos-latest, noscripts, cli) (push) Waiting to run Details
build / build (Debug, ubuntu-latest, lua, cli) (push) Waiting to run Details
build / build (Debug, ubuntu-latest, noscripts, cli) (push) Waiting to run Details
build / build (Debug, windows-latest, lua, cli) (push) Waiting to run Details
build / build (Debug, windows-latest, noscripts, cli) (push) Waiting to run Details
build / build (RelWithDebInfo, macos-latest, lua, gui) (push) Waiting to run Details
build / build (RelWithDebInfo, ubuntu-latest, lua, gui) (push) Waiting to run Details
build / build (RelWithDebInfo, windows-latest, lua, gui) (push) Waiting to run Details
Probably not the best fix, but I think that "disabled mouse" is a
possible state to be styled/themed.
2025-11-12 18:42:53 -03:00
David Capello 4d0830bdc8 [lua] Fix ui::View style when both scrollbars are visible
Now we don't paint the bottom-right corner border of the View widget
for autoscrollbars dialogs.
2025-11-12 17:13:00 -03:00
David Capello f61c2c3950 Revert Esc key behavior to drop+deselect (fix #5102)
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
2025-08-27 11:56:57 -03:00
David Capello 0c49f2d7ad Update both .xml theme files through the tinyxml2 serializer 2025-08-27 09:31:46 -03:00
Maplegecko 698d79b049 [lua] Make Dialog:separator more in line with other widgets (fix #4989) 2025-06-09 13:26:39 -03:00
David Capello 7167969963 [theme] Fix horizontal separator alignment 2025-04-02 09:32:34 -03:00
David Capello 816be744ac Add Widget::textBaseline() to fix several misalignments using scalable fonts
* Each widget can customize its text baseline (onGetTextBaseline()) to
  know where to draw text when it's vertically aligned to the middle
  (now more correctly "aligned to the baseline").
* Add PAINT_BASELINE to test where the baseline is on each widget.
* "Aseprite" and "Aseprite Mini" fonts now have a special
  descent/ascent configuration with a specific baseline position.
2025-03-27 18:22:51 -03:00
David Capello d3265a1711 Fix UI vs Screen Scaling bugs w/window buttons and button sets/grids (fix #5043)
Includes:
* New ui::Style::rawMargin/Border/Padding() to detect what values are
  undefined, and ui::Style::margin/border/padding() to return normalized
  values (replacing kUndefinedSide with 0 when a value is not defined in
  the whole hierarchy of styles). With this change we avoid using a
  margin/border/padding value of -1 by mistake.
* New guiscaled_div() to calculate an integer division taking care the
  guiscale() for a scaled value.
* CALC_FOR_CENTER() renamed to guiscaled_center() and moved to ui/scale.h

There are still a lot of work to be done to fully fix these UI issues
between Screen Scaling=200%/UI Scaling=100% vs Screen Scaling=100%/UI
Scaling=200%
2025-03-09 22:01:55 -03:00
David Capello 9378f44191 Show warning when raw cel format for .aseprite files is selected (#4901, #4951) 2025-02-26 10:22:36 -03:00
David Capello 8787aae762 Merge branch 'main' into beta 2025-01-07 12:34:49 -03:00
Martín Capello dedfdce705 Fix toolbutton_last image (fix #4719) 2025-01-07 10:16:19 -03:00
David Capello 09538f9a1a clang-format all files 2024-12-16 14:52:19 -03:00
David Capello b2e4f78b69 clang-format all files 2024-12-16 10:10:34 -03:00
Gaspar Capello b7aa5d5ebe Add diagonal symmetry (fix #1171)
Added symmetry UI buttons, 45 and -45 degrees axis.
Now are possible activate all four symmetries, both
diagonal symmetries, individual diagonal symmetry, and
the old horizontal/vertical combinations.

Also added symmetry to image brushes (prior to this fix:
only the brush position was symmetrical, the image brush
was not flipped).
2024-11-01 15:17:01 -03:00
David Capello 0bf9353a02 Add new Text tool (fix #28)
This is the first (not yet production-ready) version of the
interactive Text tool. The text input is done with a transparent
ui::Entry, and on each text modification an ExtraCel is rendered with
this same ui::Entry's TextBlob to be displayed in the canvas with the
active zoom level.

The ui::Entry is being painted along the text in the canvas (just for
testing), but this is something to be fixed. Probably it will not be
the case in the future and a fully customized rendering (onPaint())
process will be required.
2024-08-26 11:47:57 -03:00
David Capello 7b24cf2594 Fix "New Frame" button for existing third-party themes (fix #4609)
We made an attempt to change the "+" character with an icon, but we
cannot use an existing style to do this kind of change in themes (as
third-party themes will be using the old version of the style, not the
updated one).

We're reverting part of the change introduced in
e0ff51947a to use the "+" character for
this "New Frame" button in the status bar.
2024-08-21 16:55:11 -03:00
Christian Kaiser e0ff51947a
Add new frame menu to status bar button (#4582) 2024-08-08 17:23:41 -03:00
David Capello 26279597b6 Add help button "?" in some windows (fix #1980)
We hope to enhance the discoverability of Aseprite features in this
way.
2024-07-25 16:02:21 -03:00
David Capello 96ef977311 Add new "shade_empty" style to paint the empty shades label (fix #4225) 2023-12-14 14:26:34 -03:00
David Capello 046b68061a Highlight dynamics button when some sensor is being used 2023-11-30 21:24:48 -03:00
David Capello cf19b51226 Add new icon for the button to switch the timeline visibility (#4081, #4092) 2023-10-11 14:58:15 -03:00
David Capello c32b9b07a8 Centralize the warning message for incompatible files/forward compatibility (#3811, #3812)
Several changes were included:
- Fixes in TextBox widget to show it with proper size hint when it's
  outside a viewport
- Added the IncompatFileWindow with a message + link to know how to
  update Aseprite and solve the situation
- Moved CannotModifyWhenReadOnlyException from app/doc.h to
  app/transaction.h
2023-05-11 12:18:31 -03:00
David Capello 24846eae10 Add z-index property to cels (fix aseprite/Attachment-System#88)
* Now a Cel has a z-index property to change the order of layers per frame
* A new doc::RenderPlan class can calculate the order of cels to be rendered
* z-index is saved as a int16_t in the .aseprite files
* This new field can be set/get from Lua with Cel.zIndex
2023-04-10 19:23:16 -03:00
Martín Capello b0967e2aa5 Copy light theme latest changes into dark theme 2023-03-13 10:52:01 -03:00
Martín Capello b72d498070 Introduce a "combobox" style to replace the way combobox entries are painted 2023-03-13 10:52:01 -03:00
Martín Capello 7a338250a3 Fix alignment of several controls when UI scaling is 200% and Screen scaling is 100% to make them look the same as when US scaling is 100% and Screen scaling is 200% 2023-03-13 10:52:01 -03:00
David Capello d95a021733 Update dark theme 2023-02-27 19:38:36 -03:00
David Capello 606fea4214 Make buttons to select one window/multiple windows bigger 2023-02-27 19:21:57 -03:00
David Capello 05dcf96333 Fix style for RGBA/Grayscale/etc. buttons + Edit Pal/Tiles mode buttonsets
We cannot use the fix from 6e2b44c72d as
they contain different slice borders depending on the state (and that
generated moving labels/icons in RGBA/Grayscale/Indexed buttons when
we hover the mouse on them), so we had to revert it and use a new
"buttonset_item_active" theme part to set the background of Edit
Pal/Tiles.
2023-02-27 19:05:26 -03:00
David Capello ff1211bc84 Minor changes in theme.xml/style names 2023-02-27 18:02:10 -03:00
David Capello 6e2b44c72d Fix Edit Colors and Tiles/Pixels Mode button styles
Now these buttons look more like the previous version, where the
special background color is painted to the edges. To achieve this the
"buttonset_item_normal" part has less border to fill the background
with "edit_pal_face" color in "pal_edit_button_unlock" and
"edit_tiles_mode" styles.
2023-02-27 17:44:30 -03:00
David Capello 0491bf60d7 Show the Tiles button highlighted ("button_selected_text") when it's in tiles mode
It was planned to use this color for this button when it's on.
2023-02-27 16:58:31 -03:00
David Capello 5ea89141fd Fix regression with Pal Edit button
The icon/stylus was inverted. We've also moved the icon for each state
to the theme xml (so we don't need to use setIcon() manually anymore
for this button).
2023-02-27 16:48:50 -03:00
Martín Capello 9332642de9 Fix combobox height 2023-02-27 16:04:21 -03:00
David Capello 11ef2f939b Remove unneeded padding-top for brush_type styles 2023-02-27 12:06:23 -03:00
Martín Capello f481d9c0e7 Fix timeline's animation buttons size 2023-02-27 10:21:50 -03:00
Martín Capello 0199994e45 Remove Y coordinate offset from some elements 2023-02-27 09:44:42 -03:00
Martín Capello 029e520f81 Add styles for ink type and dynamics buttons 2023-02-27 09:44:42 -03:00
Martín Capello ea43c5f6c8 Adjust styles to make them work with the new buttonset 2023-02-27 09:44:42 -03:00
Martín Capello 3ab993d1d6 Update ButtonSet to use theme's styles 2023-02-27 09:43:48 -03:00
Martín Capello 1783704a53 Fix positioning of text and icon layers to avoid setting values that are not a multiple of the gui scale 2023-02-27 09:43:48 -03:00
Martín Capello e002316466 Take into account padding when painting text and icon layers 2023-02-27 09:43:48 -03:00
Martín Capello dded1f6eae Add mnemonics attribute for font and styles to enable/disable accelerators underlining 2023-02-27 09:43:48 -03:00
David Capello c900327675 Add switch for "multiple windows" in Edit > Preferences > General
As the "multiple windows" feature is still buggy (#3556) and we've
disabled it by default, it's nice to make this option more visible (in
the General section) so users reliant on this will find the switch
quickly.
2023-02-24 17:11:51 -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 05bf34f084 Merge branch 'main' into beta 2022-08-02 16:48:32 -03:00
Gaspar Capello 55885ee266 Fix regression: TextBox isn't rendering text (doesn't update the bounds area of the text box)
Regression in dd0c296209 (Use
tooltip_text style & color to paint tooltip windows #2554).

Prior this fix, text box does not update its bounds area because it
has not a style assigned.

Fix #3442, fix #3443
2022-08-02 16:39:18 -03:00
David Capello 504fb7b7f8 Fix crash showing user data dialog (revert regression from dd0c296209)
Restored the tooltip_face style as it's used in the user_data.xml popup.
2022-07-20 12:02:07 -03:00
David Capello 5ec88ad659 Merge branch 'main' into beta 2022-07-18 16:05:37 -03:00
David Capello dd0c296209 Use tooltip_text style & color to paint tooltip windows (fix #2554) 2022-07-18 16:00:13 -03:00