198 Commits

Author SHA1 Message Date
David Capello
0480de4388 Add live preview to tiled mode
- Removed draw_emptyset_symbol() function
- Added DocumentSettingsObserver
- Moved Editor's painting code from onProcessMessage to onPaint
2014-02-06 20:22:52 -03:00
David Capello
d3c72bedf2 Fix issue 309: Program crashes immediately after setting ScreenScale to 1
Avoid double destroy_bitmap() call.
2014-02-03 00:09:42 -03:00
David Capello
97d1acc036 Fix issue 313: Canvas does not reflect the change of a layer order 2014-02-02 23:57:30 -03:00
David Capello
c3a03565fb Fix issue 314 (crash): We were adding an image in the sprite's stock with a shared ImageBuffer 2014-02-02 23:10:09 -03:00
David Capello
20393c8aaa Fix bug with empty ContextBar when Ctrl+W is used to close a sprite and then a new sprite is created
This happens because Ctrl key activates the Hand/Move quick-tool, so the
ContextBar is updated to shows controls for this tool (an empty context
bar at the moment). Then, as Ctrl+W is pressed, the document is closed,
(we lost the Editor), and we willn't receive a
ContextBar::onCurrentToolChange() event (which should be generated by
releasing Ctrl key).
2014-02-02 21:22:50 -03:00
David Capello
78e5ab356a Don't show ContextBar when the program starts 2014-02-02 21:17:48 -03:00
David Capello
44c6a9d91a Fix bug where ContextBar was completely hidden 2014-02-02 21:07:12 -03:00
David Capello
dd2839a49a Add app::StartView (work-in-progress) 2014-02-02 20:55:32 -03:00
David Capello
ff166107ed Don't show grid and mask in mini editor 2014-02-02 19:14:27 -03:00
David Capello
0d7f4498b9 Fix const-correctness for ColorPicker::pickColor() member function 2014-02-02 18:49:19 -03:00
David Capello
e671508d85 Change infinite scroll implementation
Remove necessity of jmouse_x(1) and jmouse_y(1) calls.

- Renamed jmouse_control_infinite_scroll() -> ui::control_infinite_scroll()
- Renamed jmouse_set_position() -> ui::set_mouse_position()
- Added ui::get_delta_outside_box()
2014-02-02 18:46:19 -03:00
David Capello
5eb516f0f5 Fix FileList navigation with keyboard (enter key focus the FileList again) 2014-01-30 20:05:05 -03:00
David Capello
c8c099864c Added "Grab Alpha" option to eye dropper (issue 134) 2014-01-28 23:56:44 -03:00
David Capello
eee1719109 Implemented issue 260: Scroll-bars for sprite editor 2014-01-26 13:28:11 -03:00
David Capello
c2e50acb0b Fix issue 298: Crash on quit with multiple viewports open 2014-01-26 11:22:23 -03:00
David Capello
5ccae8c0bb Remove some labels from ContextBar, modify tooltips look, and use mini font 2014-01-26 08:40:16 -03:00
David Capello
4e6320b03c Add setup_mini_font 2014-01-26 08:39:33 -03:00
David Capello
9423b967ab Change selection behavior: left-click replace the selection
With this patch we replace the "unique/odd" behavior of Aseprite where
you add selection regions with left-click and remove with right-click.
Now by default you replace the selection with left-click (as in regular
gfx programs). Also you can change the selection tool behavior with
buttons/icons at the context bar (to select between replace/add/subtract).
2014-01-25 17:58:29 -03:00
David Capello
2d7db879a3 ContextBar: Move m_freehandBox to the last position to improve context bar for selection tools 2014-01-25 16:37:38 -03:00
David Capello
1554875618 Add pixel-perfect drawing mode for freehand tools (issue 315)
* Added new app::tools::IntertwineAsPixelPerfect intertwiner
* Added app::tools::FreehandAlgorithm enum
* Added app::tools::WellKnownIntertwiners constants
2014-01-25 16:26:49 -03:00
David Capello
f19aae9232 Fix UISettingsImpl/UIPenSettingsImpl::removeObserver() functions 2014-01-25 16:13:44 -03:00
David Capello
5bbe6c6086 Fix compilations problems in g++ 4.2.1 (Mac OS X) 2014-01-05 16:43:39 -03:00
David Capello
f8e8657093 Move kPaintMessage code to onPaint() event for some widgets
The affected widgets are: ColorBar::ScrollableView, ColorButton, and
StatusBar.

* Added Graphics::drawLine()
* Moved rectgrid and draw_color to modules/gfx.cpp
2013-12-29 21:12:23 -03:00
David Capello
66f357098c src/app/modules/gfx.cpp: Remove deprecated RectTracker stuff 2013-12-29 20:16:31 -03:00
David Capello
fe552f60de Temporal fix for issue 299: Don't allow moving the selection from other editor than the current one 2013-12-29 19:53:28 -03:00
David Capello
02597dcdec Add RotSprite algorithm for PixelsMovement (issue 121)
* Added app::RotationAlgorithm enum.
* Added app::ISelectionSettings::get/setRotationAlgorithm.
* Added app::SelectionSettingsObserver::onSetRotationAlgorithm.
* Added raster::image_rotsprite() function.
* Added ContextBar::RotAlgorithmField class to select the rotation algorithm.
* Now the mask isn't updated constantly on PixelsMovement::moveImage8),
  in this way when the user release the mouse button is when we recalculate
  the mask (to get better performance when the user is scaling/rotating
  the image).
2013-12-29 17:11:56 -03:00
David Capello
12a46f5ca3 Fix PutAlpha ink processing 2013-12-23 00:10:19 -03:00
David Capello
02cb132aa3 Timeline: ask for moving state to check if the user is drag-and-dropping cels 2013-12-23 00:04:38 -03:00
David Capello
6695d15c88 Fix intertwiners problems
Pencil with selection ink wasn't working right. Points must be joined
from 0 to 1, from 1 to 2, etc. instead of 0 to 1, 2 to 3, etc.
2013-12-23 00:03:49 -03:00
David Capello
400a2c1993 Timeline: Add support to delete several cels at once 2013-12-22 18:52:25 -03:00
David Capello
ca7f6a055f Avoid negative values for Timeline::m_separator_x (so the user can expand it again) 2013-12-22 16:35:44 -03:00
David Capello
076be1f22f Timeline: fix problem setting the duration of a frame range 2013-12-22 16:30:04 -03:00
David Capello
b31f568488 Timeline: show frame/layer/cel properties with double-click 2013-12-22 16:22:57 -03:00
David Capello
7114b1b769 Timeline: add status bar text when we hover different elements 2013-12-22 12:51:15 -03:00
David Capello
d6533d8a3f StandbyState::onUpdateStatusBar(): show frame duration 2013-12-22 12:28:07 -03:00
David Capello
c3e583f927 Fix some compilations problems in MinGW
Anyway without DirectX header files (ddraw.h specifically) we cannot
compile Allegro source code with MinGW.
2013-12-22 12:20:53 -03:00
David Capello
85523ba63a Add ability to change the properties of several frames (a range of frames) at once 2013-12-22 12:19:03 -03:00
David Capello
9650e1df27 Timeline: Esc key deselect the selected range of frames/layers 2013-12-22 12:17:07 -03:00
David Capello
b4d9e3c9ca Timeline: Add button and handles to configure onionskin range 2013-12-18 00:01:55 -03:00
David Capello
f467628407 Timeline: Redraw all document views when a layer visibility is modified 2013-12-15 21:14:24 -03:00
David Capello
eabb65be50 Timeline: Add support to move several layers 2013-12-15 21:07:42 -03:00
David Capello
cb11fb3458 Add support to remove several layers & frames at once 2013-12-15 20:21:31 -03:00
David Capello
ccb24cad35 Timeline: fix minor details in padding drawing code 2013-12-15 17:49:46 -03:00
David Capello
9e138c263f Fix bugs using NULL as text in widgets constructors 2013-12-15 17:42:33 -03:00
David Capello
9aac8ad6d4 Timeline: fix scroll issues redrawing the whole widget 2013-12-15 17:30:19 -03:00
David Capello
792cbd9d35 Timeline: Add proper clip to frames header and cels area 2013-12-15 17:26:29 -03:00
David Capello
ad6f18c11c Update the timeline after drawing in the sprite editor (after DrawingState) 2013-12-15 16:51:30 -03:00
David Capello
afc83ec09a Do not reset scroll each time we click a sprite 2013-12-15 16:49:21 -03:00
David Capello
560270dbef Timeline: clip and draw only necessary parts 2013-12-15 16:49:03 -03:00
David Capello
9806e33876 Timeline: Add code to show equal keyframes joined
This code is disabled at the moment because there isn't a fast way
to compare frames.
2013-12-15 14:02:00 -03:00