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

Unified Diff: ui/base/text/text_elider.h

Issue 7348010: Added Header and Footer support using Skia (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added Headers and Footers support - New Snapshot Uploaded Created 9 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: ui/base/text/text_elider.h
diff --git a/ui/base/text/text_elider.h b/ui/base/text/text_elider.h
index 5dd3dc5c5250b68ad1df965fab84aba86c062505..a5e4206146abb5ddb006c6c70a7f0ea636a2a33b 100644
--- a/ui/base/text/text_elider.h
+++ b/ui/base/text/text_elider.h
@@ -12,6 +12,8 @@
#include "base/basictypes.h"
#include "base/string16.h"
#include "ui/gfx/font.h"
+#include "third_party/skia/include/core/SkPaint.h"
+#include "third_party/skia/include/core/SkScalar.h"
class FilePath;
class GURL;
@@ -20,6 +22,13 @@ namespace ui {
extern const char kEllipsis[];
+// Specifies what type of object is passed into the Elide functions.
+// These are used to measure the width of the text string.
+enum ObjectType {
+ Skia_Paint, // SkPaint object.
+ GFX_Font // gfx::Font object.
+};
+
// This function takes a GURL object and elides it. It returns a string
// which composed of parts from subdomain, domain, path, filename and query.
// A "..." is added automatically at the end if the elided string is bigger
@@ -38,6 +47,24 @@ string16 ElideUrl(const GURL& url,
int available_pixel_width,
const std::string& languages);
+// Overloaded function.
+// Takes a SkPaint object to determine the width of the text on the screen.
+string16 ElideUrl(const GURL& url,
+ const SkPaint paint,
+ SkScalar available_point_width,
+ const std::string& languages);
+
+// Overloaded function.
+// The |font_or_paint| argument is a pointer to either a Font or Paint object
+// and that is specified in the |object_type| parameter.
+// Depending on what type of object is passed, the appropriate function is
+// called to measure the width of the text.
+string16 ElideUrl(const GURL& url,
Lei Zhang 2011/07/12 22:04:50 You shouldn't expose the internal implementation.
Aayush Kumar 2011/07/13 21:52:16 Done.
+ void* font_or_paint,
+ int available_pixel_width,
+ const std::string& languages,
+ ObjectType object_type);
+
// Elides |text| to fit in |available_pixel_width|. If |elide_in_middle| is
// set the ellipsis is placed in the middle of the string; otherwise it is
// placed at the end.
@@ -46,6 +73,24 @@ string16 ElideText(const string16& text,
int available_pixel_width,
bool elide_in_middle);
+// Overloaded function.
+// Takes a SkPaint object to determine the width of the text on the screen.
+string16 ElideText(const string16& text,
+ const SkPaint paint,
+ SkScalar available_point_width,
+ bool elide_in_middle);
+
+// Overloaded function.
+// The |font_or_paint| argument is a pointer to either a Font or Paint object
+// and that is specified in the |object_type| parameter.
+// Depending on what type of object is passed, the appropriate function is
+// called to measure the width of the text.
+string16 ElideText(const string16& text,
+ void* font_or_paint,
+ SkScalar available_pixel_width,
+ bool elide_in_middle,
+ ObjectType object_type);
+
// Elide a filename to fit a given pixel width, with an emphasis on not hiding
// the extension unless we have to. If filename contains a path, the path will
// be removed if filename doesn't fit into available_pixel_width. The elided

Powered by Google App Engine
This is Rietveld 408576698