void RenderSVGText::paint(PaintInfo& paintInfo, const LayoutPoint&) { if (paintInfo.context->paintingDisabled()) return; if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhaseSelfOutline && paintInfo.phase != PaintPhaseSelection) return; PaintInfo blockInfo(paintInfo); GraphicsContextStateSaver stateSaver(*blockInfo.context); blockInfo.applyTransform(localToParentTransform()); RenderBlock::paint(blockInfo, LayoutPoint()); }
void RenderSVGText::paint(PaintInfo& paintInfo, int, int) { if (paintInfo.context->paintingDisabled()) return; if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhaseSelfOutline && paintInfo.phase != PaintPhaseSelection) return; PaintInfo blockInfo(paintInfo); blockInfo.context->save(); blockInfo.applyTransform(localToParentTransform()); RenderBlock::paint(blockInfo, 0, 0); blockInfo.context->restore(); }
void RenderSVGText::paint(PaintInfo& paintInfo, const LayoutPoint&) { if (paintInfo.context->paintingDisabled()) return; if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhaseSelfOutline && paintInfo.phase != PaintPhaseSelection) return; PaintInfo blockInfo(paintInfo); GraphicsContextStateSaver stateSaver(*blockInfo.context, false); const AffineTransform& localTransform = localToParentTransform(); if (!localTransform.isIdentity()) { stateSaver.save(); blockInfo.applyTransform(localTransform, false); } RenderBlock::paint(blockInfo, LayoutPoint()); }
void SVGTextPainter::paint(const PaintInfo& paintInfo) { if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhaseSelection) return; PaintInfo blockInfo(paintInfo); TransformRecorder transformRecorder(*blockInfo.context, m_renderSVGText.displayItemClient(), m_renderSVGText.localToParentTransform()); // When transitioning from SVG to block painters we need to keep the PaintInfo rect up-to-date // because it can be used for clipping. m_renderSVGText.updatePaintInfoRect(blockInfo.rect); BlockPainter(m_renderSVGText).paint(blockInfo, LayoutPoint()); // Paint the outlines, if any if (paintInfo.phase == PaintPhaseForeground) { blockInfo.phase = PaintPhaseSelfOutline; BlockPainter(m_renderSVGText).paint(blockInfo, LayoutPoint()); } }