• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/WebCore-7537.78.1/platform/image-decoders/ico/

Lines Matching refs:index

88 IntSize ICOImageDecoder::frameSizeAtIndex(size_t index) const
90 return (index && (index < m_dirEntries.size())) ? m_dirEntries[index].m_size : size();
114 ImageFrame* ICOImageDecoder::frameBufferAtIndex(size_t index)
116 // Ensure |index| is valid.
117 if (index >= frameCount())
120 ImageFrame* buffer = &m_frameBufferCache[index];
123 decode(index, false);
144 bool ICOImageDecoder::hotSpotAtIndex(size_t index, IntPoint& hotSpot) const
146 if (index >= m_dirEntries.size() || m_fileType != CURSOR)
149 hotSpot = m_dirEntries[index].m_hotSpot;
163 void ICOImageDecoder::setDataForPNGDecoderAtIndex(size_t index)
165 if (!m_pngDecoders[index])
168 const IconDirectoryEntry& dirEntry = m_dirEntries[index];
173 m_pngDecoders[index]->setData(pngData.get(), isAllDataReceived());
176 void ICOImageDecoder::decode(size_t index, bool onlySize)
183 if ((!decodeDirectory() || (!onlySize && !decodeAtIndex(index))) && isAllDataReceived())
188 else if ((m_frameBufferCache.size() > index) && (m_frameBufferCache[index].status() == ImageFrame::FrameComplete)) {
189 m_bmpReaders[index].clear();
190 m_pngDecoders[index].clear();
204 bool ICOImageDecoder::decodeAtIndex(size_t index)
206 ASSERT_WITH_SECURITY_IMPLICATION(index < m_dirEntries.size());
207 const IconDirectoryEntry& dirEntry = m_dirEntries[index];
208 const ImageType imageType = imageTypeAtIndex(index);
213 if (!m_bmpReaders[index]) {
217 m_bmpReaders[index] = adoptPtr(new BMPImageReader(this, dirEntry.m_imageOffset, 0, true));
218 m_bmpReaders[index]->setData(m_data.get());
219 m_bmpReaders[index]->setBuffer(&m_frameBufferCache[index]);
222 bool result = m_bmpReaders[index]->decodeBMP(false);
227 if (!m_pngDecoders[index]) {
228 m_pngDecoders[index] = adoptPtr(
231 setDataForPNGDecoderAtIndex(index);
235 if (m_pngDecoders[index]->isSizeAvailable() && (m_pngDecoders[index]->size() != dirEntry.m_size))
237 m_frameBufferCache[index] = *m_pngDecoders[index]->frameBufferAtIndex(0);
238 return !m_pngDecoders[index]->failed() || setFailed();
331 ICOImageDecoder::ImageType ICOImageDecoder::imageTypeAtIndex(size_t index)
335 ASSERT_WITH_SECURITY_IMPLICATION(index < m_dirEntries.size());
336 const uint32_t imageOffset = m_dirEntries[index].m_imageOffset;