1 // Copyright 2013 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_IMPL_H_ 6 #define CC_TEST_FAKE_PICTURE_PILE_IMPL_H_ 7 8 #include "base/memory/ref_counted.h" 9 #include "cc/resources/picture_pile_impl.h" 10 #include "cc/test/fake_content_layer_client.h" 11 12 namespace cc { 13 14 class FakePicturePileImpl : public PicturePileImpl { 15 public: 16 static scoped_refptr<FakePicturePileImpl> CreateFilledPile( 17 gfx::Size tile_size, 18 gfx::Size layer_bounds); 19 20 static scoped_refptr<FakePicturePileImpl> CreateEmptyPile( 21 gfx::Size tile_size, 22 gfx::Size layer_bounds); 23 24 static scoped_refptr<FakePicturePileImpl> CreatePile(); 25 26 TilingData& tiling() { return tiling_; } 27 28 void AddRecordingAt(int x, int y); 29 void RemoveRecordingAt(int x, int y); 30 void RerecordPile(); 31 32 void AddPictureToRecording( 33 int x, 34 int y, 35 scoped_refptr<Picture> picture); 36 37 void add_draw_rect(const gfx::RectF& rect) { 38 client_.add_draw_rect(rect, default_paint_); 39 } 40 41 void add_draw_bitmap(const SkBitmap& bitmap, gfx::Point point) { 42 client_.add_draw_bitmap(bitmap, point, default_paint_); 43 } 44 45 void add_draw_rect_with_paint(const gfx::RectF& rect, const SkPaint& paint) { 46 client_.add_draw_rect(rect, paint); 47 } 48 49 void add_draw_bitmap_with_paint(const SkBitmap& bitmap, 50 gfx::Point point, 51 const SkPaint& paint) { 52 client_.add_draw_bitmap(bitmap, point, paint); 53 } 54 55 void set_default_paint(const SkPaint& paint) { 56 default_paint_ = paint; 57 } 58 59 void set_background_color(SkColor color) { 60 background_color_ = color; 61 } 62 63 void set_contents_opaque(bool contents_opaque) { 64 contents_opaque_ = contents_opaque; 65 } 66 67 protected: 68 FakePicturePileImpl(); 69 virtual ~FakePicturePileImpl(); 70 71 FakeContentLayerClient client_; 72 SkPaint default_paint_; 73 }; 74 75 } // namespace cc 76 77 #endif // CC_TEST_FAKE_PICTURE_PILE_IMPL_H_ 78