64 Commits

Author SHA1 Message Date
David Capello
b381d3a7b3 Add IDocumentSettings to separate document related settings from ISettings
This is the first step to have settings per document. Currently
IDocumentSettings is implemented as a global instance so all documents
share the configuration (as it was already working). But in the future
a project will be able to provide an alternative implementation to save
the configuration of each document in the same project.
2012-11-18 10:21:06 -03:00
David Capello
1db95ed985 Fix crash pressing left & right mouse buttons at the same time to start/cancel drawing 2012-08-31 00:25:24 -03:00
David Capello
594a272c06 Add DocumentUndo to avoid app specific data in the undo library.
The UndoHistory was simplified, m_enabled/label/modification members
were removed because they aren't part of the undo library goal.
Now the "label" field is part of Open/CloseGroup undoers, and all undoers
must be enclosed in a group (this restriction is only for the app, the
undo library doesn't have this restriction). In this way, the
label/modification information is exchanged between an
OpenGroup <-> CloseGroup pair only.
2012-07-08 01:25:26 -03:00
David Capello
041140f528 Change "imgtype" int type to PixelFormat enumeration. 2012-02-12 23:21:06 -03:00
David Capello
e018cf099d Conert all mask_* functions to Mask function members. 2012-01-08 22:34:36 -03:00
David Capello
a22b86df65 Add snap to grid in selection movement. 2012-01-07 17:23:21 -03:00
David Capello
b8fbaad7fb Replace Allegro Sprite Editor or ASE with ASEPRITE in all files. 2012-01-06 01:12:57 -03:00
David Capello
02a9d50524 Update copyright year to 2012. 2012-01-06 00:52:11 -03:00
David Capello
9fbc9374e2 Fix problem pasting from the clipboard when the active tool is a non-selection one.
The PixelsMovement uses the document's extra cel to show the transformation
preview. On the other side, painting tools use the extra cel to show
the drawing cursor preview. So MovingPixelsState is incompatible
with painting tools, both use the extra cel for different purposes.
2012-01-06 00:41:02 -03:00
David Capello
ed6090bc36 Convert all newline to LF style and remove all tabs.
This was done to avoid mixed files (CRLF & LF) in the repository.
2012-01-05 19:45:03 -03:00
David Capello
07edcdb1e2 Add transformation support (scale/rotate) to the selected area.
+ Added support to rotate images of IMAGE_BITMAP type.
+ Added transformation_handle & pivot_handle parts in sheet.png.
+ Added rotation cursors in sheet.png.
+ Added gfx::Transformation class and Document::m_transformation field.
+ Added StandbyState::Decorator and TransformHandles class to draw
  transformation handles.
+ Modified PixelsMovement class to support transformation handles.
+ Added new Linear Algebra library with Vector2d class.
2012-01-01 23:08:25 -03:00
David Capello
ee612bb366 Fix error canceling tool-loop with left-button (when the user starts drawing with right-button). 2011-08-22 13:47:28 -03:00
David Capello
e090c966bf Add ToolLoop::Button enum type to avoid hardcoded 0 and 1 values. 2011-08-22 13:46:09 -03:00
David Capello
5380877c4a Refactor Editor class to use a state design pattern.
+ Added EditorState and derived classes (StandByState, DrawingState, etc.)
+ Added StatusBarListener.
2011-04-10 20:15:17 -03:00
David Capello
1fd011c20b Move everything related to tools in "tools" namespace.
+ Splitted tools/tool.h|cpp in several files (ink.h, intertwine.h, etc.).
2011-04-02 10:47:03 -03:00
David Capello
82f5345ace Add ToolLoopManager::Pointer abstraction to avoid using JMessage in src/tools/ dir. 2011-04-01 22:48:58 -03:00
David Capello
dc58651f79 Remove UndoHistory::undo_* member functions to use Undoers directly
and to avoid undo-lib <-> undoers circular dependency.
2011-03-30 18:27:52 -07:00
David Capello
be7aa1009d Fix bug in ink_hline8_blur(). 2011-03-26 23:55:59 -03:00
David Capello
cb0e3e9db1 Fix bug in BlurGetPixelsDelegateIndexed::operator() in ink_processing.h. 2011-03-26 23:51:55 -03:00
David Capello
69dff9b5d0 Use C99 uint*_t instead of ase_uint*. 2011-03-24 18:36:19 -03:00
David Capello
9182f0f14a Move UndoHistory from raster/ to undo/ directory. 2011-03-24 11:50:00 -03:00
David Capello
0b495085cc Move the active mask from Sprite class to Document.
+ Removed masks and paths repositories.
+ Added Document::isMaskVisible and Document::setMaskVisible methods.
2011-03-23 00:06:43 -03:00
David Capello
6e60d3200d Add Document class, to remove app specific properties from Sprite.
+ Moved some properties from Sprite to Document: lock/unlock/mutex,
  filename, isModified flag, undo history, mask boundaries, file
  format options, preferred editor settings, extra cel.
+ A Context now has an active document (instead of an active sprite).
+ Renamed all sprite wrappers to be document wrappers (as the mutex is
  in the Document now).
+ Modifications to SharedPtr<> to be more like C++0x shared_ptr<>.
2011-03-22 21:11:25 -03:00
David Capello
9b32ebdad6 Rename Undo class to UndoHistory. 2011-03-13 17:33:42 -03:00
David Capello
a8d9636467 Refactor filters (effects).
+ Added Filter, FilterManager, and FilterIndexedData interfaces.
+ Moved all widgets related to filters to src/commands/filters.
+ Added the filters library.
+ Added FilterWindow and one derived window for each filter.
2011-03-13 15:50:31 -03:00
David Capello
2baa342a65 Remove "j" prefix from some files in gui library. 2011-01-30 19:12:10 -03:00
David Capello
45855b88d3 Move "AseException" to "base::Exception" class.
+ Created XmlException for tinyxml parsing errors.
+ Moved functionality of AseException::show() to Console::showException().
2011-01-20 23:33:57 -03:00
David Capello
bf395fca61 More updates for copyright year to 2011. 2011-01-20 18:32:31 -03:00
David Capello
e914c9ad6a Rename ase_exception to AseException. 2011-01-20 18:03:11 -03:00
David Capello
d6eb20ef7e Update copyright year to 2011. 2011-01-18 20:49:53 -03:00
David Capello
dbebaec92b New "overlap" trace-policy for tools like Spray, Blur, and Jumble. 2010-12-11 21:49:44 -03:00
David Capello
7ace9a2099 Remove blend modes from ImageLayers. 2010-12-05 11:44:01 -03:00
David Capello
18b0f903d7 Pen now uses a std::vector<PenScanline> instead of a raw pointer to PenScanline[] array. 2010-11-06 20:31:30 -03:00
David Capello
3a8711e6a6 Add GuiXml class to avoid duplicated code and loading gui.xml file several times. 2010-10-27 21:04:05 -03:00
David Capello
39e7fc5fea Do not use key_shifts anymore. 2010-10-20 00:07:27 -03:00
David Capello
ffd0f17879 Move all undo_*() functions as members of Undo class. 2010-09-30 23:55:35 -03:00
David Capello
cb3dd70fb8 Move Jinete library to src/gui directory (future gui-lib). 2010-09-26 15:59:32 -03:00
David Capello
28d09af036 Move Point/Size/Rect classes to a new gfx-lib. 2010-09-25 16:22:32 -03:00
David Capello
12ce788d11 Remove undo_new/free/enable/disable/is_enabled/is_disabled, add Undo::is/setEnabled. 2010-09-19 15:23:15 -03:00
David Capello
75689ef990 Fix bug #3051174 (reported by Trent Gamblin): Loading two or more times gui.xml file. 2010-08-26 21:40:45 -03:00
David Capello
3f9e947ea9 Convert color_t type to Color class.
+ Add color_utils namespace and move useful routines for colors right there.
+ Add test_color.cpp.
2010-08-25 00:26:37 -03:00
David Capello
4fc1b7f9f8 Show/hide opacity and tolerance parameters depending if the current tool supports these. 2010-08-13 11:11:21 -03:00
David Capello
dec4bbc6a4 Add "Tolerance" parameter for some tools like Magic Wand and Paint Bucket (Trent Gamblin idea). 2010-08-13 10:41:13 -03:00
David Capello
7ba3c5df9d Fix warnings in GCC (unused variables, size_t and int comparisons, unhandled enum cases in switch, etc.). 2010-08-11 23:42:03 -03:00
David Capello
c09842abdf Fix selection tools when the cel is in x<0 and/or y<0. 2010-08-11 00:22:30 -03:00
David Capello
4e72997a02 Use Allegro's ASSERT() instead of assert(). 2010-08-03 23:33:44 -03:00
David Capello
f2f1bb26f2 Replaced old DIRS structure with ResourceFinder class. 2010-07-16 16:56:45 -03:00
David Capello
ea56481314 Updated copyright to 2010. 2010-04-28 23:52:51 -03:00
David Capello
20c4ac5235 Added ToolInk::isCelMovement(). Now "Move" tool moves cel. 2010-04-24 16:10:48 -03:00
David Capello
c8436b73e3 Better feedback for eyedropper tool (now the eyedropper tool is controlled by the editor as "Alt+click"). 2010-04-24 01:30:24 -03:00