| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 1978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1989 else if (compositor()->fixedRootBackgroundLayer()) | 1989 else if (compositor()->fixedRootBackgroundLayer()) |
| 1990 paintFlags |= PaintLayerPaintingSkipRootBackground; | 1990 paintFlags |= PaintLayerPaintingSkipRootBackground; |
| 1991 | 1991 |
| 1992 // Note carefully: in theory it is appropriate to invoke context->save() her
e | 1992 // Note carefully: in theory it is appropriate to invoke context->save() her
e |
| 1993 // and restore the context after painting. For efficiency, we are assuming t
hat | 1993 // and restore the context after painting. For efficiency, we are assuming t
hat |
| 1994 // it is equivalent to manually undo this offset translation, which means we
are | 1994 // it is equivalent to manually undo this offset translation, which means we
are |
| 1995 // assuming that the context's space was not affected by the RenderLayer | 1995 // assuming that the context's space was not affected by the RenderLayer |
| 1996 // painting code. | 1996 // painting code. |
| 1997 | 1997 |
| 1998 IntSize offset = paintInfo.offsetFromRenderer; | 1998 IntSize offset = paintInfo.offsetFromRenderer; |
| 1999 context->translate(-offset); | 1999 context->translate(-offset.width(), -offset.height()); |
| 2000 | 2000 |
| 2001 // The dirtyRect is in the coords of the painting root. | 2001 // The dirtyRect is in the coords of the painting root. |
| 2002 IntRect dirtyRect(clip); | 2002 IntRect dirtyRect(clip); |
| 2003 dirtyRect.move(offset); | 2003 dirtyRect.move(offset); |
| 2004 | 2004 |
| 2005 if (!(paintInfo.paintingPhase & GraphicsLayerPaintOverflowContents)) { | 2005 if (!(paintInfo.paintingPhase & GraphicsLayerPaintOverflowContents)) { |
| 2006 LayoutRect bounds = paintInfo.compositedBounds; | 2006 LayoutRect bounds = paintInfo.compositedBounds; |
| 2007 bounds.move(paintInfo.renderLayer->subpixelAccumulation()); | 2007 bounds.move(paintInfo.renderLayer->subpixelAccumulation()); |
| 2008 dirtyRect.intersect(pixelSnappedIntRect(bounds)); | 2008 dirtyRect.intersect(pixelSnappedIntRect(bounds)); |
| 2009 } else { | 2009 } else { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 2033 context->save(); | 2033 context->save(); |
| 2034 dirtyRect.intersect(paintInfo.localClipRectForSquashedLayer); | 2034 dirtyRect.intersect(paintInfo.localClipRectForSquashedLayer); |
| 2035 context->clip(dirtyRect); | 2035 context->clip(dirtyRect); |
| 2036 paintInfo.renderLayer->paintLayer(context, paintingInfo, paintFlags); | 2036 paintInfo.renderLayer->paintLayer(context, paintingInfo, paintFlags); |
| 2037 context->restore(); | 2037 context->restore(); |
| 2038 } | 2038 } |
| 2039 | 2039 |
| 2040 ASSERT(!paintInfo.renderLayer->usedTransparency()); | 2040 ASSERT(!paintInfo.renderLayer->usedTransparency()); |
| 2041 | 2041 |
| 2042 // Manually restore the context to its original state by applying the opposi
te translation. | 2042 // Manually restore the context to its original state by applying the opposi
te translation. |
| 2043 context->translate(offset); | 2043 context->translate(offset.width(), offset.height()); |
| 2044 } | 2044 } |
| 2045 | 2045 |
| 2046 static void paintScrollbar(Scrollbar* scrollbar, GraphicsContext& context, const
IntRect& clip) | 2046 static void paintScrollbar(Scrollbar* scrollbar, GraphicsContext& context, const
IntRect& clip) |
| 2047 { | 2047 { |
| 2048 if (!scrollbar) | 2048 if (!scrollbar) |
| 2049 return; | 2049 return; |
| 2050 | 2050 |
| 2051 context.save(); | 2051 context.save(); |
| 2052 const IntRect& scrollbarRect = scrollbar->frameRect(); | 2052 const IntRect& scrollbarRect = scrollbar->frameRect(); |
| 2053 context.translate(-scrollbarRect.x(), -scrollbarRect.y()); | 2053 context.translate(-scrollbarRect.x(), -scrollbarRect.y()); |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2240 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { | 2240 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { |
| 2241 name = "Scrolling Contents Layer"; | 2241 name = "Scrolling Contents Layer"; |
| 2242 } else { | 2242 } else { |
| 2243 ASSERT_NOT_REACHED(); | 2243 ASSERT_NOT_REACHED(); |
| 2244 } | 2244 } |
| 2245 | 2245 |
| 2246 return name; | 2246 return name; |
| 2247 } | 2247 } |
| 2248 | 2248 |
| 2249 } // namespace WebCore | 2249 } // namespace WebCore |
| OLD | NEW |