laf is a C++ library to create desktop applications for Windows, macOS, and Linux. It was mainly developed for Aseprite but we want to make it available for other developers in such a way that they can create applications too.
This “framework” (or library, or set of libraries) is still under development, but we’d like to start stabilizing the main API in a near future. The objective is to create a library as small as possible, and leaving parts that are not required to be integrated, to other libraries. For example, signal and slots can be used with other libraries, or the clipboard management with dacap/clip, etc. Even more, parts of laf might be separated to other libraries in the future if they are highly valuable on their own.
laf is a set of libraries:
os
module (requires
freetype
library as dependency). Might be deleted in the future
(replaced with Skia text rendering)Compiling in a specific operating system/platforms:
LAF_WINDOWS
LAF_MACOS
LAF_LINUX
LAF_SKIA
: When we compile with LAF_BACKEND=skia
, Skia library is availableCPU endianness (defined in base/config.h):
LAF_LITTLE_ENDIAN
LAF_BIG_ENDIAN