summaryrefslogtreecommitdiffstats
path: root/app/text_elider.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/text_elider.h')
-rw-r--r--app/text_elider.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/text_elider.h b/app/text_elider.h
index 36d12ae..c0d6c33 100644
--- a/app/text_elider.h
+++ b/app/text_elider.h
@@ -88,6 +88,19 @@ class SortedDisplayURL {
string16 display_url_;
};
+// Function to elide strings when the font information is unknown. As
+// opposed to the above functions, the ElideString() function operates
+// in terms of character units, not pixels.
+// If the size of |input| is more than |max_len|, this function returns
+// true and |input| is shortened into |output| by removing chars in the
+// middle (they are replaced with up to 3 dots, as size permits).
+// Ex: ElideString(L"Hello", 10, &str) puts Hello in str and returns false.
+// ElideString(L"Hello my name is Tom", 10, &str) puts "Hell...Tom" in str
+// and returns true.
+// TODO(tsepez): Doesn't handle UTF-16 surrogate pairs properly.
+// TODO(tsepez): Doesn't handle bidi properly
+bool ElideString(const std::wstring& input, int max_len, std::wstring* output);
+
} // namespace gfx.
#endif // APP_TEXT_ELIDER_H_