OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CompositingRecorder_h | 5 #ifndef CompositingRecorder_h |
6 #define CompositingRecorder_h | 6 #define CompositingRecorder_h |
7 | 7 |
8 #include "platform/geometry/FloatRect.h" | 8 #include "platform/geometry/FloatRect.h" |
9 #include "platform/graphics/GraphicsTypes.h" | 9 #include "platform/graphics/GraphicsTypes.h" |
10 #include "platform/graphics/paint/DisplayItem.h" | 10 #include "platform/graphics/paint/DisplayItem.h" |
11 #include "public/platform/WebBlendMode.h" | 11 #include "public/platform/WebBlendMode.h" |
12 #include "wtf/Allocator.h" | 12 #include "wtf/Allocator.h" |
13 | 13 |
14 namespace blink { | 14 namespace blink { |
15 | 15 |
16 class GraphicsContext; | 16 class GraphicsContext; |
17 class LayoutObject; | 17 class LayoutObject; |
18 | 18 |
19 class CompositingRecorder { | 19 class CompositingRecorder { |
20 USING_FAST_MALLOC(CompositingRecorder); | 20 USING_FAST_MALLOC(CompositingRecorder); |
21 public: | 21 public: |
22 CompositingRecorder(GraphicsContext&, const DisplayItemClientWrapper&, const
SkXfermode::Mode, const float opacity, const FloatRect* bounds = 0, ColorFilter
= ColorFilterNone); | 22 CompositingRecorder(GraphicsContext&, const DisplayItemClient&, const SkXfer
mode::Mode, const float opacity, const FloatRect* bounds = 0, ColorFilter = Colo
rFilterNone); |
23 | 23 |
24 ~CompositingRecorder(); | 24 ~CompositingRecorder(); |
25 | 25 |
26 // FIXME: These helpers only exist to ease the transition to slimming paint | 26 // FIXME: These helpers only exist to ease the transition to slimming paint |
27 // and should be removed once slimming paint is enabled by default. | 27 // and should be removed once slimming paint is enabled by default. |
28 static void beginCompositing(GraphicsContext&, const DisplayItemClientWrappe
r&, const SkXfermode::Mode, const float opacity, const FloatRect* bounds = 0, Co
lorFilter = ColorFilterNone); | 28 static void beginCompositing(GraphicsContext&, const DisplayItemClient&, con
st SkXfermode::Mode, const float opacity, const FloatRect* bounds = 0, ColorFilt
er = ColorFilterNone); |
29 static void endCompositing(GraphicsContext&, const DisplayItemClientWrapper&
); | 29 static void endCompositing(GraphicsContext&, const DisplayItemClient&); |
30 | 30 |
31 private: | 31 private: |
32 DisplayItemClientWrapper m_client; | 32 const DisplayItemClient& m_client; |
33 GraphicsContext& m_graphicsContext; | 33 GraphicsContext& m_graphicsContext; |
34 }; | 34 }; |
35 | 35 |
36 } // namespace blink | 36 } // namespace blink |
37 | 37 |
38 #endif // CompositingRecorder_h | 38 #endif // CompositingRecorder_h |
OLD | NEW |