File indexing completed on 2026-06-07 05:41:26

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 namespace KSvg
0011 {
0012 class ImageSet;
0013 }
0014 
0015 class ScreenPreviewWidgetPrivate;
0016 
0017 class ScreenPreviewWidget : public QWidget
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     ScreenPreviewWidget(QWidget *parent);
0023     ~ScreenPreviewWidget() override;
0024 
0025     void setPreview(const QPixmap &preview);
0026     const QPixmap preview() const;
0027 
0028     void setRatio(const qreal ratio);
0029     qreal ratio() const;
0030 
0031     void setMinimumContentWidth(qreal minw);
0032     qreal minimumContentWidth() const;
0033 
0034     QRect previewRect() const;
0035     KSvg::ImageSet *svgImageSet() const;
0036 
0037 protected:
0038     void resizeEvent(QResizeEvent *event) override;
0039     void paintEvent(QPaintEvent *event) override;
0040 
0041 private:
0042     void updateRect(const QRectF &rect);
0043 
0044     const std::unique_ptr<ScreenPreviewWidgetPrivate> d;
0045 };