Started work on layers undo/redo, and implemented undo action for moving bookmark list items

This commit is contained in:
Yousef Khadadeh 2026-01-03 19:05:00 +03:00
parent 974985ffcd
commit cba5c3abc9
12 changed files with 199 additions and 30 deletions

View file

@ -41,8 +41,8 @@ void CanvasComponentContainer::register_class(World& w) {
});
}
std::shared_ptr<CanvasComponentContainer::CopyData> CanvasComponentContainer::get_data_copy() const {
auto toRet = std::make_shared<CopyData>();
std::unique_ptr<CanvasComponentContainer::CopyData> CanvasComponentContainer::get_data_copy() const {
auto toRet = std::make_unique<CanvasComponentContainer::CopyData>();
toRet->coords = coords;
toRet->obj = compAllocator->comp->get_data_copy();
return toRet;

View file

@ -6,6 +6,7 @@
#include <Helpers/NetworkingObjects/NetObjOrderedList.hpp>
#include <Helpers/NetworkingObjects/NetObjOwnerPtr.hpp>
#include "CanvasComponentAllocator.hpp"
#include "../WorldUndoManager.hpp"
class DrawingProgram;
class DrawingProgramLayerListItem;
@ -36,7 +37,7 @@ class CanvasComponentContainer {
CanvasComponentContainer(NetworkingObjects::NetObjManager& objMan, const CopyData& copyData);
static void register_class(World& w);
std::shared_ptr<CopyData> get_data_copy() const;
std::unique_ptr<CopyData> get_data_copy() const;
void save_file(cereal::PortableBinaryOutputArchive& a) const;
void load_file(cereal::PortableBinaryInputArchive& a, VersionNumber version, NetworkingObjects::NetObjManager& objMan);
CanvasComponent& get_comp() const;