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:199
void SetPlayer(AnimationPlayer *player)
Replaces the owned animation player.
Definition Manager.h:158
uint64_t SelectedFrameI() const
Returns the selected frame index.
Definition Manager.h:166
void RenderControls()
Renders playback and frame-management controls.
Definition Manager.cc:324
void RegisterKeybinds()
Registers animation-specific keybinds.
Definition Manager.cc:78
void RenderTimeline(bool prevEnabled)
Renders the timeline UI.
Definition Manager.cc:117
SharedPtr< ProjectFile > Proj() const
Returns the currently managed project.
Definition Manager.h:122
UniquePtr< ToolManager > m_ToolManager
Definition Manager.h:196
uint64_t m_SelectedFrame
Definition Manager.h:193
const UniquePtr< FrameRenderer > & GetFrameRenderer() const
Returns the primary frame renderer.
Definition Manager.h:187
UniquePtr< FrameRenderer > m_FrameRenderer
Definition Manager.h:194
SharedPtr< ProjectFile > m_Proj
Definition Manager.h:192
UniquePtr< AnimationPlayer > m_Player
Definition Manager.h:197
SharedPtr< EditorController > m_EditorController
Definition Manager.h:198
void RenderFrame()
Renders the frame UI.
Definition Manager.cc:96
AssetLoader * m_AssetLoader
Definition Manager.h:200
UniquePtr< FrameRenderer > m_TimelineFrameRenderer
Definition Manager.h:195
AnimationPlayer * Player() const
Returns the animation player.
Definition Manager.h:151
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:32
Frame * SelectedFrame()
Returns the selected frame object.
Definition Manager.h:175
void ResetProjectState()
Clears renderer/player state derived from the active project.
Definition Manager.cc:51
AppSettings & m_Settings
Definition Manager.h:201
void SetSettings(AppSettings &settings)
Rebinds the manager to a different settings object.
Definition Manager.h:144
void SetProj(SharedPtr< ProjectFile > proj)
Replaces the active project and updates the player to match.
Definition Manager.h:129
static void RenderLogs()
Renders animation-related log or debug output.
Definition Manager.cc:361
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:262
The FuncDoodle C++ namespace.
Definition Common.h:12
Represents the application's current settings and loaded from imgui.ini.
Definition AppSettings.h:22