DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
BuilderPlugin.h File Reference

Classes

struct  DekiBuilderAbi
 What the plugin was compiled against. More...

Macros

#define DEKI_BUILDER_API   __attribute__((visibility("default")))

Functions

constexpr uint32_t DekiBuilderCompilerTag ()
 The compiler and standard library this translation unit uses.
DekiBuilderAbi DekiBuilderThisAbi (uint32_t platformConfigSize, uint32_t packageEntrySize)
 The ABI as the calling module sees it.
DEKI_BUILDER_API const DekiBuilderAbi * DekiBuilderGetAbi (void)
 Required.
DEKI_BUILDER_API const char * DekiBuilderGetName (void)
 The plugin's name for display in the editor (e.g. "Pico SDK Builder").
DEKI_BUILDER_API const char * DekiBuilderGetVersion (void)
 The plugin's version string (e.g. "1.0.0").
DEKI_BUILDER_API int DekiBuilderGetBuilderCount (void)
 How many builders the plugin provides, usually 1.
DEKI_BUILDER_API void * DekiBuilderCreateBuilder (int index)
 Creates builder index (0 to count - 1), or returns nullptr on error.
DEKI_BUILDER_API void DekiBuilderDestroyBuilder (void *builder)
 Destroys a builder this plugin's DekiBuilderCreateBuilder made.

Variables

constexpr uint32_t kDekiBuilderAbiVersion = 3
 Bump when the builder interface changes shape: a new virtual, a reordered one, a changed signature, or a change to the layout of a struct that crosses the boundary.

Macro Definition Documentation

◆ DEKI_BUILDER_API

#define DEKI_BUILDER_API   __attribute__((visibility("default")))

Function Documentation

◆ DekiBuilderCompilerTag()

uint32_t DekiBuilderCompilerTag ( )
constexpr

The compiler and standard library this translation unit uses.

A MinGW plugin and an MSVC editor lay out std::string differently, and nothing else here would catch it.

◆ DekiBuilderThisAbi()

DekiBuilderAbi DekiBuilderThisAbi ( uint32_t platformConfigSize,
uint32_t packageEntrySize )
inline

The ABI as the calling module sees it.

A plugin implements DekiBuilderGetAbi by returning a static filled with this.

◆ DekiBuilderGetAbi()

DEKI_BUILDER_API const DekiBuilderAbi * DekiBuilderGetAbi ( void )

Required.

What this plugin was compiled against; a plugin without this export is refused.

◆ DekiBuilderGetName()

DEKI_BUILDER_API const char * DekiBuilderGetName ( void )

The plugin's name for display in the editor (e.g. "Pico SDK Builder").

◆ DekiBuilderGetVersion()

DEKI_BUILDER_API const char * DekiBuilderGetVersion ( void )

The plugin's version string (e.g. "1.0.0").

◆ DekiBuilderGetBuilderCount()

DEKI_BUILDER_API int DekiBuilderGetBuilderCount ( void )

How many builders the plugin provides, usually 1.

◆ DekiBuilderCreateBuilder()

DEKI_BUILDER_API void * DekiBuilderCreateBuilder ( int index)

Creates builder index (0 to count - 1), or returns nullptr on error.

The editor hands it back to DekiBuilderDestroyBuilder when done.

◆ DekiBuilderDestroyBuilder()

DEKI_BUILDER_API void DekiBuilderDestroyBuilder ( void * builder)

Destroys a builder this plugin's DekiBuilderCreateBuilder made.

Variable Documentation

◆ kDekiBuilderAbiVersion

uint32_t kDekiBuilderAbiVersion = 3
constexpr

Bump when the builder interface changes shape: a new virtual, a reordered one, a changed signature, or a change to the layout of a struct that crosses the boundary.