<rdar://problem/9018212> Underline thickness is not uniform under non-integral scale...
[WebKit-https.git] / Source / WebCore / platform / graphics / wx / GraphicsContextWx.cpp
index f1c09c5..071df47 100644 (file)
@@ -336,17 +336,17 @@ void GraphicsContext::clipPath(const Path&, WindRule)
     notImplemented();
 }
 
-void GraphicsContext::drawLineForText(const IntPoint& origin, int width, bool printing)
+void GraphicsContext::drawLineForText(const FloatPoint& origin, float width, bool printing)
 {
     if (paintingDisabled())
         return;
 
-    IntPoint endPoint = origin + IntSize(width, 0);
+    FloatPoint endPoint = origin + FloatSize(width, 0);
     m_data->context->SetPen(wxPen(strokeColor(), strokeThickness(), wxSOLID));
     m_data->context->DrawLine(origin.x(), origin.y(), endPoint.x(), endPoint.y());
 }
 
-void GraphicsContext::drawLineForTextChecking(const IntPoint& origin, int width, TextCheckingLineStyle style)
+void GraphicsContext::drawLineForTextChecking(const FloatPoint& origin, float width, TextCheckingLineStyle style)
 {
     switch (style) {
     case TextCheckingSpellingLineStyle:
@@ -416,7 +416,7 @@ void GraphicsContext::scale(const FloatSize& scale)
 }
 
 
-FloatRect GraphicsContext::roundToDevicePixels(const FloatRect& frect)
+FloatRect GraphicsContext::roundToDevicePixels(const FloatRect& frect, RoundingMode)
 {
     FloatRect result;
 
@@ -494,6 +494,19 @@ void GraphicsContext::concatCTM(const AffineTransform& transform)
     return;
 }
 
+void GraphicsContext::setCTM(const AffineTransform& transform)
+{
+    if (paintingDisabled())
+        return;
+
+#if USE(WXGC)
+    wxGraphicsContext* gc = m_data->context->GetGraphicsContext();
+    if (gc)
+        gc->SetTransform(transform);
+#endif
+    return;
+}
+
 void GraphicsContext::setPlatformShouldAntialias(bool enable)
 {
     if (paintingDisabled())
@@ -515,7 +528,7 @@ void GraphicsContext::fillPath(const Path& path)
 #if USE(WXGC)
     wxGraphicsContext* gc = m_data->context->GetGraphicsContext();
     if (gc)
-        gc->FillPath(path.platformPath());
+        gc->FillPath(*path.platformPath());
 #endif
 }
 
@@ -524,7 +537,7 @@ void GraphicsContext::strokePath(const Path& path)
 #if USE(WXGC)
     wxGraphicsContext* gc = m_data->context->GetGraphicsContext();
     if (gc)
-        gc->StrokePath(path.platformPath());
+        gc->StrokePath(*path.platformPath());
 #endif
 }