Absolute File Name: | /home/qt/qt5_coco/qt5/qtbase/src/gui/image/qpicture.cpp |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | - | |||||||||||||||||||
4 | - | |||||||||||||||||||
5 | - | |||||||||||||||||||
6 | - | |||||||||||||||||||
7 | - | |||||||||||||||||||
8 | - | |||||||||||||||||||
9 | - | |||||||||||||||||||
10 | void qt_format_text(const QFont &fnt, const QRectF &_r, | - | ||||||||||||||||||
11 | int tf, const QTextOption *opt, const QString& str, QRectF *brect, | - | ||||||||||||||||||
12 | int tabstops, int *, int tabarraylen, | - | ||||||||||||||||||
13 | QPainter *painter); | - | ||||||||||||||||||
14 | const char *qt_mfhdr_tag = "QPIC"; | - | ||||||||||||||||||
15 | static const quint16 mfhdr_maj = QDataStream::Qt_DefaultCompiledVersion; | - | ||||||||||||||||||
16 | static const quint16 mfhdr_min = 0; | - | ||||||||||||||||||
17 | QPicture::QPicture(int formatVersion) | - | ||||||||||||||||||
18 | : QPaintDevice(), | - | ||||||||||||||||||
19 | d_ptr(new QPicturePrivate) | - | ||||||||||||||||||
20 | { | - | ||||||||||||||||||
21 | QPicturePrivate * const d = d_func(); | - | ||||||||||||||||||
22 | - | |||||||||||||||||||
23 | if (formatVersion == 0
| 0 | ||||||||||||||||||
24 | QMessageLogger(__FILE__, 144, __PRETTY_FUNCTION__).warning("QPicture: invalid format version 0"); never executed: QMessageLogger(__FILE__, 144, __PRETTY_FUNCTION__).warning("QPicture: invalid format version 0"); | 0 | ||||||||||||||||||
25 | - | |||||||||||||||||||
26 | - | |||||||||||||||||||
27 | if (formatVersion > 0
| 0 | ||||||||||||||||||
28 | d->formatMajor = formatVersion; | - | ||||||||||||||||||
29 | d->formatMinor = 0; | - | ||||||||||||||||||
30 | d->formatOk = false; | - | ||||||||||||||||||
31 | } never executed: else {end of block | 0 | ||||||||||||||||||
32 | d->resetFormat(); | - | ||||||||||||||||||
33 | } never executed: end of block | 0 | ||||||||||||||||||
34 | } | - | ||||||||||||||||||
35 | - | |||||||||||||||||||
36 | - | |||||||||||||||||||
37 | - | |||||||||||||||||||
38 | - | |||||||||||||||||||
39 | - | |||||||||||||||||||
40 | - | |||||||||||||||||||
41 | - | |||||||||||||||||||
42 | QPicture::QPicture(const QPicture &pic) | - | ||||||||||||||||||
43 | : QPaintDevice(), d_ptr(pic.d_ptr) | - | ||||||||||||||||||
44 | { | - | ||||||||||||||||||
45 | } never executed: end of block | 0 | ||||||||||||||||||
46 | - | |||||||||||||||||||
47 | - | |||||||||||||||||||
48 | QPicture::QPicture(QPicturePrivate &dptr) | - | ||||||||||||||||||
49 | : QPaintDevice(), | - | ||||||||||||||||||
50 | d_ptr(&dptr) | - | ||||||||||||||||||
51 | { | - | ||||||||||||||||||
52 | } never executed: end of block | 0 | ||||||||||||||||||
53 | - | |||||||||||||||||||
54 | - | |||||||||||||||||||
55 | - | |||||||||||||||||||
56 | - | |||||||||||||||||||
57 | QPicture::~QPicture() | - | ||||||||||||||||||
58 | { | - | ||||||||||||||||||
59 | } | - | ||||||||||||||||||
60 | - | |||||||||||||||||||
61 | - | |||||||||||||||||||
62 | - | |||||||||||||||||||
63 | - | |||||||||||||||||||
64 | int QPicture::devType() const | - | ||||||||||||||||||
65 | { | - | ||||||||||||||||||
66 | return never executed: QInternal::Picture;return QInternal::Picture; never executed: return QInternal::Picture; | 0 | ||||||||||||||||||
67 | } | - | ||||||||||||||||||
68 | bool QPicture::isNull() const | - | ||||||||||||||||||
69 | { | - | ||||||||||||||||||
70 | return never executed: d_func()->pictb.buffer().isNull();return d_func()->pictb.buffer().isNull(); never executed: return d_func()->pictb.buffer().isNull(); | 0 | ||||||||||||||||||
71 | } | - | ||||||||||||||||||
72 | - | |||||||||||||||||||
73 | uint QPicture::size() const | - | ||||||||||||||||||
74 | { | - | ||||||||||||||||||
75 | return never executed: d_func()->pictb.buffer().size();return d_func()->pictb.buffer().size(); never executed: return d_func()->pictb.buffer().size(); | 0 | ||||||||||||||||||
76 | } | - | ||||||||||||||||||
77 | - | |||||||||||||||||||
78 | const char* QPicture::data() const | - | ||||||||||||||||||
79 | { | - | ||||||||||||||||||
80 | return never executed: d_func()->pictb.buffer();return d_func()->pictb.buffer(); never executed: return d_func()->pictb.buffer(); | 0 | ||||||||||||||||||
81 | } | - | ||||||||||||||||||
82 | - | |||||||||||||||||||
83 | void QPicture::detach() | - | ||||||||||||||||||
84 | { | - | ||||||||||||||||||
85 | d_ptr.detach(); | - | ||||||||||||||||||
86 | } never executed: end of block | 0 | ||||||||||||||||||
87 | - | |||||||||||||||||||
88 | bool QPicture::isDetached() const | - | ||||||||||||||||||
89 | { | - | ||||||||||||||||||
90 | return never executed: d_func()->ref.load() == 1;return d_func()->ref.load() == 1; never executed: return d_func()->ref.load() == 1; | 0 | ||||||||||||||||||
91 | } | - | ||||||||||||||||||
92 | void QPicture::setData(const char* data, uint size) | - | ||||||||||||||||||
93 | { | - | ||||||||||||||||||
94 | detach(); | - | ||||||||||||||||||
95 | d_func()->pictb.setData(data, size); | - | ||||||||||||||||||
96 | d_func()->resetFormat(); | - | ||||||||||||||||||
97 | } never executed: end of block | 0 | ||||||||||||||||||
98 | bool QPicture::load(const QString &fileName, const char *format) | - | ||||||||||||||||||
99 | { | - | ||||||||||||||||||
100 | QFile f(fileName); | - | ||||||||||||||||||
101 | if (!f.open(QIODevice::ReadOnly)
| 0 | ||||||||||||||||||
102 | operator=(QPicture()); | - | ||||||||||||||||||
103 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
104 | } | - | ||||||||||||||||||
105 | return never executed: load(&f, format);return load(&f, format); never executed: return load(&f, format); | 0 | ||||||||||||||||||
106 | } | - | ||||||||||||||||||
107 | - | |||||||||||||||||||
108 | - | |||||||||||||||||||
109 | - | |||||||||||||||||||
110 | - | |||||||||||||||||||
111 | - | |||||||||||||||||||
112 | - | |||||||||||||||||||
113 | - | |||||||||||||||||||
114 | bool QPicture::load(QIODevice *dev, const char *format) | - | ||||||||||||||||||
115 | { | - | ||||||||||||||||||
116 | if(format
| 0 | ||||||||||||||||||
117 | - | |||||||||||||||||||
118 | QPictureIO io(dev, format); | - | ||||||||||||||||||
119 | if (io.read()
| 0 | ||||||||||||||||||
120 | operator=(io.picture()); | - | ||||||||||||||||||
121 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||
122 | } | - | ||||||||||||||||||
123 | - | |||||||||||||||||||
124 | QMessageLogger(__FILE__, 291, __PRETTY_FUNCTION__).warning("QPicture::load: No such picture format: %s", format); | - | ||||||||||||||||||
125 | operator=(QPicture()); | - | ||||||||||||||||||
126 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
127 | } | - | ||||||||||||||||||
128 | - | |||||||||||||||||||
129 | detach(); | - | ||||||||||||||||||
130 | QByteArray a = dev->readAll(); | - | ||||||||||||||||||
131 | - | |||||||||||||||||||
132 | d_func()->pictb.setData(a); | - | ||||||||||||||||||
133 | return never executed: d_func()->checkFormat();return d_func()->checkFormat(); never executed: return d_func()->checkFormat(); | 0 | ||||||||||||||||||
134 | } | - | ||||||||||||||||||
135 | bool QPicture::save(const QString &fileName, const char *format) | - | ||||||||||||||||||
136 | { | - | ||||||||||||||||||
137 | if (paintingActive()
| 0 | ||||||||||||||||||
138 | QMessageLogger(__FILE__, 316, __PRETTY_FUNCTION__).warning("QPicture::save: still being painted on. " | - | ||||||||||||||||||
139 | "Call QPainter::end() first"); | - | ||||||||||||||||||
140 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
141 | } | - | ||||||||||||||||||
142 | - | |||||||||||||||||||
143 | - | |||||||||||||||||||
144 | if(format
| 0 | ||||||||||||||||||
145 | - | |||||||||||||||||||
146 | QPictureIO io(fileName, format); | - | ||||||||||||||||||
147 | bool result = io.write(); | - | ||||||||||||||||||
148 | if (result
| 0 | ||||||||||||||||||
149 | operator=(io.picture()); | - | ||||||||||||||||||
150 | } never executed: else if (formatend of block
| 0 | ||||||||||||||||||
151 | - | |||||||||||||||||||
152 | - | |||||||||||||||||||
153 | - | |||||||||||||||||||
154 | { | - | ||||||||||||||||||
155 | QMessageLogger(__FILE__, 333, __PRETTY_FUNCTION__).warning("QPicture::save: No such picture format: %s", format); | - | ||||||||||||||||||
156 | } never executed: end of block | 0 | ||||||||||||||||||
157 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||||||||
158 | } | - | ||||||||||||||||||
159 | - | |||||||||||||||||||
160 | QFile f(fileName); | - | ||||||||||||||||||
161 | if (!f.open(QIODevice::WriteOnly)
| 0 | ||||||||||||||||||
162 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
163 | return never executed: save(&f, format);return save(&f, format); never executed: return save(&f, format); | 0 | ||||||||||||||||||
164 | } | - | ||||||||||||||||||
165 | - | |||||||||||||||||||
166 | - | |||||||||||||||||||
167 | - | |||||||||||||||||||
168 | - | |||||||||||||||||||
169 | - | |||||||||||||||||||
170 | - | |||||||||||||||||||
171 | - | |||||||||||||||||||
172 | bool QPicture::save(QIODevice *dev, const char *format) | - | ||||||||||||||||||
173 | { | - | ||||||||||||||||||
174 | if (paintingActive()
| 0 | ||||||||||||||||||
175 | QMessageLogger(__FILE__, 353, __PRETTY_FUNCTION__).warning("QPicture::save: still being painted on. " | - | ||||||||||||||||||
176 | "Call QPainter::end() first"); | - | ||||||||||||||||||
177 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
178 | } | - | ||||||||||||||||||
179 | - | |||||||||||||||||||
180 | if(format
| 0 | ||||||||||||||||||
181 | - | |||||||||||||||||||
182 | QPictureIO io(dev, format); | - | ||||||||||||||||||
183 | bool result = io.write(); | - | ||||||||||||||||||
184 | if (result
| 0 | ||||||||||||||||||
185 | operator=(io.picture()); | - | ||||||||||||||||||
186 | } never executed: else if (formatend of block
| 0 | ||||||||||||||||||
187 | - | |||||||||||||||||||
188 | - | |||||||||||||||||||
189 | - | |||||||||||||||||||
190 | { | - | ||||||||||||||||||
191 | QMessageLogger(__FILE__, 369, __PRETTY_FUNCTION__).warning("QPicture::save: No such picture format: %s", format); | - | ||||||||||||||||||
192 | } never executed: end of block | 0 | ||||||||||||||||||
193 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||||||||
194 | } | - | ||||||||||||||||||
195 | - | |||||||||||||||||||
196 | dev->write(d_func()->pictb.buffer(), d_func()->pictb.buffer().size()); | - | ||||||||||||||||||
197 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||
198 | } | - | ||||||||||||||||||
199 | - | |||||||||||||||||||
200 | - | |||||||||||||||||||
201 | - | |||||||||||||||||||
202 | - | |||||||||||||||||||
203 | - | |||||||||||||||||||
204 | - | |||||||||||||||||||
205 | QRect QPicture::boundingRect() const | - | ||||||||||||||||||
206 | { | - | ||||||||||||||||||
207 | const QPicturePrivate * const d = d_func(); | - | ||||||||||||||||||
208 | - | |||||||||||||||||||
209 | if (!d->override_rect.isEmpty()
| 0 | ||||||||||||||||||
210 | return never executed: d->override_rect;return d->override_rect; never executed: return d->override_rect; | 0 | ||||||||||||||||||
211 | - | |||||||||||||||||||
212 | if (!d->formatOk
| 0 | ||||||||||||||||||
213 | d_ptr->checkFormat(); never executed: d_ptr->checkFormat(); | 0 | ||||||||||||||||||
214 | - | |||||||||||||||||||
215 | return never executed: d->brect;return d->brect; never executed: return d->brect; | 0 | ||||||||||||||||||
216 | } | - | ||||||||||||||||||
217 | - | |||||||||||||||||||
218 | - | |||||||||||||||||||
219 | - | |||||||||||||||||||
220 | - | |||||||||||||||||||
221 | - | |||||||||||||||||||
222 | - | |||||||||||||||||||
223 | void QPicture::setBoundingRect(const QRect &r) | - | ||||||||||||||||||
224 | { | - | ||||||||||||||||||
225 | d_func()->override_rect = r; | - | ||||||||||||||||||
226 | } never executed: end of block | 0 | ||||||||||||||||||
227 | bool QPicture::play(QPainter *painter) | - | ||||||||||||||||||
228 | { | - | ||||||||||||||||||
229 | QPicturePrivate * const d = d_func(); | - | ||||||||||||||||||
230 | - | |||||||||||||||||||
231 | if (d->pictb.size() == 0
| 0 | ||||||||||||||||||
232 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||
233 | - | |||||||||||||||||||
234 | if (!d->formatOk
| 0 | ||||||||||||||||||
235 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
236 | - | |||||||||||||||||||
237 | d->pictb.open(QIODevice::ReadOnly); | - | ||||||||||||||||||
238 | QDataStream s; | - | ||||||||||||||||||
239 | s.setDevice(&d->pictb); | - | ||||||||||||||||||
240 | s.device()->seek(10); | - | ||||||||||||||||||
241 | s.setVersion(d->formatMajor == 4 ? 3 : d->formatMajor); | - | ||||||||||||||||||
242 | - | |||||||||||||||||||
243 | quint8 c, clen; | - | ||||||||||||||||||
244 | quint32 nrecords; | - | ||||||||||||||||||
245 | s >> c >> clen; | - | ||||||||||||||||||
246 | ((!(c == QPicturePrivate::PdcBegin)) ? qt_assert("c == QPicturePrivate::PdcBegin",__FILE__,433) : qt_noop()); | - | ||||||||||||||||||
247 | - | |||||||||||||||||||
248 | if (d->formatMajor >= 4
| 0 | ||||||||||||||||||
249 | qint32 dummy; | - | ||||||||||||||||||
250 | s >> dummy >> dummy >> dummy >> dummy; | - | ||||||||||||||||||
251 | } never executed: end of block | 0 | ||||||||||||||||||
252 | s >> nrecords; | - | ||||||||||||||||||
253 | if (!exec(painter, s, nrecords)
| 0 | ||||||||||||||||||
254 | QMessageLogger(__FILE__, 441, __PRETTY_FUNCTION__).warning("QPicture::play: Format error"); | - | ||||||||||||||||||
255 | d->pictb.close(); | - | ||||||||||||||||||
256 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
257 | } | - | ||||||||||||||||||
258 | d->pictb.close(); | - | ||||||||||||||||||
259 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||
260 | } | - | ||||||||||||||||||
261 | - | |||||||||||||||||||
262 | - | |||||||||||||||||||
263 | - | |||||||||||||||||||
264 | - | |||||||||||||||||||
265 | - | |||||||||||||||||||
266 | class QFakeDevice : public QPaintDevice | - | ||||||||||||||||||
267 | { | - | ||||||||||||||||||
268 | public: | - | ||||||||||||||||||
269 | QFakeDevice() { dpi_x = qt_defaultDpiX(); dpi_y = qt_defaultDpiY(); } never executed: end of block | 0 | ||||||||||||||||||
270 | void setDpiX(int dpi) { dpi_x = dpi; } never executed: end of block | 0 | ||||||||||||||||||
271 | void setDpiY(int dpi) { dpi_y = dpi; } never executed: end of block | 0 | ||||||||||||||||||
272 | QPaintEngine *paintEngine() const override { return never executed: 0;return 0; never executed: }return 0; | 0 | ||||||||||||||||||
273 | int metric(PaintDeviceMetric m) const override | - | ||||||||||||||||||
274 | { | - | ||||||||||||||||||
275 | switch(m) { | - | ||||||||||||||||||
276 | case never executed: PdmPhysicalDpiX:case PdmPhysicalDpiX: never executed: case PdmPhysicalDpiX: | 0 | ||||||||||||||||||
277 | case never executed: PdmDpiX:case PdmDpiX: never executed: case PdmDpiX: | 0 | ||||||||||||||||||
278 | return never executed: dpi_x;return dpi_x; never executed: return dpi_x; | 0 | ||||||||||||||||||
279 | case never executed: PdmPhysicalDpiY:case PdmPhysicalDpiY: never executed: case PdmPhysicalDpiY: | 0 | ||||||||||||||||||
280 | case never executed: PdmDpiY:case PdmDpiY: never executed: case PdmDpiY: | 0 | ||||||||||||||||||
281 | return never executed: dpi_y;return dpi_y; never executed: return dpi_y; | 0 | ||||||||||||||||||
282 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||
283 | return never executed: QPaintDevice::metric(m);return QPaintDevice::metric(m); never executed: return QPaintDevice::metric(m); | 0 | ||||||||||||||||||
284 | } | - | ||||||||||||||||||
285 | } | - | ||||||||||||||||||
286 | - | |||||||||||||||||||
287 | private: | - | ||||||||||||||||||
288 | int dpi_x; | - | ||||||||||||||||||
289 | int dpi_y; | - | ||||||||||||||||||
290 | }; | - | ||||||||||||||||||
291 | - | |||||||||||||||||||
292 | - | |||||||||||||||||||
293 | - | |||||||||||||||||||
294 | - | |||||||||||||||||||
295 | - | |||||||||||||||||||
296 | - | |||||||||||||||||||
297 | - | |||||||||||||||||||
298 | bool QPicture::exec(QPainter *painter, QDataStream &s, int nrecords) | - | ||||||||||||||||||
299 | { | - | ||||||||||||||||||
300 | QPicturePrivate * const d = d_func(); | - | ||||||||||||||||||
301 | - | |||||||||||||||||||
302 | int strm_pos; | - | ||||||||||||||||||
303 | - | |||||||||||||||||||
304 | quint8 c; | - | ||||||||||||||||||
305 | quint8 tiny_len; | - | ||||||||||||||||||
306 | qint32 len; | - | ||||||||||||||||||
307 | qint16 i_16, i1_16, i2_16; | - | ||||||||||||||||||
308 | qint8 i_8; | - | ||||||||||||||||||
309 | quint32 ul; | - | ||||||||||||||||||
310 | double dbl; | - | ||||||||||||||||||
311 | bool bl; | - | ||||||||||||||||||
312 | QByteArray str1; | - | ||||||||||||||||||
313 | QString str; | - | ||||||||||||||||||
314 | QPointF p, p1, p2; | - | ||||||||||||||||||
315 | QPoint ip, ip1, ip2; | - | ||||||||||||||||||
316 | QRect ir; | - | ||||||||||||||||||
317 | QRectF r; | - | ||||||||||||||||||
318 | QPolygonF a; | - | ||||||||||||||||||
319 | QPolygon ia; | - | ||||||||||||||||||
320 | QColor color; | - | ||||||||||||||||||
321 | QFont font; | - | ||||||||||||||||||
322 | QPen pen; | - | ||||||||||||||||||
323 | QBrush brush; | - | ||||||||||||||||||
324 | QRegion rgn; | - | ||||||||||||||||||
325 | QMatrix wmatrix; | - | ||||||||||||||||||
326 | QTransform matrix; | - | ||||||||||||||||||
327 | - | |||||||||||||||||||
328 | QTransform worldMatrix = painter->transform(); | - | ||||||||||||||||||
329 | worldMatrix.scale(qreal(painter->device()->logicalDpiX()) / qreal(qt_defaultDpiX()), | - | ||||||||||||||||||
330 | qreal(painter->device()->logicalDpiY()) / qreal(qt_defaultDpiY())); | - | ||||||||||||||||||
331 | painter->setTransform(worldMatrix); | - | ||||||||||||||||||
332 | - | |||||||||||||||||||
333 | while (nrecords--
| 0 | ||||||||||||||||||
334 | s >> c; | - | ||||||||||||||||||
335 | s >> tiny_len; | - | ||||||||||||||||||
336 | if (tiny_len == 255
| 0 | ||||||||||||||||||
337 | s >> len; never executed: s >> len; | 0 | ||||||||||||||||||
338 | else | - | ||||||||||||||||||
339 | len = tiny_len; never executed: len = tiny_len; | 0 | ||||||||||||||||||
340 | - | |||||||||||||||||||
341 | strm_pos = s.device()->pos(); | - | ||||||||||||||||||
342 | - | |||||||||||||||||||
343 | switch (c) { | - | ||||||||||||||||||
344 | case never executed: QPicturePrivate::PdcNOP:case QPicturePrivate::PdcNOP: never executed: case QPicturePrivate::PdcNOP: | 0 | ||||||||||||||||||
345 | break; never executed: break; | 0 | ||||||||||||||||||
346 | case never executed: QPicturePrivate::PdcDrawPoint:case QPicturePrivate::PdcDrawPoint: never executed: case QPicturePrivate::PdcDrawPoint: | 0 | ||||||||||||||||||
347 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
348 | s >> ip; | - | ||||||||||||||||||
349 | painter->drawPoint(ip); | - | ||||||||||||||||||
350 | } never executed: else {end of block | 0 | ||||||||||||||||||
351 | s >> p; | - | ||||||||||||||||||
352 | painter->drawPoint(p); | - | ||||||||||||||||||
353 | } never executed: end of block | 0 | ||||||||||||||||||
354 | break; never executed: break; | 0 | ||||||||||||||||||
355 | case never executed: QPicturePrivate::PdcDrawPoints:case QPicturePrivate::PdcDrawPoints: never executed: case QPicturePrivate::PdcDrawPoints: | 0 | ||||||||||||||||||
356 | - | |||||||||||||||||||
357 | - | |||||||||||||||||||
358 | - | |||||||||||||||||||
359 | break; never executed: break; | 0 | ||||||||||||||||||
360 | case never executed: QPicturePrivate::PdcDrawPath:case QPicturePrivate::PdcDrawPath: never executed: {case QPicturePrivate::PdcDrawPath: | 0 | ||||||||||||||||||
361 | QPainterPath path; | - | ||||||||||||||||||
362 | s >> path; | - | ||||||||||||||||||
363 | painter->drawPath(path); | - | ||||||||||||||||||
364 | break; never executed: break; | 0 | ||||||||||||||||||
365 | } | - | ||||||||||||||||||
366 | case never executed: QPicturePrivate::PdcDrawLine:case QPicturePrivate::PdcDrawLine: never executed: case QPicturePrivate::PdcDrawLine: | 0 | ||||||||||||||||||
367 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
368 | s >> ip1 >> ip2; | - | ||||||||||||||||||
369 | painter->drawLine(ip1, ip2); | - | ||||||||||||||||||
370 | } never executed: else {end of block | 0 | ||||||||||||||||||
371 | s >> p1 >> p2; | - | ||||||||||||||||||
372 | painter->drawLine(p1, p2); | - | ||||||||||||||||||
373 | } never executed: end of block | 0 | ||||||||||||||||||
374 | break; never executed: break; | 0 | ||||||||||||||||||
375 | case never executed: QPicturePrivate::PdcDrawRect:case QPicturePrivate::PdcDrawRect: never executed: case QPicturePrivate::PdcDrawRect: | 0 | ||||||||||||||||||
376 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
377 | s >> ir; | - | ||||||||||||||||||
378 | painter->drawRect(ir); | - | ||||||||||||||||||
379 | } never executed: else {end of block | 0 | ||||||||||||||||||
380 | s >> r; | - | ||||||||||||||||||
381 | painter->drawRect(r); | - | ||||||||||||||||||
382 | } never executed: end of block | 0 | ||||||||||||||||||
383 | break; never executed: break; | 0 | ||||||||||||||||||
384 | case never executed: QPicturePrivate::PdcDrawRoundRect:case QPicturePrivate::PdcDrawRoundRect: never executed: case QPicturePrivate::PdcDrawRoundRect: | 0 | ||||||||||||||||||
385 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
386 | s >> ir >> i1_16 >> i2_16; | - | ||||||||||||||||||
387 | painter->drawRoundedRect(ir, i1_16, i2_16, Qt::RelativeSize); | - | ||||||||||||||||||
388 | } never executed: else {end of block | 0 | ||||||||||||||||||
389 | s >> r >> i1_16 >> i2_16; | - | ||||||||||||||||||
390 | painter->drawRoundedRect(r, i1_16, i2_16, Qt::RelativeSize); | - | ||||||||||||||||||
391 | } never executed: end of block | 0 | ||||||||||||||||||
392 | break; never executed: break; | 0 | ||||||||||||||||||
393 | case never executed: QPicturePrivate::PdcDrawEllipse:case QPicturePrivate::PdcDrawEllipse: never executed: case QPicturePrivate::PdcDrawEllipse: | 0 | ||||||||||||||||||
394 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
395 | s >> ir; | - | ||||||||||||||||||
396 | painter->drawEllipse(ir); | - | ||||||||||||||||||
397 | } never executed: else {end of block | 0 | ||||||||||||||||||
398 | s >> r; | - | ||||||||||||||||||
399 | painter->drawEllipse(r); | - | ||||||||||||||||||
400 | } never executed: end of block | 0 | ||||||||||||||||||
401 | break; never executed: break; | 0 | ||||||||||||||||||
402 | case never executed: QPicturePrivate::PdcDrawArc:case QPicturePrivate::PdcDrawArc: never executed: case QPicturePrivate::PdcDrawArc: | 0 | ||||||||||||||||||
403 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
404 | s >> ir; | - | ||||||||||||||||||
405 | r = ir; | - | ||||||||||||||||||
406 | } never executed: else {end of block | 0 | ||||||||||||||||||
407 | s >> r; | - | ||||||||||||||||||
408 | } never executed: end of block | 0 | ||||||||||||||||||
409 | s >> i1_16 >> i2_16; | - | ||||||||||||||||||
410 | painter->drawArc(r, i1_16, i2_16); | - | ||||||||||||||||||
411 | break; never executed: break; | 0 | ||||||||||||||||||
412 | case never executed: QPicturePrivate::PdcDrawPie:case QPicturePrivate::PdcDrawPie: never executed: case QPicturePrivate::PdcDrawPie: | 0 | ||||||||||||||||||
413 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
414 | s >> ir; | - | ||||||||||||||||||
415 | r = ir; | - | ||||||||||||||||||
416 | } never executed: else {end of block | 0 | ||||||||||||||||||
417 | s >> r; | - | ||||||||||||||||||
418 | } never executed: end of block | 0 | ||||||||||||||||||
419 | s >> i1_16 >> i2_16; | - | ||||||||||||||||||
420 | painter->drawPie(r, i1_16, i2_16); | - | ||||||||||||||||||
421 | break; never executed: break; | 0 | ||||||||||||||||||
422 | case never executed: QPicturePrivate::PdcDrawChord:case QPicturePrivate::PdcDrawChord: never executed: case QPicturePrivate::PdcDrawChord: | 0 | ||||||||||||||||||
423 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
424 | s >> ir; | - | ||||||||||||||||||
425 | r = ir; | - | ||||||||||||||||||
426 | } never executed: else {end of block | 0 | ||||||||||||||||||
427 | s >> r; | - | ||||||||||||||||||
428 | } never executed: end of block | 0 | ||||||||||||||||||
429 | s >> i1_16 >> i2_16; | - | ||||||||||||||||||
430 | painter->drawChord(r, i1_16, i2_16); | - | ||||||||||||||||||
431 | break; never executed: break; | 0 | ||||||||||||||||||
432 | case never executed: QPicturePrivate::PdcDrawLineSegments:case QPicturePrivate::PdcDrawLineSegments: never executed: case QPicturePrivate::PdcDrawLineSegments: | 0 | ||||||||||||||||||
433 | s >> ia; | - | ||||||||||||||||||
434 | painter->drawLines(ia); | - | ||||||||||||||||||
435 | ia.clear(); | - | ||||||||||||||||||
436 | break; never executed: break; | 0 | ||||||||||||||||||
437 | case never executed: QPicturePrivate::PdcDrawPolyline:case QPicturePrivate::PdcDrawPolyline: never executed: case QPicturePrivate::PdcDrawPolyline: | 0 | ||||||||||||||||||
438 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
439 | s >> ia; | - | ||||||||||||||||||
440 | painter->drawPolyline(ia); | - | ||||||||||||||||||
441 | ia.clear(); | - | ||||||||||||||||||
442 | } never executed: else {end of block | 0 | ||||||||||||||||||
443 | s >> a; | - | ||||||||||||||||||
444 | painter->drawPolyline(a); | - | ||||||||||||||||||
445 | a.clear(); | - | ||||||||||||||||||
446 | } never executed: end of block | 0 | ||||||||||||||||||
447 | break; never executed: break; | 0 | ||||||||||||||||||
448 | case never executed: QPicturePrivate::PdcDrawPolygon:case QPicturePrivate::PdcDrawPolygon: never executed: case QPicturePrivate::PdcDrawPolygon: | 0 | ||||||||||||||||||
449 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
450 | s >> ia >> i_8; | - | ||||||||||||||||||
451 | painter->drawPolygon(ia, i_8 ? Qt::WindingFill : Qt::OddEvenFill); | - | ||||||||||||||||||
452 | a.clear(); | - | ||||||||||||||||||
453 | } never executed: else {end of block | 0 | ||||||||||||||||||
454 | s >> a >> i_8; | - | ||||||||||||||||||
455 | painter->drawPolygon(a, i_8 ? Qt::WindingFill : Qt::OddEvenFill); | - | ||||||||||||||||||
456 | a.clear(); | - | ||||||||||||||||||
457 | } never executed: end of block | 0 | ||||||||||||||||||
458 | break; never executed: break; | 0 | ||||||||||||||||||
459 | case never executed: QPicturePrivate::PdcDrawCubicBezier:case QPicturePrivate::PdcDrawCubicBezier: never executed: {case QPicturePrivate::PdcDrawCubicBezier: | 0 | ||||||||||||||||||
460 | s >> ia; | - | ||||||||||||||||||
461 | QPainterPath path; | - | ||||||||||||||||||
462 | ((!(ia.size() == 4)) ? qt_assert("ia.size() == 4",__FILE__,649) : qt_noop()); | - | ||||||||||||||||||
463 | path.moveTo(ia.at(0)); | - | ||||||||||||||||||
464 | path.cubicTo(ia.at(1), ia.at(2), ia.at(3)); | - | ||||||||||||||||||
465 | painter->strokePath(path, painter->pen()); | - | ||||||||||||||||||
466 | a.clear(); | - | ||||||||||||||||||
467 | } | - | ||||||||||||||||||
468 | break; never executed: break; | 0 | ||||||||||||||||||
469 | case never executed: QPicturePrivate::PdcDrawText:case QPicturePrivate::PdcDrawText: never executed: case QPicturePrivate::PdcDrawText: | 0 | ||||||||||||||||||
470 | s >> ip >> str1; | - | ||||||||||||||||||
471 | painter->drawText(ip, QString::fromLatin1(str1)); | - | ||||||||||||||||||
472 | break; never executed: break; | 0 | ||||||||||||||||||
473 | case never executed: QPicturePrivate::PdcDrawTextFormatted:case QPicturePrivate::PdcDrawTextFormatted: never executed: case QPicturePrivate::PdcDrawTextFormatted: | 0 | ||||||||||||||||||
474 | s >> ir >> i_16 >> str1; | - | ||||||||||||||||||
475 | painter->drawText(ir, i_16, QString::fromLatin1(str1)); | - | ||||||||||||||||||
476 | break; never executed: break; | 0 | ||||||||||||||||||
477 | case never executed: QPicturePrivate::PdcDrawText2:case QPicturePrivate::PdcDrawText2: never executed: case QPicturePrivate::PdcDrawText2: | 0 | ||||||||||||||||||
478 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
479 | s >> ip >> str; | - | ||||||||||||||||||
480 | painter->drawText(ip, str); | - | ||||||||||||||||||
481 | } never executed: else {end of block | 0 | ||||||||||||||||||
482 | s >> p >> str; | - | ||||||||||||||||||
483 | painter->drawText(p, str); | - | ||||||||||||||||||
484 | } never executed: end of block | 0 | ||||||||||||||||||
485 | break; never executed: break; | 0 | ||||||||||||||||||
486 | case never executed: QPicturePrivate::PdcDrawText2Formatted:case QPicturePrivate::PdcDrawText2Formatted: never executed: case QPicturePrivate::PdcDrawText2Formatted: | 0 | ||||||||||||||||||
487 | s >> ir; | - | ||||||||||||||||||
488 | s >> i_16; | - | ||||||||||||||||||
489 | s >> str; | - | ||||||||||||||||||
490 | painter->drawText(ir, i_16, str); | - | ||||||||||||||||||
491 | break; never executed: break; | 0 | ||||||||||||||||||
492 | case never executed: QPicturePrivate::PdcDrawTextItem:case QPicturePrivate::PdcDrawTextItem: never executed: {case QPicturePrivate::PdcDrawTextItem: | 0 | ||||||||||||||||||
493 | s >> p >> str >> font >> ul; | - | ||||||||||||||||||
494 | - | |||||||||||||||||||
495 | - | |||||||||||||||||||
496 | - | |||||||||||||||||||
497 | - | |||||||||||||||||||
498 | - | |||||||||||||||||||
499 | if (d->formatMajor >= 9
| 0 | ||||||||||||||||||
500 | s >> dbl; | - | ||||||||||||||||||
501 | QFont fnt(font); | - | ||||||||||||||||||
502 | if (dbl != 1.0
| 0 | ||||||||||||||||||
503 | QFakeDevice fake; | - | ||||||||||||||||||
504 | fake.setDpiX(qRound(dbl*qt_defaultDpiX())); | - | ||||||||||||||||||
505 | fake.setDpiY(qRound(dbl*qt_defaultDpiY())); | - | ||||||||||||||||||
506 | fnt = QFont(font, &fake); | - | ||||||||||||||||||
507 | } never executed: end of block | 0 | ||||||||||||||||||
508 | - | |||||||||||||||||||
509 | qreal justificationWidth; | - | ||||||||||||||||||
510 | s >> justificationWidth; | - | ||||||||||||||||||
511 | - | |||||||||||||||||||
512 | int flags = Qt::TextSingleLine | Qt::TextDontClip | Qt::TextForceLeftToRight; | - | ||||||||||||||||||
513 | - | |||||||||||||||||||
514 | QSizeF size(1, 1); | - | ||||||||||||||||||
515 | if (justificationWidth > 0
| 0 | ||||||||||||||||||
516 | size.setWidth(justificationWidth); | - | ||||||||||||||||||
517 | flags |= Qt::TextJustificationForced; | - | ||||||||||||||||||
518 | flags |= Qt::AlignJustify; | - | ||||||||||||||||||
519 | } never executed: end of block | 0 | ||||||||||||||||||
520 | - | |||||||||||||||||||
521 | QFontMetrics fm(fnt); | - | ||||||||||||||||||
522 | QPointF pt(p.x(), p.y() - fm.ascent()); | - | ||||||||||||||||||
523 | qt_format_text(fnt, QRectF(pt, size), flags, 0, | - | ||||||||||||||||||
524 | str, 0, 0, 0, 0, painter); | - | ||||||||||||||||||
525 | } never executed: else {end of block | 0 | ||||||||||||||||||
526 | qt_format_text(font, QRectF(p, QSizeF(1, 1)), Qt::TextSingleLine | Qt::TextDontClip, 0, | - | ||||||||||||||||||
527 | str, 0, 0, 0, 0, painter); | - | ||||||||||||||||||
528 | } never executed: end of block | 0 | ||||||||||||||||||
529 | - | |||||||||||||||||||
530 | break; never executed: break; | 0 | ||||||||||||||||||
531 | } | - | ||||||||||||||||||
532 | case never executed: QPicturePrivate::PdcDrawPixmap:case QPicturePrivate::PdcDrawPixmap: never executed: {case QPicturePrivate::PdcDrawPixmap: | 0 | ||||||||||||||||||
533 | QPixmap pixmap; | - | ||||||||||||||||||
534 | if (d->formatMajor < 4
| 0 | ||||||||||||||||||
535 | s >> ip >> pixmap; | - | ||||||||||||||||||
536 | painter->drawPixmap(ip, pixmap); | - | ||||||||||||||||||
537 | } never executed: else if (d->formatMajor <= 5end of block
| 0 | ||||||||||||||||||
538 | s >> ir >> pixmap; | - | ||||||||||||||||||
539 | painter->drawPixmap(ir, pixmap); | - | ||||||||||||||||||
540 | } never executed: else {end of block | 0 | ||||||||||||||||||
541 | QRectF sr; | - | ||||||||||||||||||
542 | if (d->in_memory_only
| 0 | ||||||||||||||||||
543 | int index; | - | ||||||||||||||||||
544 | s >> r >> index >> sr; | - | ||||||||||||||||||
545 | ((!(index < d->pixmap_list.size())) ? qt_assert("index < d->pixmap_list.size()",__FILE__,732) : qt_noop()); | - | ||||||||||||||||||
546 | pixmap = d->pixmap_list.at(index); | - | ||||||||||||||||||
547 | } never executed: else {end of block | 0 | ||||||||||||||||||
548 | s >> r >> pixmap >> sr; | - | ||||||||||||||||||
549 | } never executed: end of block | 0 | ||||||||||||||||||
550 | painter->drawPixmap(r, pixmap, sr); | - | ||||||||||||||||||
551 | } never executed: end of block | 0 | ||||||||||||||||||
552 | } | - | ||||||||||||||||||
553 | break; never executed: break; | 0 | ||||||||||||||||||
554 | case never executed: QPicturePrivate::PdcDrawTiledPixmap:case QPicturePrivate::PdcDrawTiledPixmap: never executed: {case QPicturePrivate::PdcDrawTiledPixmap: | 0 | ||||||||||||||||||
555 | QPixmap pixmap; | - | ||||||||||||||||||
556 | if (d->in_memory_only
| 0 | ||||||||||||||||||
557 | int index; | - | ||||||||||||||||||
558 | s >> r >> index >> p; | - | ||||||||||||||||||
559 | ((!(index < d->pixmap_list.size())) ? qt_assert("index < d->pixmap_list.size()",__FILE__,746) : qt_noop()); | - | ||||||||||||||||||
560 | pixmap = d->pixmap_list.at(index); | - | ||||||||||||||||||
561 | } never executed: else {end of block | 0 | ||||||||||||||||||
562 | s >> r >> pixmap >> p; | - | ||||||||||||||||||
563 | } never executed: end of block | 0 | ||||||||||||||||||
564 | painter->drawTiledPixmap(r, pixmap, p); | - | ||||||||||||||||||
565 | } | - | ||||||||||||||||||
566 | break; never executed: break; | 0 | ||||||||||||||||||
567 | case never executed: QPicturePrivate::PdcDrawImage:case QPicturePrivate::PdcDrawImage: never executed: {case QPicturePrivate::PdcDrawImage: | 0 | ||||||||||||||||||
568 | QImage image; | - | ||||||||||||||||||
569 | if (d->formatMajor < 4
| 0 | ||||||||||||||||||
570 | s >> p >> image; | - | ||||||||||||||||||
571 | painter->drawImage(p, image); | - | ||||||||||||||||||
572 | } never executed: else if (d->formatMajor <= 5end of block
| 0 | ||||||||||||||||||
573 | s >> ir >> image; | - | ||||||||||||||||||
574 | painter->drawImage(ir, image, QRect(0, 0, ir.width(), ir.height())); | - | ||||||||||||||||||
575 | } never executed: else {end of block | 0 | ||||||||||||||||||
576 | QRectF sr; | - | ||||||||||||||||||
577 | if (d->in_memory_only
| 0 | ||||||||||||||||||
578 | int index; | - | ||||||||||||||||||
579 | s >> r >> index >> sr >> ul; | - | ||||||||||||||||||
580 | ((!(index < d->image_list.size())) ? qt_assert("index < d->image_list.size()",__FILE__,767) : qt_noop()); | - | ||||||||||||||||||
581 | image = d->image_list.at(index); | - | ||||||||||||||||||
582 | } never executed: else {end of block | 0 | ||||||||||||||||||
583 | s >> r >> image >> sr >> ul; | - | ||||||||||||||||||
584 | } never executed: end of block | 0 | ||||||||||||||||||
585 | painter->drawImage(r, image, sr, Qt::ImageConversionFlags(ul)); | - | ||||||||||||||||||
586 | } never executed: end of block | 0 | ||||||||||||||||||
587 | } | - | ||||||||||||||||||
588 | break; never executed: break; | 0 | ||||||||||||||||||
589 | case never executed: QPicturePrivate::PdcBegin:case QPicturePrivate::PdcBegin: never executed: case QPicturePrivate::PdcBegin: | 0 | ||||||||||||||||||
590 | s >> ul; | - | ||||||||||||||||||
591 | if (!exec(painter, s, ul)
| 0 | ||||||||||||||||||
592 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
593 | break; never executed: break; | 0 | ||||||||||||||||||
594 | case never executed: QPicturePrivate::PdcEnd:case QPicturePrivate::PdcEnd: never executed: case QPicturePrivate::PdcEnd: | 0 | ||||||||||||||||||
595 | if (nrecords == 0
| 0 | ||||||||||||||||||
596 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||
597 | break; never executed: break; | 0 | ||||||||||||||||||
598 | case never executed: QPicturePrivate::PdcSave:case QPicturePrivate::PdcSave: never executed: case QPicturePrivate::PdcSave: | 0 | ||||||||||||||||||
599 | painter->save(); | - | ||||||||||||||||||
600 | break; never executed: break; | 0 | ||||||||||||||||||
601 | case never executed: QPicturePrivate::PdcRestore:case QPicturePrivate::PdcRestore: never executed: case QPicturePrivate::PdcRestore: | 0 | ||||||||||||||||||
602 | painter->restore(); | - | ||||||||||||||||||
603 | break; never executed: break; | 0 | ||||||||||||||||||
604 | case never executed: QPicturePrivate::PdcSetBkColor:case QPicturePrivate::PdcSetBkColor: never executed: case QPicturePrivate::PdcSetBkColor: | 0 | ||||||||||||||||||
605 | s >> color; | - | ||||||||||||||||||
606 | painter->setBackground(color); | - | ||||||||||||||||||
607 | break; never executed: break; | 0 | ||||||||||||||||||
608 | case never executed: QPicturePrivate::PdcSetBkMode:case QPicturePrivate::PdcSetBkMode: never executed: case QPicturePrivate::PdcSetBkMode: | 0 | ||||||||||||||||||
609 | s >> i_8; | - | ||||||||||||||||||
610 | painter->setBackgroundMode((Qt::BGMode)i_8); | - | ||||||||||||||||||
611 | break; never executed: break; | 0 | ||||||||||||||||||
612 | case never executed: QPicturePrivate::PdcSetROP:case QPicturePrivate::PdcSetROP: never executed: case QPicturePrivate::PdcSetROP: | 0 | ||||||||||||||||||
613 | s >> i_8; | - | ||||||||||||||||||
614 | break; never executed: break; | 0 | ||||||||||||||||||
615 | case never executed: QPicturePrivate::PdcSetBrushOrigin:case QPicturePrivate::PdcSetBrushOrigin: never executed: case QPicturePrivate::PdcSetBrushOrigin: | 0 | ||||||||||||||||||
616 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
617 | s >> ip; | - | ||||||||||||||||||
618 | painter->setBrushOrigin(ip); | - | ||||||||||||||||||
619 | } never executed: else {end of block | 0 | ||||||||||||||||||
620 | s >> p; | - | ||||||||||||||||||
621 | painter->setBrushOrigin(p); | - | ||||||||||||||||||
622 | } never executed: end of block | 0 | ||||||||||||||||||
623 | break; never executed: break; | 0 | ||||||||||||||||||
624 | case never executed: QPicturePrivate::PdcSetFont:case QPicturePrivate::PdcSetFont: never executed: case QPicturePrivate::PdcSetFont: | 0 | ||||||||||||||||||
625 | s >> font; | - | ||||||||||||||||||
626 | painter->setFont(font); | - | ||||||||||||||||||
627 | break; never executed: break; | 0 | ||||||||||||||||||
628 | case never executed: QPicturePrivate::PdcSetPen:case QPicturePrivate::PdcSetPen: never executed: case QPicturePrivate::PdcSetPen: | 0 | ||||||||||||||||||
629 | if (d->in_memory_only
| 0 | ||||||||||||||||||
630 | int index; | - | ||||||||||||||||||
631 | s >> index; | - | ||||||||||||||||||
632 | ((!(index < d->pen_list.size())) ? qt_assert("index < d->pen_list.size()",__FILE__,819) : qt_noop()); | - | ||||||||||||||||||
633 | pen = d->pen_list.at(index); | - | ||||||||||||||||||
634 | } never executed: else {end of block | 0 | ||||||||||||||||||
635 | s >> pen; | - | ||||||||||||||||||
636 | } never executed: end of block | 0 | ||||||||||||||||||
637 | painter->setPen(pen); | - | ||||||||||||||||||
638 | break; never executed: break; | 0 | ||||||||||||||||||
639 | case never executed: QPicturePrivate::PdcSetBrush:case QPicturePrivate::PdcSetBrush: never executed: case QPicturePrivate::PdcSetBrush: | 0 | ||||||||||||||||||
640 | if (d->in_memory_only
| 0 | ||||||||||||||||||
641 | int index; | - | ||||||||||||||||||
642 | s >> index; | - | ||||||||||||||||||
643 | ((!(index < d->brush_list.size())) ? qt_assert("index < d->brush_list.size()",__FILE__,830) : qt_noop()); | - | ||||||||||||||||||
644 | brush = d->brush_list.at(index); | - | ||||||||||||||||||
645 | } never executed: else {end of block | 0 | ||||||||||||||||||
646 | s >> brush; | - | ||||||||||||||||||
647 | } never executed: end of block | 0 | ||||||||||||||||||
648 | painter->setBrush(brush); | - | ||||||||||||||||||
649 | break; never executed: break; | 0 | ||||||||||||||||||
650 | case never executed: QPicturePrivate::PdcSetVXform:case QPicturePrivate::PdcSetVXform: never executed: case QPicturePrivate::PdcSetVXform: | 0 | ||||||||||||||||||
651 | s >> i_8; | - | ||||||||||||||||||
652 | painter->setViewTransformEnabled(i_8); | - | ||||||||||||||||||
653 | break; never executed: break; | 0 | ||||||||||||||||||
654 | case never executed: QPicturePrivate::PdcSetWindow:case QPicturePrivate::PdcSetWindow: never executed: case QPicturePrivate::PdcSetWindow: | 0 | ||||||||||||||||||
655 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
656 | s >> ir; | - | ||||||||||||||||||
657 | painter->setWindow(ir); | - | ||||||||||||||||||
658 | } never executed: else {end of block | 0 | ||||||||||||||||||
659 | s >> r; | - | ||||||||||||||||||
660 | painter->setWindow(r.toRect()); | - | ||||||||||||||||||
661 | } never executed: end of block | 0 | ||||||||||||||||||
662 | break; never executed: break; | 0 | ||||||||||||||||||
663 | case never executed: QPicturePrivate::PdcSetViewport:case QPicturePrivate::PdcSetViewport: never executed: case QPicturePrivate::PdcSetViewport: | 0 | ||||||||||||||||||
664 | if (d->formatMajor <= 5
| 0 | ||||||||||||||||||
665 | s >> ir; | - | ||||||||||||||||||
666 | painter->setViewport(ir); | - | ||||||||||||||||||
667 | } never executed: else {end of block | 0 | ||||||||||||||||||
668 | s >> r; | - | ||||||||||||||||||
669 | painter->setViewport(r.toRect()); | - | ||||||||||||||||||
670 | } never executed: end of block | 0 | ||||||||||||||||||
671 | break; never executed: break; | 0 | ||||||||||||||||||
672 | case never executed: QPicturePrivate::PdcSetWXform:case QPicturePrivate::PdcSetWXform: never executed: case QPicturePrivate::PdcSetWXform: | 0 | ||||||||||||||||||
673 | s >> i_8; | - | ||||||||||||||||||
674 | painter->setMatrixEnabled(i_8); | - | ||||||||||||||||||
675 | break; never executed: break; | 0 | ||||||||||||||||||
676 | case never executed: QPicturePrivate::PdcSetWMatrix:case QPicturePrivate::PdcSetWMatrix: never executed: case QPicturePrivate::PdcSetWMatrix: | 0 | ||||||||||||||||||
677 | if (d->formatMajor >= 8
| 0 | ||||||||||||||||||
678 | s >> matrix >> i_8; | - | ||||||||||||||||||
679 | } never executed: else {end of block | 0 | ||||||||||||||||||
680 | s >> wmatrix >> i_8; | - | ||||||||||||||||||
681 | matrix = QTransform(wmatrix); | - | ||||||||||||||||||
682 | } never executed: end of block | 0 | ||||||||||||||||||
683 | - | |||||||||||||||||||
684 | painter->setTransform(matrix * worldMatrix, i_8); | - | ||||||||||||||||||
685 | break; never executed: break; | 0 | ||||||||||||||||||
686 | case never executed: QPicturePrivate::PdcSetClip:case QPicturePrivate::PdcSetClip: never executed: case QPicturePrivate::PdcSetClip: | 0 | ||||||||||||||||||
687 | s >> i_8; | - | ||||||||||||||||||
688 | painter->setClipping(i_8); | - | ||||||||||||||||||
689 | break; never executed: break; | 0 | ||||||||||||||||||
690 | case never executed: QPicturePrivate::PdcSetClipRegion:case QPicturePrivate::PdcSetClipRegion: never executed: case QPicturePrivate::PdcSetClipRegion: | 0 | ||||||||||||||||||
691 | s >> rgn >> i_8; | - | ||||||||||||||||||
692 | if (d->formatMajor >= 9
| 0 | ||||||||||||||||||
693 | painter->setClipRegion(rgn, Qt::ClipOperation(i_8)); | - | ||||||||||||||||||
694 | } never executed: else {end of block | 0 | ||||||||||||||||||
695 | painter->setClipRegion(rgn); | - | ||||||||||||||||||
696 | } never executed: end of block | 0 | ||||||||||||||||||
697 | break; never executed: break; | 0 | ||||||||||||||||||
698 | case never executed: QPicturePrivate::PdcSetClipPath:case QPicturePrivate::PdcSetClipPath: never executed: case QPicturePrivate::PdcSetClipPath: | 0 | ||||||||||||||||||
699 | { | - | ||||||||||||||||||
700 | QPainterPath path; | - | ||||||||||||||||||
701 | s >> path >> i_8; | - | ||||||||||||||||||
702 | painter->setClipPath(path, Qt::ClipOperation(i_8)); | - | ||||||||||||||||||
703 | break; never executed: break; | 0 | ||||||||||||||||||
704 | } | - | ||||||||||||||||||
705 | case never executed: QPicturePrivate::PdcSetRenderHint:case QPicturePrivate::PdcSetRenderHint: never executed: case QPicturePrivate::PdcSetRenderHint: | 0 | ||||||||||||||||||
706 | s >> ul; | - | ||||||||||||||||||
707 | painter->setRenderHint(QPainter::Antialiasing, | - | ||||||||||||||||||
708 | bool(ul & QPainter::Antialiasing)); | - | ||||||||||||||||||
709 | painter->setRenderHint(QPainter::SmoothPixmapTransform, | - | ||||||||||||||||||
710 | bool(ul & QPainter::SmoothPixmapTransform)); | - | ||||||||||||||||||
711 | break; never executed: break; | 0 | ||||||||||||||||||
712 | case never executed: QPicturePrivate::PdcSetCompositionMode:case QPicturePrivate::PdcSetCompositionMode: never executed: case QPicturePrivate::PdcSetCompositionMode: | 0 | ||||||||||||||||||
713 | s >> ul; | - | ||||||||||||||||||
714 | painter->setCompositionMode((QPainter::CompositionMode)ul); | - | ||||||||||||||||||
715 | break; never executed: break; | 0 | ||||||||||||||||||
716 | case never executed: QPicturePrivate::PdcSetClipEnabled:case QPicturePrivate::PdcSetClipEnabled: never executed: case QPicturePrivate::PdcSetClipEnabled: | 0 | ||||||||||||||||||
717 | s >> bl; | - | ||||||||||||||||||
718 | painter->setClipping(bl); | - | ||||||||||||||||||
719 | break; never executed: break; | 0 | ||||||||||||||||||
720 | case never executed: QPicturePrivate::PdcSetOpacity:case QPicturePrivate::PdcSetOpacity: never executed: case QPicturePrivate::PdcSetOpacity: | 0 | ||||||||||||||||||
721 | s >> dbl; | - | ||||||||||||||||||
722 | painter->setOpacity(qreal(dbl)); | - | ||||||||||||||||||
723 | break; never executed: break; | 0 | ||||||||||||||||||
724 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||
725 | QMessageLogger(__FILE__, 912, __PRETTY_FUNCTION__).warning("QPicture::play: Invalid command %d", c); | - | ||||||||||||||||||
726 | if (len
| 0 | ||||||||||||||||||
727 | s.device()->seek(s.device()->pos()+len); never executed: s.device()->seek(s.device()->pos()+len); | 0 | ||||||||||||||||||
728 | } never executed: end of block | 0 | ||||||||||||||||||
729 | - | |||||||||||||||||||
730 | - | |||||||||||||||||||
731 | ((!(qint32(s.device()->pos() - strm_pos) == len)) ? qt_assert("qint32(s.device()->pos() - strm_pos) == len",__FILE__,918) : qt_noop()); | - | ||||||||||||||||||
732 | - | |||||||||||||||||||
733 | } never executed: end of block | 0 | ||||||||||||||||||
734 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
735 | } | - | ||||||||||||||||||
736 | int QPicture::metric(PaintDeviceMetric m) const | - | ||||||||||||||||||
737 | { | - | ||||||||||||||||||
738 | int val; | - | ||||||||||||||||||
739 | QRect brect = boundingRect(); | - | ||||||||||||||||||
740 | switch (m) { | - | ||||||||||||||||||
741 | case never executed: PdmWidth:case PdmWidth: never executed: case PdmWidth: | 0 | ||||||||||||||||||
742 | val = brect.width(); | - | ||||||||||||||||||
743 | break; never executed: break; | 0 | ||||||||||||||||||
744 | case never executed: PdmHeight:case PdmHeight: never executed: case PdmHeight: | 0 | ||||||||||||||||||
745 | val = brect.height(); | - | ||||||||||||||||||
746 | break; never executed: break; | 0 | ||||||||||||||||||
747 | case never executed: PdmWidthMM:case PdmWidthMM: never executed: case PdmWidthMM: | 0 | ||||||||||||||||||
748 | val = int(25.4/qt_defaultDpiX()*brect.width()); | - | ||||||||||||||||||
749 | break; never executed: break; | 0 | ||||||||||||||||||
750 | case never executed: PdmHeightMM:case PdmHeightMM: never executed: case PdmHeightMM: | 0 | ||||||||||||||||||
751 | val = int(25.4/qt_defaultDpiY()*brect.height()); | - | ||||||||||||||||||
752 | break; never executed: break; | 0 | ||||||||||||||||||
753 | case never executed: PdmDpiX:case PdmDpiX: never executed: case PdmDpiX: | 0 | ||||||||||||||||||
754 | case never executed: PdmPhysicalDpiX:case PdmPhysicalDpiX: never executed: case PdmPhysicalDpiX: | 0 | ||||||||||||||||||
755 | val = qt_defaultDpiX(); | - | ||||||||||||||||||
756 | break; never executed: break; | 0 | ||||||||||||||||||
757 | case never executed: PdmDpiY:case PdmDpiY: never executed: case PdmDpiY: | 0 | ||||||||||||||||||
758 | case never executed: PdmPhysicalDpiY:case PdmPhysicalDpiY: never executed: case PdmPhysicalDpiY: | 0 | ||||||||||||||||||
759 | val = qt_defaultDpiY(); | - | ||||||||||||||||||
760 | break; never executed: break; | 0 | ||||||||||||||||||
761 | case never executed: PdmNumColors:case PdmNumColors: never executed: case PdmNumColors: | 0 | ||||||||||||||||||
762 | val = 16777216; | - | ||||||||||||||||||
763 | break; never executed: break; | 0 | ||||||||||||||||||
764 | case never executed: PdmDepth:case PdmDepth: never executed: case PdmDepth: | 0 | ||||||||||||||||||
765 | val = 24; | - | ||||||||||||||||||
766 | break; never executed: break; | 0 | ||||||||||||||||||
767 | case never executed: PdmDevicePixelRatio:case PdmDevicePixelRatio: never executed: case PdmDevicePixelRatio: | 0 | ||||||||||||||||||
768 | val = 1; | - | ||||||||||||||||||
769 | break; never executed: break; | 0 | ||||||||||||||||||
770 | case never executed: PdmDevicePixelRatioScaled:case PdmDevicePixelRatioScaled: never executed: case PdmDevicePixelRatioScaled: | 0 | ||||||||||||||||||
771 | val = 1 * QPaintDevice::devicePixelRatioFScale(); | - | ||||||||||||||||||
772 | break; never executed: break; | 0 | ||||||||||||||||||
773 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||
774 | val = 0; | - | ||||||||||||||||||
775 | QMessageLogger(__FILE__, 975, __PRETTY_FUNCTION__).warning("QPicture::metric: Invalid metric command"); | - | ||||||||||||||||||
776 | } never executed: end of block | 0 | ||||||||||||||||||
777 | return never executed: val;return val; never executed: return val; | 0 | ||||||||||||||||||
778 | } | - | ||||||||||||||||||
779 | QPicture& QPicture::operator=(const QPicture &p) | - | ||||||||||||||||||
780 | { | - | ||||||||||||||||||
781 | d_ptr = p.d_ptr; | - | ||||||||||||||||||
782 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||||||||
783 | } | - | ||||||||||||||||||
784 | QPicturePrivate::QPicturePrivate() | - | ||||||||||||||||||
785 | : in_memory_only(false) | - | ||||||||||||||||||
786 | { | - | ||||||||||||||||||
787 | } never executed: end of block | 0 | ||||||||||||||||||
788 | - | |||||||||||||||||||
789 | - | |||||||||||||||||||
790 | - | |||||||||||||||||||
791 | - | |||||||||||||||||||
792 | - | |||||||||||||||||||
793 | - | |||||||||||||||||||
794 | QPicturePrivate::QPicturePrivate(const QPicturePrivate &other) | - | ||||||||||||||||||
795 | : trecs(other.trecs), | - | ||||||||||||||||||
796 | formatOk(other.formatOk), | - | ||||||||||||||||||
797 | formatMinor(other.formatMinor), | - | ||||||||||||||||||
798 | brect(other.brect), | - | ||||||||||||||||||
799 | override_rect(other.override_rect), | - | ||||||||||||||||||
800 | in_memory_only(false) | - | ||||||||||||||||||
801 | { | - | ||||||||||||||||||
802 | pictb.setData(other.pictb.data(), other.pictb.size()); | - | ||||||||||||||||||
803 | if (other.pictb.isOpen()
| 0 | ||||||||||||||||||
804 | pictb.open(other.pictb.openMode()); | - | ||||||||||||||||||
805 | pictb.seek(other.pictb.pos()); | - | ||||||||||||||||||
806 | } never executed: end of block | 0 | ||||||||||||||||||
807 | } never executed: end of block | 0 | ||||||||||||||||||
808 | - | |||||||||||||||||||
809 | - | |||||||||||||||||||
810 | - | |||||||||||||||||||
811 | - | |||||||||||||||||||
812 | - | |||||||||||||||||||
813 | - | |||||||||||||||||||
814 | - | |||||||||||||||||||
815 | void QPicturePrivate::resetFormat() | - | ||||||||||||||||||
816 | { | - | ||||||||||||||||||
817 | formatOk = false; | - | ||||||||||||||||||
818 | formatMajor = mfhdr_maj; | - | ||||||||||||||||||
819 | formatMinor = mfhdr_min; | - | ||||||||||||||||||
820 | } never executed: end of block | 0 | ||||||||||||||||||
821 | bool QPicturePrivate::checkFormat() | - | ||||||||||||||||||
822 | { | - | ||||||||||||||||||
823 | resetFormat(); | - | ||||||||||||||||||
824 | - | |||||||||||||||||||
825 | - | |||||||||||||||||||
826 | if (pictb.size() == 0
| 0 | ||||||||||||||||||
827 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
828 | - | |||||||||||||||||||
829 | pictb.open(QIODevice::ReadOnly); | - | ||||||||||||||||||
830 | QDataStream s; | - | ||||||||||||||||||
831 | s.setDevice(&pictb); | - | ||||||||||||||||||
832 | - | |||||||||||||||||||
833 | char mf_id[4]; | - | ||||||||||||||||||
834 | s.readRawData(mf_id, 4); | - | ||||||||||||||||||
835 | if (memcmp(mf_id, qt_mfhdr_tag, 4) != 0
| 0 | ||||||||||||||||||
836 | QMessageLogger(__FILE__, 1079, __PRETTY_FUNCTION__).warning("QPicturePaintEngine::checkFormat: Incorrect header"); | - | ||||||||||||||||||
837 | pictb.close(); | - | ||||||||||||||||||
838 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
839 | } | - | ||||||||||||||||||
840 | - | |||||||||||||||||||
841 | int cs_start = sizeof(quint32); | - | ||||||||||||||||||
842 | int data_start = cs_start + sizeof(quint16); | - | ||||||||||||||||||
843 | quint16 cs,ccs; | - | ||||||||||||||||||
844 | QByteArray buf = pictb.buffer(); | - | ||||||||||||||||||
845 | - | |||||||||||||||||||
846 | s >> cs; | - | ||||||||||||||||||
847 | ccs = (quint16) qChecksum(buf.constData() + data_start, buf.size() - data_start); | - | ||||||||||||||||||
848 | if (ccs != cs
| 0 | ||||||||||||||||||
849 | QMessageLogger(__FILE__, 1092, __PRETTY_FUNCTION__).warning("QPicturePaintEngine::checkFormat: Invalid checksum %x, %x expected", | - | ||||||||||||||||||
850 | ccs, cs); | - | ||||||||||||||||||
851 | pictb.close(); | - | ||||||||||||||||||
852 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
853 | } | - | ||||||||||||||||||
854 | - | |||||||||||||||||||
855 | quint16 major, minor; | - | ||||||||||||||||||
856 | s >> major >> minor; | - | ||||||||||||||||||
857 | if (major > mfhdr_maj
| 0 | ||||||||||||||||||
858 | QMessageLogger(__FILE__, 1101, __PRETTY_FUNCTION__).warning("QPicturePaintEngine::checkFormat: Incompatible version %d.%d", | - | ||||||||||||||||||
859 | major, minor); | - | ||||||||||||||||||
860 | pictb.close(); | - | ||||||||||||||||||
861 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
862 | } | - | ||||||||||||||||||
863 | s.setVersion(major != 4 ? major : 3); | - | ||||||||||||||||||
864 | - | |||||||||||||||||||
865 | quint8 c, clen; | - | ||||||||||||||||||
866 | s >> c >> clen; | - | ||||||||||||||||||
867 | if (c == QPicturePrivate::PdcBegin
| 0 | ||||||||||||||||||
868 | if (!(major >= 1
| 0 | ||||||||||||||||||
869 | qint32 l, t, w, h; | - | ||||||||||||||||||
870 | s >> l >> t >> w >> h; | - | ||||||||||||||||||
871 | brect = QRect(l, t, w, h); | - | ||||||||||||||||||
872 | } never executed: end of block | 0 | ||||||||||||||||||
873 | } never executed: else {end of block | 0 | ||||||||||||||||||
874 | QMessageLogger(__FILE__, 1117, __PRETTY_FUNCTION__).warning("QPicturePaintEngine::checkFormat: Format error"); | - | ||||||||||||||||||
875 | pictb.close(); | - | ||||||||||||||||||
876 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
877 | } | - | ||||||||||||||||||
878 | pictb.close(); | - | ||||||||||||||||||
879 | - | |||||||||||||||||||
880 | formatOk = true; | - | ||||||||||||||||||
881 | formatMajor = major; | - | ||||||||||||||||||
882 | formatMinor = minor; | - | ||||||||||||||||||
883 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||
884 | } | - | ||||||||||||||||||
885 | - | |||||||||||||||||||
886 | - | |||||||||||||||||||
887 | QPaintEngine *QPicture::paintEngine() const | - | ||||||||||||||||||
888 | { | - | ||||||||||||||||||
889 | if (!d_func()->paintEngine
| 0 | ||||||||||||||||||
890 | const_cast< never executed: QPicture*>(this)->d_func()->paintEngine.reset(new QPicturePaintEngine);const_cast<QPicture*>(this)->d_func()->paintEngine.reset(new QPicturePaintEngine); never executed: const_cast<QPicture*>(this)->d_func()->paintEngine.reset(new QPicturePaintEngine); | 0 | ||||||||||||||||||
891 | return never executed: d_func()->paintEngine.data();return d_func()->paintEngine.data(); never executed: return d_func()->paintEngine.data(); | 0 | ||||||||||||||||||
892 | } | - | ||||||||||||||||||
893 | QDataStream &operator<<(QDataStream &s, const QPicture &r) | - | ||||||||||||||||||
894 | { | - | ||||||||||||||||||
895 | quint32 size = r.d_func()->pictb.buffer().size(); | - | ||||||||||||||||||
896 | s << size; | - | ||||||||||||||||||
897 | - | |||||||||||||||||||
898 | if (size == 0
| 0 | ||||||||||||||||||
899 | return never executed: s;return s; never executed: return s; | 0 | ||||||||||||||||||
900 | - | |||||||||||||||||||
901 | s.writeRawData (r.d_func()->pictb.buffer(), r.d_func()->pictb.buffer().size()); | - | ||||||||||||||||||
902 | return never executed: s;return s; never executed: return s; | 0 | ||||||||||||||||||
903 | } | - | ||||||||||||||||||
904 | QDataStream &operator>>(QDataStream &s, QPicture &r) | - | ||||||||||||||||||
905 | { | - | ||||||||||||||||||
906 | QDataStream sr; | - | ||||||||||||||||||
907 | - | |||||||||||||||||||
908 | - | |||||||||||||||||||
909 | sr.setDevice(&r.d_func()->pictb); | - | ||||||||||||||||||
910 | sr.setVersion(r.d_func()->formatMajor); | - | ||||||||||||||||||
911 | quint32 len; | - | ||||||||||||||||||
912 | s >> len; | - | ||||||||||||||||||
913 | QByteArray data; | - | ||||||||||||||||||
914 | if (len > 0
| 0 | ||||||||||||||||||
915 | data.resize(len); | - | ||||||||||||||||||
916 | s.readRawData(data.data(), len); | - | ||||||||||||||||||
917 | } never executed: end of block | 0 | ||||||||||||||||||
918 | - | |||||||||||||||||||
919 | r.d_func()->pictb.setData(data); | - | ||||||||||||||||||
920 | r.d_func()->resetFormat(); | - | ||||||||||||||||||
921 | return never executed: s;return s; never executed: return s; | 0 | ||||||||||||||||||
922 | } | - | ||||||||||||||||||
923 | - | |||||||||||||||||||
924 | - | |||||||||||||||||||
925 | - | |||||||||||||||||||
926 | - | |||||||||||||||||||
927 | - | |||||||||||||||||||
928 | - | |||||||||||||||||||
929 | - | |||||||||||||||||||
930 | const char* QPicture::pictureFormat(const QString &fileName) | - | ||||||||||||||||||
931 | { | - | ||||||||||||||||||
932 | return never executed: QPictureIO::pictureFormat(fileName);return QPictureIO::pictureFormat(fileName); never executed: return QPictureIO::pictureFormat(fileName); | 0 | ||||||||||||||||||
933 | } | - | ||||||||||||||||||
934 | QList<QByteArray> QPicture::inputFormats() | - | ||||||||||||||||||
935 | { | - | ||||||||||||||||||
936 | return never executed: QPictureIO::inputFormats();return QPictureIO::inputFormats(); never executed: return QPictureIO::inputFormats(); | 0 | ||||||||||||||||||
937 | } | - | ||||||||||||||||||
938 | - | |||||||||||||||||||
939 | static QStringList qToStringList(const QList<QByteArray> &arr) | - | ||||||||||||||||||
940 | { | - | ||||||||||||||||||
941 | QStringList list; | - | ||||||||||||||||||
942 | const int count = arr.count(); | - | ||||||||||||||||||
943 | list.reserve(count); | - | ||||||||||||||||||
944 | for (int i = 0; i < count
| 0 | ||||||||||||||||||
945 | list.append(QString::fromLatin1(arr.at(i))); never executed: list.append(QString::fromLatin1(arr.at(i))); | 0 | ||||||||||||||||||
946 | return never executed: list;return list; never executed: return list; | 0 | ||||||||||||||||||
947 | } | - | ||||||||||||||||||
948 | QStringList QPicture::inputFormatList() | - | ||||||||||||||||||
949 | { | - | ||||||||||||||||||
950 | return never executed: qToStringList(QPictureIO::inputFormats());return qToStringList(QPictureIO::inputFormats()); never executed: return qToStringList(QPictureIO::inputFormats()); | 0 | ||||||||||||||||||
951 | } | - | ||||||||||||||||||
952 | QStringList QPicture::outputFormatList() | - | ||||||||||||||||||
953 | { | - | ||||||||||||||||||
954 | return never executed: qToStringList(QPictureIO::outputFormats());return qToStringList(QPictureIO::outputFormats()); never executed: return qToStringList(QPictureIO::outputFormats()); | 0 | ||||||||||||||||||
955 | } | - | ||||||||||||||||||
956 | QList<QByteArray> QPicture::outputFormats() | - | ||||||||||||||||||
957 | { | - | ||||||||||||||||||
958 | return never executed: QPictureIO::outputFormats();return QPictureIO::outputFormats(); never executed: return QPictureIO::outputFormats(); | 0 | ||||||||||||||||||
959 | } | - | ||||||||||||||||||
960 | struct QPictureIOData | - | ||||||||||||||||||
961 | { | - | ||||||||||||||||||
962 | QPicture pi; | - | ||||||||||||||||||
963 | int iostat; | - | ||||||||||||||||||
964 | QByteArray frmt; | - | ||||||||||||||||||
965 | QIODevice *iodev; | - | ||||||||||||||||||
966 | QString fname; | - | ||||||||||||||||||
967 | QString descr; | - | ||||||||||||||||||
968 | const char *parameters; | - | ||||||||||||||||||
969 | int quality; | - | ||||||||||||||||||
970 | float gamma; | - | ||||||||||||||||||
971 | }; | - | ||||||||||||||||||
972 | - | |||||||||||||||||||
973 | - | |||||||||||||||||||
974 | - | |||||||||||||||||||
975 | - | |||||||||||||||||||
976 | - | |||||||||||||||||||
977 | QPictureIO::QPictureIO() | - | ||||||||||||||||||
978 | { | - | ||||||||||||||||||
979 | init(); | - | ||||||||||||||||||
980 | } never executed: end of block | 0 | ||||||||||||||||||
981 | - | |||||||||||||||||||
982 | - | |||||||||||||||||||
983 | - | |||||||||||||||||||
984 | - | |||||||||||||||||||
985 | - | |||||||||||||||||||
986 | - | |||||||||||||||||||
987 | QPictureIO::QPictureIO(QIODevice *ioDevice, const char *format) | - | ||||||||||||||||||
988 | { | - | ||||||||||||||||||
989 | init(); | - | ||||||||||||||||||
990 | d->iodev = ioDevice; | - | ||||||||||||||||||
991 | d->frmt = format; | - | ||||||||||||||||||
992 | } never executed: end of block | 0 | ||||||||||||||||||
993 | - | |||||||||||||||||||
994 | - | |||||||||||||||||||
995 | - | |||||||||||||||||||
996 | - | |||||||||||||||||||
997 | - | |||||||||||||||||||
998 | - | |||||||||||||||||||
999 | QPictureIO::QPictureIO(const QString &fileName, const char* format) | - | ||||||||||||||||||
1000 | { | - | ||||||||||||||||||
1001 | init(); | - | ||||||||||||||||||
1002 | d->frmt = format; | - | ||||||||||||||||||
1003 | d->fname = fileName; | - | ||||||||||||||||||
1004 | } never executed: end of block | 0 | ||||||||||||||||||
1005 | - | |||||||||||||||||||
1006 | - | |||||||||||||||||||
1007 | - | |||||||||||||||||||
1008 | - | |||||||||||||||||||
1009 | - | |||||||||||||||||||
1010 | void QPictureIO::init() | - | ||||||||||||||||||
1011 | { | - | ||||||||||||||||||
1012 | d = new QPictureIOData(); | - | ||||||||||||||||||
1013 | d->parameters = 0; | - | ||||||||||||||||||
1014 | d->quality = -1; | - | ||||||||||||||||||
1015 | d->gamma=0.0f; | - | ||||||||||||||||||
1016 | d->iostat = 0; | - | ||||||||||||||||||
1017 | d->iodev = 0; | - | ||||||||||||||||||
1018 | } never executed: end of block | 0 | ||||||||||||||||||
1019 | - | |||||||||||||||||||
1020 | - | |||||||||||||||||||
1021 | - | |||||||||||||||||||
1022 | - | |||||||||||||||||||
1023 | - | |||||||||||||||||||
1024 | QPictureIO::~QPictureIO() | - | ||||||||||||||||||
1025 | { | - | ||||||||||||||||||
1026 | if (d->parameters
| 0 | ||||||||||||||||||
1027 | delete [] d->parameters; never executed: delete [] d->parameters; | 0 | ||||||||||||||||||
1028 | delete d; | - | ||||||||||||||||||
1029 | } never executed: end of block | 0 | ||||||||||||||||||
1030 | - | |||||||||||||||||||
1031 | - | |||||||||||||||||||
1032 | - | |||||||||||||||||||
1033 | - | |||||||||||||||||||
1034 | - | |||||||||||||||||||
1035 | - | |||||||||||||||||||
1036 | class QPictureHandler | - | ||||||||||||||||||
1037 | { | - | ||||||||||||||||||
1038 | public: | - | ||||||||||||||||||
1039 | QPictureHandler(const char *f, const char *h, const QByteArray& fl, | - | ||||||||||||||||||
1040 | picture_io_handler r, picture_io_handler w); | - | ||||||||||||||||||
1041 | QByteArray format; | - | ||||||||||||||||||
1042 | QRegExp header; | - | ||||||||||||||||||
1043 | enum TMode { Untranslated=0, TranslateIn, TranslateInOut } text_mode; | - | ||||||||||||||||||
1044 | picture_io_handler read_picture; | - | ||||||||||||||||||
1045 | picture_io_handler write_picture; | - | ||||||||||||||||||
1046 | bool obsolete; | - | ||||||||||||||||||
1047 | }; | - | ||||||||||||||||||
1048 | - | |||||||||||||||||||
1049 | QPictureHandler::QPictureHandler(const char *f, const char *h, const QByteArray& fl, | - | ||||||||||||||||||
1050 | picture_io_handler r, picture_io_handler w) | - | ||||||||||||||||||
1051 | : format(f), header(QString::fromLatin1(h)) | - | ||||||||||||||||||
1052 | { | - | ||||||||||||||||||
1053 | text_mode = Untranslated; | - | ||||||||||||||||||
1054 | if (fl.contains('t')
| 0 | ||||||||||||||||||
1055 | text_mode = TranslateIn; never executed: text_mode = TranslateIn; | 0 | ||||||||||||||||||
1056 | else if (fl.contains('T')
| 0 | ||||||||||||||||||
1057 | text_mode = TranslateInOut; never executed: text_mode = TranslateInOut; | 0 | ||||||||||||||||||
1058 | obsolete = fl.contains('O'); | - | ||||||||||||||||||
1059 | read_picture = r; | - | ||||||||||||||||||
1060 | write_picture = w; | - | ||||||||||||||||||
1061 | } never executed: end of block | 0 | ||||||||||||||||||
1062 | - | |||||||||||||||||||
1063 | typedef QList<QPictureHandler *> QPHList; | - | ||||||||||||||||||
1064 | namespace { namespace Q_QGS_pictureHandlers { typedef QPHList Type; QBasicAtomicInt guard = { QtGlobalStatic::Uninitialized }; __attribute__((visibility("hidden"))) inline Type *innerFunction() { struct HolderBase { ~HolderBase() noexcept { if (guard.load() == QtGlobalStatic::Initialized
never executed: }guard.store(QtGlobalStatic::Destroyed); never executed: }; static struct Holder : public HolderBase { Type value; Holder() noexcept(noexcept(Type ())) : value () { guard.store(QtGlobalStatic::Initialized); } } holder; returnend of block never executed: &holder.value;return &holder.value; never executed: } } } static QGlobalStatic<QPHList, Q_QGS_pictureHandlers::innerFunction, Q_QGS_pictureHandlers::guard> pictureHandlers;return &holder.value; | 0 | ||||||||||||||||||
1065 | - | |||||||||||||||||||
1066 | void qt_init_picture_plugins() | - | ||||||||||||||||||
1067 | { | - | ||||||||||||||||||
1068 | typedef QMultiMap<int, QString> PluginKeyMap; | - | ||||||||||||||||||
1069 | typedef PluginKeyMap::const_iterator PluginKeyMapConstIterator; | - | ||||||||||||||||||
1070 | - | |||||||||||||||||||
1071 | static QBasicMutex mutex; | - | ||||||||||||||||||
1072 | QMutexLocker locker(&mutex); | - | ||||||||||||||||||
1073 | static QFactoryLoader loader("org.qt-project.Qt.QPictureFormatInterface", | - | ||||||||||||||||||
1074 | ([]() -> QString { enum { Size = sizeof(u"" "/pictureformats")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "/pictureformats" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())); | - | ||||||||||||||||||
1075 | - | |||||||||||||||||||
1076 | const PluginKeyMap keyMap = loader.keyMap(); | - | ||||||||||||||||||
1077 | const PluginKeyMapConstIterator cend = keyMap.constEnd(); | - | ||||||||||||||||||
1078 | for (PluginKeyMapConstIterator it = keyMap.constBegin(); it != cend
| 0 | ||||||||||||||||||
1079 | if (QPictureFormatPlugin *format = qobject_cast<QPictureFormatPlugin*>(loader.instance(it.key()))
| 0 | ||||||||||||||||||
1080 | format->installIOHandler(it.value()); never executed: format->installIOHandler(it.value()); | 0 | ||||||||||||||||||
1081 | } never executed: end of block | 0 | ||||||||||||||||||
1082 | } never executed: end of block | 0 | ||||||||||||||||||
1083 | - | |||||||||||||||||||
1084 | static void cleanup() | - | ||||||||||||||||||
1085 | { | - | ||||||||||||||||||
1086 | - | |||||||||||||||||||
1087 | if (QPHList *list = pictureHandlers()
| 0 | ||||||||||||||||||
1088 | qDeleteAll(*list); | - | ||||||||||||||||||
1089 | list->clear(); | - | ||||||||||||||||||
1090 | } never executed: end of block | 0 | ||||||||||||||||||
1091 | } never executed: end of block | 0 | ||||||||||||||||||
1092 | - | |||||||||||||||||||
1093 | void qt_init_picture_handlers() | - | ||||||||||||||||||
1094 | { | - | ||||||||||||||||||
1095 | static QBasicAtomicInt done = { 0 }; | - | ||||||||||||||||||
1096 | if (done.testAndSetRelaxed(0, 1)
| 0 | ||||||||||||||||||
1097 | qAddPostRoutine(cleanup); | - | ||||||||||||||||||
1098 | } never executed: end of block | 0 | ||||||||||||||||||
1099 | } never executed: end of block | 0 | ||||||||||||||||||
1100 | - | |||||||||||||||||||
1101 | static QPictureHandler *get_picture_handler(const char *format) | - | ||||||||||||||||||
1102 | { | - | ||||||||||||||||||
1103 | qt_init_picture_handlers(); | - | ||||||||||||||||||
1104 | qt_init_picture_plugins(); | - | ||||||||||||||||||
1105 | if (QPHList *list = pictureHandlers()
| 0 | ||||||||||||||||||
1106 | for (int i = 0; i < list->size()
| 0 | ||||||||||||||||||
1107 | if (list->at(i)->format == format
| 0 | ||||||||||||||||||
1108 | return never executed: list->at(i);return list->at(i); never executed: return list->at(i); | 0 | ||||||||||||||||||
1109 | } never executed: end of block | 0 | ||||||||||||||||||
1110 | } never executed: end of block | 0 | ||||||||||||||||||
1111 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
1112 | } | - | ||||||||||||||||||
1113 | void QPictureIO::defineIOHandler(const char *format, | - | ||||||||||||||||||
1114 | const char *header, | - | ||||||||||||||||||
1115 | const char *flags, | - | ||||||||||||||||||
1116 | picture_io_handler readPicture, | - | ||||||||||||||||||
1117 | picture_io_handler writePicture) | - | ||||||||||||||||||
1118 | { | - | ||||||||||||||||||
1119 | qt_init_picture_handlers(); | - | ||||||||||||||||||
1120 | if (QPHList *list = pictureHandlers()
| 0 | ||||||||||||||||||
1121 | QPictureHandler *p; | - | ||||||||||||||||||
1122 | p = new QPictureHandler(format, header, QByteArray(flags), readPicture, writePicture); | - | ||||||||||||||||||
1123 | list->prepend(p); | - | ||||||||||||||||||
1124 | } never executed: end of block | 0 | ||||||||||||||||||
1125 | } never executed: end of block | 0 | ||||||||||||||||||
1126 | const QPicture &QPictureIO::picture() const { return never executed: d->pi;return d->pi; never executed: }return d->pi; | 0 | ||||||||||||||||||
1127 | - | |||||||||||||||||||
1128 | - | |||||||||||||||||||
1129 | - | |||||||||||||||||||
1130 | - | |||||||||||||||||||
1131 | - | |||||||||||||||||||
1132 | - | |||||||||||||||||||
1133 | - | |||||||||||||||||||
1134 | int QPictureIO::status() const { return never executed: d->iostat;return d->iostat; never executed: }return d->iostat; | 0 | ||||||||||||||||||
1135 | - | |||||||||||||||||||
1136 | - | |||||||||||||||||||
1137 | - | |||||||||||||||||||
1138 | - | |||||||||||||||||||
1139 | - | |||||||||||||||||||
1140 | const char *QPictureIO::format() const { return never executed: d->frmt;return d->frmt; never executed: }return d->frmt; | 0 | ||||||||||||||||||
1141 | - | |||||||||||||||||||
1142 | - | |||||||||||||||||||
1143 | - | |||||||||||||||||||
1144 | - | |||||||||||||||||||
1145 | - | |||||||||||||||||||
1146 | - | |||||||||||||||||||
1147 | QIODevice *QPictureIO::ioDevice() const { return never executed: d->iodev;return d->iodev; never executed: }return d->iodev; | 0 | ||||||||||||||||||
1148 | - | |||||||||||||||||||
1149 | - | |||||||||||||||||||
1150 | - | |||||||||||||||||||
1151 | - | |||||||||||||||||||
1152 | - | |||||||||||||||||||
1153 | - | |||||||||||||||||||
1154 | QString QPictureIO::fileName() const { return never executed: d->fname;return d->fname; never executed: }return d->fname; | 0 | ||||||||||||||||||
1155 | - | |||||||||||||||||||
1156 | - | |||||||||||||||||||
1157 | - | |||||||||||||||||||
1158 | - | |||||||||||||||||||
1159 | - | |||||||||||||||||||
1160 | - | |||||||||||||||||||
1161 | - | |||||||||||||||||||
1162 | QString QPictureIO::description() const { return never executed: d->descr;return d->descr; never executed: }return d->descr; | 0 | ||||||||||||||||||
1163 | - | |||||||||||||||||||
1164 | - | |||||||||||||||||||
1165 | - | |||||||||||||||||||
1166 | - | |||||||||||||||||||
1167 | - | |||||||||||||||||||
1168 | - | |||||||||||||||||||
1169 | void QPictureIO::setPicture(const QPicture &picture) | - | ||||||||||||||||||
1170 | { | - | ||||||||||||||||||
1171 | d->pi = picture; | - | ||||||||||||||||||
1172 | } never executed: end of block | 0 | ||||||||||||||||||
1173 | - | |||||||||||||||||||
1174 | - | |||||||||||||||||||
1175 | - | |||||||||||||||||||
1176 | - | |||||||||||||||||||
1177 | - | |||||||||||||||||||
1178 | - | |||||||||||||||||||
1179 | - | |||||||||||||||||||
1180 | void QPictureIO::setStatus(int status) | - | ||||||||||||||||||
1181 | { | - | ||||||||||||||||||
1182 | d->iostat = status; | - | ||||||||||||||||||
1183 | } never executed: end of block | 0 | ||||||||||||||||||
1184 | void QPictureIO::setFormat(const char *format) | - | ||||||||||||||||||
1185 | { | - | ||||||||||||||||||
1186 | d->frmt = format; | - | ||||||||||||||||||
1187 | } never executed: end of block | 0 | ||||||||||||||||||
1188 | void QPictureIO::setIODevice(QIODevice *ioDevice) | - | ||||||||||||||||||
1189 | { | - | ||||||||||||||||||
1190 | d->iodev = ioDevice; | - | ||||||||||||||||||
1191 | } never executed: end of block | 0 | ||||||||||||||||||
1192 | - | |||||||||||||||||||
1193 | - | |||||||||||||||||||
1194 | - | |||||||||||||||||||
1195 | - | |||||||||||||||||||
1196 | - | |||||||||||||||||||
1197 | - | |||||||||||||||||||
1198 | - | |||||||||||||||||||
1199 | void QPictureIO::setFileName(const QString &fileName) | - | ||||||||||||||||||
1200 | { | - | ||||||||||||||||||
1201 | d->fname = fileName; | - | ||||||||||||||||||
1202 | } never executed: end of block | 0 | ||||||||||||||||||
1203 | - | |||||||||||||||||||
1204 | - | |||||||||||||||||||
1205 | - | |||||||||||||||||||
1206 | - | |||||||||||||||||||
1207 | - | |||||||||||||||||||
1208 | - | |||||||||||||||||||
1209 | - | |||||||||||||||||||
1210 | int QPictureIO::quality() const | - | ||||||||||||||||||
1211 | { | - | ||||||||||||||||||
1212 | return never executed: d->quality;return d->quality; never executed: return d->quality; | 0 | ||||||||||||||||||
1213 | } | - | ||||||||||||||||||
1214 | void QPictureIO::setQuality(int q) | - | ||||||||||||||||||
1215 | { | - | ||||||||||||||||||
1216 | d->quality = q; | - | ||||||||||||||||||
1217 | } never executed: end of block | 0 | ||||||||||||||||||
1218 | - | |||||||||||||||||||
1219 | - | |||||||||||||||||||
1220 | - | |||||||||||||||||||
1221 | - | |||||||||||||||||||
1222 | - | |||||||||||||||||||
1223 | - | |||||||||||||||||||
1224 | - | |||||||||||||||||||
1225 | const char *QPictureIO::parameters() const | - | ||||||||||||||||||
1226 | { | - | ||||||||||||||||||
1227 | return never executed: d->parameters;return d->parameters; never executed: return d->parameters; | 0 | ||||||||||||||||||
1228 | } | - | ||||||||||||||||||
1229 | void QPictureIO::setParameters(const char *parameters) | - | ||||||||||||||||||
1230 | { | - | ||||||||||||||||||
1231 | if (d->parameters
| 0 | ||||||||||||||||||
1232 | delete [] d->parameters; never executed: delete [] d->parameters; | 0 | ||||||||||||||||||
1233 | d->parameters = qstrdup(parameters); | - | ||||||||||||||||||
1234 | } never executed: end of block | 0 | ||||||||||||||||||
1235 | void QPictureIO::setGamma(float gamma) | - | ||||||||||||||||||
1236 | { | - | ||||||||||||||||||
1237 | d->gamma=gamma; | - | ||||||||||||||||||
1238 | } never executed: end of block | 0 | ||||||||||||||||||
1239 | - | |||||||||||||||||||
1240 | - | |||||||||||||||||||
1241 | - | |||||||||||||||||||
1242 | - | |||||||||||||||||||
1243 | - | |||||||||||||||||||
1244 | - | |||||||||||||||||||
1245 | float QPictureIO::gamma() const | - | ||||||||||||||||||
1246 | { | - | ||||||||||||||||||
1247 | return never executed: d->gamma;return d->gamma; never executed: return d->gamma; | 0 | ||||||||||||||||||
1248 | } | - | ||||||||||||||||||
1249 | void QPictureIO::setDescription(const QString &description) | - | ||||||||||||||||||
1250 | { | - | ||||||||||||||||||
1251 | d->descr = description; | - | ||||||||||||||||||
1252 | } never executed: end of block | 0 | ||||||||||||||||||
1253 | QByteArray QPictureIO::pictureFormat(const QString &fileName) | - | ||||||||||||||||||
1254 | { | - | ||||||||||||||||||
1255 | QFile file(fileName); | - | ||||||||||||||||||
1256 | QByteArray format; | - | ||||||||||||||||||
1257 | if (!file.open(QIODevice::ReadOnly)
| 0 | ||||||||||||||||||
1258 | return never executed: format;return format; never executed: return format; | 0 | ||||||||||||||||||
1259 | format = pictureFormat(&file); | - | ||||||||||||||||||
1260 | file.close(); | - | ||||||||||||||||||
1261 | return never executed: format;return format; never executed: return format; | 0 | ||||||||||||||||||
1262 | } | - | ||||||||||||||||||
1263 | QByteArray QPictureIO::pictureFormat(QIODevice *d) | - | ||||||||||||||||||
1264 | { | - | ||||||||||||||||||
1265 | - | |||||||||||||||||||
1266 | const int buflen = 14; | - | ||||||||||||||||||
1267 | - | |||||||||||||||||||
1268 | char buf[buflen]; | - | ||||||||||||||||||
1269 | char buf2[buflen]; | - | ||||||||||||||||||
1270 | qt_init_picture_handlers(); | - | ||||||||||||||||||
1271 | qt_init_picture_plugins(); | - | ||||||||||||||||||
1272 | int pos = d->pos(); | - | ||||||||||||||||||
1273 | int rdlen = d->read(buf, buflen); | - | ||||||||||||||||||
1274 | - | |||||||||||||||||||
1275 | QByteArray format; | - | ||||||||||||||||||
1276 | if (rdlen != buflen
| 0 | ||||||||||||||||||
1277 | return never executed: format;return format; never executed: return format; | 0 | ||||||||||||||||||
1278 | - | |||||||||||||||||||
1279 | memcpy(buf2, buf, buflen); | - | ||||||||||||||||||
1280 | - | |||||||||||||||||||
1281 | for (int n = 0; n < rdlen
| 0 | ||||||||||||||||||
1282 | if (buf[n] == '\0'
| 0 | ||||||||||||||||||
1283 | buf[n] = '\001'; never executed: buf[n] = '\001'; | 0 | ||||||||||||||||||
1284 | if (rdlen > 0
| 0 | ||||||||||||||||||
1285 | buf[rdlen - 1] = '\0'; | - | ||||||||||||||||||
1286 | QString bufStr = QString::fromLatin1(buf); | - | ||||||||||||||||||
1287 | if (QPHList *list = pictureHandlers()
| 0 | ||||||||||||||||||
1288 | for (int i = 0; i < list->size()
| 0 | ||||||||||||||||||
1289 | if (list->at(i)->header.indexIn(bufStr) != -1
| 0 | ||||||||||||||||||
1290 | format = list->at(i)->format; | - | ||||||||||||||||||
1291 | break; never executed: break; | 0 | ||||||||||||||||||
1292 | } | - | ||||||||||||||||||
1293 | } never executed: end of block | 0 | ||||||||||||||||||
1294 | } never executed: end of block | 0 | ||||||||||||||||||
1295 | } never executed: end of block | 0 | ||||||||||||||||||
1296 | d->seek(pos); | - | ||||||||||||||||||
1297 | return never executed: format;return format; never executed: return format; | 0 | ||||||||||||||||||
1298 | } | - | ||||||||||||||||||
1299 | - | |||||||||||||||||||
1300 | - | |||||||||||||||||||
1301 | - | |||||||||||||||||||
1302 | - | |||||||||||||||||||
1303 | - | |||||||||||||||||||
1304 | QList<QByteArray> QPictureIO::inputFormats() | - | ||||||||||||||||||
1305 | { | - | ||||||||||||||||||
1306 | QList<QByteArray> result; | - | ||||||||||||||||||
1307 | - | |||||||||||||||||||
1308 | qt_init_picture_handlers(); | - | ||||||||||||||||||
1309 | qt_init_picture_plugins(); | - | ||||||||||||||||||
1310 | - | |||||||||||||||||||
1311 | if (QPHList *list = pictureHandlers()
| 0 | ||||||||||||||||||
1312 | for (int i = 0; i < list->size()
| 0 | ||||||||||||||||||
1313 | QPictureHandler *p = list->at(i); | - | ||||||||||||||||||
1314 | if (p->read_picture
| 0 | ||||||||||||||||||
1315 | result.append(p->format); never executed: result.append(p->format); | 0 | ||||||||||||||||||
1316 | } never executed: end of block | 0 | ||||||||||||||||||
1317 | } never executed: end of block | 0 | ||||||||||||||||||
1318 | std::sort(result.begin(), result.end()); | - | ||||||||||||||||||
1319 | - | |||||||||||||||||||
1320 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||||||||
1321 | } | - | ||||||||||||||||||
1322 | - | |||||||||||||||||||
1323 | - | |||||||||||||||||||
1324 | - | |||||||||||||||||||
1325 | - | |||||||||||||||||||
1326 | - | |||||||||||||||||||
1327 | QList<QByteArray> QPictureIO::outputFormats() | - | ||||||||||||||||||
1328 | { | - | ||||||||||||||||||
1329 | qt_init_picture_handlers(); | - | ||||||||||||||||||
1330 | qt_init_picture_plugins(); | - | ||||||||||||||||||
1331 | - | |||||||||||||||||||
1332 | QList<QByteArray> result; | - | ||||||||||||||||||
1333 | if (QPHList *list = pictureHandlers()
| 0 | ||||||||||||||||||
1334 | for (int i = 0; i < list->size()
| 0 | ||||||||||||||||||
1335 | QPictureHandler *p = list->at(i); | - | ||||||||||||||||||
1336 | if (p->write_picture
| 0 | ||||||||||||||||||
1337 | result.append(p->format); never executed: result.append(p->format); | 0 | ||||||||||||||||||
1338 | } never executed: end of block | 0 | ||||||||||||||||||
1339 | } never executed: end of block | 0 | ||||||||||||||||||
1340 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||||||||
1341 | } | - | ||||||||||||||||||
1342 | bool QPictureIO::read() | - | ||||||||||||||||||
1343 | { | - | ||||||||||||||||||
1344 | QFile file; | - | ||||||||||||||||||
1345 | const char *picture_format; | - | ||||||||||||||||||
1346 | QPictureHandler *h; | - | ||||||||||||||||||
1347 | - | |||||||||||||||||||
1348 | if (d->iodev
| 0 | ||||||||||||||||||
1349 | - | |||||||||||||||||||
1350 | } never executed: else if (!d->fname.isEmpty()end of block
| 0 | ||||||||||||||||||
1351 | file.setFileName(d->fname); | - | ||||||||||||||||||
1352 | if (!file.open(QIODevice::ReadOnly)
| 0 | ||||||||||||||||||
1353 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
1354 | d->iodev = &file; | - | ||||||||||||||||||
1355 | } never executed: else {end of block | 0 | ||||||||||||||||||
1356 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
1357 | } | - | ||||||||||||||||||
1358 | if (d->frmt.isEmpty()
| 0 | ||||||||||||||||||
1359 | - | |||||||||||||||||||
1360 | picture_format = pictureFormat(d->iodev); | - | ||||||||||||||||||
1361 | if (!picture_format
| 0 | ||||||||||||||||||
1362 | if (file.isOpen()
| 0 | ||||||||||||||||||
1363 | file.close(); | - | ||||||||||||||||||
1364 | d->iodev = 0; | - | ||||||||||||||||||
1365 | } never executed: end of block | 0 | ||||||||||||||||||
1366 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
1367 | } | - | ||||||||||||||||||
1368 | } never executed: else {end of block | 0 | ||||||||||||||||||
1369 | picture_format = d->frmt; | - | ||||||||||||||||||
1370 | } never executed: end of block | 0 | ||||||||||||||||||
1371 | - | |||||||||||||||||||
1372 | h = get_picture_handler(picture_format); | - | ||||||||||||||||||
1373 | if (file.isOpen()
| 0 | ||||||||||||||||||
1374 | - | |||||||||||||||||||
1375 | - | |||||||||||||||||||
1376 | - | |||||||||||||||||||
1377 | - | |||||||||||||||||||
1378 | - | |||||||||||||||||||
1379 | - | |||||||||||||||||||
1380 | - | |||||||||||||||||||
1381 | file.seek(0); | - | ||||||||||||||||||
1382 | } never executed: end of block | 0 | ||||||||||||||||||
1383 | d->iostat = 1; | - | ||||||||||||||||||
1384 | - | |||||||||||||||||||
1385 | if (h
| 0 | ||||||||||||||||||
1386 | (* never executed: h->read_picture)(this);(*h->read_picture)(this); never executed: (*h->read_picture)(this); | 0 | ||||||||||||||||||
1387 | - | |||||||||||||||||||
1388 | if (file.isOpen()
| 0 | ||||||||||||||||||
1389 | file.close(); | - | ||||||||||||||||||
1390 | d->iodev = 0; | - | ||||||||||||||||||
1391 | } never executed: end of block | 0 | ||||||||||||||||||
1392 | return never executed: d->iostat == 0;return d->iostat == 0; never executed: return d->iostat == 0; | 0 | ||||||||||||||||||
1393 | } | - | ||||||||||||||||||
1394 | bool QPictureIO::write() | - | ||||||||||||||||||
1395 | { | - | ||||||||||||||||||
1396 | if (d->frmt.isEmpty()
| 0 | ||||||||||||||||||
1397 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
1398 | QPictureHandler *h = get_picture_handler(d->frmt); | - | ||||||||||||||||||
1399 | if (!h
| 0 | ||||||||||||||||||
1400 | QMessageLogger(__FILE__, 1933, __PRETTY_FUNCTION__).warning("QPictureIO::write: No such picture format handler: %s", | - | ||||||||||||||||||
1401 | format()); | - | ||||||||||||||||||
1402 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
1403 | } | - | ||||||||||||||||||
1404 | QFile file; | - | ||||||||||||||||||
1405 | if (!d->iodev
| 0 | ||||||||||||||||||
1406 | file.setFileName(d->fname); | - | ||||||||||||||||||
1407 | bool translate = h->text_mode==QPictureHandler::TranslateInOut; | - | ||||||||||||||||||
1408 | QIODevice::OpenMode fmode = translate
| 0 | ||||||||||||||||||
1409 | if (!file.open(fmode)
| 0 | ||||||||||||||||||
1410 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||
1411 | d->iodev = &file; | - | ||||||||||||||||||
1412 | } never executed: end of block | 0 | ||||||||||||||||||
1413 | d->iostat = 1; | - | ||||||||||||||||||
1414 | (*h->write_picture)(this); | - | ||||||||||||||||||
1415 | if (file.isOpen()
| 0 | ||||||||||||||||||
1416 | file.close(); | - | ||||||||||||||||||
1417 | d->iodev = 0; | - | ||||||||||||||||||
1418 | } never executed: end of block | 0 | ||||||||||||||||||
1419 | return never executed: d->iostat == 0;return d->iostat == 0; never executed: return d->iostat == 0; | 0 | ||||||||||||||||||
1420 | } | - | ||||||||||||||||||
1421 | - | |||||||||||||||||||
1422 | - | |||||||||||||||||||
1423 | - | |||||||||||||||||||
Switch to Source code | Preprocessed file |