aseprite/src
David Capello 442d8c624a Fix triggering Editor's onCut() without mask when ColorBar's onCanCut() enables it
Asking for onCanCut/Copy/Paste/Clear just before onCut/Copy/Paste/Clear
in the same InputChainElement we ensure that the command for that specific
element can be used (and we aren't mixing onCans result of one input chain
element with the execution of the first input chain element command).
2015-05-11 09:37:39 -03:00
..
allegro Add support to compile with VS2013 x64 2015-03-06 17:01:08 -03:00
app Fix triggering Editor's onCut() without mask when ColorBar's onCanCut() enables it 2015-05-11 09:37:39 -03:00
base Keep last update information so we can show it again (fix #639) 2015-04-24 12:45:01 -03:00
cfg Add setting/preference classes/enums generator 2014-12-14 20:19:31 -03:00
css Fix tests compilation in clang 2014-08-17 20:40:10 -03:00
doc Add ability to cut colors in the ColorBar 2015-05-10 21:36:46 -03:00
filters Remove implicit SharedPtr conversion to T* 2015-04-02 20:42:43 -03:00
fixmath Fix compilation in clang 2014-09-21 16:50:08 -03:00
gen Add possibility to create brushes from selection 2015-04-27 00:08:04 -03:00
gfx Fix several bugs with tooltip arrows/location 2015-05-09 13:20:57 -03:00
iff Add dummy src/iff/ directory, this will be the module to load/save docs 2014-03-16 21:58:12 -03:00
main Fix platform specific flags 2015-02-12 12:46:56 -03:00
net Fix flags to always compile with libcurl (as HomeView needs net-lib to load news) 2015-04-23 19:14:13 -03:00
render Add option for color quantization in the ColorBar options popup 2015-05-08 17:34:51 -03:00
scripting Update license of app/ module to GPLv2 2015-02-12 12:16:25 -03:00
she Fix bug getting ANSI clipboard text on Windows 2015-05-07 22:56:02 -03:00
tests Fix platform specific flags 2015-02-12 12:46:56 -03:00
ui Fix several bugs with tooltip arrows/location 2015-05-09 13:20:57 -03:00
undo Make undo_tests.cpp compile on OS X with SDK 4.4u 2015-03-04 21:35:46 -03:00
updater Fix aseprite binary link error 2015-04-27 17:59:42 +02:00
webserver Update license of app/ module to GPLv2 2015-02-12 12:16:25 -03:00
CMakeLists.txt Disable data recovery on trial mode 2015-05-09 20:18:10 -03:00
config.h Show blog posts in NewsListBox 2015-03-02 19:54:24 -03:00
README.md Add a special section in src/README.md about debugging tricks 2015-04-07 17:19:34 -03:00

Aseprite Source Code

If you are here is because you want to learn about Aseprite source code. We'll try to write in these README.md files a summary of each module/library.

Modules & Libraries

Aseprite is separated in the following layers/modules:

Level 0: Completely independent modules

These libraries are easy to be used and embedded in other software because they don't depend on any other component.

  • allegro: Modified version of Allegro library, used for keyboard/mouse input, and drawing 2D graphics on screen.
  • base: Core/basic stuff, multithreading, utf8, sha1, file system, memory, etc.
  • css: Pseudo-style sheet library.
  • gfx: Abstract graphics structures like point, size, rectangle, region, color, etc.
  • scripting: JavaScript engine (V8).
  • undo: Generic library to manage a history of undoable commands.

Level 1

  • cfg (base): Library to load/save .ini files.
  • doc (base, gfx): Document model library.
  • gen (base): Helper utility to generate C++ files from different XMLs.
  • net (base): Networking library to send HTTP requests.
  • she (base, gfx, allegro): A wrapper for the Allegro library.
  • webserver (base): HTTP web server (based on mongoose)

Level 2

  • filters (base, doc, gfx): Effects for images.
  • render (base, gfx, doc): Library to render documents.
  • ui (base, gfx, she): Portable UI library (buttons, windows, text fields, etc.)
  • updater (base, net): Component to check for updates.

Level 3

  • iff (base, doc, render): Image File Formats library (load/save documents).

Level 4

  • app (allegro, base, doc, filters, gfx, iff, render, scripting, she, ui, undo, updater, webserver)

Level 5

  • main (app, base, she, ui)

Debugging Tricks

On Windows, you can use F5 to show the amount of used memory. Also Ctrl+Shift+Q crashes the application in case that you want to test the anticrash feature or your need a memory dump file.