59 Commits

Author SHA1 Message Date
David Capello
69a7faefa2 New default RgbMapAlgorithm to select what could works better at a given time 2021-05-09 20:53:09 -03:00
David Capello
8a22fe220c Use configured algorithm to convert RGB -> Indexed by default 2021-05-09 12:58:27 -03:00
David Capello
bcd69495ce Fix several issues locating windows with multiple UI windows
We've refactored the code to support locating windows (and popups
windows + hot regions) correctly in both modes: with one ui::Display
and with multiple ui::Displays.

For this we've added a new ui::fit_bounds() function that works in
both modes.
2021-03-19 18:57:56 -03:00
David Capello
db80c2a07e Real-time preview when editing tilemaps in Manual mode
In this way we can see the changes to all instances of the same tile
in the tilemap in real-time. The preview is done through a new
"preview tileset" that is used in the render concept (instead of the
preview image, a preview tileset is used as a temporal tileset to be
used for preview purposes only).
2020-11-04 16:54:12 -03:00
David Capello
8a3f32b47f Replace all base::Bind() with lambda functions 2020-07-03 21:51:46 -03:00
David Capello
bcf53fa54a Merge branch 'octree' into beta 2020-06-17 23:33:41 -03:00
David Capello
1f34d0e46e Add different formulas to convert RGB to Grayscale 2020-04-20 10:22:41 -03:00
Gaspar Capello
966daf5e34 Add RgbMap algorithm option in RGB -> Indexed color mode conversion dialog 2020-04-15 15:36:50 -03:00
David Capello
d316781e8a Remove usage of ContextWriter from all Command::onEnabled() impls 2020-02-05 17:39:56 -03:00
David Capello
2eba51a62d Fix minor warning 2019-05-11 13:42:50 -03:00
David Capello
dba3f3cdfb Minor improvement in ChangePixelFormat dialog
Moved the progress bar in other at the left of the OK button and the
progress bar appears only if we have to report a progress value > 0
2019-04-17 00:07:33 -03:00
David Capello
c690747bd2 Improve color conversion preview without clearing the old image
It is better for continuous preview feedback to keep the old image so
the new preview result is painted above the old one (and there is no
flicker effects).
2019-04-03 21:19:44 -03:00
David Capello
109e6fa205 Add render::Dithering() class to store all dithering parameters 2019-04-03 19:32:24 -03:00
David Capello
fcf272bb69 Add amount parameter to Error Diffusion algorithm 2019-04-03 18:45:18 -03:00
David Capello
02aa8f2205 Fix using UI widgets from background thread on ChangePixelFormat + merge layers checkbox 2019-04-03 11:34:36 -03:00
David Capello
495058e8ff Save last used dithering algorithm converting RGB -> Indexed 2019-04-03 11:05:54 -03:00
David Capello
20b8ee0e57 Add Floyd-Steinberg dithering for RGBA -> Indexed conversion 2019-04-01 22:00:32 -03:00
Gaspar Capello
f53544842c Fix non-normal blend modes when the backdrop is transparent (fix #1096) 2019-03-09 12:40:31 -03:00
David Capello
271865e13d Remove unused Command::clone() member function 2019-01-07 17:03:38 -03:00
David Capello
b0eea5cc50 Add possibility to flatten visible/selected layers (fix #1226)
Discussion:
* https://github.com/aseprite/aseprite/issues/1226
* https://community.aseprite.org/t/wish-flatten-selected-layers/163
2018-09-18 00:19:24 -03:00
David Capello
70629d6f89 Use Tx instead of Transaction in commands 2018-08-20 16:00:59 -03:00
David Capello
f2ed45e795 Replace base::UniquePtr -> std::unique_ptr 2018-08-08 17:27:26 -03:00
David Capello
c3e233f34d Create EditorRender to merge shared render image buffer and AppRender 2018-06-19 23:25:31 -03:00
David Capello
139c5aac49 Add flag to compile CLI-only (fix #1279)
New cmake flag -DENABLE_UI=OFF can be used to turn off the GUI
and compile a CLI-only version of Aseprite.

Requested here too:
https://community.aseprite.org/t/1351
2018-05-07 00:11:50 -03:00
David Capello
a938fcec7f Fix ChangePixelFormatCommand label on keyboard shortcuts dialog when used without params 2017-12-13 17:19:00 -03:00
David Capello
a307668552 ChangePixelFormatCommand can be called without params 2017-12-13 17:09:13 -03:00
David Capello
e0a60b6748 Generate the list of command IDs from en.ini file 2017-12-01 15:10:21 -03:00
David Capello
ccee49c02b Move command friendly names to the strings file
Related to #124
2017-11-30 23:41:45 -03:00
David Capello
5f33b55a11 Add new commands to show color bar menus/options
Added QuickCommand class to create commands in the relevant
place (e.g. the ColorBar commands can be created in
ColorBar::registerCommands()).
2017-11-30 14:51:13 -03:00
David Capello
86a6462d7b Fix crashes using certain function w/Undo History open
Some commands were calling transaction.commit() in the non-main/UI
thread (e.g. SpriteSizeCommand). That commit() called
DocumentUndo::add() which generated a
DocumentUndoObserver::onAddUndoState() and it updated the Undo History
window UI. This generated a lot of racing conditions in the UI module
and possibilities of crashes if the Undo History window was visible.
2017-10-26 21:42:49 -03:00
David Capello
a20976d220 Move dithering matrices to extensions 2017-06-14 16:34:09 -03:00
David Capello
2a15c58b5b Now DitheringSelector is used to select just a DitheringMatrix for gradients 2017-06-09 17:31:41 -03:00
David Capello
7a28606241 Avoid showing original sprite on the change "Color Mode" preview 2017-05-31 16:34:46 -03:00
David Capello
93d59f87e9 Fix RenderTaskJob compilation on MSVC
We cannot refer the "job" instance in the lambda captures on the same
statement on MSVC compiler.
2017-05-26 11:30:58 -03:00
David Capello
adbcc75fad Hide dithering options when we convert to non-Indexed 2017-05-23 16:00:33 -03:00
David Capello
89acb421e0 Remember ColorModeWindow position 2017-05-23 15:41:56 -03:00
David Capello
4fc19c5466 Change "old-ordered" dithering algorithm to just "old" 2017-05-23 14:56:06 -03:00
David Capello
bcdf598392 Add widget to choose dithering algorithm + matrix 2017-05-22 15:44:08 -03:00
David Capello
5ef6aac925 Add --dithering-matrix CLI option
Now the dithering matrix used in ordered dithering algorithm is configurable.
2017-05-19 15:49:31 -03:00
David Capello
7837a123f8 Add option to merge layers in color mode conversion 2017-05-19 10:54:44 -03:00
David Capello
e3701940fb Add friendly names for ChangePixelFormat command 2017-05-19 10:23:26 -03:00
David Capello
c3fcacf3fb Preview the color conversion of the visible sprite area only 2017-05-18 15:19:57 -03:00
David Capello
131336d015 Add progress dialog/bar when we change color mode
Added a new app::RenderTaskJob to execute a lambda function as in a
background thread in a app::Job that can be used as a
render::TaskDelegate by some render functions.
2017-05-17 16:40:19 -03:00
David Capello
573cad4777 Add progress bar to color conversion
Unified render tasks stop/progress notifications in render::TaskDelegate
interface.
2017-05-17 15:25:40 -03:00
David Capello
5c07f86a66 Remove DocumentApi::setPixelFormat() member function 2017-05-17 13:57:36 -03:00
David Capello
16aeae0833 Add new ordered dithering algorithm 2017-05-17 13:32:34 -03:00
David Capello
cbee0862f3 Add a Color Mode conversion dialog with preview 2017-05-16 17:18:55 -03:00
David Capello
23272895c4 Move doc::DitheringMethod -> render::DitheringAlgorithm 2017-05-15 16:26:44 -03:00
David Capello
e4a4f44127 Add --color-mode CLI option 2017-05-15 15:21:02 -03:00
David Capello
5ecc356a41 Replace GPL license with the new EULA 2016-08-29 13:08:21 -03:00