fix floating panels and iOS export picking
This commit is contained in:
@@ -252,6 +252,7 @@ void App::init_sidebar()
|
||||
}
|
||||
layout[main_id]->add_child(stroke);
|
||||
stroke->SetSize(350, glm::max(100.f, screen.y - pos.y - 50.f));
|
||||
stroke->find("title")->SetVisibility(true);
|
||||
auto tick = layout[main_id]->add_child<NodeImage>();
|
||||
tick->SetPositioning(YGPositionTypeAbsolute);
|
||||
tick->SetSize(32, 16);
|
||||
@@ -295,6 +296,7 @@ void App::init_sidebar()
|
||||
auto screen = layout[main_id]->m_size;
|
||||
glm::vec2 pos = button->m_pos + glm::vec2(button->m_size.x * 0.5f, button->m_size.y);
|
||||
layout[main_id]->add_child(color);
|
||||
color->find("title")->SetVisibility(true);
|
||||
color->SetSize(350, 350);
|
||||
auto tick = layout[main_id]->add_child<NodeImage>();
|
||||
tick->SetPositioning(YGPositionTypeAbsolute);
|
||||
@@ -320,6 +322,7 @@ void App::init_sidebar()
|
||||
button->on_click = [this, button](Node*) {
|
||||
auto screen = layout[main_id]->m_size;
|
||||
glm::vec2 pos = button->m_pos + glm::vec2(button->m_size.x * 0.5f, button->m_size.y);
|
||||
layers->find("title")->SetVisibility(true);
|
||||
layers->SetSize(350, YGUndefined);
|
||||
if (layers->m_parent)
|
||||
{
|
||||
@@ -356,6 +359,7 @@ void App::init_sidebar()
|
||||
button->on_click = [this, button](Node*) {
|
||||
auto screen = layout[main_id]->m_size;
|
||||
glm::vec2 pos = button->m_pos + glm::vec2(button->m_size.x * 0.5f, button->m_size.y);
|
||||
grid->find("title")->SetVisibility(true);
|
||||
grid->SetSize(350, YGUndefined);
|
||||
if (grid->m_parent)
|
||||
{
|
||||
@@ -776,6 +780,7 @@ void App::init_menu_tools()
|
||||
fpanel->SetHeight(300);
|
||||
fpanel->SetMinHeight(300);
|
||||
fpanel->SetMinWidth(100);
|
||||
fpanel->m_title->set_text("Brushes");
|
||||
if (!floating_presets)
|
||||
{
|
||||
floating_presets = fpanel->m_container->add_child_ref<NodePanelBrushPreset>();
|
||||
@@ -805,12 +810,13 @@ void App::init_menu_tools()
|
||||
fpanel->m_class = NodePanelFloating::kClass::Color;
|
||||
fpanel->SetHeight(300);
|
||||
fpanel->SetMinHeight(300);
|
||||
fpanel->m_title->set_text("Color Picker");
|
||||
if (!floating_color)
|
||||
{
|
||||
floating_color = fpanel->m_container->add_child_ref<NodePanelColor>();
|
||||
floating_color->SetHeightP(100);
|
||||
//floating_color->SetMinHeight(300);
|
||||
floating_color->find("title")->destroy();
|
||||
floating_color->find("title")->SetVisibility(false);
|
||||
floating_color->on_color_changed = [this](Node* target, glm::vec4 color) {
|
||||
Canvas::I->m_current_brush->m_tip_color = color;
|
||||
brush_update(true, false);
|
||||
@@ -830,9 +836,11 @@ void App::init_menu_tools()
|
||||
fpanel->m_class = NodePanelFloating::kClass::ColorAdv;
|
||||
fpanel->SetHeight(300);
|
||||
fpanel->SetWidth(300);
|
||||
fpanel->m_title->set_text("Color Picker");
|
||||
if (!floating_picker)
|
||||
{
|
||||
floating_picker = fpanel->m_container->add_child_ref<NodeColorPicker>();
|
||||
//floating_picker->find("title")->SetVisibility(false);
|
||||
//floating_picker->SetHeightP(100);
|
||||
//floating_picker->SetWidth(250);
|
||||
floating_picker->m_autohide = false;
|
||||
@@ -856,11 +864,13 @@ void App::init_menu_tools()
|
||||
fpanel->SetMinHeight(100);
|
||||
fpanel->SetHeight(300);
|
||||
fpanel->m_container->add_child(layers);
|
||||
fpanel->m_title->set_text("Layers");
|
||||
layers->SetPositioning(YGPositionTypeRelative);
|
||||
layers->SetPosition(0, 0);
|
||||
layers->SetWidthP(100);
|
||||
layers->SetHeightP(100);
|
||||
layers->SetFlexShrink(0);
|
||||
layers->find("title")->SetVisibility(false);
|
||||
|
||||
popup_exp->destroy();
|
||||
popup_time->destroy();
|
||||
@@ -872,10 +882,12 @@ void App::init_menu_tools()
|
||||
fpanel->m_class = NodePanelFloating::kClass::Brush;
|
||||
fpanel->m_container->add_child(stroke);
|
||||
fpanel->SetHeight(300);
|
||||
fpanel->m_title->set_text("Brush Settings");
|
||||
stroke->SetPositioning(YGPositionTypeRelative);
|
||||
stroke->SetPosition(0, 0);
|
||||
stroke->SetWidthP(100);
|
||||
stroke->SetHeightP(100);
|
||||
stroke->find("title")->SetVisibility(false);
|
||||
|
||||
popup_exp->destroy();
|
||||
popup_time->destroy();
|
||||
@@ -887,10 +899,12 @@ void App::init_menu_tools()
|
||||
fpanel->m_class = NodePanelFloating::kClass::Grids;
|
||||
fpanel->m_container->add_child(grid);
|
||||
fpanel->SetHeight(300);
|
||||
fpanel->m_title->set_text("Grid");
|
||||
grid->SetPositioning(YGPositionTypeRelative);
|
||||
grid->SetPosition(0, 0);
|
||||
grid->SetWidthP(100);
|
||||
grid->SetHeightP(100);
|
||||
grid->find("title")->SetVisibility(false);
|
||||
|
||||
popup_exp->destroy();
|
||||
popup_time->destroy();
|
||||
@@ -1410,6 +1424,7 @@ void App::ui_save()
|
||||
fd->set("pos", Serializer::Vec2(f->GetPosition()));
|
||||
fd->set("size", Serializer::Vec2(f->m_size));
|
||||
fd->set("class", Serializer::Integer((int)f->m_class));
|
||||
fd->set("title", Serializer::CString(f->m_title->m_text));
|
||||
}
|
||||
}
|
||||
d.set("floatings", list_floatings);
|
||||
@@ -1423,6 +1438,7 @@ void App::ui_save()
|
||||
fd->class_id = "ui-dpl";
|
||||
fd->set("size", Serializer::Vec2(f->m_size));
|
||||
fd->set("class", Serializer::Integer((int)f->m_class));
|
||||
fd->set("title", Serializer::CString(f->m_title->m_text));
|
||||
}
|
||||
}
|
||||
d.set("drop-left", list_drop_left);
|
||||
@@ -1436,6 +1452,7 @@ void App::ui_save()
|
||||
fd->class_id = "ui-dpr";
|
||||
fd->set("size", Serializer::Vec2(f->m_size));
|
||||
fd->set("class", Serializer::Integer((int)f->m_class));
|
||||
fd->set("title", Serializer::CString(f->m_title->m_text));
|
||||
}
|
||||
}
|
||||
d.set("drop-right", list_drop_right);
|
||||
@@ -1471,6 +1488,9 @@ void App::ui_restore()
|
||||
auto size = ld->value<Serializer::Vec2>("size");
|
||||
auto cls = static_cast<NodePanelFloating::kClass>(ld->value<Serializer::Integer>("class"));
|
||||
auto f = floatings->add_child<NodePanelFloating>();
|
||||
std::string title = "Floating Panel";
|
||||
ld->value<Serializer::CString>("title", title);
|
||||
f->m_title->set_text(title.c_str());
|
||||
switch (cls)
|
||||
{
|
||||
case NodePanelFloating::kClass::Presets:
|
||||
@@ -1491,7 +1511,7 @@ void App::ui_restore()
|
||||
{
|
||||
floating_color = f->m_container->add_child_ref<NodePanelColor>();
|
||||
floating_color->SetHeightP(100);
|
||||
floating_color->find("title")->destroy();
|
||||
floating_color->find("title")->SetVisibility(false);
|
||||
floating_color->on_color_changed = [this](Node* target, glm::vec4 color) {
|
||||
Canvas::I->m_current_brush->m_tip_color = color;
|
||||
brush_update(true, false);
|
||||
@@ -1512,6 +1532,7 @@ void App::ui_restore()
|
||||
f->m_container->add_child(layers);
|
||||
f->SetMinHeight(100);
|
||||
f->SetHeight(300);
|
||||
layers->find("title")->SetVisibility(false);
|
||||
layers->SetPositioning(YGPositionTypeRelative);
|
||||
layers->SetPosition(0, 0);
|
||||
layers->SetWidthP(100);
|
||||
@@ -1520,6 +1541,7 @@ void App::ui_restore()
|
||||
break;
|
||||
case NodePanelFloating::kClass::Brush:
|
||||
f->m_container->add_child(stroke);
|
||||
stroke->find("title")->SetVisibility(false);
|
||||
stroke->SetPositioning(YGPositionTypeRelative);
|
||||
stroke->SetPosition(0, 0);
|
||||
stroke->SetWidthP(100);
|
||||
@@ -1527,6 +1549,7 @@ void App::ui_restore()
|
||||
break;
|
||||
case NodePanelFloating::kClass::Grids:
|
||||
f->m_container->add_child(grid);
|
||||
grid->find("title")->SetVisibility(false);
|
||||
grid->SetPositioning(YGPositionTypeRelative);
|
||||
grid->SetPosition(0, 0);
|
||||
grid->SetWidthP(100);
|
||||
@@ -1549,6 +1572,9 @@ void App::ui_restore()
|
||||
auto size = ld->value<Serializer::Vec2>("size");
|
||||
auto cls = static_cast<NodePanelFloating::kClass>(ld->value<Serializer::Integer>("class"));
|
||||
auto f = drop_left->add_child<NodePanelFloating>();
|
||||
std::string title = "Floating Panel";
|
||||
ld->value<Serializer::CString>("title", title);
|
||||
f->m_title->set_text(title.c_str());
|
||||
switch (cls)
|
||||
{
|
||||
case NodePanelFloating::kClass::Presets:
|
||||
@@ -1626,6 +1652,9 @@ void App::ui_restore()
|
||||
auto size = ld->value<Serializer::Vec2>("size");
|
||||
auto cls = static_cast<NodePanelFloating::kClass>(ld->value<Serializer::Integer>("class"));
|
||||
auto f = drop_right->add_child<NodePanelFloating>();
|
||||
std::string title = "Floating Panel";
|
||||
ld->value<Serializer::CString>("title", title);
|
||||
f->m_title->set_text(title.c_str());
|
||||
switch (cls)
|
||||
{
|
||||
case NodePanelFloating::kClass::Presets:
|
||||
|
||||
Reference in New Issue
Block a user