size_t ImageDecoderQt::frameCount() { if (m_frameBufferCache.isEmpty() && m_reader) { if (m_reader->supportsAnimation()) { int imageCount = m_reader->imageCount(); // Fixup for Qt decoders... imageCount() is wrong // and jumpToNextImage does not work either... so // we will have to parse everything... if (!imageCount) forceLoadEverything(); else m_frameBufferCache.resize(imageCount); } else m_frameBufferCache.resize(1); } return m_frameBufferCache.size(); }
size_t ImageDecoderQt::frameCount() { if (m_frameBufferCache.isEmpty() && m_reader) { if (m_reader->supportsAnimation()) { int imageCount = m_reader->imageCount(); // Fixup for Qt decoders... imageCount() is wrong // and jumpToNextImage does not work either... so // we will have to parse everything... if (!imageCount) forceLoadEverything(); else { m_frameBufferCache.resize(imageCount); for (size_t i = 0; i < m_frameBufferCache.size(); ++i) m_frameBufferCache[i].setPremultiplyAlpha(m_premultiplyAlpha); } } else { m_frameBufferCache.resize(1); m_frameBufferCache[0].setPremultiplyAlpha(m_premultiplyAlpha); } } return m_frameBufferCache.size(); }