void GraphicsLayerClutter::recursiveCommitChanges(const TransformState& state, float pageScaleFactor, const FloatPoint& positionRelativeToBase, bool affectedByPageScale) { // FIXME: Save the state before sending down to kids and restore it after TransformState localState = state; if (appliesPageScale()) { pageScaleFactor = this->pageScaleFactor(); affectedByPageScale = true; } // Accumulate an offset from the ancestral pixel-aligned layer. FloatPoint baseRelativePosition = positionRelativeToBase; if (affectedByPageScale) baseRelativePosition += m_position; commitLayerChangesBeforeSublayers(pageScaleFactor, baseRelativePosition); const Vector<GraphicsLayer*>& childLayers = children(); size_t numChildren = childLayers.size(); for (size_t i = 0; i < numChildren; ++i) { GraphicsLayerClutter* curChild = static_cast<GraphicsLayerClutter*>(childLayers[i]); curChild->recursiveCommitChanges(localState, pageScaleFactor, baseRelativePosition, affectedByPageScale); } commitLayerChangesAfterSublayers(); }
void GraphicsLayerChromium::updateContentsScale() { // If page scale is already applied then there's no need to apply it again. if (appliesPageScale() || !m_layer) return; m_layer->setContentsScale(contentsScale()); }
float GraphicsLayerChromium::contentsScale() const { if (!appliesPageScale()) return pageScaleFactor() * deviceScaleFactor(); return 1; }