void TextureMapperLayer::paint() { computeTransformsRecursive(); TextureMapperPaintOptions options; options.textureMapper = m_textureMapper; options.textureMapper->bindSurface(0); paintRecursive(options); }
void TextureMapperNode::paint(TextureMapper* textureMapper, const TextureMapperContentLayer::PaintOptions& options) { ASSERT(m_layerType == RootLayer); if (m_size.isEmpty()) return; TexmapPaintOptions opt; opt.opacity = 1; opt.rootLayer = this; opt.scissorRect = options.targetRect; opt.visibleRect = options.visibleRect; opt.textureMapper = textureMapper; opt.surface = 0; opt.cache = m_cache; paintRecursive(opt); if (textureMapper->allowSurfaceForRoot() || m_state.hasSurfaceDescendants) { textureMapper->bindSurface(0); textureMapper->paintToTarget(*m_surface.get(), options.viewportSize, options.transform, options.opacity * m_state.opacity, options.targetRect); } m_cache->purge(); }