aseprite/src/gen
2021-10-15 10:44:30 -03:00
..
check_strings.cpp Avoid leaks running "gen" when memory sanitizer is enabled 2021-04-15 10:43:17 -03:00
check_strings.h
CMakeLists.txt
common.h
gen.cpp Avoid leaks running "gen" when memory sanitizer is enabled 2021-04-15 10:43:17 -03:00
LICENSE.txt Avoid leaks running "gen" when memory sanitizer is enabled 2021-04-15 10:43:17 -03:00
pref_types.cpp
pref_types.h
README.md
strings_class.cpp
strings_class.h
theme_class.cpp
theme_class.h
ui_class.cpp Add listitem support to the ui class generation tool 2021-10-15 10:44:30 -03:00
ui_class.h

Aseprite Code Generator

Distributed under MIT license

This utility generates source code from XML files. Its aim is to convert XML files (dynamic data) to C++ files (static structures) that can be checked in compile-time. There are three areas of interest:

  1. To create ui::Widgets subclasses from data/widgets/*.xml files. In this way we can create wrappers that can access to each XML file directly in a easier way (e.g. one member for each widget with an id parameter on it).
  2. To create configuration wrappers from a special config-metadata.xml file (so we can replace get/set_config_int/bool/string() function calls). There is an ongoing cfg module to replace the whole reading/writing operations of user's settings/preferences.
  3. To create a wrapper class for theme data access. From data/skins/default/ we can create a C++ class with a member function to access each theme slice, color, style, etc.