162 Commits

Author SHA1 Message Date
David Capello
c32551db64 Fix issue #9: GIF files are loaded as Indexed images now.
+ Added support for non-zero transparent index.
+ Added fop_post_load() to do post-load processing which need user-interaction.
+ Added FileFormat::onPostLoad/onDestroyData members.
+ Added Document::addSprite().
2011-06-25 17:12:08 -03:00
David Capello
312cab0902 Rename some variables in merge_zoomed_image() just to improve readability. 2011-04-21 17:42:14 -03:00
David Capello
9d744504a6 Rename some Editor's member functions to camelCase. 2011-04-01 22:23:38 -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
a17c767e65 Remove all public fields of Cel adding accessors. 2011-03-28 00:24:27 -03:00
David Capello
682e7152b7 Replace UndoHistory::undo_int/data/double methods with new safe-undoers.
+ Added SetCelFrame/Opacity/Position, SetMaskPosition, SetStockImgType,
  and SetLayerFlags undoers.
+ Finally removed the Layer::flags_addr() atrocity.
+ Removed RawData undoer.
+ Renamed SetImgType to SetSpriteImgType.
2011-03-27 18:15:00 -03:00
David Capello
b40a20e8aa Move src/widgets/editor.h to src/widgets/editor/editor.h. 2011-03-27 14:54:37 -03:00
David Capello
f854c7acf5 Fix bug #14, don't ask for saving changes when read-only commands are used.
+ Added a new attribute for each undo item (undo::Modification).
+ Each item now modifies or does not modify the document (e.g. selection
  actions do not modify the document).
+ Added an asterisk in tabs when the document is modified.
2011-03-26 19:58:52 -03:00
David Capello
8e5c950df8 Refactored the entire Undo system in several layers.
+ Added "undo" library (undo namespace).
+ Moved UndoHistory to undo namespace.
+ Added Undoer and UndoersCollector interfaces.
+ Converted old UndoStream to UndoersStack class.
+ Added new "undoers" namespace and moved each Undoer implementation
  (classes to undo different actions) to "undoers" directory.
+ Added IO operations to "raster" objects (image, cel, layer, palette,
  mask).
2011-03-26 17:40: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
f08d049ab6 Rename Undoable to UndoTransaction. 2011-03-22 21:22:13 -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
6d5531b998 Replace old gfx-data with graphics from the skin sheet.
+ Removed gfxdata.cpp file.
+ Removed get_gfx() from modules/gfx.h/cpp.
+ Added skin parts for each removed graphics of gfxdata.
+ Added IButtonIcon interface and an implementation for skin theme.
+ Removed "icon_buttons" from gui.cpp.
+ Now icons in button are set through set_gfxicon_to_button function.
+ Removed from Theme class check/radio_icon_size member variables
  (they are replaced with the new IButtonIcon interface).
+ Removed jdraw_inverted_sprite(), now each icon has it normal/selected
  version in the skin sheet.
2011-03-06 16:15:05 -03:00
David Capello
a2eab0553c Fix critical bug using "thumbnails" dead-pointer after calling "destroy_thumbnails". 2011-03-01 21:07:28 -03:00
David Capello
ad12af7c8b Refactor the entire view widget to View, Viewport, and ScrollBar C++ classes. 2011-02-20 18:35:21 -03:00
David Capello
3617ae9242 Change "thumbnails" variable in src/util/thmbnail.cpp from JList to std::vector<> type. 2011-02-16 00:07:09 -03:00
David Capello
2baa342a65 Remove "j" prefix from some files in gui library. 2011-01-30 19:12:10 -03:00
David Capello
5a9d991219 Convert jalert to Alert C++ class. 2011-01-27 17:21:33 -03:00
David Capello
36e605bdf2 Move jmalloc/jfree to base/ library as base_malloc/free (remove new/new0/renew macros). 2011-01-23 19:19:18 -03:00
David Capello
cb6d70521f Replace jwidget_dirty/invalidate and Widget::dirty functions with new Widget::invalidate* member functions. 2011-01-21 19:45:04 -03:00
David Capello
bf395fca61 More updates for copyright year to 2011. 2011-01-20 18:32:31 -03:00
David Capello
677fa5d4e0 Minor change: Remove one #include from render.cpp. 2011-01-20 17:13:31 -03:00
David Capello
d6eb20ef7e Update copyright year to 2011. 2011-01-18 20:49:53 -03:00
David Capello
68a8907ffc Fix convert_imgtype from Indexed to RGB when the first palette entry is not black (is not transparent color). 2011-01-14 18:29:25 -03:00
David Capello
4c8c7463ed Move functions related to quantization and dithering algorithms to raster/quantization.h|cpp. 2010-12-26 10:57:03 -03:00
David Capello
47a265745c Fix Quantize command call (sprite was locked). 2010-12-12 12:11:44 -03:00
David Capello
7ace9a2099 Remove blend modes from ImageLayers. 2010-12-05 11:44:01 -03:00
David Capello
6a48cdcaa2 Fix possible bug in tok_fgets() processing an empty line. 2010-10-26 14:16:11 -07:00
David Capello
e7db41ab66 Minor style changes. 2010-10-26 14:16:11 -07:00
David Capello
39e7fc5fea Do not use key_shifts anymore. 2010-10-20 00:07:27 -03:00
David Capello
36d532df21 Rename src/gui/jwidget.cpp|h to src/gui/widget.cpp|h. 2010-10-02 11:19:09 -03:00
David Capello
ffd0f17879 Move all undo_*() functions as members of Undo class. 2010-09-30 23:55:35 -03:00
David Capello
9e419c418f Refactor Stock class to contains methods instead of stock_*() functions. 2010-09-30 22:38:26 -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
6c8f395977 Remove old C hash implementation. 2010-09-25 18:07:52 -03:00
David Capello
3ec3bbbef8 Refactor undo_clear_redo/set_label/get_next_*_label -> Undo::clearRedo/etc. 2010-09-19 17:44:06 -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
3246e00db4 Camel-case for Undoable class. 2010-09-19 10:33:07 -03:00
David Capello
198bd648e5 Refactor Layer::add/remove/get_cel to add/remove/getCel. 2010-09-19 00:26:33 -03:00
David Capello
46e847ef80 Remove internationalization stuff.
- Remove "_" macro.
- Remove src/intl/ directory.
2010-09-18 23:54:56 -03:00
David Capello
2fc785553d Modify GfxObj class to keep its members private. Public members come from old C code where "GfxObj"s were "struct"s.
- Add GfxObj::getId and GfxObj::getType.
- GfxObj type enumeration now is called GfxObjType.
2010-09-18 20:49:13 -03:00
David Capello
ec13504c06 Remove core/core.h-cpp.
- App class contains the running mode (isGui() flag).
- LoggerModule contains the verbose flag.
- Remove is_interactive().
2010-09-18 17:36:21 -03:00
David Capello
ca521d3f50 Remove util/rectscr.cpp (as 8bpp is not supported, we cannot record the screen in FLI format anymore). 2010-09-18 01:24:09 -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
8727390b2d Rename colbar.h to color_bar.h. 2010-08-23 18:11:47 -03:00
David Capello
aa0229f950 Fix "paste" command when we paste in an empty spot (layer/frame without a created cel). 2010-08-22 20:51:29 -03:00
David Capello
46ff10bede Fix background color when we render indexed images.
To render an indexed image we start with color 0 (RGBA) only if there is not a background layer, in other case, when the background exists we clear with the first palette color entry (index=0).
This patch fix commit 3ea39bb211bee41c737c54a036b565411fb24300.
2010-08-13 11:49:52 -03:00