Commit Graph

2072 Commits

Author SHA1 Message Date
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 48864b440b
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
David Capello
e0a28c1d46 Minor refactor in skin properties
- Add get_skin_property(ui::Widget*) function to avoid duplicating code
  to create a SkinProperty.
- A SkinSliderProperty is not a SkinProperty: now it has its own name.
2013-12-05 01:19:46 -03:00
David Capello
8e81fb808d Add css library
This is a base library that will be used by SkinTheme to draw parts
with CSS styles (or something similar).
2013-12-03 19:31:36 -03:00
David Capello
61d5693727 Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev 2013-12-01 22:09:11 -03:00
David Capello
2eb84124d0 Merge pull request #10 from DocHoncho/int-entry-fix
Tweaked IntEntry behavior - Fix problem selecting the whole text each time a key is pressed and the mouse is over the IntEntry widget
2013-12-01 17:08:02 -08:00