Added layer manager undo actions
This commit is contained in:
parent
18c7dab0ff
commit
2dec0ab2c5
6 changed files with 374 additions and 17 deletions
|
|
@ -13,17 +13,19 @@ class DrawingProgramLayer;
|
|||
class World;
|
||||
class DrawingProgramLayerManager;
|
||||
|
||||
struct DrawingProgramLayerListItemMetaInfoUndoData {
|
||||
struct DrawingProgramLayerListItemMetaInfo {
|
||||
std::string name;
|
||||
float alpha = 1.0f;
|
||||
SerializedBlendMode blendMode = SerializedBlendMode::SRC_OVER;
|
||||
bool operator==(const DrawingProgramLayerListItemMetaInfo&) const = default;
|
||||
};
|
||||
|
||||
struct DrawingProgramLayerListItemUndoData {
|
||||
WorldUndoManager::UndoObjectID undoID;
|
||||
DrawingProgramLayerListItemMetaInfoUndoData metaInfo;
|
||||
DrawingProgramLayerListItemMetaInfo metaInfo;
|
||||
std::optional<std::vector<DrawingProgramLayerListItemUndoData>> folderData;
|
||||
std::optional<std::vector<DrawingProgramComponentUndoData>> layerData;
|
||||
void scale_up(const WorldScalar& scaleUpAmount);
|
||||
};
|
||||
|
||||
class DrawingProgramLayerListItem {
|
||||
|
|
@ -59,6 +61,9 @@ class DrawingProgramLayerListItem {
|
|||
void set_blend_mode(DrawingProgramLayerManager& layerMan, SerializedBlendMode newBlendMode) const;
|
||||
SerializedBlendMode get_blend_mode() const;
|
||||
|
||||
void set_metainfo(DrawingProgramLayerManager& layerMan, const DrawingProgramLayerListItemMetaInfo& metaInfo);
|
||||
DrawingProgramLayerListItemMetaInfo get_metainfo() const;
|
||||
|
||||
uint32_t get_component_count() const;
|
||||
private:
|
||||
static void write_constructor_func(const NetworkingObjects::NetObjTemporaryPtr<DrawingProgramLayerListItem>& o, cereal::PortableBinaryOutputArchive& a);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue