Commit Graph

2918 Commits

Author SHA1 Message Date
David Capello
6e5db5b33d Add Cel::links() member function to know how many links has the cel's image 2015-01-20 09:36:01 -03:00
David Capello
b6a63d5f29 Read linked cels from .ase files 2015-01-20 09:35:23 -03:00
David Capello
03a87b8d24 Remove unused DocumentApi::clearImage() member function 2015-01-20 09:34:23 -03:00
David Capello
74e69e0666 Add continuous layer flag (to indicate that the layer prefer linked cels) 2015-01-20 09:33:56 -03:00
David Capello
309d1299ae Minor label fix in options.xml 2015-01-20 09:31:20 -03:00
David Capello
6fcf3f3d31 Fix "modified document" indicator in tabs when we cancel tool loop 2015-01-20 08:45:06 -03:00
David Capello
9af8567a6b Make PopupWindow movable again (fix regression from 1f25579f5a) 2015-01-19 20:44:47 -03:00
David Capello
15c6ee9046 Remove old layer icons from skin sprite sheet 2015-01-18 22:45:58 -03:00
David Capello
0cff720ef3 Rename undo2 to undo library
Now that the old undo library doesn't exist, we can use "undo" namespace
again.
2015-01-18 22:16:29 -03:00
David Capello
348007b123 Minor changes in README 2015-01-18 22:07:23 -03:00
David Capello
e55865843e Replace undo impl: replace undoers with cmds
Undoers were little objects to swap/revert an action. They didn't
execute the action itself, they just revert its previous state. Now
undoers were replaced with cmds: A cmd is an object that
executes/undoes/redoes just one action.

Changes:
* Remove old undo library and app/objects_container_impl.cpp
  (now we use the doc::ObjectId directly to store undo info)
* Remove all Undoers from app/undoers/
* Replace DocumentApi impl with little Cmds in app/cmd/, these
  cmds handle execute/undo/redo of each action at the logic layer
* Remove doc::Dirty object
* Remove doc::Settings: all undo configuration is in the app side
* Move undo options from app:ISettings to app::Preferences
* Rename UndoTransaction to Transaction
* Create a CmdSequence to store a sequence of Cmds (as now the new
  undo library doesn't support open/close groups)
* Add doc::get<T>(ObjectId) function to get any kind of object
  from the doc library by its ID
* Add Cel::document() and Sprite::document() members
* Add Sprite::cels(frame_t) to get all cels in the given frame
* Add Layer::displaceFrames() member function
* Move the "allow non-linear history" flag from undo2::UndoHistory
  to app::DocumentUndo
2015-01-18 22:05:33 -03:00
David Capello
9efd84153b Add const modifier to undo2::UndoHistory::prev/next/cmd member functions 2015-01-15 10:04:26 -03:00
David Capello
13040cba5d Update copyright year in README 2015-01-06 09:34:53 -03:00
David Capello
9f19b0d1dd Update CONTRIBUTING and INSTALL files
Update INSTALL in such a way it contains how to get the source code
correctly cloning the repository (instead of using .zip files)
2015-01-06 09:34:40 -03:00
David Capello
a9fa9f5fdc Add undo2 library 2015-01-04 20:23:05 -03:00
David Capello
e40d8e8cfe Make zoom tool more gentle 2015-01-04 16:52:16 -03:00
David Capello
f1f24cbcdd Replace doc::Stock with doc::ImageRef shared pointer
Changes:
* Add doc::ImageRef to count references to the same image between Cels
  (at this moment we cannot generate linked cels anyway)
* Remove doc:Stock class and doc::Sprite::m_stock member variable
* Remove app::undoers::Add/RemoveImage
* Add doc::SubObjectsIO and app::undoers::ObjectIO to
  replace doc::LayerSubObjectsSerializer
2015-01-04 10:58:14 -03:00
David Capello
1b55fe39dc Merge branch '1.0'
Conflicts:
	src/raster/conversion_alleg.cpp
2015-01-03 18:42:11 -03:00
David Capello
4358989633 Merge branch '1.0' of github.com:aseprite/aseprite into 1.0 2015-01-03 18:37:37 -03:00
David Capello
a2a3abfd6e Merge branch 'master' of git@github.com:aseprite/aseprite.git 2015-01-03 18:34:39 -03:00
David Capello
d9b2b2d8ea Add code of conduct 2015-01-03 18:34:26 -03:00
David Capello
8eb7ab355b Merge pull request #572 from whitingjp/median_cut_rgba_def
Include doc::rgba() function definition to avoid ambiguities in median_cut() algorithm
2015-01-03 11:12:08 -03:00
David Capello
71cdfe24c3 Merge pull request #568 from Mailaender/patch-1
Fix several gcc compiler warnings
2015-01-03 11:06:47 -03:00
David Capello
a332fb0bbe Merge pull request #571 from whitingjp/missing_runtime_error_header
Added missing header for std::runtime_error exception
2015-01-03 11:06:02 -03:00
Jonathan Whiting
6b6be0fd07 Include rgba function def, and un-ambiguate rgba in use 2015-01-01 15:50:46 +00:00
Jonathan Whiting
8fa2191dd9 Added missing header for runtime_error exception 2015-01-01 15:37:34 +00:00
David Capello
603dde343f Replace doc::LayerImage::getCel() with doc::Layer::cel() 2014-12-28 21:04:08 -03:00
David Capello
06d18f1e8a Replace doc::FrameNumber with doc::frame_t 2014-12-28 20:39:11 -03:00
David Capello
da1358c5dc Unify all render code in one library
Changes:
* Create render library (move util/render.cpp to render/render.cpp)
* Move app::Zoom class to render::Zoom
* Remove doc::Image::merge() member function
* Add gfx::Clip helper class (to clip dst/src rectangles before a blit)
* Move doc::composite_image() to render::composite_image()
* Remove doc::Sprite::render()
* Replace Sprite::getPixel() with render::get_sprite_pixel()
* Remove doc::layer_render() function
* Convert DitheringMethod to a enum class
* Add AppRender to configure a render::Render with the app configuration
* Move checked background preferences as document-specific configuration
* Add doc::Sprite::layer() and palette() member functions
* Add doc::Layer::cel() member function
* Add doc::Palette::entry() member function()
* Add doc::frame_t type
* Move create_palette_from_rgb/convert_pixel_format to render library
* ExportSpriteSheet doesn't need a temporary image now that we can specify
  the source rectangle in the render routine
2014-12-28 11:06:11 -03:00
Matthias Mailänder
d5068e071d fix "Program is using uninitialized variables." GCC warning 2014-12-21 15:22:42 +01:00
Matthias Mailänder
a523f686fc fix "Program returns random data in a function" GCC warning 2014-12-21 15:22:41 +01:00
David Capello
73658399cc Add setting/preference classes/enums generator
Changes:
* Add a class (Option<T>) to get/set/listen changes to one specific
  preference option
* Add data/pref.xml with the metadata to generate types/classes (not it's
  quite easy to add new preferences)
* Modify the generator to support generation of .h and .cpp files of
  preference types
* Add code to migrate old options to new ones (and functions to delete
  old values)
* Only a couple of options were migrated at the moment, it is a WIP, in the
  future we should completely remove ISettings and direct calls
  to set/get_config_*
2014-12-14 20:19:31 -03:00
David Capello
65da03d181 Use an internal ImageBuffer inside Mask class 2014-12-13 19:43:14 -03:00
David Capello
709d23606a Remove minor comment in gui.xml 2014-12-13 19:33:26 -03:00
David Capello
5c9240d4d1 Add Ctrl+T to transform the cel content (close #560) 2014-12-13 19:32:58 -03:00
David Capello
702d99af2d Minor change in undo label from selection commands 2014-12-13 19:26:10 -03:00
David Capello
f66b48c698 Change Mask member functions to use gfx::Rect instead of x,y,w,h args 2014-12-13 19:10:54 -03:00
David Capello
9f0d460624 Fix redraw problem after canceling "Canvas Size" command 2014-12-13 14:30:12 -03:00
David Capello
e79314d4e5 Critical fix in Image::clip_rects() 2014-12-09 11:53:57 -03:00
David Capello
a0d1c14ed2 Convert TODO item to issue #560 2014-12-09 11:03:05 -03:00
David Capello
afbd3b2d96 Optimize ToolLoop with modified regions of pixels
Here we avoid copying and clearing pixels that will not be used
in the whole tool loop process.
Changes:
* Add several member functions in ToolLoop to validate/invalidate regions
  of source/destination images so we know what regions are safe to use
  by inks and can be shown in the editor
* Add new DocumentObserver::onExposeSpritePixels() member to validate
  pixels that will be displayed in the editor
* Add Ink::needs/createSpecialSourceArea() member functions to validate
  extra areas for inks like blur or jumble
* Add undoers::ModifiedRegion to save the undo information about the
  modified region
* Add ShowHideDrawingCursor class
* Change "blur" tool policy from overlap to accumulate

(This is a real fix for issue #239)
2014-12-08 14:57:56 -03:00
David Capello
07c7756638 Add Brush::kMax/MinBrushSize constants 2014-12-07 20:50:26 -03:00
David Capello
6f528f3cf2 Merge branch '1.0' 2014-12-05 10:52:05 -03:00
David Capello
58ad5e2ecb Enable IsDeveloper flag when we check updates in _DEBUG 2014-12-05 10:38:22 -03:00
David Capello
0a68125372 Show some info to debug the update checking process in _DEBUG 2014-12-05 10:38:01 -03:00
David Capello
41c5605102 Fix regression: --help doesn't work on Windows
base::SystemConsole must be created before any std::cout/printf() is used
2014-12-05 02:25:49 -03:00
David Capello
5aea29348e Merge branch '1.0'
Conflicts:
	data/gui.xml
	src/app/CMakeLists.txt
	src/app/color_utils.cpp
	src/app/color_utils.h
	src/app/commands/cmd_preview.cpp
	src/app/document_exporter.cpp
	src/app/document_exporter.h
	src/app/ui/editor/standby_state.cpp
	src/config.h
	src/main/resources_win32.rc
2014-12-03 11:15:09 -03:00
David Capello
dc5fcd625a Mask color shouldn't make black color transparent in RGB and Grayscale images 2014-12-02 11:47:59 -03:00
David Capello
3b7f52ea5d Remove a custom target for each file to copy 2014-12-02 11:22:20 -03:00
David Capello
807598d5c3 Add post build target to copy the whole data/ dir into build/bin/ dir 2014-12-02 11:15:06 -03:00