Files
kte/Frontend.h
2025-11-29 17:54:55 -08:00

28 lines
598 B
C++

/*
* Frontend.h - top-level container that couples Input + Renderer and runs the loop
*/
#ifndef KTE_FRONTEND_H
#define KTE_FRONTEND_H
#include <memory>
class Editor;
class InputHandler;
class Renderer;
class Frontend {
public:
virtual ~Frontend() = default;
// Initialize the frontend (create window/terminal, etc.)
virtual bool Init(Editor &ed) = 0;
// Execute one iteration (poll input, dispatch, draw). Set running=false to exit.
virtual void Step(Editor &ed, bool &running) = 0;
// Shutdown/cleanup
virtual void Shutdown() = 0;
};
#endif // KTE_FRONTEND_H