Flint Engine
Modular C++20 2D game engine powered by SDL3
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CFlint::AppEventA tagged union representing a single application input or window event
 CFlint::ApplicationEntry-point base class for a Flint application
 CFlint::ApplicationConfigUser-facing metadata and window defaults for a Flint-powered application
 CFlint::AssetManagerCentral resource cache and hot-reload coordinator
 CFlint::AudioManages audio playback via SDL3_mixer
 CFlint::BatchVertexVertex structure for the primary geometry quad pipeline
 CFlint::Camera
 CFlint::ClockA pausable, restartable elapsed-time clock
 CFlint::ColorRGBA color with 8-bit unsigned components
 CFlint::Context
 ▼CFlint::DrawableInterface for objects that contribute ordered work to a rendered frame
 CFlint::PrimitiveArrayA CPU-side collection of colored 2-D vertices that can be drawn as primitives
 ▼CFlint::ShapeAbstract base class for 2-D geometric shapes
 CFlint::CircleShapeA 2D circle rendered as a textured quad with a circle SDF shader
 CFlint::RectangleShapeA 2D axis-aligned rectangle rendered as a textured quad
 CFlint::SpriteA 2-D textured quad that references a GPUTexture
 CFlint::DrawCommandAssociates a submitted drawable with its render layer
 CFlint::EngineConfigEngine initialization toggles that control runtime systems and GPU behavior
 CFlint::FlintConfigAggregate configuration passed to the engine bootstrap code
 CFlint::FontKeyInternal tracking key used to map a physical font asset instance in memory
 CFlint::FontKeyHashCustom hashing mechanism to facilitate constant-time O(1) font lookups inside associative arrays
 CFlint::GPULineVertexInternal vertex structure sent directly to line/point primitive shaders
 CFlint::GPURendererHigh-level SDL GPU renderer managing pipeline state, batching, and frame presentation
 CFlint::GPUTextureOwns an SDL GPU texture and its associated sampler
 CFlint::GPUWindowCastHelper that extracts SDL GPU objects from an IWindow via dynamic_cast
 ▼CFlint::IAssetLoaderAbstract interface for loading raw asset data by path
 CFlint::FileSystemDisk-backed implementation of IAssetLoader
 ▼CFlint::IGPUContextInterface that exposes low-level SDL GPU objects from a window implementation
 CFlint::SdlWindowSDL3 window implementation that also exposes the SDL GPU context
 CFlint::InputSnapshotImmutable snapshot of all input device states at a single point in time
 ▼CFlint::IWindowAbstract interface for a platform window
 CFlint::SdlWindowSDL3 window implementation that also exposes the SDL GPU context
 CFlint::Log
 CFlint::LoggingConfig
 CFlint::Node
 CFlint::ParticleEffectAbstract interface for a self-contained particle effect
 CFlint::StateManager::PendingTransitionTransition description queued for later application
 ▼CFlint::PipelineBase class for GPU graphics pipelines
 CFlint::BatchPipelineGraphics pipeline for primary 2D batched quad geometry and procedural shapes
 CFlint::UIPipelineAlpha-blended pipeline for rendering UI elements (text, panels, icons)
 CFlint::PipelineConfigConfiguration parameters for Pipeline::initialize()
 CFlint::PrimitivePipeline
 CFlint::PrimitiveVertexPublic 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::RenderQueueBatches drawables into sorted geometry, primitive, and custom execution passes for GPURenderer
 CFlint::ShaderOwns a pair of SDL GPU shaders (vertex + fragment) tied to one SDL_GPUDevice
 CFlint::UISlider::SliderPropertiesArchitectural constraints governing value clamping and stepping metrics
 CFlint::UISlider::SliderStyleVisual properties defining the slider track, fill area, and thumb indicator
 CFlint::StateAbstract base for a single game state (scene / screen)
 CFlint::StateManagerManages a stack of States and applies queued transitions
 CFlint::TextCacheKeyCompound lookup key combining text copy with style states to handle discrete GPU text caching
 CFlint::TextCacheKeyHash64-bit golden ratio hash combiner designed to prevent lookup collisions across active text strings
 CFlint::TextureOwns an SDL_Texture loaded from memory or created as a render target
 CFlint::TimeUtility for converting time values to milliseconds
 CFlint::TransformHolds the 2-D transform components for a game object
 CFlint::UIBuilder
 CFlint::UICanvasDynamic 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::UIConstraintsRepresents the boundary budget passed down the node tree during layout allocation
 CFlint::UIContextManages an isolated user interface canvas workspace sandbox, hosting its own independent node tree and interaction state trackers
 CFlint::UIEventA normalized data packet containing translated input data routed down the UI node tree
 CFlint::UIFragmentUniformsFragment uniforms for the UI pipeline
 CFlint::UIMarginDefines the exterior boundaries (in pixels) surrounding a UI element
 ▼CFlint::UINodeAbstract base class for all UI widgets, managing hierarchy tracking, layout passes, and input routing
 CFlint::UIButtonA clickable interactive text button widget supporting custom sprite icons
 CFlint::UILabelA non-interactive text rendering widget
 CFlint::UIPanelA container widget that arranges child nodes into sequential layout distributions
 CFlint::UISliderAn interactive value-selector bar supporting mouse dragging and gamepad focus adjustments
 CFlint::UISpriteA static texture rendering frame component wrapper
 CFlint::UIPaddingDefines the internal spacing boundaries (in pixels) for UI layout containers
 CFlint::UIParser
 CFlint::UISystemCentral gateway subsystem managing UI multi-context lifetimes, resolution scaling, and input filtering
 CUIVertexPushConstants
 CFlint::UIVertexUniformsVertex uniforms for the UI pipeline
 CFlint::Vec2< T >Generic 2-D vector with arithmetic operators
 CFlint::Vec2< float >
 CFlint::AssetManager::WatchHandleRAII handle returned by watch()