image/qimagereader.cpp

Switch to Source codePreprocessed file
LineSource CodeCoverage
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
11 -
12 -
13static QFactoryLoader *loader() { static QGlobalStatic<QFactoryLoader > thisGlobalStatic = { { (0) }, false }; if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { QFactoryLoader *x = new QFactoryLoader ("org.qt-project.Qt.QImageIOHandlerFactoryInterface", QLatin1String("/imageformats")); if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<QFactoryLoader > cleanup(thisGlobalStatic); } return thisGlobalStatic.pointer.load(); }
never executed: delete x;
executed: return thisGlobalStatic.pointer.load();
Execution Count:2335
partially evaluated: !thisGlobalStatic.pointer.testAndSetOrdered(0, x)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:26
evaluated: !thisGlobalStatic.pointer.load()
TRUEFALSE
yes
Evaluation Count:26
yes
Evaluation Count:2309
partially evaluated: !thisGlobalStatic.destroyed
TRUEFALSE
yes
Evaluation Count:26
no
Evaluation Count:0
0-2335
14 -
15 -
16 -
17enum _qt_BuiltInFormatType { -
18 -
19 _qt_PngFormat, -
20 -
21 -
22 -
23 -
24 -
25 -
26 -
27 _qt_BmpFormat, -
28 -
29 _qt_PpmFormat, -
30 _qt_PgmFormat, -
31 _qt_PbmFormat, -
32 -
33 -
34 _qt_XbmFormat, -
35 -
36 -
37 _qt_XpmFormat, -
38 -
39 _qt_NumFormats, -
40 _qt_NoFormat = -1 -
41}; -
42 -
43struct _qt_BuiltInFormatStruct -
44{ -
45 _qt_BuiltInFormatType type; -
46 const char *extension; -
47}; -
48 -
49static const _qt_BuiltInFormatStruct _qt_BuiltInFormats[] = { -
50 -
51 {_qt_PngFormat, "png"}, -
52 -
53 -
54 -
55 -
56 -
57 -
58 -
59 {_qt_BmpFormat, "bmp"}, -
60 -
61 {_qt_PpmFormat, "ppm"}, -
62 {_qt_PgmFormat, "pgm"}, -
63 {_qt_PbmFormat, "pbm"}, -
64 -
65 -
66 {_qt_XbmFormat, "xbm"}, -
67 -
68 -
69 {_qt_XpmFormat, "xpm"}, -
70 -
71 {_qt_NoFormat, ""} -
72}; -
73 -
74static QImageIOHandler *createReadHandlerHelper(QIODevice *device, -
75 const QByteArray &format, -
76 bool autoDetectImageFormat, -
77 bool ignoresFormatAndExtension) -
78{ -
79 if (!autoDetectImageFormat && format.isEmpty())
evaluated: !autoDetectImageFormat
TRUEFALSE
yes
Evaluation Count:10
yes
Evaluation Count:1688
evaluated: format.isEmpty()
TRUEFALSE
yes
Evaluation Count:8
yes
Evaluation Count:2
2-1688
80 return 0;
executed: return 0;
Execution Count:8
8
81 -
82 QByteArray form = format.toLower(); -
83 QImageIOHandler *handler = 0; -
84 QByteArray suffix; -
85 -
86 -
87 typedef QMultiMap<int, QString> PluginKeyMap; -
88 -
89 -
90 QFactoryLoader *l = loader(); -
91 const PluginKeyMap keyMap = l->keyMap(); -
92 -
93 -
94 -
95 -
96 -
97 -
98 int suffixPluginIndex = -1; -
99 -
100 -
101 if (device && format.isEmpty() && autoDetectImageFormat && !ignoresFormatAndExtension) {
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:1690
no
Evaluation Count:0
evaluated: format.isEmpty()
TRUEFALSE
yes
Evaluation Count:1127
yes
Evaluation Count:563
partially evaluated: autoDetectImageFormat
TRUEFALSE
yes
Evaluation Count:1127
no
Evaluation Count:0
evaluated: !ignoresFormatAndExtension
TRUEFALSE
yes
Evaluation Count:1047
yes
Evaluation Count:80
0-1690
102 -
103 -
104 -
105 if (QFile *file = qobject_cast<QFile *>(device)) {
evaluated: QFile *file = qobject_cast<QFile *>(device)
TRUEFALSE
yes
Evaluation Count:946
yes
Evaluation Count:101
101-946
106 -
107 -
108 -
109 if (!(suffix = QFileInfo(file->fileName()).suffix().toLower().toLatin1()).isEmpty()) {
evaluated: !(suffix = QFileInfo(file->fileName()).suffix().toLower().toLatin1()).isEmpty()
TRUEFALSE
yes
Evaluation Count:908
yes
Evaluation Count:38
38-908
110 -
111 const int index = keyMap.key(QString::fromLatin1(suffix), -1); -
112 if (index != -1) {
evaluated: index != -1
TRUEFALSE
yes
Evaluation Count:268
yes
Evaluation Count:640
268-640
113 -
114 -
115 -
116 -
117 suffixPluginIndex = index; -
118 }
executed: }
Execution Count:268
268
119 -
120 }
executed: }
Execution Count:908
908
121 }
executed: }
Execution Count:946
946
122 }
executed: }
Execution Count:1047
1047
123 -
124 QByteArray testFormat = !form.isEmpty() ? form : suffix;
evaluated: !form.isEmpty()
TRUEFALSE
yes
Evaluation Count:563
yes
Evaluation Count:1127
563-1127
125 -
126 if (ignoresFormatAndExtension)
evaluated: ignoresFormatAndExtension
TRUEFALSE
yes
Evaluation Count:80
yes
Evaluation Count:1610
80-1610
127 testFormat = QByteArray();
executed: testFormat = QByteArray();
Execution Count:80
80
128 -
129 -
130 if (suffixPluginIndex != -1) {
evaluated: suffixPluginIndex != -1
TRUEFALSE
yes
Evaluation Count:268
yes
Evaluation Count:1422
268-1422
131 -
132 -
133 const qint64 pos = device ? device->pos() : 0;
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:268
no
Evaluation Count:0
0-268
134 const int index = keyMap.key(QString::fromLatin1(suffix), -1); -
135 if (index != -1) {
partially evaluated: index != -1
TRUEFALSE
yes
Evaluation Count:268
no
Evaluation Count:0
0-268
136 QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(index)); -
137 if (plugin && plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead) {
partially evaluated: plugin
TRUEFALSE
yes
Evaluation Count:268
no
Evaluation Count:0
partially evaluated: plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead
TRUEFALSE
yes
Evaluation Count:268
no
Evaluation Count:0
0-268
138 handler = plugin->create(device, testFormat); -
139 -
140 -
141 -
142 -
143 }
executed: }
Execution Count:268
268
144 }
executed: }
Execution Count:268
268
145 if (device && !device->isSequential())
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:268
no
Evaluation Count:0
evaluated: !device->isSequential()
TRUEFALSE
yes
Evaluation Count:266
yes
Evaluation Count:2
0-268
146 device->seek(pos);
executed: device->seek(pos);
Execution Count:266
266
147 }
executed: }
Execution Count:268
268
148 -
149 if (!handler && !testFormat.isEmpty() && !ignoresFormatAndExtension) {
evaluated: !handler
TRUEFALSE
yes
Evaluation Count:1422
yes
Evaluation Count:268
evaluated: !testFormat.isEmpty()
TRUEFALSE
yes
Evaluation Count:1203
yes
Evaluation Count:219
partially evaluated: !ignoresFormatAndExtension
TRUEFALSE
yes
Evaluation Count:1203
no
Evaluation Count:0
0-1422
150 -
151 -
152 const qint64 pos = device ? device->pos() : 0;
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:1203
no
Evaluation Count:0
0-1203
153 -
154 if (autoDetectImageFormat) {
evaluated: autoDetectImageFormat
TRUEFALSE
yes
Evaluation Count:1201
yes
Evaluation Count:2
2-1201
155 const int keyCount = keyMap.keys().size(); -
156 for (int i = 0; i < keyCount; ++i) {
evaluated: i < keyCount
TRUEFALSE
yes
Evaluation Count:4538
yes
Evaluation Count:1065
1065-4538
157 if (i != suffixPluginIndex) {
partially evaluated: i != suffixPluginIndex
TRUEFALSE
yes
Evaluation Count:4538
no
Evaluation Count:0
0-4538
158 QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(i)); -
159 if (plugin && plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead) {
evaluated: plugin
TRUEFALSE
yes
Evaluation Count:3473
yes
Evaluation Count:1065
evaluated: plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead
TRUEFALSE
yes
Evaluation Count:136
yes
Evaluation Count:3337
136-3473
160 -
161 -
162 -
163 handler = plugin->create(device, testFormat); -
164 break;
executed: break;
Execution Count:136
136
165 } -
166 }
executed: }
Execution Count:4402
4402
167 }
executed: }
Execution Count:4402
4402
168 } else {
executed: }
Execution Count:1201
1201
169 const int testIndex = keyMap.key(QLatin1String(testFormat), -1); -
170 if (testIndex != -1) {
evaluated: testIndex != -1
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:1
1
171 QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(testIndex)); -
172 if (plugin && plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead) {
partially evaluated: plugin
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
partially evaluated: plugin->capabilities(device, testFormat) & QImageIOPlugin::CanRead
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
0-1
173 -
174 -
175 -
176 handler = plugin->create(device, testFormat); -
177 }
executed: }
Execution Count:1
1
178 }
executed: }
Execution Count:1
1
179 }
executed: }
Execution Count:2
2
180 if (device && !device->isSequential())
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:1203
no
Evaluation Count:0
evaluated: !device->isSequential()
TRUEFALSE
yes
Evaluation Count:1202
yes
Evaluation Count:1
0-1203
181 device->seek(pos);
executed: device->seek(pos);
Execution Count:1202
1202
182 }
executed: }
Execution Count:1203
1203
183 -
184 -
185 -
186 -
187 -
188 if (!handler && !testFormat.isEmpty()) {
evaluated: !handler
TRUEFALSE
yes
Evaluation Count:1285
yes
Evaluation Count:405
evaluated: !testFormat.isEmpty()
TRUEFALSE
yes
Evaluation Count:1066
yes
Evaluation Count:219
219-1285
189 if (false) {
partially evaluated: false
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1066
0-1066
190 -
191 } else if (testFormat == "png") {
never executed: }
evaluated: testFormat == "png"
TRUEFALSE
yes
Evaluation Count:330
yes
Evaluation Count:736
0-736
192 handler = new QPngHandler; -
193 } else if (testFormat == "bmp") {
executed: }
Execution Count:330
evaluated: testFormat == "bmp"
TRUEFALSE
yes
Evaluation Count:300
yes
Evaluation Count:436
300-436
194 handler = new QBmpHandler; -
195 } else if (testFormat == "dib") {
executed: }
Execution Count:300
partially evaluated: testFormat == "dib"
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:436
0-436
196 handler = new QBmpHandler(QBmpHandler::DibFormat); -
197 -
198 -
199 } else if (testFormat == "xpm") {
evaluated: testFormat == "xpm"
TRUEFALSE
yes
Evaluation Count:156
yes
Evaluation Count:280
never executed: }
0-280
200 handler = new QXpmHandler; -
201 -
202 -
203 } else if (testFormat == "xbm") {
evaluated: testFormat == "xbm"
TRUEFALSE
yes
Evaluation Count:47
yes
Evaluation Count:233
executed: }
Execution Count:156
47-233
204 handler = new QXbmHandler; -
205 handler->setOption(QImageIOHandler::SubType, testFormat); -
206 -
207 -
208 } else if (testFormat == "pbm" || testFormat == "pbmraw" || testFormat == "pgm"
executed: }
Execution Count:47
evaluated: testFormat == "pbm"
TRUEFALSE
yes
Evaluation Count:27
yes
Evaluation Count:206
partially evaluated: testFormat == "pbmraw"
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:206
evaluated: testFormat == "pgm"
TRUEFALSE
yes
Evaluation Count:24
yes
Evaluation Count:182
0-206
209 || testFormat == "pgmraw" || testFormat == "ppm" || testFormat == "ppmraw") {
partially evaluated: testFormat == "pgmraw"
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:182
evaluated: testFormat == "ppm"
TRUEFALSE
yes
Evaluation Count:152
yes
Evaluation Count:30
partially evaluated: testFormat == "ppmraw"
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
0-182
210 handler = new QPpmHandler; -
211 handler->setOption(QImageIOHandler::SubType, testFormat); -
212 -
213 }
executed: }
Execution Count:203
203
214 -
215 -
216 -
217 -
218 -
219 } -
220 -
221 -
222 if (!handler && (autoDetectImageFormat || ignoresFormatAndExtension)) {
evaluated: !handler
TRUEFALSE
yes
Evaluation Count:249
yes
Evaluation Count:1441
partially evaluated: autoDetectImageFormat
TRUEFALSE
yes
Evaluation Count:249
no
Evaluation Count:0
never evaluated: ignoresFormatAndExtension
0-1441
223 -
224 const qint64 pos = device ? device->pos() : 0;
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:249
no
Evaluation Count:0
0-249
225 const int keyCount = keyMap.keys().size(); -
226 for (int i = 0; i < keyCount; ++i) {
evaluated: i < keyCount
TRUEFALSE
yes
Evaluation Count:920
yes
Evaluation Count:205
205-920
227 if (i != suffixPluginIndex) {
partially evaluated: i != suffixPluginIndex
TRUEFALSE
yes
Evaluation Count:920
no
Evaluation Count:0
0-920
228 QImageIOPlugin *plugin = qobject_cast<QImageIOPlugin *>(l->instance(i)); -
229 if (plugin && plugin->capabilities(device, QByteArray()) & QImageIOPlugin::CanRead) {
evaluated: plugin
TRUEFALSE
yes
Evaluation Count:715
yes
Evaluation Count:205
evaluated: plugin->capabilities(device, QByteArray()) & QImageIOPlugin::CanRead
TRUEFALSE
yes
Evaluation Count:44
yes
Evaluation Count:671
44-715
230 handler = plugin->create(device, testFormat); -
231 -
232 -
233 -
234 break;
executed: break;
Execution Count:44
44
235 } -
236 }
executed: }
Execution Count:876
876
237 }
executed: }
Execution Count:876
876
238 if (device && !device->isSequential())
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:249
no
Evaluation Count:0
evaluated: !device->isSequential()
TRUEFALSE
yes
Evaluation Count:231
yes
Evaluation Count:18
0-249
239 device->seek(pos);
executed: device->seek(pos);
Execution Count:231
231
240 }
executed: }
Execution Count:249
249
241 -
242 -
243 if (!handler && (autoDetectImageFormat || ignoresFormatAndExtension)) {
evaluated: !handler
TRUEFALSE
yes
Evaluation Count:205
yes
Evaluation Count:1485
partially evaluated: autoDetectImageFormat
TRUEFALSE
yes
Evaluation Count:205
no
Evaluation Count:0
never evaluated: ignoresFormatAndExtension
0-1485
244 -
245 -
246 int currentFormat = 0; -
247 if (!suffix.isEmpty()) {
evaluated: !suffix.isEmpty()
TRUEFALSE
yes
Evaluation Count:30
yes
Evaluation Count:175
30-175
248 -
249 -
250 for (int i = 0; i < _qt_NumFormats; ++i) {
evaluated: i < _qt_NumFormats
TRUEFALSE
yes
Evaluation Count:210
yes
Evaluation Count:30
30-210
251 if (_qt_BuiltInFormats[i].extension == suffix) {
partially evaluated: _qt_BuiltInFormats[i].extension == suffix
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:210
0-210
252 currentFormat = i; -
253 break;
never executed: break;
0
254 } -
255 }
executed: }
Execution Count:210
210
256 }
executed: }
Execution Count:30
30
257 -
258 QByteArray subType; -
259 int numFormats = _qt_NumFormats; -
260 while (device && numFormats >= 0) {
partially evaluated: device
TRUEFALSE
yes
Evaluation Count:553
no
Evaluation Count:0
evaluated: numFormats >= 0
TRUEFALSE
yes
Evaluation Count:539
yes
Evaluation Count:14
0-553
261 const _qt_BuiltInFormatStruct *formatStruct = &_qt_BuiltInFormats[currentFormat]; -
262 -
263 const qint64 pos = device->pos(); -
264 switch (formatStruct->type) { -
265 -
266 case _qt_PngFormat: -
267 if (QPngHandler::canRead(device))
evaluated: QPngHandler::canRead(device)
TRUEFALSE
yes
Evaluation Count:94
yes
Evaluation Count:125
94-125
268 handler = new QPngHandler;
executed: handler = new QPngHandler;
Execution Count:94
94
269 break;
executed: break;
Execution Count:219
219
270 case _qt_BmpFormat: -
271 if (QBmpHandler::canRead(device))
evaluated: QBmpHandler::canRead(device)
TRUEFALSE
yes
Evaluation Count:30
yes
Evaluation Count:81
30-81
272 handler = new QBmpHandler;
executed: handler = new QBmpHandler;
Execution Count:30
30
273 break;
executed: break;
Execution Count:111
111
274 -
275 -
276 case _qt_XpmFormat: -
277 if (QXpmHandler::canRead(device))
evaluated: QXpmHandler::canRead(device)
TRUEFALSE
yes
Evaluation Count:15
yes
Evaluation Count:14
14-15
278 handler = new QXpmHandler;
executed: handler = new QXpmHandler;
Execution Count:15
15
279 break;
executed: break;
Execution Count:29
29
280 -
281 -
282 case _qt_PbmFormat: -
283 case _qt_PgmFormat: -
284 case _qt_PpmFormat: -
285 if (QPpmHandler::canRead(device, &subType)) {
evaluated: QPpmHandler::canRead(device, &subType)
TRUEFALSE
yes
Evaluation Count:48
yes
Evaluation Count:99
48-99
286 handler = new QPpmHandler; -
287 handler->setOption(QImageIOHandler::SubType, subType); -
288 }
executed: }
Execution Count:48
48
289 break;
executed: break;
Execution Count:147
147
290 -
291 -
292 case _qt_XbmFormat: -
293 if (QXbmHandler::canRead(device))
evaluated: QXbmHandler::canRead(device)
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:29
4-29
294 handler = new QXbmHandler;
executed: handler = new QXbmHandler;
Execution Count:4
4
295 break;
executed: break;
Execution Count:33
33
296 -
297 default: -
298 break;
never executed: break;
0
299 } -
300 if (!device->isSequential())
evaluated: !device->isSequential()
TRUEFALSE
yes
Evaluation Count:505
yes
Evaluation Count:34
34-505
301 device->seek(pos);
executed: device->seek(pos);
Execution Count:505
505
302 -
303 if (handler) {
evaluated: handler
TRUEFALSE
yes
Evaluation Count:191
yes
Evaluation Count:348
191-348
304 -
305 -
306 -
307 -
308 break;
executed: break;
Execution Count:191
191
309 } -
310 -
311 --numFormats; -
312 ++currentFormat; -
313 currentFormat %= _qt_NumFormats; -
314 }
executed: }
Execution Count:348
348
315 }
executed: }
Execution Count:205
205
316 -
317 if (!handler) {
evaluated: !handler
TRUEFALSE
yes
Evaluation Count:14
yes
Evaluation Count:1676
14-1676
318 -
319 -
320 -
321 -
322 return 0;
executed: return 0;
Execution Count:14
14
323 } -
324 -
325 handler->setDevice(device); -
326 if (!form.isEmpty())
evaluated: !form.isEmpty()
TRUEFALSE
yes
Evaluation Count:563
yes
Evaluation Count:1113
563-1113
327 handler->setFormat(form);
executed: handler->setFormat(form);
Execution Count:563
563
328 return handler;
executed: return handler;
Execution Count:1676
1676
329} -
330 -
331class QImageReaderPrivate -
332{ -
333public: -
334 QImageReaderPrivate(QImageReader *qq); -
335 ~QImageReaderPrivate(); -
336 -
337 -
338 QByteArray format; -
339 bool autoDetectImageFormat; -
340 bool ignoresFormatAndExtension; -
341 QIODevice *device; -
342 bool deleteDevice; -
343 QImageIOHandler *handler; -
344 bool initHandler(); -
345 -
346 -
347 QRect clipRect; -
348 QSize scaledSize; -
349 QRect scaledClipRect; -
350 int quality; -
351 QMap<QString, QString> text; -
352 void getText(); -
353 -
354 -
355 QImageReader::ImageReaderError imageReaderError; -
356 QString errorString; -
357 -
358 QImageReader *q; -
359}; -
360 -
361 -
362 -
363 -
364QImageReaderPrivate::QImageReaderPrivate(QImageReader *qq) -
365 : autoDetectImageFormat(true), ignoresFormatAndExtension(false) -
366{ -
367 device = 0; -
368 deleteDevice = false; -
369 handler = 0; -
370 quality = -1; -
371 imageReaderError = QImageReader::UnknownError; -
372 -
373 q = qq; -
374}
executed: }
Execution Count:1700
1700
375 -
376 -
377 -
378 -
379QImageReaderPrivate::~QImageReaderPrivate() -
380{ -
381 if (deleteDevice)
evaluated: deleteDevice
TRUEFALSE
yes
Evaluation Count:1443
yes
Evaluation Count:257
257-1443
382 delete device;
executed: delete device;
Execution Count:1443
1443
383 delete handler; -
384}
executed: }
Execution Count:1700
1700
385 -
386 -
387 -
388 -
389bool QImageReaderPrivate::initHandler() -
390{ -
391 -
392 if (!device || (!deleteDevice && !device->isOpen() && !device->open(QIODevice::ReadOnly))) {
partially evaluated: !device
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:2406
evaluated: !deleteDevice
TRUEFALSE
yes
Evaluation Count:273
yes
Evaluation Count:2133
evaluated: !device->isOpen()
TRUEFALSE
yes
Evaluation Count:12
yes
Evaluation Count:261
partially evaluated: !device->open(QIODevice::ReadOnly)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:12
0-2406
393 imageReaderError = QImageReader::DeviceError; -
394 errorString = QLatin1String("Invalid device"); -
395 return false;
never executed: return false;
0
396 } -
397 -
398 -
399 if (deleteDevice && !device->isOpen() && !device->open(QIODevice::ReadOnly) && autoDetectImageFormat) {
evaluated: deleteDevice
TRUEFALSE
yes
Evaluation Count:2133
yes
Evaluation Count:273
evaluated: !device->isOpen()
TRUEFALSE
yes
Evaluation Count:1447
yes
Evaluation Count:686
evaluated: !device->open(QIODevice::ReadOnly)
TRUEFALSE
yes
Evaluation Count:328
yes
Evaluation Count:1119
evaluated: autoDetectImageFormat
TRUEFALSE
yes
Evaluation Count:326
yes
Evaluation Count:2
2-2133
400 QList<QByteArray> extensions = QImageReader::supportedImageFormats(); -
401 if (!format.isEmpty()) {
evaluated: !format.isEmpty()
TRUEFALSE
yes
Evaluation Count:174
yes
Evaluation Count:152
152-174
402 -
403 int currentFormatIndex = extensions.indexOf(format.toLower()); -
404 if (currentFormatIndex > 0)
evaluated: currentFormatIndex > 0
TRUEFALSE
yes
Evaluation Count:134
yes
Evaluation Count:40
40-134
405 extensions.swap(0, currentFormatIndex);
executed: extensions.swap(0, currentFormatIndex);
Execution Count:134
134
406 }
executed: }
Execution Count:174
174
407 -
408 int currentExtension = 0; -
409 -
410 QFile *file = static_cast<QFile *>(device); -
411 QString fileName = file->fileName(); -
412 -
413 do { -
414 file->setFileName(fileName + QLatin1Char('.') -
415 + QString::fromLatin1(extensions.at(currentExtension++).constData())); -
416 file->open(QIODevice::ReadOnly); -
417 } while (!file->isOpen() && currentExtension < extensions.size());
evaluated: !file->isOpen()
TRUEFALSE
yes
Evaluation Count:856
yes
Evaluation Count:288
evaluated: currentExtension < extensions.size()
TRUEFALSE
yes
Evaluation Count:818
yes
Evaluation Count:38
executed: }
Execution Count:1144
38-1144
418 -
419 if (!device->isOpen()) {
evaluated: !device->isOpen()
TRUEFALSE
yes
Evaluation Count:38
yes
Evaluation Count:288
38-288
420 imageReaderError = QImageReader::FileNotFoundError; -
421 errorString = QLatin1String("File not found"); -
422 file->setFileName(fileName); -
423 return false;
executed: return false;
Execution Count:38
38
424 } -
425 }
executed: }
Execution Count:288
288
426 -
427 -
428 if (!handler && (handler = createReadHandlerHelper(device, format, autoDetectImageFormat, ignoresFormatAndExtension)) == 0) {
evaluated: !handler
TRUEFALSE
yes
Evaluation Count:1669
yes
Evaluation Count:699
evaluated: (handler = createReadHandlerHelper(device, format, autoDetectImageFormat, ignoresFormatAndExtension)) == 0
TRUEFALSE
yes
Evaluation Count:22
yes
Evaluation Count:1647
22-1669
429 imageReaderError = QImageReader::UnsupportedFormatError; -
430 errorString = QLatin1String("Unsupported image format"); -
431 return false;
executed: return false;
Execution Count:22
22
432 } -
433 return true;
executed: return true;
Execution Count:2346
2346
434} -
435 -
436 -
437 -
438 -
439void QImageReaderPrivate::getText() -
440{ -
441 if (!text.isEmpty() || (!handler && !initHandler()) || !handler->supportsOption(QImageIOHandler::Description))
evaluated: !text.isEmpty()
TRUEFALSE
yes
Evaluation Count:24
yes
Evaluation Count:12
partially evaluated: !handler
TRUEFALSE
yes
Evaluation Count:12
no
Evaluation Count:0
partially evaluated: !initHandler()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:12
partially evaluated: !handler->supportsOption(QImageIOHandler::Description)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:12
0-24
442 return;
executed: return;
Execution Count:24
24
443 for (QForeachContainer<__typeof__(handler->option(QImageIOHandler::Description).toString().split( QLatin1String("\n\n")))> _container_(handler->option(QImageIOHandler::Description).toString().split( QLatin1String("\n\n"))); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (const QString &pair = *_container_.i;; __extension__ ({--_container_.brk; break;})) { -
444 -
445 int index = pair.indexOf(QLatin1Char(':')); -
446 if (index >= 0 && pair.indexOf(QLatin1Char(' ')) < index) {
partially evaluated: index >= 0
TRUEFALSE
yes
Evaluation Count:66
no
Evaluation Count:0
partially evaluated: pair.indexOf(QLatin1Char(' ')) < index
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:66
0-66
447 text.insert(QLatin1String("Description"), pair.simplified()); -
448 } else {
never executed: }
0
449 QString key = pair.left(index); -
450 text.insert(key, pair.mid(index + 2).simplified()); -
451 }
executed: }
Execution Count:66
66
452 } -
453}
executed: }
Execution Count:12
12
454 -
455 -
456 -
457 -
458 -
459QImageReader::QImageReader() -
460 : d(new QImageReaderPrivate(this)) -
461{ -
462}
executed: }
Execution Count:87
87
463 -
464 -
465 -
466 -
467 -
468QImageReader::QImageReader(QIODevice *device, const QByteArray &format) -
469 : d(new QImageReaderPrivate(this)) -
470{ -
471 d->device = device; -
472 d->format = format; -
473}
executed: }
Execution Count:252
252
474 -
475 -
476 -
477 -
478 -
479 -
480 -
481QImageReader::QImageReader(const QString &fileName, const QByteArray &format) -
482 : d(new QImageReaderPrivate(this)) -
483{ -
484 QFile *file = new QFile(fileName); -
485 d->device = file; -
486 d->deleteDevice = true; -
487 d->format = format; -
488}
executed: }
Execution Count:1361
1361
489 -
490 -
491 -
492 -
493QImageReader::~QImageReader() -
494{ -
495 delete d; -
496}
executed: }
Execution Count:1700
1700
497void QImageReader::setFormat(const QByteArray &format) -
498{ -
499 d->format = format; -
500}
never executed: }
0
501QByteArray QImageReader::format() const -
502{ -
503 if (d->format.isEmpty()) {
evaluated: d->format.isEmpty()
TRUEFALSE
yes
Evaluation Count:188
yes
Evaluation Count:43
43-188
504 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:184
4-184
505 return QByteArray();
executed: return QByteArray();
Execution Count:4
4
506 return d->handler->canRead() ? d->handler->format() : QByteArray();
executed: return d->handler->canRead() ? d->handler->format() : QByteArray();
Execution Count:184
184
507 } -
508 -
509 return d->format;
executed: return d->format;
Execution Count:43
43
510} -
511void QImageReader::setAutoDetectImageFormat(bool enabled) -
512{ -
513 d->autoDetectImageFormat = enabled; -
514}
executed: }
Execution Count:10
10
515 -
516 -
517 -
518 -
519 -
520 -
521 -
522bool QImageReader::autoDetectImageFormat() const -
523{ -
524 return d->autoDetectImageFormat;
never executed: return d->autoDetectImageFormat;
0
525} -
526void QImageReader::setDecideFormatFromContent(bool ignored) -
527{ -
528 d->ignoresFormatAndExtension = ignored; -
529}
executed: }
Execution Count:80
80
530bool QImageReader::decideFormatFromContent() const -
531{ -
532 return d->ignoresFormatAndExtension;
never executed: return d->ignoresFormatAndExtension;
0
533} -
534void QImageReader::setDevice(QIODevice *device) -
535{ -
536 if (d->device && d->deleteDevice)
evaluated: d->device
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:84
evaluated: d->deleteDevice
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:2
2-84
537 delete d->device;
executed: delete d->device;
Execution Count:2
2
538 d->device = device; -
539 d->deleteDevice = false; -
540 delete d->handler; -
541 d->handler = 0; -
542 d->text.clear(); -
543}
executed: }
Execution Count:88
88
544 -
545 -
546 -
547 -
548 -
549QIODevice *QImageReader::device() const -
550{ -
551 return d->device;
executed: return d->device;
Execution Count:47
47
552} -
553void QImageReader::setFileName(const QString &fileName) -
554{ -
555 setDevice(new QFile(fileName)); -
556 d->deleteDevice = true; -
557}
executed: }
Execution Count:84
84
558QString QImageReader::fileName() const -
559{ -
560 QFile *file = qobject_cast<QFile *>(d->device); -
561 return file ? file->fileName() : QString();
executed: return file ? file->fileName() : QString();
Execution Count:1661
1661
562} -
563void QImageReader::setQuality(int quality) -
564{ -
565 d->quality = quality; -
566}
executed: }
Execution Count:19
19
567int QImageReader::quality() const -
568{ -
569 return d->quality;
never executed: return d->quality;
0
570} -
571QSize QImageReader::size() const -
572{ -
573 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:3
yes
Evaluation Count:59
3-59
574 return QSize();
executed: return QSize();
Execution Count:3
3
575 -
576 if (d->handler->supportsOption(QImageIOHandler::Size))
partially evaluated: d->handler->supportsOption(QImageIOHandler::Size)
TRUEFALSE
yes
Evaluation Count:59
no
Evaluation Count:0
0-59
577 return d->handler->option(QImageIOHandler::Size).toSize();
executed: return d->handler->option(QImageIOHandler::Size).toSize();
Execution Count:59
59
578 -
579 return QSize();
never executed: return QSize();
0
580} -
581QImage::Format QImageReader::imageFormat() const -
582{ -
583 if (!d->initHandler())
partially evaluated: !d->initHandler()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:19
0-19
584 return QImage::Format_Invalid;
never executed: return QImage::Format_Invalid;
0
585 -
586 if (d->handler->supportsOption(QImageIOHandler::ImageFormat))
evaluated: d->handler->supportsOption(QImageIOHandler::ImageFormat)
TRUEFALSE
yes
Evaluation Count:17
yes
Evaluation Count:2
2-17
587 return (QImage::Format)d->handler->option(QImageIOHandler::ImageFormat).toInt();
executed: return (QImage::Format)d->handler->option(QImageIOHandler::ImageFormat).toInt();
Execution Count:17
17
588 -
589 return QImage::Format_Invalid;
executed: return QImage::Format_Invalid;
Execution Count:2
2
590} -
591QStringList QImageReader::textKeys() const -
592{ -
593 d->getText(); -
594 return d->text.keys();
never executed: return d->text.keys();
0
595} -
596QString QImageReader::text(const QString &key) const -
597{ -
598 d->getText(); -
599 return d->text.value(key);
executed: return d->text.value(key);
Execution Count:36
36
600} -
601void QImageReader::setClipRect(const QRect &rect) -
602{ -
603 d->clipRect = rect; -
604}
executed: }
Execution Count:14
14
605QRect QImageReader::clipRect() const -
606{ -
607 return d->clipRect;
never executed: return d->clipRect;
0
608} -
609void QImageReader::setScaledSize(const QSize &size) -
610{ -
611 d->scaledSize = size; -
612}
executed: }
Execution Count:71
71
613 -
614 -
615 -
616 -
617 -
618 -
619QSize QImageReader::scaledSize() const -
620{ -
621 return d->scaledSize;
executed: return d->scaledSize;
Execution Count:142
142
622} -
623void QImageReader::setScaledClipRect(const QRect &rect) -
624{ -
625 d->scaledClipRect = rect; -
626}
executed: }
Execution Count:13
13
627 -
628 -
629 -
630 -
631 -
632 -
633QRect QImageReader::scaledClipRect() const -
634{ -
635 return d->scaledClipRect;
never executed: return d->scaledClipRect;
0
636} -
637void QImageReader::setBackgroundColor(const QColor &color) -
638{ -
639 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:19
2-19
640 return;
executed: return;
Execution Count:2
2
641 if (d->handler->supportsOption(QImageIOHandler::BackgroundColor))
partially evaluated: d->handler->supportsOption(QImageIOHandler::BackgroundColor)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:19
0-19
642 d->handler->setOption(QImageIOHandler::BackgroundColor, color);
never executed: d->handler->setOption(QImageIOHandler::BackgroundColor, color);
0
643}
executed: }
Execution Count:19
19
644QColor QImageReader::backgroundColor() const -
645{ -
646 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:19
2-19
647 return QColor();
executed: return QColor();
Execution Count:2
2
648 if (d->handler->supportsOption(QImageIOHandler::BackgroundColor))
partially evaluated: d->handler->supportsOption(QImageIOHandler::BackgroundColor)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:19
0-19
649 return qvariant_cast<QColor>(d->handler->option(QImageIOHandler::BackgroundColor));
never executed: return qvariant_cast<QColor>(d->handler->option(QImageIOHandler::BackgroundColor));
0
650 return QColor();
executed: return QColor();
Execution Count:19
19
651} -
652bool QImageReader::supportsAnimation() const -
653{ -
654 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:51
2-51
655 return false;
executed: return false;
Execution Count:2
2
656 if (d->handler->supportsOption(QImageIOHandler::Animation))
evaluated: d->handler->supportsOption(QImageIOHandler::Animation)
TRUEFALSE
yes
Evaluation Count:6
yes
Evaluation Count:45
6-45
657 return d->handler->option(QImageIOHandler::Animation).toBool();
executed: return d->handler->option(QImageIOHandler::Animation).toBool();
Execution Count:6
6
658 return false;
executed: return false;
Execution Count:45
45
659} -
660bool QImageReader::canRead() const -
661{ -
662 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:3
yes
Evaluation Count:392
3-392
663 return false;
executed: return false;
Execution Count:3
3
664 -
665 return d->handler->canRead();
executed: return d->handler->canRead();
Execution Count:392
392
666} -
667QImage QImageReader::read() -
668{ -
669 -
670 -
671 QImage image; -
672 return read(&image) ? image : QImage();
executed: return read(&image) ? image : QImage();
Execution Count:1626
1626
673} -
674bool QImageReader::read(QImage *image) -
675{ -
676 if (!image) {
partially evaluated: !image
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1809
0-1809
677 QMessageLogger("image/qimagereader.cpp", 1157, __PRETTY_FUNCTION__).warning("QImageReader::read: cannot read into null pointer"); -
678 return false;
never executed: return false;
0
679 } -
680 -
681 if (!d->handler && !d->initHandler())
evaluated: !d->handler
TRUEFALSE
yes
Evaluation Count:1251
yes
Evaluation Count:558
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:24
yes
Evaluation Count:1227
24-1251
682 return false;
executed: return false;
Execution Count:24
24
683 -
684 -
685 if (d->handler->supportsOption(QImageIOHandler::ScaledSize) && d->scaledSize.isValid()) {
evaluated: d->handler->supportsOption(QImageIOHandler::ScaledSize)
TRUEFALSE
yes
Evaluation Count:602
yes
Evaluation Count:1183
evaluated: d->scaledSize.isValid()
TRUEFALSE
yes
Evaluation Count:24
yes
Evaluation Count:578
24-1183
686 if ((d->handler->supportsOption(QImageIOHandler::ClipRect) && !d->clipRect.isNull())
evaluated: d->handler->supportsOption(QImageIOHandler::ClipRect)
TRUEFALSE
yes
Evaluation Count:20
yes
Evaluation Count:4
partially evaluated: !d->clipRect.isNull()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:20
0-20
687 || d->clipRect.isNull()) {
partially evaluated: d->clipRect.isNull()
TRUEFALSE
yes
Evaluation Count:24
no
Evaluation Count:0
0-24
688 -
689 -
690 d->handler->setOption(QImageIOHandler::ScaledSize, d->scaledSize); -
691 }
executed: }
Execution Count:24
24
692 }
executed: }
Execution Count:24
24
693 if (d->handler->supportsOption(QImageIOHandler::ClipRect) && !d->clipRect.isNull())
evaluated: d->handler->supportsOption(QImageIOHandler::ClipRect)
TRUEFALSE
yes
Evaluation Count:194
yes
Evaluation Count:1591
evaluated: !d->clipRect.isNull()
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:193
1-1591
694 d->handler->setOption(QImageIOHandler::ClipRect, d->clipRect);
executed: d->handler->setOption(QImageIOHandler::ClipRect, d->clipRect);
Execution Count:1
1
695 if (d->handler->supportsOption(QImageIOHandler::ScaledClipRect) && !d->scaledClipRect.isNull())
evaluated: d->handler->supportsOption(QImageIOHandler::ScaledClipRect)
TRUEFALSE
yes
Evaluation Count:194
yes
Evaluation Count:1591
evaluated: !d->scaledClipRect.isNull()
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:193
1-1591
696 d->handler->setOption(QImageIOHandler::ScaledClipRect, d->scaledClipRect);
executed: d->handler->setOption(QImageIOHandler::ScaledClipRect, d->scaledClipRect);
Execution Count:1
1
697 if (d->handler->supportsOption(QImageIOHandler::Quality))
evaluated: d->handler->supportsOption(QImageIOHandler::Quality)
TRUEFALSE
yes
Evaluation Count:602
yes
Evaluation Count:1183
602-1183
698 d->handler->setOption(QImageIOHandler::Quality, d->quality);
executed: d->handler->setOption(QImageIOHandler::Quality, d->quality);
Execution Count:602
602
699 -
700 -
701 if (!d->handler->read(image)) {
evaluated: !d->handler->read(image)
TRUEFALSE
yes
Evaluation Count:135
yes
Evaluation Count:1650
135-1650
702 d->imageReaderError = InvalidDataError; -
703 d->errorString = QLatin1String("Unable to read image data"); -
704 return false;
executed: return false;
Execution Count:135
135
705 } -
706 -
707 -
708 -
709 if (d->handler->supportsOption(QImageIOHandler::ClipRect) && !d->clipRect.isNull()) {
evaluated: d->handler->supportsOption(QImageIOHandler::ClipRect)
TRUEFALSE
yes
Evaluation Count:168
yes
Evaluation Count:1482
evaluated: !d->clipRect.isNull()
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:167
1-1482
710 if (d->handler->supportsOption(QImageIOHandler::ScaledSize) && d->scaledSize.isValid()) {
partially evaluated: d->handler->supportsOption(QImageIOHandler::ScaledSize)
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
partially evaluated: d->scaledSize.isValid()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1
0-1
711 if (d->handler->supportsOption(QImageIOHandler::ScaledClipRect) && !d->scaledClipRect.isNull()) {
never evaluated: d->handler->supportsOption(QImageIOHandler::ScaledClipRect)
never evaluated: !d->scaledClipRect.isNull()
0
712 -
713 } else {
never executed: }
0
714 -
715 if (!d->scaledClipRect.isNull())
never evaluated: !d->scaledClipRect.isNull()
0
716 *image = image->copy(d->scaledClipRect);
never executed: *image = image->copy(d->scaledClipRect);
0
717 }
never executed: }
0
718 } else { -
719 if (d->handler->supportsOption(QImageIOHandler::ScaledClipRect) && !d->scaledClipRect.isNull()) {
partially evaluated: d->handler->supportsOption(QImageIOHandler::ScaledClipRect)
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
partially evaluated: !d->scaledClipRect.isNull()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1
0-1
720 -
721 -
722 } else {
never executed: }
0
723 if (d->scaledSize.isValid()) {
partially evaluated: d->scaledSize.isValid()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1
0-1
724 *image = image->scaled(d->scaledSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); -
725 }
never executed: }
0
726 if (d->scaledClipRect.isValid()) {
partially evaluated: d->scaledClipRect.isValid()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1
0-1
727 *image = image->copy(d->scaledClipRect); -
728 }
never executed: }
0
729 }
executed: }
Execution Count:1
1
730 } -
731 } else { -
732 if (d->handler->supportsOption(QImageIOHandler::ScaledSize) && d->scaledSize.isValid() && d->clipRect.isNull()) {
evaluated: d->handler->supportsOption(QImageIOHandler::ScaledSize)
TRUEFALSE
yes
Evaluation Count:560
yes
Evaluation Count:1089
evaluated: d->scaledSize.isValid()
TRUEFALSE
yes
Evaluation Count:15
yes
Evaluation Count:545
partially evaluated: d->clipRect.isNull()
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-1089
733 if (d->handler->supportsOption(QImageIOHandler::ScaledClipRect) && !d->scaledClipRect.isNull()) {
evaluated: d->handler->supportsOption(QImageIOHandler::ScaledClipRect)
TRUEFALSE
yes
Evaluation Count:11
yes
Evaluation Count:4
evaluated: !d->scaledClipRect.isNull()
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:10
1-11
734 -
735 } else {
executed: }
Execution Count:1
1
736 -
737 if (d->scaledClipRect.isValid()) {
evaluated: d->scaledClipRect.isValid()
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:13
1-13
738 *image = image->copy(d->scaledClipRect); -
739 }
executed: }
Execution Count:1
1
740 }
executed: }
Execution Count:14
14
741 } else { -
742 if (d->handler->supportsOption(QImageIOHandler::ScaledClipRect) && !d->scaledClipRect.isNull()) {
evaluated: d->handler->supportsOption(QImageIOHandler::ScaledClipRect)
TRUEFALSE
yes
Evaluation Count:156
yes
Evaluation Count:1478
partially evaluated: !d->scaledClipRect.isNull()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:156
0-1478
743 -
744 -
745 -
746 } else {
never executed: }
0
747 -
748 if (d->clipRect.isValid())
evaluated: d->clipRect.isValid()
TRUEFALSE
yes
Evaluation Count:13
yes
Evaluation Count:1621
13-1621
749 *image = image->copy(d->clipRect);
executed: *image = image->copy(d->clipRect);
Execution Count:13
13
750 if (d->scaledSize.isValid())
evaluated: d->scaledSize.isValid()
TRUEFALSE
yes
Evaluation Count:40
yes
Evaluation Count:1594
40-1594
751 *image = image->scaled(d->scaledSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
executed: *image = image->scaled(d->scaledSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
Execution Count:40
40
752 if (d->scaledClipRect.isValid())
evaluated: d->scaledClipRect.isValid()
TRUEFALSE
yes
Evaluation Count:11
yes
Evaluation Count:1623
11-1623
753 *image = image->copy(d->scaledClipRect);
executed: *image = image->copy(d->scaledClipRect);
Execution Count:11
11
754 }
executed: }
Execution Count:1634
1634
755 } -
756 } -
757 -
758 -
759 if (QFileInfo(fileName()).baseName().endsWith(QLatin1String("@2x"))) {
partially evaluated: QFileInfo(fileName()).baseName().endsWith(QLatin1String("@2x"))
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1650
0-1650
760 image->setDevicePixelRatio(2.0); -
761 }
never executed: }
0
762 -
763 return true;
executed: return true;
Execution Count:1650
1650
764} -
765bool QImageReader::jumpToNextImage() -
766{ -
767 if (!d->initHandler())
partially evaluated: !d->initHandler()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:42
0-42
768 return false;
never executed: return false;
0
769 return d->handler->jumpToNextImage();
executed: return d->handler->jumpToNextImage();
Execution Count:42
42
770} -
771bool QImageReader::jumpToImage(int imageNumber) -
772{ -
773 if (!d->initHandler())
partially evaluated: !d->initHandler()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:60
0-60
774 return false;
never executed: return false;
0
775 return d->handler->jumpToImage(imageNumber);
executed: return d->handler->jumpToImage(imageNumber);
Execution Count:60
60
776} -
777int QImageReader::loopCount() const -
778{ -
779 if (!d->initHandler())
partially evaluated: !d->initHandler()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:11
0-11
780 return -1;
never executed: return -1;
0
781 return d->handler->loopCount();
executed: return d->handler->loopCount();
Execution Count:11
11
782} -
783int QImageReader::imageCount() const -
784{ -
785 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:59
1-59
786 return -1;
executed: return -1;
Execution Count:1
1
787 return d->handler->imageCount();
executed: return d->handler->imageCount();
Execution Count:59
59
788} -
789int QImageReader::nextImageDelay() const -
790{ -
791 if (!d->initHandler())
partially evaluated: !d->initHandler()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:178
0-178
792 return -1;
never executed: return -1;
0
793 return d->handler->nextImageDelay();
executed: return d->handler->nextImageDelay();
Execution Count:178
178
794} -
795int QImageReader::currentImageNumber() const -
796{ -
797 if (!d->initHandler())
never evaluated: !d->initHandler()
0
798 return -1;
never executed: return -1;
0
799 return d->handler->currentImageNumber();
never executed: return d->handler->currentImageNumber();
0
800} -
801 -
802 -
803 -
804 -
805 -
806 -
807 -
808QRect QImageReader::currentImageRect() const -
809{ -
810 if (!d->initHandler())
never evaluated: !d->initHandler()
0
811 return QRect();
never executed: return QRect();
0
812 return d->handler->currentImageRect();
never executed: return d->handler->currentImageRect();
0
813} -
814 -
815 -
816 -
817 -
818 -
819 -
820QImageReader::ImageReaderError QImageReader::error() const -
821{ -
822 return d->imageReaderError;
never executed: return d->imageReaderError;
0
823} -
824 -
825 -
826 -
827 -
828 -
829 -
830 -
831QString QImageReader::errorString() const -
832{ -
833 if (d->errorString.isEmpty())
partially evaluated: d->errorString.isEmpty()
TRUEFALSE
yes
Evaluation Count:232
no
Evaluation Count:0
0-232
834 return QLatin1String("Unknown error");
executed: return QLatin1String("Unknown error");
Execution Count:232
232
835 return d->errorString;
never executed: return d->errorString;
0
836} -
837bool QImageReader::supportsOption(QImageIOHandler::ImageOption option) const -
838{ -
839 if (!d->initHandler())
evaluated: !d->initHandler()
TRUEFALSE
yes
Evaluation Count:19
yes
Evaluation Count:14
14-19
840 return false;
executed: return false;
Execution Count:19
19
841 return d->handler->supportsOption(option);
executed: return d->handler->supportsOption(option);
Execution Count:14
14
842} -
843 -
844 -
845 -
846 -
847 -
848QByteArray QImageReader::imageFormat(const QString &fileName) -
849{ -
850 QFile file(fileName); -
851 if (!file.open(QFile::ReadOnly))
partially evaluated: !file.open(QFile::ReadOnly)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:29
0-29
852 return QByteArray();
never executed: return QByteArray();
0
853 -
854 return imageFormat(&file);
executed: return imageFormat(&file);
Execution Count:29
29
855} -
856 -
857 -
858 -
859 -
860 -
861 -
862 -
863QByteArray QImageReader::imageFormat(QIODevice *device) -
864{ -
865 QByteArray format; -
866 QImageIOHandler *handler = createReadHandlerHelper(device, format, true, false); -
867 if (handler) {
partially evaluated: handler
TRUEFALSE
yes
Evaluation Count:29
no
Evaluation Count:0
0-29
868 if (handler->canRead())
partially evaluated: handler->canRead()
TRUEFALSE
yes
Evaluation Count:29
no
Evaluation Count:0
0-29
869 format = handler->format();
executed: format = handler->format();
Execution Count:29
29
870 delete handler; -
871 }
executed: }
Execution Count:29
29
872 return format;
executed: return format;
Execution Count:29
29
873} -
874 -
875 -
876void supportedImageHandlerFormats(QFactoryLoader *loader, -
877 QImageIOPlugin::Capability cap, -
878 QSet<QByteArray> *result); -
879QList<QByteArray> QImageReader::supportedImageFormats() -
880{ -
881 QSet<QByteArray> formats; -
882 for (int i = 0; i < _qt_NumFormats; ++i)
evaluated: i < _qt_NumFormats
TRUEFALSE
yes
Evaluation Count:4515
yes
Evaluation Count:645
645-4515
883 formats << _qt_BuiltInFormats[i].extension;
executed: formats << _qt_BuiltInFormats[i].extension;
Execution Count:4515
4515
884 -
885 -
886 supportedImageHandlerFormats(loader(), QImageIOPlugin::CanRead, &formats); -
887 -
888 -
889 QList<QByteArray> sortedFormats; -
890 for (QSet<QByteArray>::ConstIterator it = formats.constBegin(); it != formats.constEnd(); ++it)
evaluated: it != formats.constEnd()
TRUEFALSE
yes
Evaluation Count:7095
yes
Evaluation Count:645
645-7095
891 sortedFormats << *it;
executed: sortedFormats << *it;
Execution Count:7095
7095
892 -
893 qSort(sortedFormats); -
894 return sortedFormats;
executed: return sortedFormats;
Execution Count:645
645
895} -
896 -
897 -
898 -
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial