Add connectivity check for Android feedback.
[chromium-blink-merge.git] / cc / test / fake_content_layer_client.h
blobd01bbd108586229bde77c6758b82fc21840c8200
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
3 // found in the LICENSE file.
5 #ifndef CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_
6 #define CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_
8 #include <utility>
9 #include <vector>
11 #include "base/compiler_specific.h"
12 #include "cc/layers/content_layer_client.h"
13 #include "third_party/skia/include/core/SkBitmap.h"
14 #include "third_party/skia/include/core/SkPaint.h"
15 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/transform.h"
18 namespace cc {
20 class FakeContentLayerClient : public ContentLayerClient {
21 public:
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();
31 SkBitmap bitmap;
32 gfx::Point point;
33 gfx::Transform transform;
34 SkPaint paint;
37 FakeContentLayerClient();
38 ~FakeContentLayerClient() override;
40 void PaintContents(SkCanvas* canvas,
41 const gfx::Rect& rect,
42 PaintingControlSetting painting_control) override;
43 void PaintContentsToDisplayList(
44 DisplayItemList* display_list,
45 const gfx::Rect& clip,
46 PaintingControlSetting painting_control) override;
47 bool FillsBoundsCompletely() const override;
49 void set_fill_with_nonsolid_color(bool nonsolid) {
50 fill_with_nonsolid_color_ = nonsolid;
53 void add_draw_rect(const gfx::RectF& rect, const SkPaint& paint) {
54 draw_rects_.push_back(std::make_pair(rect, paint));
57 void add_draw_bitmap(const SkBitmap& bitmap,
58 const gfx::Point& point,
59 const SkPaint& paint) {
60 BitmapData data(bitmap, point, paint);
61 draw_bitmaps_.push_back(data);
64 void add_draw_bitmap_with_transform(const SkBitmap& bitmap,
65 const gfx::Transform& transform,
66 const SkPaint& paint) {
67 BitmapData data(bitmap, transform, paint);
68 draw_bitmaps_.push_back(data);
71 SkCanvas* last_canvas() const { return last_canvas_; }
73 PaintingControlSetting last_painting_control() const {
74 return last_painting_control_;
77 private:
78 typedef std::vector<std::pair<gfx::RectF, SkPaint>> RectPaintVector;
79 typedef std::vector<BitmapData> BitmapVector;
81 bool fill_with_nonsolid_color_;
82 RectPaintVector draw_rects_;
83 BitmapVector draw_bitmaps_;
84 SkCanvas* last_canvas_;
85 PaintingControlSetting last_painting_control_;
88 } // namespace cc
90 #endif // CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_