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. 4 5#include "cc/test/fake_content_layer_client.h" 6 7#include "third_party/skia/include/core/SkCanvas.h" 8#include "ui/gfx/skia_util.h" 9 10namespace cc { 11 12FakeContentLayerClient::FakeContentLayerClient() 13 : paint_all_opaque_(false) { 14} 15 16FakeContentLayerClient::~FakeContentLayerClient() { 17} 18 19void FakeContentLayerClient::PaintContents(SkCanvas* canvas, 20 gfx::Rect paint_rect, gfx::RectF* opaque_rect) { 21 if (paint_all_opaque_) 22 *opaque_rect = paint_rect; 23 24 canvas->clipRect(gfx::RectToSkRect(paint_rect)); 25 for (RectPaintVector::const_iterator it = draw_rects_.begin(); 26 it != draw_rects_.end(); ++it) { 27 const gfx::RectF& draw_rect = it->first; 28 const SkPaint& paint = it->second; 29 canvas->drawRectCoords(draw_rect.x(), 30 draw_rect.y(), 31 draw_rect.right(), 32 draw_rect.bottom(), 33 paint); 34 } 35 36 for (BitmapVector::const_iterator it = draw_bitmaps_.begin(); 37 it != draw_bitmaps_.end(); ++it) { 38 canvas->drawBitmap(it->bitmap, it->point.x(), it->point.y(), &it->paint); 39 } 40} 41 42} // namespace cc 43