forked from LeenkxTeam/LNXSDK
Update Files
This commit is contained in:
41
lib/aura/Backends/readme.md
Normal file
41
lib/aura/Backends/readme.md
Normal file
@ -0,0 +1,41 @@
|
||||
# Aura Backends
|
||||
|
||||
The `/Backends` directory contains target-specific code that may be used on some
|
||||
targets to improve performance.
|
||||
|
||||
The backends are enabled by default, but if you want to only use the generic
|
||||
Haxe sources (for performance comparisons e.g.), compile your Kha project with
|
||||
the command line flag `--aura-no-backend`.
|
||||
|
||||
## Folder Structure
|
||||
|
||||
- `/common_c`:
|
||||
Pure C code that can be used by multiple backends.
|
||||
|
||||
- `/hl`:
|
||||
Sources/headers for the Hashlink/C backend. The header files are mostly
|
||||
Hashlink API wrappers around the code in `/common_c`.
|
||||
|
||||
Most of the backend sources mirror the respective Haxe code, so please don't
|
||||
expect much documentation for the individual functions.
|
||||
|
||||
The Haxe implementation/glue code for the backends is in Aura's source files in
|
||||
`/Sources`. There are no Haxe files in the `/backend` folder that shadow
|
||||
original sources to reduce redundancy and ensure completeness of the API.
|
||||
|
||||
Instead, there is usually a static class per backend implementation at the
|
||||
bottom of a Haxe source module, whose methods are then called and inlined from
|
||||
the original class if the [backend specific define is set](#defines). This way
|
||||
all the Haxe functionality for a module stays inside a module and is not
|
||||
distributed in many per-backend Haxe files, which also keeps the API consistent
|
||||
for each target.
|
||||
|
||||
## Defines
|
||||
|
||||
If the backends are enabled, Aura sets some defines before compilation which are
|
||||
based on the Haxe target to which the project is compiled. They should only be
|
||||
used internally, but for the sake of completeness they are documented here:
|
||||
|
||||
- `AURA_NO_BACKEND`: Defined if backends are disabled.
|
||||
- `AURA_BACKEND_HL`: Defined if backends are enabled and the project is compiled
|
||||
to a Hashlink target.
|
Reference in New Issue
Block a user