add ending headers

This commit is contained in:
2025-03-30 12:48:45 -05:00
parent 5fe172bc0d
commit 20ab1501ff
8 changed files with 36 additions and 28 deletions

10
include/endApp.h Normal file
View File

@@ -0,0 +1,10 @@
#include "Archimedes.h"
#ifdef APP_TYPE
inline Archimedes::App* MakeApp() {
return new APP_TYPE();
}
#undef APP_TYPE
#endif

12
include/endModule.h Normal file
View File

@@ -0,0 +1,12 @@
#include "Archimedes.h"
#ifdef MODULE_TYPE
extern "C" {
Archimedes::Module* create(void* handle, Archimedes::App* app) {
return new MODULE_TYPE(handle, app);
}
}
#undef MODULE_TYPE
#endif

View File

@@ -10,8 +10,7 @@ class DependsOnPrint : public Archimedes::Module {
}; };
extern "C" { #ifndef DEPENDSONPRINT_STATIC
Archimedes::Module* create(void* handle, Archimedes::App* app) { #define MODULE_TYPE DependsOnPrint
return new DependsOnPrint(handle, app); #include "endModule.h"
} #endif
}

View File

@@ -11,11 +11,6 @@ class DependsOnPrintStatic : public Archimedes::Module {
}; };
#ifndef DEPENDSONPRINTSTATIC_STATIC #ifndef DEPENDSONPRINTSTATIC_STATIC
#define MODULE_TYPE DependsOnPrintStatic
extern "C" { #include "endModule.h"
Archimedes::Module* create(void* handle, Archimedes::App* app) {
return new DependsOnPrintStatic(handle, app);
}
}
#endif #endif

View File

@@ -22,11 +22,6 @@ class TestImgui : public Archimedes::GuiModule {
}; };
#ifndef TESTIMGUI_STATIC #ifndef TESTIMGUI_STATIC
#define MODULE_TYPE TestImgui
extern "C" { #include "endModule.h"
Archimedes::Module* create(void* handle, Archimedes::App* app) {
return (Archimedes::Module*) new TestImgui(handle, app);
}
}
#endif #endif

View File

@@ -11,11 +11,6 @@ class Print : public Archimedes::Module {
}; };
#ifndef PRINT_STATIC #ifndef PRINT_STATIC
#define MODULE_TYPE Print
extern "C" { #include "endModule.h"
Archimedes::Module* create(void* handle, Archimedes::App* app) {
return new Print(handle, app);
}
}
#endif #endif

View File

@@ -27,4 +27,5 @@ class ImguiEmbed : public Archimedes::App {
}; };
Archimedes::App* MakeApp() { return (Archimedes::App*) new ImguiEmbed(); } #define APP_TYPE ImguiEmbed
#include "endApp.h"

View File

@@ -29,4 +29,5 @@ class MinimalApp : public Archimedes::App {
}; };
Archimedes::App* MakeApp() { return new MinimalApp(); } #define APP_TYPE MinimalApp
#include "endApp.h"