FuncDoodle
Loading...
Searching...
No Matches
FuncDoodle::DrawAction Class Reference

Represents a single-pixel draw operation for undo/redo. More...

#include <Core.h>

Inheritance diagram for FuncDoodle::DrawAction:
FuncDoodle::Action

Public Member Functions

 DrawAction (int x, int y, Col prev, Col next, unsigned long frameI, const SharedPtr< ProjectFile > &proj)
 Creates a draw action for a single pixel change.
 DrawAction (const DrawAction &other)=default
 Copy constructor.
 ~DrawAction () override=default
 Destructor.
void Undo () override
 Reverts the pixel to its previous color.
void Redo () override
 Applies the new pixel color.
Public Member Functions inherited from FuncDoodle::Action
virtual ~Action ()=default
 Virtual destructor for safe polymorphic destruction.

Private Attributes

int m_X
int m_Y
Col m_Prev
Col m_Next
unsigned long m_FrameIndex
WeakPtr< ProjectFilem_Proj

Detailed Description

Represents a single-pixel draw operation for undo/redo.

Stores the previous and new color of a pixel so the change can be reverted or reapplied on a specific frame.

Constructor & Destructor Documentation

◆ DrawAction() [1/2]

FuncDoodle::DrawAction::DrawAction ( int x,
int y,
Col prev,
Col next,
unsigned long frameI,
const SharedPtr< ProjectFile > & proj )
inline

Creates a draw action for a single pixel change.

◆ DrawAction() [2/2]

FuncDoodle::DrawAction::DrawAction ( const DrawAction & other)
default

Copy constructor.

◆ ~DrawAction()

FuncDoodle::DrawAction::~DrawAction ( )
overridedefault

Destructor.

Member Function Documentation

◆ Redo()

void FuncDoodle::DrawAction::Redo ( )
overridevirtual

Applies the new pixel color.

Implements FuncDoodle::Action.

◆ Undo()

void FuncDoodle::DrawAction::Undo ( )
overridevirtual

Reverts the pixel to its previous color.

Implements FuncDoodle::Action.

Member Data Documentation

◆ m_FrameIndex

unsigned long FuncDoodle::DrawAction::m_FrameIndex
private

◆ m_Next

Col FuncDoodle::DrawAction::m_Next
private

◆ m_Prev

Col FuncDoodle::DrawAction::m_Prev
private

◆ m_Proj

WeakPtr<ProjectFile> FuncDoodle::DrawAction::m_Proj
private

◆ m_X

int FuncDoodle::DrawAction::m_X
private

◆ m_Y

int FuncDoodle::DrawAction::m_Y
private

The documentation for this class was generated from the following files: