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 11 ImageSkiaRep::ImageSkiaRep() : scale_(0.0f) { 12 } 13 14 ImageSkiaRep::~ImageSkiaRep() { 15 } 16 17 ImageSkiaRep::ImageSkiaRep(const gfx::Size& size, float scale) : scale_(scale) { 18 bitmap_.allocN32Pixels(static_cast<int>(size.width() * this->scale()), 19 static_cast<int>(size.height() * this->scale())); 20 bitmap_.eraseColor(SK_ColorRED); 21 } 22 23 ImageSkiaRep::ImageSkiaRep(const SkBitmap& src, float scale) 24 : bitmap_(src), 25 scale_(scale) { 26 } 27 28 int ImageSkiaRep::GetWidth() const { 29 return static_cast<int>(bitmap_.width() / scale()); 30 } 31 32 int ImageSkiaRep::GetHeight() const { 33 return static_cast<int>(bitmap_.height() / scale()); 34 } 35 36 void ImageSkiaRep::SetScaled() { 37 DCHECK_EQ(0.0f, scale_); 38 if (scale_ == 0.0f) 39 scale_ = 1.0f; 40 } 41 42 } // namespace gfx 43