Add ICU message format support
[chromium-blink-merge.git] / cc / test / fake_content_layer_client.h
blob9615240bceb710cd826a7717268decd34198f316
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 scoped_refptr<DisplayItemList> PaintContentsToDisplayList(
44 const gfx::Rect& clip,
45 PaintingControlSetting painting_control) override;
46 bool FillsBoundsCompletely() const override;
47 size_t GetApproximateUnsharedMemoryUsage() 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 void set_reported_memory_usage(size_t reported_memory_usage) {
78 reported_memory_usage_ = reported_memory_usage;
81 private:
82 typedef std::vector<std::pair<gfx::RectF, SkPaint>> RectPaintVector;
83 typedef std::vector<BitmapData> BitmapVector;
85 bool fill_with_nonsolid_color_;
86 RectPaintVector draw_rects_;
87 BitmapVector draw_bitmaps_;
88 SkCanvas* last_canvas_;
89 PaintingControlSetting last_painting_control_;
90 size_t reported_memory_usage_;
93 } // namespace cc
95 #endif // CC_TEST_FAKE_CONTENT_LAYER_CLIENT_H_