implement regular image import

This commit is contained in:
2018-11-26 00:04:44 +01:00
parent 0685155a45
commit 09bccda2cd
4 changed files with 71 additions and 2 deletions

View File

@@ -332,6 +332,15 @@ void App::init_toolbar_draw()
Canvas::set_mode(Canvas::kCanvasMode::Transform);
};
}
if (auto* button = layout[main_id]->find<NodeButton>("btn-imp"))
{
button->on_click = [this, button](Node*) {
select_button(layout[main_id], button);
auto m = static_cast<CanvasModeTransform*>(canvas->m_canvas->modes[(int)ui::Canvas::kCanvasMode::Transform][0]);
m->m_action = CanvasModeTransform::ActionType::Import;
Canvas::set_mode(Canvas::kCanvasMode::Transform);
};
}
if (auto* button = layout[main_id]->find<NodeButton>("btn-fill"))
{
button->on_click = [this, button](Node*) {
@@ -388,8 +397,20 @@ void App::init_menu_file()
};
if (auto b = popup->find<NodeButtonCustom>("file-import"))
b->on_click = [this](Node*) {
App::I.pick_image([](std::string path){
Canvas::I->import_equirectangular(path);
App::I.pick_image([this](std::string path){
Image img;
img.load_file(path);
if (img.width == img.height / 6 || img.width == img.height * 2)
{
Canvas::I->import_equirectangular(path);
}
else
{
auto m = static_cast<CanvasModeTransform*>(canvas->m_canvas->modes[(int)ui::Canvas::kCanvasMode::Transform][0]);
m->m_action = CanvasModeTransform::ActionType::Import;
m->m_source_image = std::move(img);
Canvas::set_mode(Canvas::kCanvasMode::Transform);
}
});
popup->mouse_release();
popup->destroy();