diff --git a/data/layout.xml b/data/layout.xml index 301337f..9139d82 100644 --- a/data/layout.xml +++ b/data/layout.xml @@ -120,7 +120,7 @@ - + diff --git a/engine/app_layout.cpp b/engine/app_layout.cpp index dedb284..836a63b 100644 --- a/engine/app_layout.cpp +++ b/engine/app_layout.cpp @@ -419,8 +419,10 @@ void App::init_menu_layer() layers->clear(); for (auto& i : canvas->m_canvas->m_order) layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str()); + layers->m_current_layer->m_selected = false; layers->m_current_layer = layers->m_layers[current_idx_order - 1]; layers->m_current_layer->m_selected = true; + layers->m_current_layer->on_selected(layers->m_current_layer); } popup->mouse_release(); popup->destroy(); diff --git a/engine/canvas.cpp b/engine/canvas.cpp index 91c26d1..2124a7e 100644 --- a/engine/canvas.cpp +++ b/engine/canvas.cpp @@ -258,7 +258,7 @@ void ui::Canvas::stroke_draw() for (int j = 0; j < 4; j++) { glm::vec3 ray_origin, ray_dir; - point_unproject(s.pos + off[j], { 0, 0, m_box.zw }, m_mv, m_proj, ray_origin, ray_dir); + point_unproject(s.pos + off[j] * glm::orientate2(-s.angle), { 0, 0, m_box.zw }, m_mv, m_proj, ray_origin, ray_dir); glm::vec3 hit; if (ray_intersect(ray_origin, ray_dir, m_plane_origin[i], m_plane_normal[i], m_plane_tangent[i], hit)) {