mirror of
https://github.com/aseprite/aseprite.git
synced 2025-02-12 03:39:51 +00:00
There are some bug report about problems when the window is minimized. I was able to reproduce this bug minimizing the window, hiding the dock (using the system settings), showing the dock again, and trying to restore the window.
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 undo history of undoable actions.
Level 1
- cfg (base, allegro): Library to handle configuration/settings/user preferences.
- gen (base): Helper utility to generate C++ files from different XMLs.
- net (base): Networking library to send HTTP requests.
- raster (base, gfx): Library to handle graphics entities like sprites, images, frames.
- she (base, gfx, allegro): A wrapper for the Allegro library.
- webserver (base): HTTP web server (based on mongoose)
Level 2
- doc (raster, base, gfx): Document model library.
- filters (base, gfx, raster): FX for raster images.
- 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): Image File Formats library (load/save documents).
Level 4
- app (allegro, base, doc, filters, gfx, iff, raster, scripting, she, ui, undo, updater, webserver)
Level 5
- main (app, base, she, ui)