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

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

Issue 1045953002: Implement DisplayList GatherPixelRefs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix crash w/ unittest Created 5 years, 8 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/resources/recording_source_unittest.cc ('k') | cc/test/fake_content_layer_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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_TEST_FAKE_CONTENT_LAYER_CLIENT_H_ 5 #ifndef CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_
6 #define CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_ 6 #define CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_
7 7
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "cc/layers/content_layer_client.h" 12 #include "cc/layers/content_layer_client.h"
13 #include "third_party/skia/include/core/SkBitmap.h" 13 #include "third_party/skia/include/core/SkBitmap.h"
14 #include "third_party/skia/include/core/SkPaint.h" 14 #include "third_party/skia/include/core/SkPaint.h"
15 #include "ui/gfx/geometry/rect.h" 15 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/transform.h"
16 17
17 namespace cc { 18 namespace cc {
18 19
19 class FakeContentLayerClient : public ContentLayerClient { 20 class FakeContentLayerClient : public ContentLayerClient {
20 public: 21 public:
21 struct BitmapData { 22 struct BitmapData {
23 BitmapData(const SkBitmap& bitmap,
24 const gfx::Point& point,
25 const SkPaint& paint);
26 BitmapData(const SkBitmap& bitmap,
27 const gfx::Transform& transform,
28 const SkPaint& paint);
29 ~BitmapData();
30
22 SkBitmap bitmap; 31 SkBitmap bitmap;
23 gfx::Point point; 32 gfx::Point point;
33 gfx::Transform transform;
24 SkPaint paint; 34 SkPaint paint;
25 }; 35 };
26 36
27 FakeContentLayerClient(); 37 FakeContentLayerClient();
28 ~FakeContentLayerClient() override; 38 ~FakeContentLayerClient() override;
29 39
30 void PaintContents(SkCanvas* canvas, 40 void PaintContents(SkCanvas* canvas,
31 const gfx::Rect& rect, 41 const gfx::Rect& rect,
32 PaintingControlSetting painting_control) override; 42 PaintingControlSetting painting_control) override;
33 scoped_refptr<DisplayItemList> PaintContentsToDisplayList( 43 scoped_refptr<DisplayItemList> PaintContentsToDisplayList(
34 const gfx::Rect& clip, 44 const gfx::Rect& clip,
35 PaintingControlSetting painting_control) override; 45 PaintingControlSetting painting_control) override;
36 bool FillsBoundsCompletely() const override; 46 bool FillsBoundsCompletely() const override;
37 47
38 void set_fill_with_nonsolid_color(bool nonsolid) { 48 void set_fill_with_nonsolid_color(bool nonsolid) {
39 fill_with_nonsolid_color_ = nonsolid; 49 fill_with_nonsolid_color_ = nonsolid;
40 } 50 }
41 51
42 void add_draw_rect(const gfx::RectF& rect, const SkPaint& paint) { 52 void add_draw_rect(const gfx::RectF& rect, const SkPaint& paint) {
43 draw_rects_.push_back(std::make_pair(rect, paint)); 53 draw_rects_.push_back(std::make_pair(rect, paint));
44 } 54 }
45 55
46 void add_draw_bitmap(const SkBitmap& bitmap, 56 void add_draw_bitmap(const SkBitmap& bitmap,
47 const gfx::Point& point, 57 const gfx::Point& point,
48 const SkPaint& paint) { 58 const SkPaint& paint) {
49 BitmapData data; 59 BitmapData data(bitmap, point, paint);
50 data.bitmap = bitmap;
51 data.point = point;
52 data.paint = paint;
53 draw_bitmaps_.push_back(data); 60 draw_bitmaps_.push_back(data);
54 } 61 }
55 62
63 void add_draw_bitmap_with_transform(const SkBitmap& bitmap,
64 const gfx::Transform& transform,
65 const SkPaint& paint) {
66 BitmapData data(bitmap, transform, paint);
67 draw_bitmaps_.push_back(data);
68 }
69
56 SkCanvas* last_canvas() const { return last_canvas_; } 70 SkCanvas* last_canvas() const { return last_canvas_; }
57 71
58 PaintingControlSetting last_painting_control() const { 72 PaintingControlSetting last_painting_control() const {
59 return last_painting_control_; 73 return last_painting_control_;
60 } 74 }
61 75
62 private: 76 private:
63 typedef std::vector<std::pair<gfx::RectF, SkPaint>> RectPaintVector; 77 typedef std::vector<std::pair<gfx::RectF, SkPaint>> RectPaintVector;
64 typedef std::vector<BitmapData> BitmapVector; 78 typedef std::vector<BitmapData> BitmapVector;
65 79
66 bool fill_with_nonsolid_color_; 80 bool fill_with_nonsolid_color_;
67 RectPaintVector draw_rects_; 81 RectPaintVector draw_rects_;
68 BitmapVector draw_bitmaps_; 82 BitmapVector draw_bitmaps_;
69 SkCanvas* last_canvas_; 83 SkCanvas* last_canvas_;
70 PaintingControlSetting last_painting_control_; 84 PaintingControlSetting last_painting_control_;
71 }; 85 };
72 86
73 } // namespace cc 87 } // namespace cc
74 88
75 #endif // CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_ 89 #endif // CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_
OLDNEW
« no previous file with comments | « cc/resources/recording_source_unittest.cc ('k') | cc/test/fake_content_layer_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698