Commit Graph

2163 Commits

Author SHA1 Message Date
David Capello
a15aea5ed7 Add timeline options for onion skin, loop section, and animation direction
- Add red/blue onion skin type
- Add app::calculate_next_frame() function to calculate the next frame
  depending of the timeline configuration (loop range, animation direction)
- Add app::finder() to simplify the access to widgets loaded from xml files
2014-05-17 21:27:44 -03:00
David Capello
263f4b5479 Add flag to debug observers 2014-05-17 21:04:55 -03:00
David Capello
3c2e01b5d8 Replace the dummy developer "console" with a WorkspaceView
This is completely experimental stuff. Just added this because the previous
window doesn't make sense.
2014-05-09 01:01:59 -03:00
David Capello
43ed994812 Add more palettes 2014-05-09 00:30:15 -03:00
David Capello
695243006f Don't show onion skin in the mini editor 2014-05-08 08:50:21 -03:00
David Capello
391a5c0bf4 Add command to switch onion skin visibility 2014-05-08 08:47:45 -03:00
David Capello
a6d900fc2c Fix several old issues with indexed images and transparent color
- If we use a RGB color in a background layer (indexed image),
  and the first palette entry (transparent color) matches that RGB color,
  we can use that entry, because this is the background (the transparent
  color isn't transparent at all in the background layer).
- If we use the same RGB color in a transparent color, we've to avoid the
  transparent color, because the user want to paint with that specific
  solid color.
- Palette::findBestfit() receives a mask_index now, so we can find what
  color best matches a specific RGB avoiding that specific mask color,
  or we can use -1 to use any color (e.g. for background layers).
- Added app::ColorTarget() to simplify and fix color_utils::color_for_layer
  and app_get_color_to_clear_layer(), so now we can use the new findBestfit
  to return the transparent color for background layers (if a RGB color
  matches the transparent color RGB values).
- Removed fixup_color_for_layer/background() functions in color_utils
- Fix NewImageFromMask() to use the mask color to clear the image
- Improve the Editor pen preview (cursor.cpp) to draw the bounds of the
  pen when it will paint with the transparent color.
2014-05-08 00:30:36 -03:00
David Capello
5a45d1ec23 Remove the number of colors entry field from "New Sprite" dialog
This field is disabled, and the program isn't ready to support less than
256 colors in Indexed mode, so it's better if we remove this field to avoid
confusion.
2014-05-06 00:08:43 -03:00
David Capello
81d30fb24d Detect HTHSCROLL/HTVSCROLL as HTCLIENT in WM_NCHITTEST message
In this way we fix a bug where (sometimes) the mouse is not detected
as in the client area because it's over a system scrollbar.
2014-05-05 21:37:20 -03:00
David Capello
6aca409d84 Remove fixed item from TODO.md file 2014-05-05 21:29:53 -03:00
David Capello
fa204baf42 Easier way to reference the program website in commands 2014-05-05 21:28:58 -03:00
David Capello
e624b391c2 Fix quickref link 2014-05-05 21:28:20 -03:00
David Capello
5c54564a9d Quickref.pdf is not distributed anymore 2014-05-05 09:18:26 -03:00
David Capello
cd4e3aa122 Rename "Put Alpha" to "Set Alpha" 2014-05-04 22:20:33 -03:00
David Capello
ce7bb1b9dc Add "Lock Alpha" ink (issue #155) 2014-05-04 22:16:30 -03:00
David Capello
e266089368 Make IntersectClip non-copyable 2014-05-04 21:51:52 -03:00
David Capello
778578b210 Fix Editor scroll issues: we cannot process several WM_MOUSEMOVE in one UI loop-cycle
We have to wait to validate not-scrolled regions before we can use
Widget::scrollRegion() or Window::moveWindow() again. This is an issue
to see in the future (to avoid lossing mouse move messages). At the moment,
one solution is to use the last received mouse move message.
2014-05-04 21:40:46 -03:00
David Capello
94b2fb6dde Translate Widget::m_updateRegion field when the widget is moved 2014-05-04 21:32:43 -03:00
David Capello
b45cd3e07e Minor changes in Widget::scrollRegion() 2014-05-04 21:32:13 -03:00
David Capello
41863f9d3d Minor changes in Window::moveWindow() 2014-05-04 21:31:59 -03:00
David Capello
4035c6fc13 Fix call to update_mouse_position() when Allegro mouse position is used 2014-05-04 21:18:43 -03:00
David Capello
81d10f1c4f Add DEBUG_PAINT_EVENTS to manager.cpp 2014-05-04 21:17:45 -03:00
David Capello
ddf894867a Fix ToolBar behavior to avoid changing tools unintentionally
- Avoid opening other groups if the user is not with the mouse down
- A second MouseUp closes the group
2014-05-04 20:56:36 -03:00
David Capello
6414e37f9a Use IntersectClip when possible 2014-05-04 16:59:11 -03:00
David Capello
df3cb694ae Add she::Display::setMousePosition() 2014-05-04 16:05:35 -03:00
David Capello
507819a26f win32: hide scrollbars changing client area in WM_NCCALCSIZE 2014-05-03 20:40:57 -03:00
David Capello
774a36efc9 Fix crash using deleted concurrent queue of event when Alleg4Display() is being destroyed 2014-05-03 18:02:27 -03:00
David Capello
6774ec89f9 Update URL in gui.xml 2014-05-03 17:05:54 -03:00
David Capello
9dff641855 Update win32 resource file 2014-05-03 17:04:49 -03:00
David Capello
7b9f8ce355 Update website URL in config.h 2014-05-03 17:04:33 -03:00
David Capello
b991f3b42e Rename cmd_change_image_type.cpp to cmd_change_pixel_format.cpp 2014-05-03 16:27:11 -03:00
David Capello
0eb8e344bb If the save process fails, mark the document as modified 2014-05-03 16:25:39 -03:00
David Capello
a04119eeb4 Fix several reported memory leaks 2014-05-02 23:55:45 -03:00
David Capello
9af8440ba6 Delete all css::Styles when the skin::StyleSheet is destroyed 2014-05-02 23:30:17 -03:00
David Capello
456bdaa20a Avoid memory leak information about color_mapping in skin_theme.cpp 2014-05-02 23:07:11 -03:00
David Capello
5b62a55a0a Avoid memory leaks information of FileFormatsManager 2014-05-02 23:04:04 -03:00
David Capello
0cd9bf21f3 Fix memory leak detector for Windows with MSVC compiler 2014-05-02 23:03:40 -03:00
David Capello
cb0f89ea3a Fix issue with Timeline scroll: when clicking with mouse wheel the scroll jumps to other location 2014-05-02 21:10:19 -03:00
David Capello
a5b1bd1875 Check invalid values of m_clk_layer in Timeline::dropLayers() 2014-05-02 21:08:10 -03:00
David Capello
c34ee7ef6b Fix compilation error in ase_parallelogram_map() 2014-05-02 20:22:39 -03:00
David Capello
e006d8322f Use strtol instead of ustrtol in widget_loader.cpp 2014-05-02 20:21:57 -03:00
David Capello
cfa061e014 Fix sprite properties dialog size when jguiscale() = 1 (problem referenced in issue #197) 2014-05-02 20:19:43 -03:00
David Capello
a445ec4b07 Minor change in sprite_properties.xml (change box -> hbox/vbox/boxfiller) 2014-05-02 20:09:18 -03:00
David Capello
02a8ea779a Add missing *jguiscale() in Entry and ColorButton widgets 2014-05-02 20:08:59 -03:00
David Capello
3e70c5316d Add undo information when the sprite transparent color is modified 2014-05-02 20:00:26 -03:00
David Capello
c879d114e0 Version 1.0.0 2014-05-02 19:58:34 -03:00
David Capello
d298c55238 Make "Transparent Color" tooltip smaller in SpriteProperties dialog 2014-05-02 19:47:41 -03:00
David Capello
e36aaa5dfc Fix issue #197 - Index 0 is made transparent, even when it is not the transparent color
Now image_scale and ase_parallelogram_map_standard functions use the image
mask color.
2014-05-02 19:44:26 -03:00
David Capello
66564e354f Fix issue #394 - crash when we cancel the file save operation
There were problems calling a pure virtual function (IFileOpProgress
implemented by OpenFileJob) when we are already in ~Job() dtor. So we've
to wait the background thread (added Job::waitJob() function) to join
the thread so it can use IFileOpProgress safely.

Also the save process of .ase files now can be cancelled (it wasn't
possible before).
2014-05-02 17:04:55 -03:00
David Capello
33753ccde8 .ase format: remove static members to save chunks 2014-05-02 14:59:20 -03:00