complete open/save project including layer names, in layout bring canvas to background and use translucent UI on top, save computation on Android with lazy rendering on events only
This commit is contained in:
@@ -651,9 +651,10 @@ public:
|
||||
on_click(this);
|
||||
break;
|
||||
default:
|
||||
return kEventResult::Available;
|
||||
break;
|
||||
}
|
||||
return m_mouse_inside ? kEventResult::Consumed : kEventResult::Available;
|
||||
return kEventResult::Consumed;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1345,14 +1346,14 @@ public:
|
||||
LOG("template initted");
|
||||
m_layers_container = find<NodeBorder>("layers-container");
|
||||
LOG("template container found");
|
||||
for (int i = 0; i < 1; i++)
|
||||
{
|
||||
LOG("add layer");
|
||||
add_layer();
|
||||
}
|
||||
// for (int i = 0; i < 1; i++)
|
||||
// {
|
||||
// LOG("add layer");
|
||||
// add_layer();
|
||||
// }
|
||||
LOG("find components");
|
||||
m_current_layer = m_layers[0];
|
||||
m_layers[0]->m_selected = true;
|
||||
// m_current_layer = m_layers[0];
|
||||
// m_layers[0]->m_selected = true;
|
||||
btn_add = find<NodeButtonCustom>("btn-add");
|
||||
btn_remove = find<NodeButtonCustom>("btn-remove");
|
||||
btn_up = find<NodeButtonCustom>("btn-up");
|
||||
@@ -1360,6 +1361,8 @@ public:
|
||||
LOG("attach events");
|
||||
btn_add->on_click = [this](Node*) {
|
||||
add_layer();
|
||||
if (on_layer_add)
|
||||
on_layer_add(this);
|
||||
};
|
||||
btn_remove->on_click = [this](Node*) {
|
||||
if (m_layers.size() == 1)
|
||||
@@ -1403,8 +1406,6 @@ public:
|
||||
l->on_selected = std::bind(&NodePanelLayer::handle_layer_selected, this, std::placeholders::_1);
|
||||
l->on_opacity_changed = std::bind(&NodePanelLayer::handle_layer_opacity, this, std::placeholders::_1, std::placeholders::_2);
|
||||
m_layers.push_back(l);
|
||||
if (on_layer_add)
|
||||
on_layer_add(this);
|
||||
}
|
||||
void remove_layer(NodeLayer* layer)
|
||||
{
|
||||
@@ -1886,16 +1887,16 @@ public:
|
||||
{
|
||||
m_mouse_ignore = false;
|
||||
m_canvas = std::make_unique<ui::Canvas>();
|
||||
m_canvas->create(512, 512);
|
||||
m_canvas->layer_add("asd");
|
||||
m_canvas->clear();
|
||||
m_canvas->create(1024, 1024);
|
||||
//m_canvas->layer_add("asd");
|
||||
//m_canvas->clear();
|
||||
m_sampler.create();
|
||||
m_face_plane.create<1>(2, 2);
|
||||
}
|
||||
virtual void restore_context() override
|
||||
{
|
||||
Node::restore_context();
|
||||
m_canvas->create(512, 512);
|
||||
m_canvas->create(1024, 1024);
|
||||
m_sampler.create();
|
||||
//m_canvas->clear();
|
||||
m_face_plane.create<1>(2, 2);
|
||||
@@ -1922,7 +1923,7 @@ public:
|
||||
glm::ivec4 c = (glm::ivec4)glm::vec4(box.x, (int)(vp[3] - box.y - box.w), box.z, box.w);
|
||||
glViewport(c.x, c.y, c.z, c.w);
|
||||
|
||||
m_canvas->m_cam_rot = m_pan * 0.001f;
|
||||
m_canvas->m_cam_rot = m_pan * 0.003f;
|
||||
|
||||
//glm::mat4 proj = glm::ortho(0.f, box.z, 0.f, box.w, -1000.f, 1000.f);
|
||||
glm::mat4 proj = glm::perspective(glm::radians(m_canvas->m_cam_fov), box.z / box.w, 0.1f, 1000.f);
|
||||
@@ -2064,8 +2065,8 @@ public:
|
||||
m_camera_fov = m_canvas->m_cam_fov;
|
||||
break;
|
||||
case kEventType::GestureMove:
|
||||
m_pan = m_pan_start + ge->m_pos_delta * glm::vec2(-1, -1);
|
||||
m_canvas->m_cam_fov = m_camera_fov - ge->m_distance_delta * .1f;
|
||||
m_pan = m_pan_start + ge->m_pos_delta * glm::vec2(-1, -1) * 0.3f;
|
||||
m_canvas->m_cam_fov = m_camera_fov - ge->m_distance_delta * .05f;
|
||||
//m_zoom_canvas = m_zoom_start + ge->m_distance_delta * .001f;
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user