From a3fb87332ba909b19458b85897eaecbfd5449b13 Mon Sep 17 00:00:00 2001 From: Yousef Khadadeh Date: Mon, 29 Dec 2025 20:11:24 +0300 Subject: [PATCH] Fixed clipboard paste position and added back item count to debug menu --- src/DrawingProgram/DrawingProgramSelection.cpp | 4 ++-- .../Layers/DrawingProgramLayerListItem.cpp | 11 +++++++++++ .../Layers/DrawingProgramLayerListItem.hpp | 2 ++ src/Toolbar.cpp | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/DrawingProgram/DrawingProgramSelection.cpp b/src/DrawingProgram/DrawingProgramSelection.cpp index 9ee3f5d..7ee94c8 100644 --- a/src/DrawingProgram/DrawingProgramSelection.cpp +++ b/src/DrawingProgram/DrawingProgramSelection.cpp @@ -360,8 +360,8 @@ void DrawingProgramSelection::paste_clipboard(Vector2f pasteScreenPos) { for(auto& c : clipboard.components) { CanvasComponentContainer* newComponentContainer = new CanvasComponentContainer(drawP.world.netObjMan, *c); newComponentContainer->get_comp().remap_resource_ids(resourceRemapIDs); - c->coords.translate(-moveVec); - c->coords.scale_about(mousePos, scaleMultiplier); + newComponentContainer->coords.translate(-moveVec); + newComponentContainer->coords.scale_about(mousePos, scaleMultiplier); placedComponents.emplace_back(drawP.layerMan.edited_layer_component_count() + placedComponents.size(), newComponentContainer); } auto newlyInsertedObjects = drawP.layerMan.add_many_components_to_layer_being_edited(placedComponents); diff --git a/src/DrawingProgram/Layers/DrawingProgramLayerListItem.cpp b/src/DrawingProgram/Layers/DrawingProgramLayerListItem.cpp index 637cda9..9c82b7f 100644 --- a/src/DrawingProgram/Layers/DrawingProgramLayerListItem.cpp +++ b/src/DrawingProgram/Layers/DrawingProgramLayerListItem.cpp @@ -62,6 +62,17 @@ void DrawingProgramLayerListItem::get_flattened_layer_list(std::vectorfolderList->get_data()) + toRet += c->obj->get_component_count(); + return toRet; + } + else + return layerData->components->size(); +} + bool DrawingProgramLayerListItem::is_folder() const { return folderData != nullptr; } diff --git a/src/DrawingProgram/Layers/DrawingProgramLayerListItem.hpp b/src/DrawingProgram/Layers/DrawingProgramLayerListItem.hpp index 9ef7601..e2e6044 100644 --- a/src/DrawingProgram/Layers/DrawingProgramLayerListItem.hpp +++ b/src/DrawingProgram/Layers/DrawingProgramLayerListItem.hpp @@ -37,6 +37,8 @@ class DrawingProgramLayerListItem { void set_blend_mode(DrawingProgramLayerManager& layerMan, SerializedBlendMode newBlendMode) const; SerializedBlendMode get_blend_mode() const; + + uint32_t get_component_count() const; private: static void write_constructor_func(const NetworkingObjects::NetObjTemporaryPtr& o, cereal::PortableBinaryOutputArchive& a); static void read_constructor_func(const NetworkingObjects::NetObjTemporaryPtr& o, cereal::PortableBinaryInputArchive& a, const std::shared_ptr& c); diff --git a/src/Toolbar.cpp b/src/Toolbar.cpp index aa4ae96..da26e48 100644 --- a/src/Toolbar.cpp +++ b/src/Toolbar.cpp @@ -1228,6 +1228,7 @@ void Toolbar::performance_metrics() { std::stringstream a; a << "FPS: " << std::fixed << std::setprecision(0) << (1.0 / main.deltaTime); gui.text_label(a.str()); + gui.text_label("Item Count: " + std::to_string(main.world->drawProg.layerMan.get_layer_root().get_component_count())); std::stringstream b; b << "Coord: " << main.world->drawData.cam.c.pos.x().display_int_str(5) << ", " << main.world->drawData.cam.c.pos.y().display_int_str(5); gui.text_label(b.str());