implement regular image import
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user