// SPDX-FileCopyrightText: 2026 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #include "JFJochMagnifierWindow.h" #include "../image_viewer/JFJochSimpleImage.h" #include "../SimpleImage.h" #include JFJochMagnifierWindow::JFJochMagnifierWindow(QWidget *parent) : JFJochHelperWindow(parent) { setWindowTitle("Magnifier"); m_image = new JFJochSimpleImage(this); setCentralWidget(m_image); resize(320, 320); } void JFJochMagnifierWindow::imageLoaded(std::shared_ptr image) { if (!image) { m_have_image = false; m_image->setImage(nullptr); return; } const auto &exp = image->Dataset().experiment; auto si = std::make_shared(); si->image = CompressedImage(image->Image(), exp.GetXPixelsNum(), exp.GetYPixelsNum()); m_image->setImage(si); m_have_image = true; } void JFJochMagnifierWindow::centerAt(QPointF scenePos) { if (!m_have_image || !isVisible()) return; m_image->applyViewport(QTransform::fromScale(m_magnification, m_magnification), scenePos); }