mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-29 10:20:48 +00:00
If Aseprite is configured to keep the selection actived after clearing the selection, we must keep the selection active anyway if we've moved it.
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.
- clip: Clipboard library.
- css: Pseudo-style sheet library.
- fixmath: Fixed point operations (original code from Allegro code by Shawn Hargreaves).
- flic: Library to load/save FLI/FLC files.
- gfx: Abstract graphics structures like point, size, rectangle, region, color, etc.
- laf: Core/basic stuff, multithreading, utf8, sha1, file system, memory, etc.
- observable: Signal/slot functions.
- scripting: JavaScript engine.
- steam: Steam API wrapper to avoid static linking to the .lib file.
- undo: Generic library to manage a history of undoable commands.
- wacom: Wacom definitions to use Wintab API.
Level 1
- cfg (base): Library to load/save .ini files.
- gen (base): Helper utility to generate C++ files from different XMLs.
- net (base): Networking library to send HTTP requests.
- webserver (base): HTTP web server
Level 2
- doc (base, fixmath, gfx): Document model library.
- she (allegro, base, gfx, wacom): A wrapper for the Allegro library.
Level 3
- filters (base, doc, gfx): Effects for images.
- render (base, doc, gfx): 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 4
- docio (base, flic): Load/save documents.
Level 5
- app (allegro, base, doc, docio, filters, fixmath, flic, gfx, pen, render, scripting, she, ui, undo, updater, webserver)
Level 6
- main (app, base, she, ui)
Debugging Tricks
- On Windows, you can use F5 to show the amount of used memory.
- On debug mode (when
_DEBUG
is defined),Ctrl+Alt+Shift+Q
crashes the application in case that you want to test the anticrash feature or your need a memory dump file. - On debug mode, you can use
Ctrl+Alt+Shift+R
to recover the active document from the data recovery store.