OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_GFX_IMAGE_IMAGE_SKIA_REP_H_ | 5 #ifndef UI_GFX_IMAGE_IMAGE_SKIA_REP_H_ |
6 #define UI_GFX_IMAGE_IMAGE_SKIA_REP_H_ | 6 #define UI_GFX_IMAGE_IMAGE_SKIA_REP_H_ |
7 | 7 |
8 #include "third_party/skia/include/core/SkBitmap.h" | 8 #include "third_party/skia/include/core/SkBitmap.h" |
9 #include "ui/base/layout.h" | 9 #include "ui/base/layout.h" |
10 #include "ui/base/ui_export.h" | 10 #include "ui/base/ui_export.h" |
| 11 #include "ui/gfx/size.h" |
11 | 12 |
12 namespace gfx { | 13 namespace gfx { |
13 class Size; | |
14 | 14 |
15 // An ImageSkiaRep represents a bitmap and the scale factor it is intended for. | 15 // An ImageSkiaRep represents a bitmap and the scale factor it is intended for. |
16 class UI_EXPORT ImageSkiaRep { | 16 class UI_EXPORT ImageSkiaRep { |
17 public: | 17 public: |
18 // Create null bitmap. | 18 // Create null bitmap. |
19 ImageSkiaRep(); | 19 ImageSkiaRep(); |
20 ~ImageSkiaRep(); | 20 ~ImageSkiaRep(); |
21 | 21 |
22 // Creates a bitmap with kARGB_8888_Config config with given |size| in DIP. | 22 // Creates a bitmap with kARGB_8888_Config config with given |size| in DIP. |
23 // This allocates pixels in the bitmap. | 23 // This allocates pixels in the bitmap. |
24 ImageSkiaRep(const gfx::Size& size, ui::ScaleFactor scale_factor); | 24 ImageSkiaRep(const gfx::Size& size, ui::ScaleFactor scale_factor); |
25 | 25 |
26 // Creates a bitmap with given scale factor. | 26 // Creates a bitmap with given scale factor. |
27 // Adds ref to |src|. | 27 // Adds ref to |src|. |
28 ImageSkiaRep(const SkBitmap& src, ui::ScaleFactor scale_factor); | 28 ImageSkiaRep(const SkBitmap& src, ui::ScaleFactor scale_factor); |
29 | 29 |
30 // Returns true if the backing bitmap is null. | 30 // Returns true if the backing bitmap is null. |
31 bool is_null() const { return bitmap_.isNull(); } | 31 bool is_null() const { return bitmap_.isNull(); } |
32 | 32 |
33 // Get width and height of bitmap in DIP. | 33 // Get width and height of bitmap in DIP. |
34 int GetWidth() const; | 34 int GetWidth() const; |
35 int GetHeight() const; | 35 int GetHeight() const; |
36 | 36 |
37 // Get width and height of bitmap in pixels. | 37 // Get width and height of bitmap in pixels. |
38 int pixel_width() const { return bitmap_.width(); } | 38 int pixel_width() const { return bitmap_.width(); } |
39 int pixel_height() const { return bitmap_.height(); } | 39 int pixel_height() const { return bitmap_.height(); } |
| 40 Size pixel_size() const { |
| 41 return Size(pixel_width(), pixel_height()); |
| 42 } |
40 | 43 |
41 // Retrieves the scale that the bitmap will be painted at. | 44 // Retrieves the scale that the bitmap will be painted at. |
42 float GetScale() const; | 45 float GetScale() const; |
43 ui::ScaleFactor scale_factor() const { return scale_factor_; } | 46 ui::ScaleFactor scale_factor() const { return scale_factor_; } |
44 | 47 |
45 // Returns backing bitmap. | 48 // Returns backing bitmap. |
46 const SkBitmap& sk_bitmap() const { return bitmap_; } | 49 const SkBitmap& sk_bitmap() const { return bitmap_; } |
47 | 50 |
48 private: | 51 private: |
49 friend class ImageSkia; | 52 friend class ImageSkia; |
50 SkBitmap& mutable_sk_bitmap() { return bitmap_; } | 53 SkBitmap& mutable_sk_bitmap() { return bitmap_; } |
51 | 54 |
52 SkBitmap bitmap_; | 55 SkBitmap bitmap_; |
53 ui::ScaleFactor scale_factor_; | 56 ui::ScaleFactor scale_factor_; |
54 }; | 57 }; |
55 | 58 |
56 } // namespace gfx | 59 } // namespace gfx |
57 | 60 |
58 #endif // UI_GFX_IMAGE_IMAGE_SKIA_REP_H_ | 61 #endif // UI_GFX_IMAGE_IMAGE_SKIA_REP_H_ |
OLD | NEW |