OpenCoverage

qquickcontext2dtexture_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/items/context2d/qquickcontext2dtexture_p.h
Switch to Source codePreprocessed file
LineSourceCount
1-
2static_assert(bool(1 == 1), "Required feature " "quick_canvas" " for file " __FILE__ " not available.");-
3-
4-
5-
6-
7-
8-
9class QQuickContext2DTile;-
10class QQuickContext2DCommandBuffer;-
11-
12class QQuickContext2DTexture : public QObject-
13{-
14 public:-
15#pragma GCC diagnostic push-
16 -
17#pragma GCC diagnostic ignored "-Wsuggest-override"-
18 static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private:-
19#pragma GCC diagnostic ignored "-Wattributes"-
20 __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);-
21#pragma GCC diagnostic pop-
22 struct QPrivateSignal {};-
23public:-
24 class PaintEvent : public QEvent {-
25 public:-
26 PaintEvent(QQuickContext2DCommandBuffer *b) : QEvent(QEvent::Type(QEvent::User + 1)), buffer(b) {}
never executed: end of block
0
27 QQuickContext2DCommandBuffer *buffer;-
28 };-
29-
30 class CanvasChangeEvent : public QEvent {-
31 public:-
32 CanvasChangeEvent(const QSize &cSize,-
33 const QSize &tSize,-
34 const QRect &cWindow,-
35 const QRect &dRect,-
36 bool sm,-
37 bool aa)-
38 : QEvent(QEvent::Type(QEvent::User + 2))-
39 , canvasSize(cSize)-
40 , tileSize(tSize)-
41 , canvasWindow(cWindow)-
42 , dirtyRect(dRect)-
43 , smooth(sm)-
44 , antialiasing(aa)-
45 {-
46 }
never executed: end of block
0
47 QSize canvasSize;-
48 QSize tileSize;-
49 QRect canvasWindow;-
50 QRect dirtyRect;-
51 bool smooth;-
52 bool antialiasing;-
53 };-
54-
55 QQuickContext2DTexture();-
56 ~QQuickContext2DTexture();-
57-
58 virtual QQuickCanvasItem::RenderTarget renderTarget() const = 0;-
59 static QRect tiledRect(const QRectF& window, const QSize& tileSize);-
60-
61 bool setCanvasSize(const QSize &size);-
62 bool setTileSize(const QSize &size);-
63 bool setCanvasWindow(const QRect& canvasWindow);-
64 void setSmooth(bool smooth);-
65 void setAntialiasing(bool antialiasing);-
66 bool setDirtyRect(const QRect &dirtyRect);-
67 bool canvasDestroyed();-
68 void setOnCustomThread(bool is) { m_onCustomThread = is; }
never executed: end of block
0
69 bool isOnCustomThread() const { return
never executed: return m_onCustomThread;
m_onCustomThread;
never executed: return m_onCustomThread;
}
0
70-
71-
72 virtual QSGTexture *textureForNextFrame(QSGTexture *lastFrame, QQuickWindow *window) = 0;-
73 bool event(QEvent *e) override;-
74-
75 void initializeOpenGL(QOpenGLContext *gl, QOffscreenSurface *s) {-
76 m_gl = gl;-
77 m_surface = s;-
78 }
never executed: end of block
0
79-
80-
81public :-
82 void textureChanged();-
83-
84public :-
85 void canvasChanged(const QSize& canvasSize, const QSize& tileSize, const QRect& canvasWindow, const QRect& dirtyRect, bool smooth, bool antialiasing);-
86 void paint(QQuickContext2DCommandBuffer *ccb);-
87 void markDirtyTexture();-
88 void setItem(QQuickCanvasItem* item);-
89 virtual void grabImage(const QRectF& region = QRectF()) = 0;-
90-
91protected:-
92 virtual QVector2D scaleFactor() const { return
never executed: return QVector2D(1, 1);
QVector2D(1, 1);
never executed: return QVector2D(1, 1);
}
0
93-
94 void paintWithoutTiles(QQuickContext2DCommandBuffer *ccb);-
95 virtual QPaintDevice* beginPainting() {m_painting = true; return
never executed: return nullptr;
nullptr;
never executed: return nullptr;
}
0
96 virtual void endPainting() {m_painting = false;}
never executed: end of block
0
97 virtual QQuickContext2DTile* createTile() const = 0;-
98 virtual void compositeTile(QQuickContext2DTile* tile) = 0;-
99-
100 void clearTiles();-
101 virtual QSize adjustedTileSize(const QSize &ts);-
102 QRect createTiles(const QRect& window);-
103-
104 QList<QQuickContext2DTile*> m_tiles;-
105 QQuickContext2D *m_context;-
106-
107 QOpenGLContext *m_gl;-
108-
109 QSurface *m_surface;-
110-
111 QQuickContext2D::State m_state;-
112-
113 QQuickCanvasItem* m_item;-
114 QSize m_canvasSize;-
115 QSize m_tileSize;-
116 QRect m_canvasWindow;-
117 qreal m_canvasDevicePixelRatio;-
118-
119 QMutex m_mutex;-
120 QWaitCondition m_condition;-
121-
122 uint m_canvasWindowChanged : 1;-
123 uint m_dirtyTexture : 1;-
124 uint m_smooth : 1;-
125 uint m_antialiasing : 1;-
126 uint m_tiledCanvas : 1;-
127 uint m_painting : 1;-
128 uint m_onCustomThread : 1;-
129};-
130-
131class QQuickContext2DFBOTexture : public QQuickContext2DTexture-
132{-
133 public:-
134#pragma GCC diagnostic push-
135 -
136#pragma GCC diagnostic ignored "-Wsuggest-override"-
137 static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private:-
138#pragma GCC diagnostic ignored "-Wattributes"-
139 __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);-
140#pragma GCC diagnostic pop-
141 struct QPrivateSignal {};-
142-
143public:-
144 QQuickContext2DFBOTexture();-
145 ~QQuickContext2DFBOTexture();-
146 QQuickContext2DTile* createTile() const override;-
147 QPaintDevice* beginPainting() override;-
148 void endPainting() override;-
149 QRectF normalizedTextureSubRect() const;-
150 QQuickCanvasItem::RenderTarget renderTarget() const override;-
151 void compositeTile(QQuickContext2DTile* tile) override;-
152 QSize adjustedTileSize(const QSize &ts) override;-
153-
154 QSGTexture *textureForNextFrame(QSGTexture *, QQuickWindow *window) override;-
155-
156protected:-
157 QVector2D scaleFactor() const override;-
158-
159public :-
160 void grabImage(const QRectF& region = QRectF()) override;-
161-
162private:-
163 bool doMultisampling() const;-
164 QOpenGLFramebufferObject *m_fbo;-
165 QOpenGLFramebufferObject *m_multisampledFbo;-
166 QSize m_fboSize;-
167 QPaintDevice *m_paint_device;-
168-
169-
170 GLuint m_displayTextures[2];-
171 int m_displayTexture;-
172};-
173-
174class QSGPlainTexture;-
175class QQuickContext2DImageTexture : public QQuickContext2DTexture-
176{-
177 public:-
178#pragma GCC diagnostic push-
179 -
180#pragma GCC diagnostic ignored "-Wsuggest-override"-
181 static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private:-
182#pragma GCC diagnostic ignored "-Wattributes"-
183 __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);-
184#pragma GCC diagnostic pop-
185 struct QPrivateSignal {};-
186-
187public:-
188 QQuickContext2DImageTexture();-
189 ~QQuickContext2DImageTexture();-
190-
191 QQuickCanvasItem::RenderTarget renderTarget() const override;-
192-
193 QQuickContext2DTile* createTile() const override;-
194 QPaintDevice* beginPainting() override;-
195 void endPainting() override;-
196 void compositeTile(QQuickContext2DTile* tile) override;-
197-
198 QSGTexture *textureForNextFrame(QSGTexture *lastFrame, QQuickWindow *window) override;-
199-
200public :-
201 void grabImage(const QRectF& region = QRectF()) override;-
202-
203private:-
204 QImage m_image;-
205 QImage m_displayImage;-
206 QPainter m_painter;-
207};-
208-
209-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0