Title: [112061] branches/subpixellayout/Source/WebCore/rendering/RenderListMarker.cpp
Revision
112061
Author
[email protected]
Date
2012-03-26 01:35:42 -0700 (Mon, 26 Mar 2012)

Log Message

Second round of RenderListMarker cleanup. Properly measuring text with integers.

Modified Paths

Diff

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderListMarker.cpp (112060 => 112061)


--- branches/subpixellayout/Source/WebCore/rendering/RenderListMarker.cpp	2012-03-26 08:27:02 UTC (rev 112060)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderListMarker.cpp	2012-03-26 08:35:42 UTC (rev 112061)
@@ -1110,18 +1110,18 @@
     if (style()->visibility() != VISIBLE)
         return;
 
-    IntPoint boxOrigin(roundedIntPoint(paintOffset + location()));
-    IntRect overflowRect(pixelSnappedIntRect(visualOverflowRect()));
+    LayoutPoint boxOrigin(paintOffset + location());
+    LayoutRect overflowRect(visualOverflowRect());
     overflowRect.moveBy(boxOrigin);
     overflowRect.inflate(maximalOutlineSize(paintInfo.phase));
 
-    if (!paintInfo.rect.intersects(overflowRect))
+    if (!paintInfo.rect.intersects(pixelSnappedIntRect(overflowRect)))
         return;
 
-    IntRect box(boxOrigin, frameRect().pixelSnappedSize());
+    LayoutRect box(boxOrigin, size());
     
     IntRect marker = getRelativeMarkerRect();
-    marker.moveBy(boxOrigin);
+    marker.moveBy(roundedIntPoint(boxOrigin));
 
     GraphicsContext* context = paintInfo.context;
 
@@ -1258,16 +1258,16 @@
 
     GraphicsContextStateSaver stateSaver(*context, false);
     if (!style()->isHorizontalWritingMode()) {
-        marker.moveBy(-boxOrigin);
+        marker.moveBy(roundedIntPoint(-boxOrigin));
         marker = marker.transposedRect();
-        marker.move(box.x(), box.y() - logicalHeight());
+        marker.moveBy(IntPoint(roundToInt(box.x()), roundToInt(box.y() - logicalHeight())));
         stateSaver.save();
         context->translate(marker.x(), marker.maxY());
         context->rotate(static_cast<float>(deg2rad(90.)));
         context->translate(-marker.x(), -marker.maxY());
     }
 
-    LayoutPoint textOrigin = LayoutPoint(marker.x(), marker.y() + style()->fontMetrics().ascent());
+    IntPoint textOrigin = IntPoint(marker.x(), marker.y() + style()->fontMetrics().ascent());
 
     if (type == Asterisks || type == Footnotes)
         context->drawText(font, textRun, textOrigin);
@@ -1286,14 +1286,14 @@
 
         const UChar suffix = listMarkerSuffix(type, m_listItem->value());
         if (style()->isLeftToRightDirection()) {
-            LayoutUnit width = font.width(textRun);
+            int width = font.width(textRun);
             context->drawText(font, textRun, textOrigin);
             UChar suffixSpace[2] = { suffix, ' ' };
             context->drawText(font, RenderBlock::constructTextRun(this, font, suffixSpace, 2, style()), textOrigin + IntSize(width, 0));
         } else {
             UChar spaceSuffix[2] = { ' ', suffix };
             TextRun spaceSuffixRun = RenderBlock::constructTextRun(this, font, spaceSuffix, 2, style());
-            LayoutUnit width = font.width(spaceSuffixRun);
+            int width = font.width(spaceSuffixRun);
             context->drawText(font, spaceSuffixRun, textOrigin);
             context->drawText(font, textRun, textOrigin + IntSize(width, 0));
         }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to