Started work on layers undo/redo, and implemented undo action for moving bookmark list items
This commit is contained in:
parent
974985ffcd
commit
cba5c3abc9
12 changed files with 199 additions and 30 deletions
|
|
@ -13,23 +13,25 @@ class DrawingProgramLayer;
|
|||
class World;
|
||||
class DrawingProgramLayerManager;
|
||||
|
||||
struct DrawingProgramLayerListItemMetaInfoInitData {
|
||||
struct DrawingProgramLayerListItemMetaInfoUndoData {
|
||||
std::string name;
|
||||
float alpha = 1.0f;
|
||||
SerializedBlendMode blendMode = SerializedBlendMode::SRC_OVER;
|
||||
};
|
||||
|
||||
struct DrawingProgramLayerListItemInitData {
|
||||
DrawingProgramLayerListItemMetaInfoInitData metaInfo;
|
||||
std::optional<DrawingProgramLayerFolderInitData> folderData;
|
||||
std::optional<DrawingProgramLayerInitData> layerData;
|
||||
struct DrawingProgramLayerListItemUndoData {
|
||||
WorldUndoManager::UndoObjectID undoID;
|
||||
DrawingProgramLayerListItemMetaInfoUndoData metaInfo;
|
||||
std::optional<std::vector<DrawingProgramLayerListItemUndoData>> folderData;
|
||||
std::optional<std::vector<DrawingProgramComponentUndoData>> layerData;
|
||||
};
|
||||
|
||||
class DrawingProgramLayerListItem {
|
||||
public:
|
||||
DrawingProgramLayerListItem();
|
||||
DrawingProgramLayerListItem(NetworkingObjects::NetObjManager& netObjMan, const std::string& initName, bool isFolder);
|
||||
DrawingProgramLayerListItem(NetworkingObjects::NetObjManager& netObjMan, const DrawingProgramLayerListItemInitData& initData);
|
||||
DrawingProgramLayerListItem(World& w, const DrawingProgramLayerListItemUndoData& undoData);
|
||||
DrawingProgramLayerListItemUndoData get_undo_data(WorldUndoManager& u) const;
|
||||
bool is_folder() const;
|
||||
DrawingProgramLayerFolder& get_folder() const;
|
||||
DrawingProgramLayer& get_layer() const;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue