|
Flint Engine
Modular C++20 2D game engine powered by SDL3
|
| CFlint::AppEvent | A tagged union representing a single application input or window event |
| CFlint::Application | Entry-point base class for a Flint application |
| CFlint::ApplicationConfig | User-facing metadata and window defaults for a Flint-powered application |
| CFlint::AssetManager | Central resource cache and hot-reload coordinator |
| CFlint::Audio | Manages audio playback via SDL3_mixer |
| CFlint::BatchVertex | Vertex structure for the primary geometry quad pipeline |
| CFlint::Camera | |
| CFlint::Clock | A pausable, restartable elapsed-time clock |
| CFlint::Color | RGBA color with 8-bit unsigned components |
| CFlint::Context | |
| ▼CFlint::Drawable | Interface for objects that contribute ordered work to a rendered frame |
| CFlint::PrimitiveArray | A CPU-side collection of colored 2-D vertices that can be drawn as primitives |
| ▼CFlint::Shape | Abstract base class for 2-D geometric shapes |
| CFlint::CircleShape | A 2D circle rendered as a textured quad with a circle SDF shader |
| CFlint::RectangleShape | A 2D axis-aligned rectangle rendered as a textured quad |
| CFlint::Sprite | A 2-D textured quad that references a GPUTexture |
| CFlint::DrawCommand | Associates a submitted drawable with its render layer |
| CFlint::EngineConfig | Engine initialization toggles that control runtime systems and GPU behavior |
| CFlint::FlintConfig | Aggregate configuration passed to the engine bootstrap code |
| CFlint::FontKey | Internal tracking key used to map a physical font asset instance in memory |
| CFlint::FontKeyHash | Custom hashing mechanism to facilitate constant-time O(1) font lookups inside associative arrays |
| CFlint::GPULineVertex | Internal vertex structure sent directly to line/point primitive shaders |
| CFlint::GPURenderer | High-level SDL GPU renderer managing pipeline state, batching, and frame presentation |
| CFlint::GPUTexture | Owns an SDL GPU texture and its associated sampler |
| CFlint::GPUWindowCast | Helper that extracts SDL GPU objects from an IWindow via dynamic_cast |
| ▼CFlint::IAssetLoader | Abstract interface for loading raw asset data by path |
| CFlint::FileSystem | Disk-backed implementation of IAssetLoader |
| ▼CFlint::IGPUContext | Interface that exposes low-level SDL GPU objects from a window implementation |
| CFlint::SdlWindow | SDL3 window implementation that also exposes the SDL GPU context |
| CFlint::InputSnapshot | Immutable snapshot of all input device states at a single point in time |
| ▼CFlint::IWindow | Abstract interface for a platform window |
| CFlint::SdlWindow | SDL3 window implementation that also exposes the SDL GPU context |
| CFlint::Log | |
| CFlint::LoggingConfig | |
| CFlint::Node | |
| CFlint::ParticleEffect | Abstract interface for a self-contained particle effect |
| CFlint::StateManager::PendingTransition | Transition description queued for later application |
| ▼CFlint::Pipeline | Base class for GPU graphics pipelines |
| CFlint::BatchPipeline | Graphics pipeline for primary 2D batched quad geometry and procedural shapes |
| CFlint::UIPipeline | Alpha-blended pipeline for rendering UI elements (text, panels, icons) |
| CFlint::PipelineConfig | Configuration parameters for Pipeline::initialize() |
| CFlint::PrimitivePipeline | |
| CFlint::PrimitiveVertex | Public user-facing vertex representation for point and line primitives |
| CFlint::Property | |
| CFlint::Rect< T > | Generic axis-aligned rectangle defined by a position and size |
| CFlint::Rect< float > | |
| CFlint::RenderQueue | Batches drawables into sorted geometry, primitive, and custom execution passes for GPURenderer |
| CFlint::Shader | Owns a pair of SDL GPU shaders (vertex + fragment) tied to one SDL_GPUDevice |
| CFlint::UISlider::SliderProperties | Architectural constraints governing value clamping and stepping metrics |
| CFlint::UISlider::SliderStyle | Visual properties defining the slider track, fill area, and thumb indicator |
| CFlint::State | Abstract base for a single game state (scene / screen) |
| CFlint::StateManager | Manages a stack of States and applies queued transitions |
| CFlint::TextCacheKey | Compound lookup key combining text copy with style states to handle discrete GPU text caching |
| CFlint::TextCacheKeyHash | 64-bit golden ratio hash combiner designed to prevent lookup collisions across active text strings |
| CFlint::Texture | Owns an SDL_Texture loaded from memory or created as a render target |
| CFlint::Time | Utility for converting time values to milliseconds |
| CFlint::Transform | Holds the 2-D transform components for a game object |
| CFlint::UIBuilder | |
| CFlint::UICanvas | Dynamic 2D batching engine processing shape vector geometry and hardware-accelerated text strings. *UICanvas acts as the graphics compositor for the UI layer. It intercepts layout draw commands, pools transient vertex lists into unified buffers to optimize pipeline state swaps, and coordinates a sliding frame cache system that automatically tracks and flushes unreferenced font textures from VRAM |
| CFlint::UIConstraints | Represents the boundary budget passed down the node tree during layout allocation |
| CFlint::UIContext | Manages an isolated user interface canvas workspace sandbox, hosting its own independent node tree and interaction state trackers |
| CFlint::UIEvent | A normalized data packet containing translated input data routed down the UI node tree |
| CFlint::UIFragmentUniforms | Fragment uniforms for the UI pipeline |
| CFlint::UIMargin | Defines the exterior boundaries (in pixels) surrounding a UI element |
| ▼CFlint::UINode | Abstract base class for all UI widgets, managing hierarchy tracking, layout passes, and input routing |
| CFlint::UIButton | A clickable interactive text button widget supporting custom sprite icons |
| CFlint::UILabel | A non-interactive text rendering widget |
| CFlint::UIPanel | A container widget that arranges child nodes into sequential layout distributions |
| CFlint::UISlider | An interactive value-selector bar supporting mouse dragging and gamepad focus adjustments |
| CFlint::UISprite | A static texture rendering frame component wrapper |
| CFlint::UIPadding | Defines the internal spacing boundaries (in pixels) for UI layout containers |
| CFlint::UIParser | |
| CFlint::UISystem | Central gateway subsystem managing UI multi-context lifetimes, resolution scaling, and input filtering |
| CUIVertexPushConstants | |
| CFlint::UIVertexUniforms | Vertex uniforms for the UI pipeline |
| CFlint::Vec2< T > | Generic 2-D vector with arithmetic operators |
| CFlint::Vec2< float > | |
| CFlint::AssetManager::WatchHandle | RAII handle returned by watch() |