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

Macros

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

Functions

DEKI_PLUGIN_API const char * DekiPluginGetName (void)
 The plugin's name as the editor shows it.
DEKI_PLUGIN_API const char * DekiPluginGetVersion (void)
 The plugin's version, such as "1.0.0".
DEKI_PLUGIN_API int DekiPluginInit (void)
 Optional. Starts the plugin; returns 0 on success.
DEKI_PLUGIN_API void DekiPluginShutdown (void)
 Optional. Shuts the plugin down.
DEKI_PLUGIN_API int DekiPluginGetComponentCount (void)
 Number of components the plugin provides.
DEKI_PLUGIN_API const void * DekiPluginGetComponentMeta (int index)
 Metadata of component index (0 to count - 1), or nullptr when out of range.
DEKI_PLUGIN_API void DekiPluginRegisterComponents (void)
 Registers the plugin's components with the engine, so they appear in the Add Component menu.
DEKI_PLUGIN_API void DekiPluginSetImGuiContext (void *context)
 Receives the editor's ImGui context.
DEKI_PLUGIN_API unsigned int DekiPluginGetImGuiContextSize (void)
 sizeof(ImGuiContext) as this package compiled it.
DEKI_PLUGIN_API void DekiPluginClearRegistries (void)
 Removes everything this package registered in engine registries.
DEKI_PLUGIN_API void DekiPluginOnPlayModeStart (void *scene)
 Play mode is starting, with the given Deki::Scene*.
DEKI_PLUGIN_API void DekiPluginOnPlayModeStop (void)
 Play mode has stopped.

Macro Definition Documentation

◆ DEKI_PLUGIN_API

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

Function Documentation

◆ DekiPluginGetName()

DEKI_PLUGIN_API const char * DekiPluginGetName ( void )

The plugin's name as the editor shows it.

◆ DekiPluginGetVersion()

DEKI_PLUGIN_API const char * DekiPluginGetVersion ( void )

The plugin's version, such as "1.0.0".

◆ DekiPluginInit()

DEKI_PLUGIN_API int DekiPluginInit ( void )

Optional. Starts the plugin; returns 0 on success.

◆ DekiPluginShutdown()

DEKI_PLUGIN_API void DekiPluginShutdown ( void )

Optional. Shuts the plugin down.

◆ DekiPluginGetComponentCount()

DEKI_PLUGIN_API int DekiPluginGetComponentCount ( void )

Number of components the plugin provides.

◆ DekiPluginGetComponentMeta()

DEKI_PLUGIN_API const void * DekiPluginGetComponentMeta ( int index)

Metadata of component index (0 to count - 1), or nullptr when out of range.

It includes a factory, so the editor can create the component in play mode.

◆ DekiPluginRegisterComponents()

DEKI_PLUGIN_API void DekiPluginRegisterComponents ( void )

Registers the plugin's components with the engine, so they appear in the Add Component menu.

The editor calls it after loading the DLL.

◆ DekiPluginSetImGuiContext()

DEKI_PLUGIN_API void DekiPluginSetImGuiContext ( void * context)

Receives the editor's ImGui context.

Only packages that call ImGui directly need it; packages that draw through deki-editor's EditorUI get the context through Deki::SetImGuiContext.

◆ DekiPluginGetImGuiContextSize()

DEKI_PLUGIN_API unsigned int DekiPluginGetImGuiContextSize ( void )

sizeof(ImGuiContext) as this package compiled it.

The loader refuses the package when it differs from its own, rather than let it corrupt the shared context. A package without it loads unchecked, so export it if you touch ImGui at all.

◆ DekiPluginClearRegistries()

DEKI_PLUGIN_API void DekiPluginClearRegistries ( void )

Removes everything this package registered in engine registries.

Called before the DLL is unloaded for a hot reload: anything holding a pointer into the DLL (factories, std::function callbacks, metadata) must go here, or it dangles once FreeLibrary runs.

◆ DekiPluginOnPlayModeStart()

DEKI_PLUGIN_API void DekiPluginOnPlayModeStart ( void * scene)

Play mode is starting, with the given Deki::Scene*.

◆ DekiPluginOnPlayModeStop()

DEKI_PLUGIN_API void DekiPluginOnPlayModeStop ( void )

Play mode has stopped.