#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 #include 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; }