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
fc58c24da2
allegro/src/keyboard.c: Avoid accessing out of range items in key/_key arrays
2013-12-29 19:52:21 -03:00
David Capello
ab42d38947
Merge pull request #11 from DocHoncho/issue-295-dev
...
Re-implement nearest-neighbor interpolation
2013-12-29 12:28:39 -08: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
Joel Madigan
9d281793c8
Re-implement nearest-neighbor interpolation
...
Fix for issue 295, there was, what amounts to an off by one error in the
original code, which was causing the problem in issue 295.
This error was probably not very noticable in larger images, but as
pointed out by the bug report smaller images may contain more distortion
than necessary.
Wasn't entirely sure how to correct the original code, so replaced it with
entirely new code.
Also added unit test for resize methods, however the bilinear test only
checks using RGB, and not the other ImageTrait types.
2013-12-25 20:31:02 -05: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
David Capello
3c861f1a7e
Show timeline automatically when a new frame/layer is created (configurable option)
2013-12-15 12:58:14 -03:00
David Capello
d5dbf72fca
Fix license in some files of base library
2013-12-15 12:48:37 -03:00
David Capello
d96c5ff1e5
Minor changes (code format)
2013-12-15 12:37:30 -03:00
David Capello
7b09aefe6a
Fix bug mixing image buffers in ExpandCelCanvas for new cels
...
Bug introduced from commit 48864b440b82a710076a8af66d98c95343407e40
2013-12-15 10:31:25 -03:00
David Capello
bcab165700
Timeline: improve look & feel of range selections
2013-12-15 09:42:05 -03:00
David Capello
6b7625267d
Remove layers button from StatusBar widget
2013-12-11 19:35:03 -03:00
David Capello
1f0d1be396
Rename app::SelectionSettings to app::UISelectionSettingsImpl
...
The class UISelectionSettingsImpl is the implementation
of ISelectionSettingsImpl so it doesn't need to be available from
ui_settings_impl.h. Also we can use anonymous namespaces to put classes
that are used only inside ui_settings_impl.cpp.
2013-12-11 19:19:27 -03:00
David Capello
b5ea9fd7e7
Merge branch 'timeline' into dev
2013-12-11 01:41:48 -03:00
David Capello
773333e264
Timeline: Add multiple frames selection
2013-12-11 01:40:31 -03:00
David Capello
4e917fc81c
Add padding to text style
2013-12-11 01:35:40 -03:00
David Capello
4bd4aac429
Add styles to the Timeline widget
...
- Added support for styles to SkinTheme and skin.xml.
- Added app::skin::Style/Rule/BackgroundRule/IconRule/TextRule classes.
- Added app::skin::SkinPart class to refer to one part (BITMAP) of
the skin sheet.
- Renamed app::skin::SkinPart to SkinParts as now SkinPart is a class.
2013-12-11 00:34:16 -03:00
David Capello
d6beafb8fd
Merge pull request #9 from DocHoncho/ui-dev-squashed
...
Moved Transparent Color button to ContextBar, implemented SelectionSettings class
2013-12-10 11:35:50 -08:00
Joel Madigan
3ce805f63d
Moved Transparent Color button to ContextBar
...
Implemented SelectionSettings class
Transparent Color button for moving pixels moved from status bar to
context bar. Current Transparent Color stored by new SelectionSettings
class, retrievable from ISettings.
Also implemented Observer classes for existing Settings interfaces for
future use.
StatusBarObserver interface and supporting code removed from StatusBar.
2013-12-10 12:44:00 -05:00
David Capello
11335fd5f3
Improve the generation of css::Query instances (see Sheet::query() member function)
2013-12-09 23:07:48 -03:00
David Capello
20fb1317a3
Fix bug in Graphics::drawStringAlgorithm() painting invalid background color
2013-12-09 22:58:07 -03:00
David Capello
40fd251c39
Add support for vertical text alignment in Graphics::drawStringAlgorithm()
2013-12-09 22:57:43 -03:00
David Capello
4218dd852d
Merge branch 'dev' into timeline
2013-12-08 20:39:01 -03:00
David Capello
f531f6d0d0
Simple implementation of issue #17 - Export animation to JSON/sprite sheet files
...
This is a good start point. From here we can add more formats and options
(XML, custom formats, templates, etc.), rotated sprites, trim, etc.)
2013-12-08 20:19:32 -03:00
David Capello
d77efb602e
Add DocumentApi::undoEnabled()
...
Now we can disable the undo information in DocumentApi() passing
a NULL undoers collection on its ctor.
2013-12-08 20:07:02 -03:00