1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/*
File : Image.h
Project : LabPlot
Description : Worksheet element to draw images
--------------------------------------------------------------------
SPDX-FileCopyrightText: 2019-2022 Alexander Semke <alexander.semke@web.de>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef IMAGE_H
#define IMAGE_H
#include "backend/worksheet/WorksheetElement.h"
#include <QPen>
class Line;
class ImagePrivate;
class QBrush;
class QFont;
#ifdef SDK
#include "labplot_export.h"
class LABPLOT_EXPORT Image : public WorksheetElement {
#else
class Image : public WorksheetElement {
#endif
Q_OBJECT
public:
explicit Image(const QString& name);
~Image() override;
QIcon icon() const override;
virtual void setParentGraphicsItem(QGraphicsItem*) override;
void save(QXmlStreamWriter*) const override;
bool load(XmlStreamReader*, bool preview) override;
void loadThemeConfig(const KConfig&) override;
void saveThemeConfig(const KConfig&) override;
CLASS_D_ACCESSOR_DECL(QString, fileName, FileName)
BASIC_D_ACCESSOR_DECL(bool, embedded, Embedded)
BASIC_D_ACCESSOR_DECL(qreal, opacity, Opacity)
BASIC_D_ACCESSOR_DECL(int, width, Width)
BASIC_D_ACCESSOR_DECL(int, height, Height)
BASIC_D_ACCESSOR_DECL(bool, keepRatio, KeepRatio)
Line* borderLine() const;
void retransform() override;
void handleResize(double horizontalRatio, double verticalRatio, bool pageResize) override;
typedef ImagePrivate Private;
protected:
Image(const QString&, ImagePrivate*);
private:
Q_DECLARE_PRIVATE(Image)
void init();
Q_SIGNALS:
void fileNameChanged(const QString&);
void embeddedChanged(bool);
void opacityChanged(float);
void widthChanged(int);
void heightChanged(int);
void keepRatioChanged(bool);
void borderPenChanged(QPen&);
void borderOpacityChanged(float);
};
#endif
|