Title: [134340] trunk/Source/WebCore
Revision
134340
Author
[email protected]
Date
2012-11-12 18:48:39 -0800 (Mon, 12 Nov 2012)

Log Message

Remove Leopard only gradient code
https://bugs.webkit.org/show_bug.cgi?id=102033

Reviewed by Dan Bernstein.

USE_CG_SHADING was only ever true on Leopard, so we can remove it now.

* platform/graphics/Gradient.h:
* platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::platformDestroy):
(WebCore::Gradient::platformGradient):
(WebCore::Gradient::paint):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (134339 => 134340)


--- trunk/Source/WebCore/ChangeLog	2012-11-13 02:47:43 UTC (rev 134339)
+++ trunk/Source/WebCore/ChangeLog	2012-11-13 02:48:39 UTC (rev 134340)
@@ -1,3 +1,18 @@
+2012-11-12  Anders Carlsson  <[email protected]>
+
+        Remove Leopard only gradient code
+        https://bugs.webkit.org/show_bug.cgi?id=102033
+
+        Reviewed by Dan Bernstein.
+
+        USE_CG_SHADING was only ever true on Leopard, so we can remove it now.
+
+        * platform/graphics/Gradient.h:
+        * platform/graphics/cg/GradientCG.cpp:
+        (WebCore::Gradient::platformDestroy):
+        (WebCore::Gradient::platformGradient):
+        (WebCore::Gradient::paint):
+
 2012-11-12  Tiancheng Jiang  <[email protected]>
 
         [BlackBerry] Update BB10 form theme.

Modified: trunk/Source/WebCore/platform/graphics/Gradient.h (134339 => 134340)


--- trunk/Source/WebCore/platform/graphics/Gradient.h	2012-11-13 02:47:43 UTC (rev 134339)
+++ trunk/Source/WebCore/platform/graphics/Gradient.h	2012-11-13 02:48:39 UTC (rev 134340)
@@ -39,15 +39,8 @@
 
 typedef struct CGContext* CGContextRef;
 
-#define USE_CG_SHADING (PLATFORM(MAC) && !PLATFORM(IOS) && __MAC_OS_X_VERSION_MIN_REQUIRED == 1050)
-
-#if USE_CG_SHADING
-typedef struct CGShading* CGShadingRef;
-typedef CGShadingRef PlatformGradient;
-#else
 typedef struct CGGradient* CGGradientRef;
 typedef CGGradientRef PlatformGradient;
-#endif
 
 #elif PLATFORM(QT)
 QT_BEGIN_NAMESPACE

Modified: trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp (134339 => 134340)


--- trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp	2012-11-13 02:47:43 UTC (rev 134339)
+++ trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp	2012-11-13 02:48:39 UTC (rev 134340)
@@ -35,45 +35,10 @@
 
 void Gradient::platformDestroy()
 {
-#if USE_CG_SHADING
-    CGShadingRelease(m_gradient);
-#else
     CGGradientRelease(m_gradient);
-#endif
     m_gradient = 0;
 }
 
-#if USE_CG_SHADING
-static void gradientCallback(void* info, const CGFloat* in, CGFloat* out)
-{
-    float r, g, b, a;
-    static_cast<const Gradient*>(info)->getColor(*in, &r, &g, &b, &a);
-    out[0] = r;
-    out[1] = g;
-    out[2] = b;
-    out[3] = a;
-}
-
-CGShadingRef Gradient::platformGradient()
-{
-    if (m_gradient)
-        return m_gradient;
-
-    const CGFloat intervalRanges[2] = { 0, 1 };
-    const CGFloat colorComponentRanges[4 * 2] = { 0, 1, 0, 1, 0, 1, 0, 1 };
-    const CGFunctionCallbacks gradientCallbacks = { 0, gradientCallback, 0 };
-    RetainPtr<CGFunctionRef> colorFunction(AdoptCF, CGFunctionCreate(this, 1, intervalRanges, 4, colorComponentRanges, &gradientCallbacks));
-
-    CGColorSpaceRef colorSpace = deviceRGBColorSpaceRef();
-
-    if (m_radial)
-        m_gradient = CGShadingCreateRadial(colorSpace, m_p0, m_r0, m_p1, m_r1, colorFunction.get(), true, true);
-    else
-        m_gradient = CGShadingCreateAxial(colorSpace, m_p0, m_p1, colorFunction.get(), true, true);
-
-    return m_gradient;
-}
-#else
 CGGradientRef Gradient::platformGradient()
 {
     if (m_gradient)
@@ -101,7 +66,6 @@
 
     return m_gradient;
 }
-#endif
 
 void Gradient::fill(GraphicsContext* context, const FloatRect& rect)
 {
@@ -117,29 +81,27 @@
 
 void Gradient::paint(CGContextRef context)
 {
-#if USE_CG_SHADING
-    CGContextDrawShading(context, platformGradient());
-#else
     CGGradientDrawingOptions extendOptions = kCGGradientDrawsBeforeStartLocation | kCGGradientDrawsAfterEndLocation;
-    if (m_radial) {
-        bool needScaling = aspectRatio() != 1;
-        if (needScaling) {
-            CGContextSaveGState(context);
-            // Scale from the center of the gradient. We only ever scale non-deprecated gradients,
-            // for which m_p0 == m_p1.
-            ASSERT(m_p0 == m_p1);
-            CGContextTranslateCTM(context, m_p0.x(), m_p0.y());
-            CGContextScaleCTM(context, 1, 1 / aspectRatio());
-            CGContextTranslateCTM(context, -m_p0.x(), -m_p0.y());
-        }
+    if (!m_radial) {
+        CGContextDrawLinearGradient(context, platformGradient(), m_p0, m_p1, extendOptions);
+        return;
+    }
 
-        CGContextDrawRadialGradient(context, platformGradient(), m_p0, m_r0, m_p1, m_r1, extendOptions);
+    bool needScaling = aspectRatio() != 1;
+    if (needScaling) {
+        CGContextSaveGState(context);
+        // Scale from the center of the gradient. We only ever scale non-deprecated gradients,
+        // for which m_p0 == m_p1.
+        ASSERT(m_p0 == m_p1);
+        CGContextTranslateCTM(context, m_p0.x(), m_p0.y());
+        CGContextScaleCTM(context, 1, 1 / aspectRatio());
+        CGContextTranslateCTM(context, -m_p0.x(), -m_p0.y());
+    }
 
-        if (needScaling)
-            CGContextRestoreGState(context);
-    } else
-        CGContextDrawLinearGradient(context, platformGradient(), m_p0, m_p1, extendOptions);
-#endif
+    CGContextDrawRadialGradient(context, platformGradient(), m_p0, m_r0, m_p1, m_r1, extendOptions);
+
+    if (needScaling)
+        CGContextRestoreGState(context);
 }
 
 } //namespace
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to