OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 UI_BASE_IME_COMPOSITION_TEXT_H_ | 5 #ifndef UI_BASE_IME_COMPOSITION_TEXT_H_ |
6 #define UI_BASE_IME_COMPOSITION_TEXT_H_ | 6 #define UI_BASE_IME_COMPOSITION_TEXT_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/string16.h" | 9 #include "base/string16.h" |
10 #include "ui/base/ime/composition_underline.h" | 10 #include "ui/base/ime/composition_underline.h" |
11 #include "ui/base/range/range.h" | 11 #include "ui/base/range/range.h" |
| 12 #include "ui/ui_api.h" |
12 | 13 |
13 namespace ui { | 14 namespace ui { |
14 | 15 |
15 // A struct represents the status of an ongoing composition text. | 16 // A struct represents the status of an ongoing composition text. |
16 struct CompositionText { | 17 struct UI_API CompositionText { |
17 CompositionText(); | 18 CompositionText(); |
18 ~CompositionText(); | 19 ~CompositionText(); |
19 | 20 |
20 void Clear(); | 21 void Clear(); |
21 | 22 |
22 // Content of the composition text. | 23 // Content of the composition text. |
23 string16 text; | 24 string16 text; |
24 | 25 |
25 // Underline information of the composition text. | 26 // Underline information of the composition text. |
26 // They must be sorted in ascending order by their start_offset and cannot be | 27 // They must be sorted in ascending order by their start_offset and cannot be |
27 // overlapped with each other. | 28 // overlapped with each other. |
28 CompositionUnderlines underlines; | 29 CompositionUnderlines underlines; |
29 | 30 |
30 // Selection range in the composition text. It represents the caret position | 31 // Selection range in the composition text. It represents the caret position |
31 // if the range length is zero. Usually it's used for representing the target | 32 // if the range length is zero. Usually it's used for representing the target |
32 // clause (on Windows). Gtk doesn't have such concept, so background color is | 33 // clause (on Windows). Gtk doesn't have such concept, so background color is |
33 // usually used instead. | 34 // usually used instead. |
34 Range selection; | 35 Range selection; |
35 }; | 36 }; |
36 | 37 |
37 } // namespace ui | 38 } // namespace ui |
38 | 39 |
39 #endif // UI_BASE_IME_COMPOSITION_TEXT_H_ | 40 #endif // UI_BASE_IME_COMPOSITION_TEXT_H_ |
OLD | NEW |