72 lines
1.7 KiB
C
Raw Normal View History

2017-07-21 18:21:34 +02:00
/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
* This file may be used under the terms of the QSkinny License, Version 1.0
*****************************************************************************/
#ifndef _RECTANGLE_H
#define _RECTANGLE_H
#include "QskGlobal.h"
#include "QskControl.h"
class Border;
class QskCorner;
class QskGradient;
class Rectangle : public QskControl
{
Q_OBJECT
Q_PROPERTY( QskCorner corner READ corner
WRITE setCorner NOTIFY cornerChanged )
Q_PROPERTY( Border border READ border
WRITE setBorder NOTIFY borderChanged FINAL )
Q_PROPERTY( QColor color READ color WRITE setColor NOTIFY colorChanged FINAL )
Q_PROPERTY( QskGradient gradient READ gradient
WRITE setGradient RESET resetGradient NOTIFY colorChanged FINAL )
using Inherited = QskControl;
public:
Rectangle( QQuickItem* parent = nullptr );
virtual ~Rectangle();
void setCorner( const QskCorner& );
const QskCorner& corner() const;
void setBorder( const Border& );
const Border& border() const;
void setBorderWidth( int );
int borderWidth() const;
void setBorderColor( const QColor& );
QColor borderColor() const;
void setColor( const QColor& );
QColor color() const;
QskGradient gradient() const;
void setGradient( const QskGradient& gradient );
void resetGradient();
Q_SIGNALS:
void cornerChanged();
void borderChanged();
void colorChanged();
void gradientChanged();
protected:
virtual void updateNode( QSGNode* ) override;
private:
class PrivateData;
std::unique_ptr< PrivateData > m_data;
};
#endif