• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 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 "ui/gfx/image/image_skia_rep.h"
6 
7 #include "base/logging.h"
8 
9 namespace gfx {
10 
ImageSkiaRep()11 ImageSkiaRep::ImageSkiaRep() : scale_(0.0f) {
12 }
13 
~ImageSkiaRep()14 ImageSkiaRep::~ImageSkiaRep() {
15 }
16 
ImageSkiaRep(const gfx::Size & size,float scale)17 ImageSkiaRep::ImageSkiaRep(const gfx::Size& size, float scale) : scale_(scale) {
18   bitmap_.setConfig(SkBitmap::kARGB_8888_Config,
19                     static_cast<int>(size.width() * this->scale()),
20                     static_cast<int>(size.height() * this->scale()));
21   bitmap_.allocPixels();
22   bitmap_.eraseColor(SK_ColorRED);
23 }
24 
ImageSkiaRep(const SkBitmap & src,float scale)25 ImageSkiaRep::ImageSkiaRep(const SkBitmap& src, float scale)
26     : bitmap_(src),
27       scale_(scale) {
28 }
29 
GetWidth() const30 int ImageSkiaRep::GetWidth() const {
31   return static_cast<int>(bitmap_.width() / scale());
32 }
33 
GetHeight() const34 int ImageSkiaRep::GetHeight() const {
35   return static_cast<int>(bitmap_.height() / scale());
36 }
37 
SetScaled()38 void ImageSkiaRep::SetScaled() {
39   DCHECK_EQ(0.0f, scale_);
40   if (scale_ == 0.0f)
41     scale_ = 1.0f;
42 }
43 
44 }  // namespace gfx
45