5529 Commits

Author SHA1 Message Date
David Capello
26e215f698 Invalidate full columns when we are selecting frames in the timeline 2018-03-29 16:25:43 -03:00
David Capello
bf0e5db391 Fix clipboard range feedback in Timeline when we copy layers/frames
kCels were already working, but the clipping was not correct
when the clipboard range type was kLayers or kFrames.
2018-03-29 16:21:43 -03:00
David Capello
fac3574d02 Improve animation playback performance
We try to redraw only the necessary parts of the Timeline,
and when we are in playback mode, make bigger jumps
to avoid a continuos scroll in the Timeline.
2018-03-29 16:13:10 -03:00
David Capello
62ee2daaba Add a comment in the ColorSelector::Painter for future work 2018-03-29 11:13:47 -03:00
David Capello
59f3d13b8d Fix tests/CLI mode
Don't start rendering thread on ColorSelector::Painter when
we don't run the UI. Basically we must start the painter thread
when the first ColorSelector is created.
2018-03-29 11:12:59 -03:00
David Capello
fd696c8813 Avoid possible invalid bitwise operations between threads
As m_paintFlags bits are modified by several threads,
we need some atomic bitwise operations to modify it.
2018-03-29 00:39:09 -03:00
David Capello
0fe5edb7fe Improve performance drawing color selectors (fix #1516, fix #1695) 2018-03-28 23:39:07 -03:00
David Capello
5a91325750 Show indicator with old/new colors in ColorPopup (fix #1696) 2018-03-28 15:56:40 -03:00
David Capello
e6da079e54 Move ContextBar::ShadeWidget to ColorShades class 2018-03-28 12:57:00 -03:00
David Capello
473542542e Fix loading of toolbox text/tooltips of the current language 2018-03-28 11:48:59 -03:00
David Capello
8d9c3c7c11 Add some extra strings for the toolbar in en.ini 2018-03-28 11:43:35 -03:00
David Capello
91bc5c2845 Add more strings from Home tab to en.ini file 2018-03-28 10:53:15 -03:00
David Capello
be5df08c1f Use index target in Replace color for indexed images by default 2018-03-27 00:16:45 -03:00
David Capello
52244089c3 Fix FilterTargetButtons::setTarget()
Regression bug introduced in 245285f84e427749ae3d6b3b29515f8198c7f80a
2018-03-27 00:14:39 -03:00
David Capello
58252946ea Put back a simpler vesion of the target button for cels
Now we have a button to apply filters to the selected region
in the timeline, or to all cels. Regression introduced in 245285f84e427749ae3d6b3b29515f8198c7f80a

Discussion:
http://steamcommunity.com/app/431730/discussions/0/343785574514723475/
2018-03-26 23:43:57 -03:00
David Capello
9729f7aec8 Add some information in src/desktop/README.md 2018-03-26 18:13:15 -03:00
David Capello
233bae8dc9 Clicking a "Recent Folder" item shows the native dialog in the correct folder
Reported here:
https://community.aseprite.org/t/1155
2018-03-26 17:22:42 -03:00
David Capello
6de103128b Add support for animated webp files (fix #273) 2018-03-26 14:11:40 -03:00
David Capello
f481b979d4 win: Fix installing .zip extensions on Unicode paths
It looks like libarchive API is a little tricky, on Windows it needs
wide strings in the pathname. Even archive_entry_set_pathname_utf8()
cannot be used: there is no UTF8 -> wide string conversion inside
libarchive, I guess it's because archive_mstring_get_wcs() doesn't check
for AES_SET_UTF8 case.
2018-03-22 13:24:32 -03:00
David Capello
f1d67e1a64 Fix syntax error in ASSERT() statement 2018-03-19 21:06:05 -03:00
David Capello
0e0b83b478 Now an extension can contain a language (#124, #1403) 2018-03-19 19:37:39 -03:00
David Capello
0429282967 Add options to configure default extension in other commands (fix #1683)
Maybe too much configuration for my taste, but well, more configuration
is good.
2018-03-19 15:53:02 -03:00
David Capello
edc79dc886 Ignore random WM_MOUSEMOVE messages after WM_POINTERUPDATE
This tries to make the Surface pen works correctly when Alt+pen is used
and we start receiving random WM_MOUSEMOVE messages.

A similar state before 5ccdacc9de88a3b2411985192fa7d4eb4d4448ed, but an
alternative solution to:
https://community.aseprite.org/t/all-the-tools-stop-working/738
https://community.aseprite.org/t/after-using-the-snipping-tool-on-win-10-the-mouse-pointer-disappears/906
http://steamcommunity.com/app/431730/discussions/0/1485487749769857401/
2018-03-19 11:34:35 -03:00
David Capello
a576a7d2ee Add SHE_USE_POINTER_API_FOR_MOUSE 2018-03-19 10:54:18 -03:00
David Capello
4ce5e0b64d Revert Windows pointer API, doesn't go well with Wacom drivers 2018-03-19 10:47:29 -03:00
David Capello
284e96a75e Fix regression pasting images from the clipboard on Windows (screenshots, etc.) 2018-03-19 09:38:12 -03:00
David Capello
08d6cbcf60 Fix crash using --save-as CLI
Reported here:
https://community.aseprite.org/t/command-line-save-as-has-stopped-working/1140
2018-03-17 10:50:24 -03:00
David Capello
ddc8c880c0 Win: Fix regressions introduced w/the pointer API
* Double-click is working again. This is emulated, because it looks like
  the pointer API doesn't give us double-clicks information.
* We can cancel a ToolLoop again pressing the other button. If we press
  a mouse button, we receive a WM_POINTERDOWN, but if we press another
  button without releasing the first one, we'll receive this event in a
  WM_POINTERUPDATE message (so we have to process a WM_POINTERUPDATE
  like a WM_POINTERDOWN).
2018-03-16 23:35:08 -03:00
David Capello
7d184bc6bc file_selector_extras.xml doesn't exist anymore 2018-03-16 12:47:56 -03:00
David Capello
072e223ec5 Fix eyedropper to use the real mouse position received in messages
Instead of the global mouse position, we can use the more proper
mouse position receive in editor messages.
2018-03-16 12:26:38 -03:00
David Capello
7b49bf295f Add extra check in ListBox::selectChild() 2018-03-16 12:17:12 -03:00
David Capello
b8a8cca5cc Add extra check in drop_range_op() 2018-03-16 12:16:48 -03:00
David Capello
aa507fdf20 Add button to resize the sprite for Twitter 2018-03-16 11:26:13 -03:00
David Capello
1fb463f931 Add option to export GIF for Twitter (#1220, #1252) 2018-03-16 11:03:50 -03:00
David Capello
d9a848a32c Convert the output filename field on Export to a Entry field 2018-03-16 10:08:52 -03:00
David Capello
834fd962f6 Disable the Export button if there is no filename yet 2018-03-16 09:37:21 -03:00
David Capello
589d775d10 Add AniDir parameter to Export dialog (fix #1505) 2018-03-16 08:59:34 -03:00
David Capello
ca31a79ca5 Add alert when we will overwrite a file on File > Export 2018-03-15 23:04:20 -03:00
David Capello
25322d69fe Don't show full path for output filename in Export dialog 2018-03-15 22:42:53 -03:00
David Capello
8014c828af Add a special dialog for File > Export command
With this change we have moved all the file selector customization to
a new special FileExportWindow. So the file selector is used only to
select the output file (no more FileSelectorDelegate = now we can use
the native file selector for File > Export).
2018-03-15 21:00:54 -03:00
David Capello
10590da7c1 Add possibility to select the layer content with Ctrl+click (fix #1509) 2018-03-15 16:05:56 -03:00
David Capello
d36179ae2a Fix critical bug saving files with frame tags without name (fix #1675) 2018-03-14 17:03:25 -03:00
David Capello
ade32b3247 Fix Preview button on filters dialog
Now unchecking the preview button will redraw the sprite editor and the
color palette to show their original state.
2018-03-14 16:32:50 -03:00
David Capello
5239db243a Add option to change the number of recent files/folders (#578)
* Added option to clear the list too
* If we specify 0 as the number of recent items, the feature is disabled
2018-03-14 14:14:47 -03:00
David Capello
8e6bd1a8dc Add strings alerts in recent files/folders to en.ini 2018-03-14 12:33:15 -03:00
David Capello
0426582e0e Don't crash when we select an non-existent recent folder
* Other minor changes in the recent files/folder API
* Don't remove the recent folder (if it exist) when a recent file
  doesn't exist
2018-03-14 12:08:02 -03:00
David Capello
245285f84e Filters: Use the selected cels range instead of target buttons
With this commit we've definitely removed the target buttons to apply a
filter in current cel/layer/frame (which never make too much sense to
the end-user), and now we can just select the range of
layers/frames/cels where we want to apply the filter (like Flip and
Rotate commands that were already working in this way).
2018-03-13 17:05:14 -03:00
David Capello
5ccdacc9de Use the pointer API for mouse events too
Mouse messages and pointer messages do not go well together.
If we don't use the pointer API for mouse messages, we start
receiving random mouse messages when a pointer is being used
(this is increased when a modifier key is pressed).

With this patch we start using the pointer API for mouse
messages and remove our workaround to avoid these
random messages.

This might be a possible solution for issues like:
https://community.aseprite.org/t/all-the-tools-stop-working/738
https://community.aseprite.org/t/after-using-the-snipping-tool-on-win-10-the-mouse-pointer-disappears/906
http://steamcommunity.com/app/431730/discussions/0/1485487749769857401/
2018-03-13 11:55:57 -03:00
David Capello
f9af5c21c7 Fix a compiler error on gcc 4.8.4 2018-03-13 09:56:39 -03:00
David Capello
12578321d6 Re-organize some compiler flags 2018-03-13 09:56:23 -03:00