diff options
Diffstat (limited to 'chromium/ui/gfx/image/image_util.h')
-rw-r--r-- | chromium/ui/gfx/image/image_util.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/chromium/ui/gfx/image/image_util.h b/chromium/ui/gfx/image/image_util.h index f33835ca232..2711850dc96 100644 --- a/chromium/ui/gfx/image/image_util.h +++ b/chromium/ui/gfx/image/image_util.h @@ -12,6 +12,7 @@ namespace gfx { class Image; +class ImageSkia; } namespace gfx { @@ -31,6 +32,22 @@ GFX_EXPORT bool JPEG1xEncodedDataFromImage(const Image& image, int quality, std::vector<unsigned char>* dst); +// Returns the visible (non-transparent) width of the 1x rep of the given +// image. If the image has no transparency, the leading value will be 0 and +// the trailing will be the image width. Return values are in the 1x width +// pixel units. Margins are given in 0-based column format. So if the image +// has only transparent pixels in columns 0, 1, 2, 3, then the leading value +// will be 4. Similarly, if there are all transparent pixels in column +// width-2, width-1, then the trailing margin value will be width-3. +// Returns true if the value is computed from opacity, false if it is a +// default value because of null image, missing Rep, etc. +// This method is only suitable for fairly small images (i.e. 16x16). +// The margins for a completely transparent image will be w/2-1, w/2, but this +// will be an expensive operation: it isn't expected that it will be frequently +// calculated. +GFX_EXPORT bool VisibleMargins(const ImageSkia& image, + int* leading, int* trailing); + } // namespace gfx #endif // UI_GFX_IMAGE_IMAGE_UTIL_H_ |