Runtime configuration and user-adjustable application settings.
Centralized asset management system for images, audio, and fonts.
Core editor logic handling canvas interaction, painting tools, and stroke management.
Responsible for rendering individual animation frames and canvas UI.
Keyboard input system including key masks, shortcuts, and keybind registry.
Defines AnimationPlayer, responsible for animation playback control.
Defines the ProjectFile class, which manages animation project data.
Convenience type aliases for standard smart pointers.
std::unique_ptr< T > UniquePtr
Alias for an exclusively owned smart pointer.
Definition Ptr.h:28
std::shared_ptr< T > SharedPtr
Alias for a reference-counted shared smart pointer.
Definition Ptr.h:31
KeybindsRegistry & m_Keybinds
Definition Manager.h:194
void SetPlayer(AnimationPlayer *player)
Replaces the owned animation player.
Definition Manager.h:153
void RenderControls()
Renders playback and frame-management controls.
Definition Manager.cc:260
void RegisterKeybinds()
Registers animation-specific keybinds.
Definition Manager.cc:75
void RenderTimeline(bool prevEnabled)
Renders the timeline UI.
Definition Manager.cc:86
SharedPtr< ProjectFile > Proj() const
Returns the currently managed project.
Definition Manager.h:117
UniquePtr< ToolManager > m_ToolManager
Definition Manager.h:191
const UniquePtr< FrameRenderer > & GetFrameRenderer() const
Returns the primary frame renderer.
Definition Manager.h:182
UniquePtr< FrameRenderer > m_FrameRenderer
Definition Manager.h:189
SharedPtr< ProjectFile > m_Proj
Definition Manager.h:187
UniquePtr< AnimationPlayer > m_Player
Definition Manager.h:192
SharedPtr< EditorController > m_EditorController
Definition Manager.h:193
AssetLoader * m_AssetLoader
Definition Manager.h:195
UniquePtr< FrameRenderer > m_TimelineFrameRenderer
Definition Manager.h:190
unsigned long m_SelectedFrame
Definition Manager.h:188
AnimationPlayer * Player() const
Returns the animation player.
Definition Manager.h:146
AnimationManager(SharedPtr< ProjectFile > proj, AssetLoader *assetLoader, SharedPtr< EditorController > editorController, KeybindsRegistry &keybinds, AppSettings &settings)
Creates an animation manager for a project and its UI state.
Definition Manager.cc:29
Frame * SelectedFrame()
Returns the selected frame object.
Definition Manager.h:170
void ResetProjectState()
Clears renderer/player state derived from the active project.
Definition Manager.cc:48
AppSettings & m_Settings
Definition Manager.h:196
void SetSettings(AppSettings &settings)
Rebinds the manager to a different settings object.
Definition Manager.h:139
void SetProj(SharedPtr< ProjectFile > proj)
Replaces the active project and updates the player to match.
Definition Manager.h:124
static void RenderLogs()
Renders animation-related log or debug output.
Definition Manager.cc:293
unsigned long SelectedFrameI() const
Returns the selected frame index.
Definition Manager.h:161
Responsible for playing a users' animation.
Definition Player.h:39
Convenient abstraction that's responsible for loading assets at a given assetsPath.
Definition AssetLoader.h:37
Wraps an ImageArray with higher-level frame editing operations.
Definition Frame.h:248
Stores and persists all keybinds used in FuncDoodle (default + user-defined).
Definition Keybinds.h:250
The FuncDoodle C++ namespace.
Definition Common.h:12
Represents the application's current settings and loaded from imgui.ini.
Definition AppSettings.h:22