- Replace header include guards with `#pragma once` and perform minor optimizations. - Replaced traditional include guards with `#pragma once` for simplicity and to reduce boilerplate in all headers. - Improved CLI line number handling with clamping and error messaging. - Enhanced `chdir` error handling for macOS GUI builds. - Removed redundant logic for GUI builds. - Adjusted font constructor and registry to handle `const` data pointers consistently.
22 lines
498 B
C++
22 lines
498 B
C++
/*
|
|
* Frontend.h - top-level container that couples Input + Renderer and runs the loop
|
|
*/
|
|
#pragma once
|
|
|
|
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;
|
|
}; |