void TiledLayerChromium::pushPropertiesTo(CCLayerImpl* layer) { LayerChromium::pushPropertiesTo(layer); CCTiledLayerImpl* tiledLayer = static_cast<CCTiledLayerImpl*>(layer); tiledLayer->setSkipsDraw(m_skipsDraw); tiledLayer->setContentsSwizzled(m_sampledTexelFormat != LayerTextureUpdater::SampledTexelFormatRGBA); tiledLayer->setTilingData(*m_tiler); Vector<UpdatableTile*> invalidTiles; for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begin(); iter != m_tiler->tiles().end(); ++iter) { int i = iter->first.first; int j = iter->first.second; UpdatableTile* tile = static_cast<UpdatableTile*>(iter->second.get()); if (!tile->managedTexture()->isValid(m_tiler->tileSize(), m_textureFormat)) { invalidTiles.append(tile); continue; } if (tile->isDirtyForCurrentFrame()) continue; tiledLayer->pushTileProperties(i, j, tile->managedTexture()->textureId(), tile->opaqueRect()); } for (Vector<UpdatableTile*>::const_iterator iter = invalidTiles.begin(); iter != invalidTiles.end(); ++iter) m_tiler->takeTile((*iter)->i(), (*iter)->j()); }
void TiledLayerChromium::pushPropertiesTo(CCLayerImpl* layer) { LayerChromium::pushPropertiesTo(layer); CCTiledLayerImpl* tiledLayer = static_cast<CCTiledLayerImpl*>(layer); tiledLayer->setSkipsDraw(m_skipsDraw); tiledLayer->setContentsSwizzled(m_sampledTexelFormat != LayerTextureUpdater::SampledTexelFormatRGBA); tiledLayer->setTilingData(*m_tiler); for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begin(); iter != m_tiler->tiles().end(); ++iter) { int i = iter->first.first; int j = iter->first.second; UpdatableTile* tile = static_cast<UpdatableTile*>(iter->second.get()); if (!tile->managedTexture()->isValid(m_tiler->tileSize(), m_textureFormat)) continue; if (tile->isDirty()) continue; tiledLayer->syncTextureId(i, j, tile->managedTexture()->textureId()); } }