mirror of
https://github.com/aseprite/aseprite.git
synced 2025-02-05 09:40:02 +00:00
9dfec919e4
This bug is because the mask color of cel images were fixed when they were used in the rendering process. Now, the mask color is fixed when the image is added to the raster::Stock structure.
Aseprite Source Code
If you are here is because you want to learn about Aseprite source
code. I'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: 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
- net (base): Networking library to send HTTP requests.
- raster (base, gfx): Library to handle graphics entities like sprites, images, frames.
- she (allegro): A (Work In Progress) wrapper for Allegro library.
- webserver (base): HTTP web server (based on mongoose)
- doc (base, gfx): Document model library (business layer, replacement of
raster
library).
Level 2
- filters (base, gfx, raster): FX for raster images.
- iff (base, doc): Image File Formats library (load/save documents).
- ui (base, gfx, she): Portable UI library (buttons, windows, text fields, etc.)
- updater (base, net): Component to check for updates.
Level 3
- app (allegro, base, doc, filters, gfx, iff, raster, scripting, she, ui, undo, updater, webserver)
Level 4
- main (app, base, she, ui)