FuncDoodle
Loading...
Searching...
No Matches
EditorController.h File Reference

Core editor logic handling canvas interaction, painting tools, and stroke management. More...

#include "Action/Action.h"
#include "Core/AppSettings.h"
#include "Core/Grid.h"
#include "Core/Player.h"
#include "Project/Frame.h"
#include "Selection/Selection.h"
#include "Tool/ToolManager.h"
#include "Util/Ptr.h"
#include "imgui.h"
#include <unordered_map>
#include <vector>

Go to the source code of this file.

Classes

class  FuncDoodle::EditorController
 Handles canvas editing, painting tools, and stroke recording. More...
struct  FuncDoodle::EditorController::CanvasContext
 Bundles per-frame canvas state used during rendering and input handling. More...

Namespaces

namespace  FuncDoodle
 The FuncDoodle C++ namespace.

Detailed Description

Core editor logic handling canvas interaction, painting tools, and stroke management.

This file defines EditorController, which is responsible for:

  • Processing user input on the canvas (mouse/keyboard interaction)
  • Dispatching tool behavior (pencil, eraser, bucket, picker, selection)
  • Rendering the canvas using ImGui draw lists
  • Managing stroke-based undo/redo recording
  • Coordinating with AnimationPlayer, ToolManager, and Selection systems

It also contains CanvasContext, a per-frame runtime structure used to pass rendering and input state into canvas operations.

The controller acts as the central bridge between UI input and frame editing logic.

This file defines EditorController, which is responsible for:

  • Processing mouse input on the canvas
  • Managing active painting strokes
  • Handling tool behavior (pencil, eraser, etc.)
  • Selection manipulation and rendering