Make full screen+row colours and CLUT remapping undoable

This commit is contained in:
G.K.MacGregor
2023-08-13 21:39:25 +01:00
parent 3729b293f0
commit 6185ca7110
7 changed files with 227 additions and 35 deletions

View File

@@ -183,6 +183,70 @@ private:
};
#endif // !QT_NO_CLIPBOARD
class SetFullScreenColourCommand : public LevelOneCommand
{
public:
enum { Id = 105 };
SetFullScreenColourCommand(TeletextDocument *, int, QUndoCommand *parent = 0);
void redo() override;
void undo() override;
bool mergeWith(const QUndoCommand *) override;
int id() const override { return Id; }
private:
int m_oldColour, m_newColour;
};
class SetFullRowColourCommand : public LevelOneCommand
{
public:
enum { Id = 106 };
SetFullRowColourCommand(TeletextDocument *, int, QUndoCommand *parent = 0);
void redo() override;
void undo() override;
bool mergeWith(const QUndoCommand *) override;
int id() const override { return Id; }
private:
int m_oldColour, m_newColour;
};
class SetCLUTRemapCommand : public LevelOneCommand
{
public:
enum { Id = 107 };
SetCLUTRemapCommand(TeletextDocument *, int, QUndoCommand *parent = 0);
void redo() override;
void undo() override;
bool mergeWith(const QUndoCommand *) override;
int id() const override { return Id; }
private:
int m_oldMap, m_newMap;
};
class SetBlackBackgroundSubstCommand : public LevelOneCommand
{
public:
enum { Id = 108 };
SetBlackBackgroundSubstCommand(TeletextDocument *, bool, QUndoCommand *parent = 0);
void redo() override;
void undo() override;
bool mergeWith(const QUndoCommand *) override;
int id() const override { return Id; }
private:
int m_oldSub, m_newSub;
};
class SetColourCommand : public LevelOneCommand
{
public: