qskinny/src/common/QskBoxHints.h

54 lines
1.5 KiB
C++

/******************************************************************************
* QSkinny - Copyright (C) The authors
* SPDX-License-Identifier: BSD-3-Clause
*****************************************************************************/
#ifndef QSK_BOX_HINTS_H
#define QSK_BOX_HINTS_H
#include "QskBoxBorderMetrics.h"
#include "QskBoxBorderColors.h"
#include "QskBoxShapeMetrics.h"
#include "QskShadowMetrics.h"
#include "QskGradient.h"
#include <qcolor.h>
class QSK_EXPORT QskBoxHints
{
Q_GADGET
Q_PROPERTY( QskBoxShapeMetrics shape MEMBER shape )
Q_PROPERTY( QskBoxBorderMetrics borderMetrics MEMBER borderMetrics )
Q_PROPERTY( QskBoxBorderColors borderColors MEMBER borderColors )
Q_PROPERTY( QskGradient gradient MEMBER gradient )
Q_PROPERTY( QskShadowMetrics shadowMetrics MEMBER shadowMetrics )
Q_PROPERTY( QColor shadowColor MEMBER shadowColor )
public:
QskBoxHints();
QskBoxHints( const QskBoxShapeMetrics&, const QskBoxBorderMetrics&,
const QskBoxBorderColors&, const QskGradient&,
const QskShadowMetrics&, const QColor& );
QskBoxHints toAbsolute( const QSizeF& ) const noexcept;
QskBoxHints interpolated(
const QskBoxHints&, qreal value ) const noexcept;
QskBoxShapeMetrics shape;
QskBoxBorderMetrics borderMetrics;
QskBoxBorderColors borderColors;
QskGradient gradient;
QskShadowMetrics shadowMetrics;
QColor shadowColor;
};
#ifndef QT_NO_DEBUG_STREAM
class QDebug;
QSK_EXPORT QDebug operator<<( QDebug, const QskBoxHints& );
#endif
#endif