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.
5 #ifndef UI_GFX_IMAGE_IMAGE_SKIA_REP_H_
6 #define UI_GFX_IMAGE_IMAGE_SKIA_REP_H_
8 #include "third_party/skia/include/core/SkBitmap.h"
9 #include "ui/base/layout.h"
10 #include "ui/base/ui_export.h"
11 #include "ui/gfx/size.h"
15 // An ImageSkiaRep represents a bitmap and the scale factor it is intended for.
16 class UI_EXPORT ImageSkiaRep
{
18 // Create null bitmap.
22 // Creates a bitmap with kARGB_8888_Config config with given |size| in DIP.
23 // This allocates pixels in the bitmap.
24 ImageSkiaRep(const gfx::Size
& size
, ui::ScaleFactor scale_factor
);
26 // Creates a bitmap with given scale factor.
28 ImageSkiaRep(const SkBitmap
& src
, ui::ScaleFactor scale_factor
);
30 // Returns true if the backing bitmap is null.
31 bool is_null() const { return bitmap_
.isNull(); }
33 // Get width and height of bitmap in DIP.
35 int GetHeight() const;
37 // Get width and height of bitmap in pixels.
38 int pixel_width() const { return bitmap_
.width(); }
39 int pixel_height() const { return bitmap_
.height(); }
40 Size
pixel_size() const {
41 return Size(pixel_width(), pixel_height());
44 // Retrieves the scale that the bitmap will be painted at.
45 float GetScale() const;
46 ui::ScaleFactor
scale_factor() const { return scale_factor_
; }
48 // Returns backing bitmap.
49 const SkBitmap
& sk_bitmap() const { return bitmap_
; }
52 friend class ImageSkia
;
53 SkBitmap
& mutable_sk_bitmap() { return bitmap_
; }
56 ui::ScaleFactor scale_factor_
;
61 #endif // UI_GFX_IMAGE_IMAGE_SKIA_REP_H_