diff options
Diffstat (limited to 'ui/gfx/image/canvas_image_source.cc')
-rw-r--r-- | ui/gfx/image/canvas_image_source.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ui/gfx/image/canvas_image_source.cc b/ui/gfx/image/canvas_image_source.cc new file mode 100644 index 0000000..38f6db8 --- /dev/null +++ b/ui/gfx/image/canvas_image_source.cc @@ -0,0 +1,28 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ui/gfx/image/canvas_image_source.h" + +#include "base/logging.h" +#include "ui/gfx/canvas.h" +#include "ui/base/layout.h" + +namespace gfx { + +//////////////////////////////////////////////////////////////////////////////// +// CanvasImageSource + +CanvasImageSource::CanvasImageSource(const gfx::Size& size, bool is_opaque) + : size_(size), + is_opaque_(is_opaque) { +} + +gfx::ImageSkiaRep CanvasImageSource::GetImageForScale( + ui::ScaleFactor scale_factor) { + gfx::Canvas canvas(size_, scale_factor, is_opaque_); + Draw(&canvas); + return canvas.ExtractImageSkiaRep(); +} + +} // namespace gfx |