Index: ui/gfx/image/image_util.h |
diff --git a/ui/gfx/image/image_util.h b/ui/gfx/image/image_util.h |
index f33835ca2321b970de526bfffb57a18cc50d46c7..2711850dc96292cbcd4b5add7a428b8570140c94 100644 |
--- a/ui/gfx/image/image_util.h |
+++ b/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_ |