$ show adi3120/Fazen2d
Fazen2d is a C++ library for creating 2D graphics and handling input in the Windows console. It provides geometric primitives (points, lines, boxes, circles, text), a rendering system with double buffering to prevent flicker, input handlers for keyboard and mouse, and utility classes for timing and color management. The architecture is modular, with clear separation between rendering, geometry, input, and state management. The main entry point is in main.cpp, which demonstrates a simple animation loop. The library relies solely on the Windows API and C++ standard library.
The LLM identified 2 files worth highlighting for reuse:
The TimeManager class provides a simple, reusable mechanism for measuring frame-to-frame elapsed time using the C++ chrono library. It is decoupled from the rest of the project (only depends on <chrono>) and can be easily extracted for use in any project requiring frame timing.
The Color class encapsulates Windows console color attributes (foreground and background) into a single value, providing a clean interface for setting and retrieving color components. It is self-contained (only depends on <windows.h>) and can be reused in any Windows console application.