OpenCoverage

qquickimage_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/qquickimage_p.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtQuick module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#ifndef QQUICKIMAGE_P_H-
41#define QQUICKIMAGE_P_H-
42-
43//-
44// W A R N I N G-
45// --------------
46//-
47// This file is not part of the Qt API. It exists purely as an-
48// implementation detail. This header file may change from version to-
49// version without notice, or even be removed.-
50//-
51// We mean it.-
52//-
53-
54#include "qquickimagebase_p.h"-
55#include <QtQuick/qsgtextureprovider.h>-
56-
57QT_BEGIN_NAMESPACE-
58-
59class QQuickImagePrivate;-
60class Q_QUICK_PRIVATE_EXPORT QQuickImage : public QQuickImageBase-
61{-
62 Q_OBJECT-
63-
64 Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged)-
65 Q_PROPERTY(qreal paintedWidth READ paintedWidth NOTIFY paintedGeometryChanged)-
66 Q_PROPERTY(qreal paintedHeight READ paintedHeight NOTIFY paintedGeometryChanged)-
67 Q_PROPERTY(HAlignment horizontalAlignment READ horizontalAlignment WRITE setHorizontalAlignment NOTIFY horizontalAlignmentChanged)-
68 Q_PROPERTY(VAlignment verticalAlignment READ verticalAlignment WRITE setVerticalAlignment NOTIFY verticalAlignmentChanged)-
69 Q_PROPERTY(bool mipmap READ mipmap WRITE setMipmap NOTIFY mipmapChanged REVISION 1)-
70 Q_PROPERTY(bool autoTransform READ autoTransform WRITE setAutoTransform NOTIFY autoTransformChanged REVISION 2)-
71-
72public:-
73 QQuickImage(QQuickItem *parent=nullptr);-
74 ~QQuickImage();-
75-
76 enum HAlignment { AlignLeft = Qt::AlignLeft,-
77 AlignRight = Qt::AlignRight,-
78 AlignHCenter = Qt::AlignHCenter };-
79 Q_ENUM(HAlignment)-
80 enum VAlignment { AlignTop = Qt::AlignTop,-
81 AlignBottom = Qt::AlignBottom,-
82 AlignVCenter = Qt::AlignVCenter };-
83 Q_ENUM(VAlignment)-
84-
85 enum FillMode { Stretch, PreserveAspectFit, PreserveAspectCrop, Tile, TileVertically, TileHorizontally, Pad };-
86 Q_ENUM(FillMode)-
87-
88 FillMode fillMode() const;-
89 void setFillMode(FillMode);-
90-
91 qreal paintedWidth() const;-
92 qreal paintedHeight() const;-
93-
94 QRectF boundingRect() const override;-
95-
96 HAlignment horizontalAlignment() const;-
97 void setHorizontalAlignment(HAlignment align);-
98-
99 VAlignment verticalAlignment() const;-
100 void setVerticalAlignment(VAlignment align);-
101-
102 bool isTextureProvider() const override { return true; }
executed 4 times by 2 tests: return true;
Executed by:
  • tst_qquickborderimage
  • tst_qquickshadereffect
4
103 QSGTextureProvider *textureProvider() const override;-
104-
105 bool mipmap() const;-
106 void setMipmap(bool use);-
107-
108 void emitAutoTransformBaseChanged() override { emit autoTransformChanged(); }
never executed: end of block
0
109-
110Q_SIGNALS:-
111 void fillModeChanged();-
112 void paintedGeometryChanged();-
113 void horizontalAlignmentChanged(HAlignment alignment);-
114 void verticalAlignmentChanged(VAlignment alignment);-
115 Q_REVISION(1) void mipmapChanged(bool);-
116 Q_REVISION(2) void autoTransformChanged();-
117-
118private Q_SLOTS:-
119 void invalidateSceneGraph();-
120-
121protected:-
122 QQuickImage(QQuickImagePrivate &dd, QQuickItem *parent);-
123 void pixmapChange() override;-
124 void updatePaintedGeometry();-
125 void releaseResources() override;-
126-
127 void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;-
128 QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;-
129-
130private:-
131 Q_DISABLE_COPY(QQuickImage)-
132 Q_DECLARE_PRIVATE(QQuickImage)
executed 33599 times by 15 tests: return reinterpret_cast<QQuickImagePrivate *>(qGetPtrHelper(d_ptr));
Executed by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlinfo
  • tst_qquickanchors
  • tst_qquickanimatedimage
  • tst_qquickborderimage
  • tst_qquickcustomparticle
  • tst_qquickimage
  • tst_qquickimageprovider
  • tst_qquickitem
  • tst_qquickitemparticle
  • tst_qquickshadereffect
  • tst_qquickstates
  • tst_scenegraph
  • tst_sharedimage
executed 430 times by 4 tests: return reinterpret_cast<const QQuickImagePrivate *>(qGetPtrHelper(d_ptr));
Executed by:
  • tst_qquickborderimage
  • tst_qquickimage
  • tst_qquickimageprovider
  • tst_qquickshadereffect
430-33599
133};-
134-
135QT_END_NAMESPACE-
136QML_DECLARE_TYPE(QQuickImage)-
137#endif // QQUICKIMAGE_P_H-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0