Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(229)

Side by Side Diff: ui/gfx/image/image_skia_operations.h

Issue 10783015: Add ability to store hidpi theme images in data pack (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/image/image_skia.cc ('k') | ui/gfx/image/image_skia_operations.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_SKIA_OPERATIONS_H_ 5 #ifndef UI_GFX_IMAGE_SKIA_OPERATIONS_H_
6 #define UI_GFX_IMAGE_SKIA_OPERATIONS_H_ 6 #define UI_GFX_IMAGE_SKIA_OPERATIONS_H_
7 7
8 #include "base/gtest_prod_util.h" 8 #include "base/gtest_prod_util.h"
9 #include "ui/base/ui_export.h" 9 #include "ui/base/ui_export.h"
10 #include "ui/gfx/color_utils.h"
10 #include "ui/gfx/shadow_value.h" 11 #include "ui/gfx/shadow_value.h"
11 12
12 namespace gfx { 13 namespace gfx {
13 class ImageSkia; 14 class ImageSkia;
14 class Rect; 15 class Rect;
15 class Size; 16 class Size;
16 17
17 class UI_EXPORT ImageSkiaOperations { 18 class UI_EXPORT ImageSkiaOperations {
18 public: 19 public:
19 // Create an image that is a blend of two others. The alpha argument 20 // Create an image that is a blend of two others. The alpha argument
20 // specifies the opacity of the second imag. The provided image must 21 // specifies the opacity of the second imag. The provided image must
21 // use the kARGB_8888_Config config and be of equal dimensions. 22 // use the kARGB_8888_Config config and be of equal dimensions.
22 static ImageSkia CreateBlendedImage(const ImageSkia& first, 23 static ImageSkia CreateBlendedImage(const ImageSkia& first,
23 const ImageSkia& second, 24 const ImageSkia& second,
24 double alpha); 25 double alpha);
25 26
26 // Create an image that is the original image masked out by the mask defined 27 // Create an image that is the original image masked out by the mask defined
27 // in the alpha image. The images must use the kARGB_8888_Config config and 28 // in the alpha image. The images must use the kARGB_8888_Config config and
28 // be of equal dimensions. 29 // be of equal dimensions.
29 static ImageSkia CreateMaskedImage(const ImageSkia& first, 30 static ImageSkia CreateMaskedImage(const ImageSkia& first,
30 const ImageSkia& alpha); 31 const ImageSkia& alpha);
31 32
32 // Create an image that is cropped from another image. This is special 33 // Create an image that is cropped from another image. This is special
33 // because it tiles the original image, so your coordinates can extend 34 // because it tiles the original image, so your coordinates can extend
34 // outside the bounds of the original image. 35 // outside the bounds of the original image.
35 static ImageSkia CreateTiledImage(const ImageSkia& image, 36 static ImageSkia CreateTiledImage(const ImageSkia& image,
36 int src_x, int src_y, 37 int src_x, int src_y,
37 int dst_w, int dst_h); 38 int dst_w, int dst_h);
38 39
40 // Shift an image's HSL values. The shift values are in the range of 0-1,
41 // with the option to specify -1 for 'no change'. The shift values are
42 // defined as:
43 // hsl_shift[0] (hue): The absolute hue value for the image - 0 and 1 map
44 // to 0 and 360 on the hue color wheel (red).
45 // hsl_shift[1] (saturation): A saturation shift for the image, with the
46 // following key values:
47 // 0 = remove all color.
48 // 0.5 = leave unchanged.
49 // 1 = fully saturate the image.
50 // hsl_shift[2] (lightness): A lightness shift for the image, with the
51 // following key values:
52 // 0 = remove all lightness (make all pixels black).
53 // 0.5 = leave unchanged.
54 // 1 = full lightness (make all pixels white).
55 static ImageSkia CreateHSLShiftedImage(const gfx::ImageSkia& image,
56 const color_utils::HSL& hsl_shift);
57
39 // Creates a button background image by compositing the color and image 58 // Creates a button background image by compositing the color and image
40 // together, then applying the mask. This is a highly specialized composite 59 // together, then applying the mask. This is a highly specialized composite
41 // operation that is the equivalent of drawing a background in |color|, 60 // operation that is the equivalent of drawing a background in |color|,
42 // tiling |image| over the top, and then masking the result out with |mask|. 61 // tiling |image| over the top, and then masking the result out with |mask|.
43 // The images must use kARGB_8888_Config config. 62 // The images must use kARGB_8888_Config config.
44 static ImageSkia CreateButtonBackground(SkColor color, 63 static ImageSkia CreateButtonBackground(SkColor color,
45 const gfx::ImageSkia& image, 64 const gfx::ImageSkia& image,
46 const gfx::ImageSkia& mask); 65 const gfx::ImageSkia& mask);
47 66
48 // Returns an image which is a subset of |image| with bounds |subset_bounds|. 67 // Returns an image which is a subset of |image| with bounds |subset_bounds|.
49 // The |image| cannot use kA1_Config config. 68 // The |image| cannot use kA1_Config config.
50 static ImageSkia ExtractSubset(const gfx::ImageSkia& image, 69 static ImageSkia ExtractSubset(const gfx::ImageSkia& image,
51 const gfx::Rect& subset_bounds); 70 const gfx::Rect& subset_bounds);
52 71
53 // Creates an image by resizing |source| to given |target_dip_size|. 72 // Creates an image by resizing |source| to given |target_dip_size|.
54 static ImageSkia CreateResizedImage(const ImageSkia& source, 73 static ImageSkia CreateResizedImage(const ImageSkia& source,
55 const Size& target_dip_size); 74 const Size& target_dip_size);
56 75
57 // Creates an image with drop shadow defined in |shadows| for |source|. 76 // Creates an image with drop shadow defined in |shadows| for |source|.
58 static ImageSkia CreateImageWithDropShadow(const ImageSkia& source, 77 static ImageSkia CreateImageWithDropShadow(const ImageSkia& source,
59 const ShadowValues& shadows); 78 const ShadowValues& shadows);
60 79
61 private: 80 private:
62 ImageSkiaOperations(); // Class for scoping only. 81 ImageSkiaOperations(); // Class for scoping only.
63 }; 82 };
64 83
65 } // namespace gfx 84 } // namespace gfx
66 85
67 #endif // UI_GFX_IMAGE_IMAGE_SKIA_OPERATIONS_H_ 86 #endif // UI_GFX_IMAGE_IMAGE_SKIA_OPERATIONS_H_
OLDNEW
« no previous file with comments | « ui/gfx/image/image_skia.cc ('k') | ui/gfx/image/image_skia_operations.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698