Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: cc/test/fake_picture_pile.h

Issue 1362663002: cc: Remove PicturePile and PicturePileImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase and update Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/test/fake_picture_layer_tiling_client.cc ('k') | cc/test/fake_picture_pile.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef CC_TEST_FAKE_PICTURE_PILE_H_
6 #define CC_TEST_FAKE_PICTURE_PILE_H_
7
8 #include "cc/playback/picture_pile.h"
9 #include "cc/test/fake_content_layer_client.h"
10
11 namespace base {
12 class WaitableEvent;
13 }
14
15 namespace cc {
16
17 class FakePicturePile : public PicturePile {
18 public:
19 using PictureMapKey = PicturePile::PictureMapKey;
20 using PictureMap = PicturePile::PictureMap;
21
22 FakePicturePile(float min_contents_scale, const gfx::Size& tile_grid_size)
23 : PicturePile(min_contents_scale, tile_grid_size),
24 playback_allowed_event_(nullptr) {}
25 ~FakePicturePile() override {}
26
27 static scoped_ptr<FakePicturePile> CreateFilledPile(
28 const gfx::Size& tile_size,
29 const gfx::Size& layer_bounds);
30 static scoped_ptr<FakePicturePile> CreateEmptyPile(
31 const gfx::Size& tile_size,
32 const gfx::Size& layer_bounds);
33
34 // PicturePile overrides.
35 scoped_refptr<RasterSource> CreateRasterSource(
36 bool can_use_lcd_text) const override;
37
38 using PicturePile::buffer_pixels;
39 using PicturePile::CanRasterSlowTileCheck;
40 using PicturePile::Clear;
41 using PicturePile::SetMinContentsScale;
42 using PicturePile::SetTileGridSize;
43
44 PictureMap& picture_map() { return picture_map_; }
45 const gfx::Rect& recorded_viewport() const { return recorded_viewport_; }
46
47 bool CanRasterLayerRect(gfx::Rect layer_rect) {
48 layer_rect.Intersect(gfx::Rect(tiling_.tiling_size()));
49 if (recorded_viewport_.Contains(layer_rect))
50 return true;
51 return CanRasterSlowTileCheck(layer_rect);
52 }
53
54 bool HasRecordings() const { return has_any_recordings_; }
55
56 void SetRecordedViewport(const gfx::Rect& viewport) {
57 recorded_viewport_ = viewport;
58 }
59
60 void SetHasAnyRecordings(bool has_recordings) {
61 has_any_recordings_ = has_recordings;
62 }
63
64 void SetClearCanvasWithDebugColor(bool clear) {
65 clear_canvas_with_debug_color_ = clear;
66 }
67
68 void SetPlaybackAllowedEvent(base::WaitableEvent* event) {
69 playback_allowed_event_ = event;
70 }
71
72 TilingData& tiling() { return tiling_; }
73
74 bool is_solid_color() const { return is_solid_color_; }
75 SkColor solid_color() const { return solid_color_; }
76 void SetIsSolidColor(bool is_solid) { is_solid_color_ = is_solid; }
77
78 void SetPixelRecordDistance(int d) { pixel_record_distance_ = d; }
79
80 void add_draw_rect(const gfx::Rect& rect) {
81 client_.add_draw_rect(rect, default_paint_);
82 }
83
84 void add_draw_rect_with_paint(const gfx::Rect& rect, const SkPaint& paint) {
85 client_.add_draw_rect(rect, paint);
86 }
87
88 void add_draw_rectf(const gfx::RectF& rect) {
89 client_.add_draw_rectf(rect, default_paint_);
90 }
91
92 void add_draw_rectf_with_paint(const gfx::RectF& rect, const SkPaint& paint) {
93 client_.add_draw_rectf(rect, paint);
94 }
95
96 void add_draw_image(const SkImage* image, const gfx::Point& point) {
97 client_.add_draw_image(image, point, default_paint_);
98 }
99
100 void add_draw_image_with_paint(const SkImage* image,
101 const gfx::Point& point,
102 const SkPaint& paint) {
103 client_.add_draw_image(image, point, paint);
104 }
105
106 void set_default_paint(const SkPaint& paint) { default_paint_ = paint; }
107
108 void AddRecordingAt(int x, int y);
109 void RemoveRecordingAt(int x, int y);
110 bool HasRecordingAt(int x, int y) const;
111 int num_tiles_x() const { return tiling_.num_tiles_x(); }
112 int num_tiles_y() const { return tiling_.num_tiles_y(); }
113 void Rerecord();
114
115 private:
116 base::WaitableEvent* playback_allowed_event_;
117
118 FakeContentLayerClient client_;
119 SkPaint default_paint_;
120 };
121
122 } // namespace cc
123
124 #endif // CC_TEST_FAKE_PICTURE_PILE_H_
OLDNEW
« no previous file with comments | « cc/test/fake_picture_layer_tiling_client.cc ('k') | cc/test/fake_picture_pile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698