#include "pch.h" #include "log.h" #include "node_dialog_resize.h" #include "app_core/document_resize.h" #include "canvas.h" #include "legacy_ui_overlay_services.h" #include "node_image_texture.h" #include Node* NodeDialogResize::clone_instantiate() const { return new NodeDialogResize(); } void NodeDialogResize::clone_finalize(Node* dest) const { NodeDialogResize* n = static_cast(dest); n->init_controls(); } void NodeDialogResize::init() { init_template_file("data/dialogs/doc-resize.xml", "dialog-resize"); init_controls(); } void NodeDialogResize::init_controls() { btn_ok = find("btn-ok"); btn_cancel = find("btn-cancel"); combo = find("resolution"); text = find("current-res"); resolution = Canvas::I->m_width; const auto state = pp::app::make_document_resize_dialog_state(resolution); text->set_text(state.current_resolution_text.c_str()); if (combo && state.current_resolution_index >= 0 && state.current_resolution_index < static_cast(combo->m_items.size())) { combo->m_current_index = state.current_resolution_index; } pp::panopainter::bind_legacy_click_destroys_node(*btn_cancel, *this); } void NodeDialogResize::loaded() { // Image thumb = Canvas::I->thumbnail_read(data_path); // auto image_tex = find("thumb-tex"); // image_tex->tex.create(thumb); } int NodeDialogResize::get_resolution() { const auto plan = pp::app::plan_document_resize(combo ? combo->m_current_index : 0); return plan ? plan.value().resolution : pp::app::document_resolution_values.front(); }