OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 APP_TEXT_ELIDER_H_ | 5 #ifndef APP_TEXT_ELIDER_H_ |
6 #define APP_TEXT_ELIDER_H_ | 6 #define APP_TEXT_ELIDER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <unicode/coll.h> | 9 #include <unicode/coll.h> |
10 #include <unicode/uchar.h> | 10 #include <unicode/uchar.h> |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 | 81 |
82 // Host name minus 'www.'. Used by Compare. | 82 // Host name minus 'www.'. Used by Compare. |
83 string16 sort_host_; | 83 string16 sort_host_; |
84 | 84 |
85 // End of the prefix (spec and separator) in display_url_. | 85 // End of the prefix (spec and separator) in display_url_. |
86 size_t prefix_end_; | 86 size_t prefix_end_; |
87 | 87 |
88 string16 display_url_; | 88 string16 display_url_; |
89 }; | 89 }; |
90 | 90 |
| 91 // Function to elide strings when the font information is unknown. As |
| 92 // opposed to the above functions, the ElideString() function operates |
| 93 // in terms of character units, not pixels. |
| 94 // If the size of |input| is more than |max_len|, this function returns |
| 95 // true and |input| is shortened into |output| by removing chars in the |
| 96 // middle (they are replaced with up to 3 dots, as size permits). |
| 97 // Ex: ElideString(L"Hello", 10, &str) puts Hello in str and returns false. |
| 98 // ElideString(L"Hello my name is Tom", 10, &str) puts "Hell...Tom" in str |
| 99 // and returns true. |
| 100 // TODO(tsepez): Doesn't handle UTF-16 surrogate pairs properly. |
| 101 // TODO(tsepez): Doesn't handle bidi properly |
| 102 bool ElideString(const std::wstring& input, int max_len, std::wstring* output); |
| 103 |
91 } // namespace gfx. | 104 } // namespace gfx. |
92 | 105 |
93 #endif // APP_TEXT_ELIDER_H_ | 106 #endif // APP_TEXT_ELIDER_H_ |
OLD | NEW |