| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef UI_METRO_VIEWER_IME_TYPES_H_ |
| #define UI_METRO_VIEWER_IME_TYPES_H_ |
| |
| #include <vector> |
| |
| #include "base/basictypes.h" |
| #include "base/strings/string16.h" |
| |
| namespace metro_viewer { |
| |
| // An equivalent to ui::CompositionUnderline defined in |
| // "ui/base/ime/composition_underline.h". Redefined here to avoid dependency |
| // on ui.gyp from metro_driver.gyp. |
| struct UnderlineInfo { |
| UnderlineInfo(); |
| int32 start_offset; |
| int32 end_offset; |
| bool thick; |
| }; |
| |
| // An equivalent to ui::CompositionText defined in |
| // "ui/base/ime/composition_text.h". Redefined here to avoid dependency |
| // on ui.gyp from metro_driver.gyp. |
| struct Composition { |
| Composition(); |
| ~Composition(); |
| base::string16 text; |
| int32 selection_start; |
| int32 selection_end; |
| std::vector<UnderlineInfo> underlines; |
| }; |
| |
| // An equivalent to Win32 RECT structure. This can be gfx::Rect but redefined |
| // here to avoid dependency on gfx.gyp from metro_driver.gyp. |
| struct CharacterBounds { |
| CharacterBounds(); |
| int32 left; |
| int32 top; |
| int32 right; |
| int32 bottom; |
| }; |
| |
| } // namespace metro_viewer |
| |
| #endif // UI_METRO_VIEWER_IME_TYPES_H_ |