Changeset 139083 in webkit


Ignore:
Timestamp:
Jan 8, 2013 11:15:56 AM (11 years ago)
Author:
alokp@chromium.org
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):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r139081 r139083  
     12013-01-08  Alok Priyadarshi  <alokp@chromium.org>
     2
     3        Added OpaqueRegionSkia::currentTrackingOpaqueRect
     4
     5        [chromium] Add OpaqueRegionSkia::currentTrackingOpaqueRect
     6        https://bugs.webkit.org/show_bug.cgi?id=106267
     7
     8        Reviewed by Stephen White.
     9
     10        No new tests needed. No change in functionality.
     11
     12        * platform/graphics/skia/OpaqueRegionSkia.cpp:
     13        (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
     14        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
     15        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
     16        (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
     17        (WebCore::OpaqueRegionSkia::currentTrackingOpaqueRect):
     18        (WebCore):
     19        * platform/graphics/skia/OpaqueRegionSkia.h:
     20        (OpaqueRegionSkia):
     21
    1222013-01-08  Zan Dobersek  <zandobersek@gmail.com>
    223
  • trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp

    r126901 r139083  
    165165}
    166166
    167 static inline SkRect& currentTrackingOpaqueRect(SkRect& rootOpaqueRect, Vector<OpaqueRegionSkia::CanvasLayerState, 3>& canvasLayerStack)
    168 {
    169     // If we are drawing into a canvas layer, then track the opaque rect in that layer.
    170     if (!canvasLayerStack.isEmpty())
    171         return canvasLayerStack.last().opaqueRect;
    172     return rootOpaqueRect;
    173 }
    174 
    175167void OpaqueRegionSkia::pushCanvasLayer(const SkPaint* paint)
    176168{
     
    334326    SkRect sourceOpaqueRect = layerOpaqueRect;
    335327    // Save the opaque area in the destination, so we can preserve the parts of it under the source opaque area if possible.
    336     SkRect destinationOpaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
     328    SkRect destinationOpaqueRect = currentTrackingOpaqueRect();
    337329
    338330    bool outsideSourceOpaqueRectPreservesOpaque = xfermodePreservesOpaque(paint, false);
     
    364356    // without increasing the complexity.
    365357
    366     SkRect& opaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
     358    SkRect& opaqueRect = currentTrackingOpaqueRect();
    367359
    368360    if (rect.isEmpty())
     
    398390    // rectangle inside m_opaqueRect that does not intersect with |rect|.
    399391
    400     SkRect& opaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
     392    SkRect& opaqueRect = currentTrackingOpaqueRect();
    401393
    402394    if (!SkRect::Intersects(rect, opaqueRect))
     
    433425void OpaqueRegionSkia::markAllAsNonOpaque()
    434426{
    435     SkRect& opaqueRect = currentTrackingOpaqueRect(m_opaqueRect, m_canvasLayerStack);
     427    SkRect& opaqueRect = currentTrackingOpaqueRect();
    436428    opaqueRect.setEmpty();
    437429}
    438430
     431SkRect& OpaqueRegionSkia::currentTrackingOpaqueRect()
     432{
     433    // If we are drawing into a canvas layer, then track the opaque rect in that layer.
     434    return m_canvasLayerStack.isEmpty() ? m_opaqueRect : m_canvasLayerStack.last().opaqueRect;
     435}
     436
    439437} // namespace WebCore
  • trunk/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.h

    r136125 r139083  
    9292    void markAllAsNonOpaque();
    9393
     94    SkRect& currentTrackingOpaqueRect();
     95
    9496    SkRect m_opaqueRect;
    9597
Note: See TracChangeset for help on using the changeset viewer.