37 lines
878 B
C++
37 lines
878 B
C++
#pragma once
|
|||
|
|
|
||
|
|
#include "basecontainer.h"
|
||
|
|
#include "sketchlib_global.h"
|
||
|
|
|
||
|
|
class QJsonObject;
|
||
|
|
|
||
|
|
class SKETCHLIB_EXPORT Rect : public BaseContainer
|
||
|
|
{
|
||
|
|
Q_OBJECT
|
||
|
|
Q_PROPERTY(bool constrainProportions READ constrainProportions CONSTANT)
|
||
|
|
Q_PROPERTY(double height READ height CONSTANT)
|
||
|
|
Q_PROPERTY(double width READ width CONSTANT)
|
||
|
|
Q_PROPERTY(double x READ x CONSTANT)
|
||
|
|
Q_PROPERTY(double y READ y CONSTANT)
|
||
|
|
|
||
|
|
public:
|
||
|
|
Q_INVOKABLE explicit Rect(QObject *parent = Q_NULLPTR);
|
||
|
|
|
||
|
|
bool constrainProportions() const;
|
||
|
|
double height() const;
|
||
|
|
double width() const;
|
||
|
|
double x() const;
|
||
|
|
double y() const;
|
||
|
|
|
||
|
|
protected:
|
||
|
|
// BaseContainer interface
|
||
|
|
virtual bool parseProperty(const QString &key, const QJsonValue &value) Q_DECL_OVERRIDE;
|
||
|
|
|
||
|
|
private:
|
||
|
|
bool m_constrainProportions;
|
||
|
|
double m_height;
|
||
|
|
double m_width;
|
||
|
|
double m_x;
|
||
|
|
double m_y;
|
||
|
|
};
|