File indexing completed on 2026-07-19 16:01:01

0001 /*
0002     SPDX-FileCopyrightText: 2009 Marco Martin <notmart@gmail.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #pragma once
0007 
0008 #include <QWidget>
0009 
0010 class ScreenPreviewWidgetPrivate;
0011 
0012 class ScreenPreviewWidget : public QWidget
0013 {
0014     Q_OBJECT
0015 
0016 public:
0017     ScreenPreviewWidget(QWidget *parent);
0018     ~ScreenPreviewWidget() override;
0019 
0020     void setPreview(const QPixmap &preview);
0021     const QPixmap preview() const;
0022 
0023     void setRatio(const qreal ratio);
0024     qreal ratio() const;
0025 
0026     void setMinimumContentWidth(qreal minw);
0027     qreal minimumContentWidth() const;
0028 
0029     QRect previewRect() const;
0030 
0031 protected:
0032     void resizeEvent(QResizeEvent *event) override;
0033     void paintEvent(QPaintEvent *event) override;
0034     void dropEvent(QDropEvent *event) override;
0035 
0036 Q_SIGNALS:
0037     void imageDropped(const QString &);
0038 
0039 private:
0040     void updateRect(const QRectF &rect);
0041 
0042     const std::unique_ptr<ScreenPreviewWidgetPrivate> d;
0043 };