implement right-to-left
This commit is contained in:
@@ -344,6 +344,9 @@ void App::init_menu_file()
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
popup = (NodePopupMenu*)layout[const_hash("file-menu")]->m_children[0]->clone();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
popup->SetPositioning(YGPositionTypeAbsolute);
|
||||
popup->SetPosition(pos.x, pos.y);
|
||||
layout[main_id]->add_child(popup);
|
||||
@@ -428,6 +431,9 @@ void App::init_menu_edit()
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
popup = (NodePopupMenu*)layout[const_hash("edit-menu")]->m_children[0]->clone();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
popup->SetPositioning(YGPositionTypeAbsolute);
|
||||
popup->SetPosition(pos.x, pos.y);
|
||||
layout[main_id]->add_child(popup);
|
||||
@@ -447,6 +453,9 @@ void App::init_menu_timelapse()
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
popup = (NodePopupMenu*)layout[const_hash("timelapse-menu")]->m_children[0]->clone();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
popup->SetPositioning(YGPositionTypeAbsolute);
|
||||
popup->SetPosition(pos.x, pos.y);
|
||||
layout[main_id]->add_child(popup);
|
||||
@@ -498,6 +507,9 @@ void App::init_menu_layer()
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
popup = (NodePopupMenu*)layout[const_hash("layers-menu")]->m_children[0]->clone();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
popup->SetPositioning(YGPositionTypeAbsolute);
|
||||
popup->SetPosition(pos.x, pos.y);
|
||||
layout[main_id]->add_child(popup);
|
||||
@@ -634,13 +646,27 @@ void App::initLayout()
|
||||
NodeImage* n = new NodeImage;
|
||||
n->m_path = "data/ui/p-black.png";
|
||||
n->m_tex_id = const_hash("data/ui/p-black.png");
|
||||
n->create();
|
||||
n->SetPositioning(YGPositionTypeAbsolute);
|
||||
//n->SetPosition(100, 100);
|
||||
YGNodeStyleSetPosition(n->y_node, YGEdgeBottom, 8);
|
||||
YGNodeStyleSetPosition(n->y_node, YGEdgeLeft, 15);
|
||||
n->SetSize(30, 45);
|
||||
layout[main_id]->add_child(n);
|
||||
n->create();
|
||||
|
||||
NodeButtonCustom* butt = new NodeButtonCustom;
|
||||
butt->create();
|
||||
butt->add_child(n);
|
||||
butt->SetPositioning(YGPositionTypeAbsolute);
|
||||
butt->set_color({ 0, 0, 0, 0 });
|
||||
//n->SetPosition(100, 100);
|
||||
YGNodeStyleSetPosition(butt->y_node, YGEdgeBottom, 8);
|
||||
YGNodeStyleSetPosition(butt->y_node, YGEdgeLeft, 15);
|
||||
//butt->SetSize(30, 45);
|
||||
layout[main_id]->add_child(butt);
|
||||
|
||||
butt->on_click = [this](Node*){
|
||||
static bool fullscreen = false;
|
||||
auto m = layout[main_id]->m_children[0];
|
||||
for (int i = 2; i < m->m_children.size(); i++)
|
||||
m->m_children[i]->m_display = fullscreen;
|
||||
fullscreen = !fullscreen;
|
||||
};
|
||||
|
||||
if (auto* slider = layout[main_id]->find<NodeSliderH>("frames-slider"))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user