cleaner backend

This commit is contained in:
2025-10-11 14:26:42 +02:00
parent 899bfeef41
commit fa2715a60a
26 changed files with 747 additions and 405 deletions

View File

@@ -0,0 +1,16 @@
add_executable(cardboy_desktop
src/main.cpp
)
set_target_properties(cardboy_desktop PROPERTIES
EXPORT_NAME desktop_launcher
)
target_link_libraries(cardboy_desktop
PRIVATE
cardboy_apps
cardboy_sdk
${CARDBOY_SDK_BACKEND_LIBRARY}
)
target_compile_features(cardboy_desktop PRIVATE cxx_std_20)

View File

@@ -0,0 +1,33 @@
#include "cardboy/apps/clock_app.hpp"
#include "cardboy/apps/gameboy_app.hpp"
#include "cardboy/apps/menu_app.hpp"
#include "cardboy/apps/tetris_app.hpp"
#include "cardboy/backend/desktop_backend.hpp"
#include "cardboy/sdk/app_system.hpp"
#include <cstdio>
#include <exception>
using cardboy::backend::desktop::DesktopRuntime;
int main() {
try {
DesktopRuntime runtime;
cardboy::sdk::AppContext context(runtime.framebuffer, runtime.input, runtime.clock);
context.services = &runtime.serviceRegistry();
cardboy::sdk::AppSystem system(context);
system.registerApp(apps::createMenuAppFactory());
system.registerApp(apps::createClockAppFactory());
system.registerApp(apps::createGameboyAppFactory());
system.registerApp(apps::createTetrisAppFactory());
system.run();
} catch (const std::exception& ex) {
std::fprintf(stderr, "Cardboy desktop runtime failed: %s\n", ex.what());
return 1;
}
return 0;
}