OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 CC_RESOURCES_FLOAT_CLIP_DISPLAY_ITEM_H_ | 5 #ifndef CC_RESOURCES_FLOAT_CLIP_DISPLAY_ITEM_H_ |
6 #define CC_RESOURCES_FLOAT_CLIP_DISPLAY_ITEM_H_ | 6 #define CC_RESOURCES_FLOAT_CLIP_DISPLAY_ITEM_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "cc/base/cc_export.h" | 11 #include "cc/base/cc_export.h" |
12 #include "cc/resources/display_item.h" | 12 #include "cc/resources/display_item.h" |
13 #include "ui/gfx/geometry/rect_f.h" | 13 #include "ui/gfx/geometry/rect_f.h" |
14 | 14 |
15 class SkCanvas; | 15 class SkCanvas; |
16 class SkDrawPictureCallback; | 16 class SkDrawPictureCallback; |
17 | 17 |
18 namespace cc { | 18 namespace cc { |
19 | 19 |
20 class CC_EXPORT FloatClipDisplayItem : public DisplayItem { | 20 class CC_EXPORT FloatClipDisplayItem : public DisplayItem { |
21 public: | 21 public: |
| 22 FloatClipDisplayItem(); |
22 ~FloatClipDisplayItem() override; | 23 ~FloatClipDisplayItem() override; |
23 | 24 |
24 static scoped_ptr<FloatClipDisplayItem> Create(gfx::RectF clip_rect) { | 25 void SetNew(const gfx::RectF& clip_rect); |
25 return make_scoped_ptr(new FloatClipDisplayItem(clip_rect)); | |
26 } | |
27 | 26 |
28 void Raster(SkCanvas* canvas, SkDrawPictureCallback* callback) const override; | 27 void Raster(SkCanvas* canvas, SkDrawPictureCallback* callback) const override; |
29 | 28 |
30 bool IsSuitableForGpuRasterization() const override; | 29 bool IsSuitableForGpuRasterization() const override; |
31 int ApproximateOpCount() const override; | 30 int ApproximateOpCount() const override; |
32 size_t PictureMemoryUsage() const override; | 31 size_t PictureMemoryUsage() const override; |
33 void AsValueInto(base::trace_event::TracedValue* array) const override; | 32 void AsValueInto(base::trace_event::TracedValue* array) const override; |
34 | 33 |
35 protected: | 34 protected: |
36 explicit FloatClipDisplayItem(gfx::RectF clip_rect); | 35 explicit FloatClipDisplayItem(gfx::RectF clip_rect); |
37 | 36 |
38 private: | 37 private: |
39 gfx::RectF clip_rect_; | 38 gfx::RectF clip_rect_; |
40 }; | 39 }; |
41 | 40 |
42 class CC_EXPORT EndFloatClipDisplayItem : public DisplayItem { | 41 class CC_EXPORT EndFloatClipDisplayItem : public DisplayItem { |
43 public: | 42 public: |
| 43 EndFloatClipDisplayItem(); |
44 ~EndFloatClipDisplayItem() override; | 44 ~EndFloatClipDisplayItem() override; |
45 | 45 |
46 static scoped_ptr<EndFloatClipDisplayItem> Create() { | 46 static scoped_ptr<EndFloatClipDisplayItem> Create() { |
47 return make_scoped_ptr(new EndFloatClipDisplayItem()); | 47 return make_scoped_ptr(new EndFloatClipDisplayItem()); |
48 } | 48 } |
49 | 49 |
50 void Raster(SkCanvas* canvas, SkDrawPictureCallback* callback) const override; | 50 void Raster(SkCanvas* canvas, SkDrawPictureCallback* callback) const override; |
51 | 51 |
52 bool IsSuitableForGpuRasterization() const override; | 52 bool IsSuitableForGpuRasterization() const override; |
53 int ApproximateOpCount() const override; | 53 int ApproximateOpCount() const override; |
54 size_t PictureMemoryUsage() const override; | 54 size_t PictureMemoryUsage() const override; |
55 void AsValueInto(base::trace_event::TracedValue* array) const override; | 55 void AsValueInto(base::trace_event::TracedValue* array) const override; |
56 | |
57 protected: | |
58 EndFloatClipDisplayItem(); | |
59 }; | 56 }; |
60 | 57 |
61 } // namespace cc | 58 } // namespace cc |
62 | 59 |
63 #endif // CC_RESOURCES_FLOAT_CLIP_DISPLAY_ITEM_H_ | 60 #endif // CC_RESOURCES_FLOAT_CLIP_DISPLAY_ITEM_H_ |
OLD | NEW |