Commit Graph

172 Commits

Author SHA1 Message Date
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
8b19d36e51 Add ContextFlags to simplify Command::onEnabled() implementations. 2011-03-27 14:51:02 -03:00
David Capello
d95919beb5 Add a simple DeveloperConsole for debugging purposes (F11 key). 2011-03-26 20:43:43 -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
f816425d5d Add ObjectsContainer interface in src/undo/ so UndoHistory has a way to
obtain any kind of objects (not just GfxObj).
+ Removed GfxObjId.
+ Added ObjectsContainerImpl.
+ Use UniquePtr for each member in Document to avoid memory leaks in
  Document() ctor.
+ Removed RasterModule class.
2011-03-24 18:03:38 -03:00
David Capello
9182f0f14a Move UndoHistory from raster/ to undo/ directory. 2011-03-24 11:50:00 -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
775357d04f Remove deprecated vectmap code. 2011-03-20 16:40:44 -03:00
David Capello
afd5ade856 Add find_unittests() in src/CMakeLists.txt to avoid compiling unittests
with all libraries as dependencies.
2011-03-18 00:26:08 -03:00
David Capello
55c611c08b Convert Documents from std::list<> to a class. 2011-03-13 19:41:59 -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
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
bb1151c0ac Rewrite the entire color selector as C++ class.
+ Added ColorSliders widget for RGB, HSV, and Grayscale sliders.
+ Added HexColorEntry to show a color in HTML format.
2011-03-01 22:50:49 -03:00
David Capello
dea3962502 Remove deprecated colorviewer widget. 2011-02-20 18:40:16 -03:00
David Capello
6ef082ad7f Rename PalEdit to PaletteView widget to avoid confusion with the palette editor command. 2011-01-28 09:28:54 -03:00
David Capello
58b2c1bcd0 Improve palette editor's RGB/HSV sliders.
+ Added SkinSliderProperty and ISliderBgPainter to draw a customized background in sliders.
+ Moved SkinTheme to src/skin/ directory.
2011-01-24 00:03:38 -03:00
David Capello
fc263ddb88 Move SkinneableTheme in src/modules/ directory to SkinTheme in src/. 2011-01-21 17:29:45 -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
c2e831d009 Use giflib to load gif files.
With this changes a lot of bugs loading different kind of .gif
files are fixed. GIF files must be loaded as RGBA images to
support background color and different transparent color per
frame combinations.
2011-01-18 20:42:43 -03:00
David Capello
9fa71e5299 Convert FileFormat to a C++ class. 2011-01-16 17:27:18 -03:00
David Capello
d301fc7530 Replace images_ref functions (src/effect) with ImagesCollector class (src/raster). 2010-12-26 17:03:35 -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
8e54e0cbd5 Include third_party/gtest/include as -I only one time. 2010-12-12 09:53:39 -03:00
David Capello
bc22007455 Fix problems compiling unittests with a Visual Studio solution. 2010-12-11 10:03:59 -03:00
David Capello
742cf18237 As now the window can be resized in all platforms we can remove "Configure Screen" option. 2010-11-04 21:47:54 -03:00
David Capello
07fceb15f7 Remove config.cpp because the config.c in src/allegro already has my patch for override_config_file(). 2010-10-31 00:32:37 -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
87d2d5595f Move link flags and other cmake configuration from Allegro's CMakeLists.txt to the main CMakeLists.txt.
Remove all the "modules" stuff from Allegro's CMakeLists.txt
2010-10-16 17:02:12 -03:00
David Capello
948a5e0a5d Add "allegro" library as part of the ASE build process. 2010-10-16 14:30:04 -03:00
David Capello
ab32c37955 Add "install" target so we can use "make install" on Linux. 2010-10-12 17:19:19 -07:00
David Capello
1bbcf0af38 Remove linking two times aseprite-library in aseprite target. 2010-10-12 10:21:52 -03:00
David Capello
f86c306bab Add ENABLE_MEMLEAK parameter to CMakeLists.txt (fix jmem.cpp so it can be compiled when MEMLEAK is defined). 2010-10-10 16:47:01 -03:00
David Capello
b66371f95a Move thread class to base lib (the new thread class has a C++0x-like api). 2010-10-02 19:00:01 -03:00
David Capello
2a73d6ffb9 Fix order of libraries so we can link loadpng with alleg library with gcc on Windows. 2010-10-02 18:33:06 -03:00
David Capello
b7609686de Add resources_win32.rc in aseprite target on Windows. 2010-10-01 00:23:13 -03:00
David Capello
38a99e2740 Simplify usage of allegro_c_flags setting CMAKE_C_FLAGS variable. 2010-09-30 17:43:00 -03:00
David Capello
485582d816 Add some comments in src/CMakeLists.txt file. 2010-09-30 17:42:06 -03:00
David Capello
3163a5ac98 Add support to link ASE with the shared versions of libjpeg, libpng, and zlib. 2010-09-30 17:04:32 -03:00
David Capello
d09bd2a6ee Fix code in src/CMakeLists.txt to check return value of allegro-config. 2010-09-30 16:17:08 -03:00
David Capello
9f000741a3 Remove WIN32 attribute for tests (so we can see colored output in win cmd console). 2010-09-30 13:22:10 -03:00
David Capello
3d5fd0f07c Remove Vaca source code completely (replace NonCopyable class with DISABLE_COPYING macro). 2010-09-29 17:50:46 -03:00
David Capello
5ccddbc8bc Now the gui-lib is another package compiled with its own CMakeLists.txt. 2010-09-27 19:18:17 -03:00
David Capello
22ad9058af Add allegro-config calls to compile ASE on Linux. 2010-09-26 18:58:53 -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
28d09af036 Move Point/Size/Rect classes to a new gfx-lib. 2010-09-25 16:22:32 -03:00
David Capello
c9dfa8fc03 Separate "base" code under terms of the BSD license. 2010-09-23 20:28:16 -03:00
David Capello
46e847ef80 Remove internationalization stuff.
- Remove "_" macro.
- Remove src/intl/ directory.
2010-09-18 23:54:56 -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
9a9e40395f Move LoggerModule to log.cpp. 2010-09-18 01:14:03 -03:00
David Capello
f1e9814334 Move get_errno_string() to src/base/errno_string. 2010-09-18 01:03:56 -03:00
David Capello
0674fbe069 Move "src/core/job.[ch]" to src/job.[ch]. 2010-09-18 00:39:10 -03:00
David Capello
99adf98c0f Remove jexception, leave ase_exception only. 2010-09-18 00:12:53 -03:00
David Capello
c821cd3924 Move mem_utils.cpp in base/ directory. 2010-09-18 00:03:06 -03:00
David Capello
955ec830cc Minor change (move location of GLOB_RECURSE defition in src/CMakeLists.txt) 2010-09-14 19:52:02 -03:00
David Capello
eb056ab358 Add custom targets in CMakeLists to run unit-tests. 2010-08-25 20:13:51 -03:00
David Capello
463c188014 Use GLOB_RECURSE instead of GLOB to get all *_unittest.cpp files from the src/ directory. 2010-08-25 17:27:45 -03:00
David Capello
848a4b9101 Add rule to compile _unittest.cpp files. 2010-08-25 17:11:52 -03:00
David Capello
18606f02bf Add aseprite-library (this library will be used for unit tests, is all aseprite code without the main() routine defined). 2010-08-25 17:11:28 -03:00
David Capello
435cebb80e Move common definitions in cflags to the main CMakeLists.txt file. 2010-08-25 16:20:30 -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
733ee5b705 Rename colbut.h to color_button.h. 2010-08-23 18:25:57 -03:00
David Capello
0765be0306 Rename colsel.h to color_selector.h. 2010-08-23 18:23:30 -03:00
David Capello
8727390b2d Rename colbar.h to color_bar.h. 2010-08-23 18:11:47 -03:00
David Capello
f87cf2a4bc Move jinete/jfile.cpp to xml_widgets.cpp. 2010-08-23 17:52:17 -03:00
David Capello
cf0f7d9663 Remove jfilesel.[ch] file. 2010-08-22 22:10:43 -03:00
David Capello
d9790b3834 Move keyboard shortcuts to change pen size from Editor widget to commands.
* Now +/- keys are configurable because they are defined in gui.xml as calls to the new "change_pen" command.
2010-08-12 17:29:06 -03:00
David Capello
3dc5b2b485 Add CMakeLists.txt files. 2010-08-10 21:49:32 -03:00