QSkinny 0.8.0
C++/Qt UI toolkit
Loading...
Searching...
No Matches
QskBoxRectangleNode.h
1/******************************************************************************
2 * QSkinny - Copyright (C) The authors
3 * SPDX-License-Identifier: BSD-3-Clause
4 *****************************************************************************/
5
6#ifndef QSK_BOX_RECTANGLE_NODE_H
7#define QSK_BOX_RECTANGLE_NODE_H
8
9#include "QskGlobal.h"
10#include "QskFillNode.h"
11
15class QskGradient;
16class QskBoxRectangleNodePrivate;
17
18class QQuickWindow;
19
20class QSK_EXPORT QskBoxRectangleNode : public QskFillNode
21{
22 using Inherited = QskFillNode;
23
24 public:
26 ~QskBoxRectangleNode() override;
27
28 void updateBox( const QQuickWindow*, const QRectF&,
30 const QskBoxBorderColors&, const QskGradient& );
31
32 void updateBorder( const QQuickWindow*, const QRectF&,
34 const QskBoxBorderColors& );
35
36 void updateFilling( const QQuickWindow*, const QRectF&, const QskGradient& );
37
38 void updateFilling( const QQuickWindow*, const QRectF&,
39 const QskBoxShapeMetrics&, const QskGradient& );
40
41 void updateFilling( const QQuickWindow*, const QRectF&,
42 const QskBoxShapeMetrics&, const QskBoxBorderMetrics&, const QskGradient& );
43
44 /*
45 If true border/filling can be rendered together into the same geometry.
46 This should not make much difference as the scene graph batches geometries
47 for the same material anyway.
48 */
49 static bool isCombinedGeometrySupported( const QskGradient& );
50
51 private:
52 Q_DECLARE_PRIVATE( QskBoxRectangleNode )
53};
54
55#endif