Title: [139083] trunk/Source/WebCore
- Revision
- 139083
- Author
- [email protected]
- Date
- 2013-01-08 11:15:56 -0800 (Tue, 08 Jan 2013)
Log Message
Added OpaqueRegionSkia::currentTrackingOpaqueRect
[chromium] Add OpaqueRegionSkia::currentTrackingOpaqueRect
https://bugs.webkit.org/show_bug.cgi?id=106267
Reviewed by Stephen White.
No new tests needed. No change in functionality.
* platform/graphics/skia/OpaqueRegionSkia.cpp:
(WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
(WebCore::OpaqueRegionSkia::markRectAsOpaque):
(WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
(WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
(WebCore::OpaqueRegionSkia::currentTrackingOpaqueRect):
(WebCore):
* platform/graphics/skia/OpaqueRegionSkia.h:
(OpaqueRegionSkia):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (139082 => 139083)
--- trunk/Source/WebCore/ChangeLog 2013-01-08 19:00:33 UTC (rev 139082)
+++ trunk/Source/WebCore/ChangeLog 2013-01-08 19:15:56 UTC (rev 139083)
@@ -1,3 +1,24 @@
+2013-01-08 Alok Priyadarshi <[email protected]>
+
+ Added OpaqueRegionSkia::currentTrackingOpaqueRect
+
+ [chromium] Add OpaqueRegionSkia::currentTrackingOpaqueRect
+ https://bugs.webkit.org/show_bug.cgi?id=106267
+
+ Reviewed by Stephen White.
+
+ No new tests needed. No change in functionality.
+
+ * platform/graphics/skia/OpaqueRegionSkia.cpp:
+ (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
+ (WebCore::OpaqueRegionSkia::markRectAsOpaque):
+ (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
+ (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
+ (WebCore::OpaqueRegionSkia::currentTrackingOpaqueRect):
+ (WebCore):
+ * platform/graphics/skia/OpaqueRegionSkia.h:
+ (OpaqueRegionSkia):
+
2013-01-08 Zan Dobersek <[email protected]>
[GTK] Build failures when building with python 3.3
Modified: trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp (139082 => 139083)
--- trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp 2013-01-08 19:00:33 UTC (rev 139082)
+++ trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp 2013-01-08 19:15:56 UTC (rev 139083)
@@ -164,14 +164,6 @@
return true;
}
-static inline SkRect& currentTrackingOpaqueRect(SkRect& rootOpaqueRect, Vector<OpaqueRegionSkia::CanvasLayerState, 3>& canvasLayerStack)
-{
- // If we are drawing into a canvas layer, then track the opaque rect in that layer.
- if (!canvasLayerStack.isEmpty())
- return canvasLayerStack.last().opaqueRect;
- return rootOpaqueRect;
-}
-
void OpaqueRegionSkia::pushCanvasLayer(const SkPaint* paint)
{
CanvasLayerState state;
@@ -333,7 +325,7 @@
SkRect sourceOpaqueRect = layerOpaqueRect;
// Save the opaque area in the destination, so we can preserve the parts of it under the source opaque area if possible.
- SkRect destinationOpaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
+ SkRect destinationOpaqueRect = currentTrackingOpaqueRect();
bool outsideSourceOpaqueRectPreservesOpaque = xfermodePreservesOpaque(paint, false);
if (!outsideSourceOpaqueRectPreservesOpaque)
@@ -363,7 +355,7 @@
// rectangle then we do that, as that is the cheapest way to increase the area returned
// without increasing the complexity.
- SkRect& opaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
+ SkRect& opaqueRect = currentTrackingOpaqueRect();
if (rect.isEmpty())
return;
@@ -397,7 +389,7 @@
// We want to keep as much of the current opaque rectangle as we can, so find the one largest
// rectangle inside m_opaqueRect that does not intersect with |rect|.
- SkRect& opaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
+ SkRect& opaqueRect = currentTrackingOpaqueRect();
if (!SkRect::Intersects(rect, opaqueRect))
return;
@@ -432,8 +424,14 @@
void OpaqueRegionSkia::markAllAsNonOpaque()
{
- SkRect& opaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
+ SkRect& opaqueRect = currentTrackingOpaqueRect();
opaqueRect.setEmpty();
}
+SkRect& OpaqueRegionSkia::currentTrackingOpaqueRect()
+{
+ // If we are drawing into a canvas layer, then track the opaque rect in that layer.
+ return m_canvasLayerStack.isEmpty() ? m_opaqueRect : m_canvasLayerStack.last().opaqueRect;
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.h (139082 => 139083)
--- trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.h 2013-01-08 19:00:33 UTC (rev 139082)
+++ trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.h 2013-01-08 19:15:56 UTC (rev 139083)
@@ -91,6 +91,8 @@
void markRectAsNonOpaque(const SkRect&);
void markAllAsNonOpaque();
+ SkRect& currentTrackingOpaqueRect();
+
SkRect m_opaqueRect;
Vector<CanvasLayerState, 3> m_canvasLayerStack;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes