[Webkit-unassigned] [Bug 15386] New: RenderSVGText can't do partial repaints
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Oct 5 18:03:39 PDT 2007
http://bugs.webkit.org/show_bug.cgi?id=15386
Summary: RenderSVGText can't do partial repaints
Product: WebKit
Version: 522+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: NEW
Severity: Normal
Priority: P2
Component: SVG
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: eric at webkit.org
RenderSVGText has a hack around RenderBlock's partial repaint code, because
it's not (yet) SVG aware.
void RenderSVGText::layout()
{
ASSERT(needsLayout());
// FIXME: This is a hack to avoid the RenderBlock::layout() partial
repainting code which is not (yet) SVG aware
setNeedsLayout(true);
>From RenderBlock::layoutBlock:
if (!didFullRepaint && repaintTop != repaintBottom) {
IntRect repaintRect(m_overflowLeft, repaintTop, m_overflowWidth -
m_overflowLeft, repaintBottom - repaintTop);
// FIXME: Deal with multiple column repainting. We have to split the
repaint
// rect up into multiple rects if it spans columns.
repaintRect.inflate(maximalOutlineSize(PaintPhaseOutline));
if (hasOverflowClip()) {
// Adjust repaint rect for scroll offset
int x = repaintRect.x();
int y = repaintRect.y();
layer()->subtractScrollOffset(x, y);
repaintRect.setX(x);
repaintRect.setY(y);
// Don't allow this rect to spill out of our overflow box.
repaintRect.intersect(IntRect(0, 0, m_width, m_height));
}
RenderView* v = view();
// Make sure the rect is still non-empty after intersecting for
overflow above
if (!repaintRect.isEmpty() && v && v->frameView())
v->frameView()->addRepaintInfo(this, repaintRect); // We need to do
a partial repaint of our content.
}
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list