From 41ece63aa717a60b1a1d19b1d95f151a1e85ea29 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Tue, 18 Jun 2019 18:32:18 +0200 Subject: [PATCH] update android projects --- android/android/CMakeLists.txt | 2 ++ android/quest/CMakeLists.txt | 2 ++ src/canvas_layer.h | 2 +- src/node_panel_layer.cpp | 5 +++-- src/node_panel_layer.h | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/android/android/CMakeLists.txt b/android/android/CMakeLists.txt index 1dfd68b..d7eef85 100644 --- a/android/android/CMakeLists.txt +++ b/android/android/CMakeLists.txt @@ -61,6 +61,8 @@ add_library( ../../src/app_vr.cpp ../../src/brush.cpp ../../src/canvas.cpp + ../../src/canvas_layer.cpp + ../../src/canvas_actions.cpp ../../src/canvas_modes.cpp ../../src/log.cpp ../../src/action.cpp diff --git a/android/quest/CMakeLists.txt b/android/quest/CMakeLists.txt index 4507ee7..7dbc263 100644 --- a/android/quest/CMakeLists.txt +++ b/android/quest/CMakeLists.txt @@ -77,6 +77,8 @@ add_library( ../../src/app_vr.cpp ../../src/brush.cpp ../../src/canvas.cpp + ../../src/canvas_layer.cpp + ../../src/canvas_actions.cpp ../../src/canvas_modes.cpp ../../src/log.cpp ../../src/action.cpp diff --git a/src/canvas_layer.h b/src/canvas_layer.h index 1028dfa..ef0816a 100644 --- a/src/canvas_layer.h +++ b/src/canvas_layer.h @@ -28,7 +28,7 @@ public: int h = 0; struct Snapshot { - std::shared_ptr image[6] = SIXPLETTE(0); + std::unique_ptr image[6] = SIXPLETTE(0); glm::vec4 m_dirty_box[6] = SIXPLETTE(glm::vec4(0)); bool m_dirty_face[6] = SIXPLETTE(false); int width = 0; diff --git a/src/node_panel_layer.cpp b/src/node_panel_layer.cpp index d14fcd2..3c8f9d0 100644 --- a/src/node_panel_layer.cpp +++ b/src/node_panel_layer.cpp @@ -375,7 +375,8 @@ void NodePanelLayer::merge(int src_index, int dst_index, bool create_history) a->m_dirty_box[i] = Canvas::I->m_layers[dst_index]->m_dirty_box[i]; a->m_dirty_face[i] = Canvas::I->m_layers[dst_index]->m_dirty_face[i]; } - a->m_snap = Canvas::I->m_layers[dst_index]->snapshot( + a->m_snap = std::make_shared(); + *a->m_snap = Canvas::I->m_layers[dst_index]->snapshot( Canvas::I->m_layers[src_index]->m_dirty_box, Canvas::I->m_layers[src_index]->m_dirty_face); a->m_layer = Canvas::I->m_layers[src_index]; a->m_layer_node = std::static_pointer_cast(m_layers_container->m_children[src_index]); @@ -472,7 +473,7 @@ void ActionLayerMerge::undo() { if (m_direction == Direction::Undo) { - Canvas::I->m_layers[m_dst_index]->restore(m_snap); + Canvas::I->m_layers[m_dst_index]->restore(*m_snap); for (int i = 0; i < 6; i++) { Canvas::I->m_layers[m_dst_index]->m_dirty_box[i] = m_dirty_box[i]; diff --git a/src/node_panel_layer.h b/src/node_panel_layer.h index 2e9ad3f..9ff3b7e 100644 --- a/src/node_panel_layer.h +++ b/src/node_panel_layer.h @@ -119,7 +119,7 @@ public: struct ActionLayerMerge : public Action { enum class Direction { Undo, Redo } m_direction; - Layer::Snapshot m_snap; + std::shared_ptr m_snap; std::shared_ptr m_layer; std::shared_ptr m_layer_node; std::shared_ptr m_panel;