1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_METRO_VIEWER_IME_TYPES_H_ 6 #define UI_METRO_VIEWER_IME_TYPES_H_ 7 8 #include <vector> 9 10 #include "base/basictypes.h" 11 #include "base/strings/string16.h" 12 13 namespace metro_viewer { 14 15 // An equivalent to ui::CompositionUnderline defined in 16 // "ui/base/ime/composition_underline.h". Redefined here to avoid dependency 17 // on ui.gyp from metro_driver.gyp. 18 struct UnderlineInfo { 19 UnderlineInfo(); 20 int32 start_offset; 21 int32 end_offset; 22 bool thick; 23 }; 24 25 // An equivalent to ui::CompositionText defined in 26 // "ui/base/ime/composition_text.h". Redefined here to avoid dependency 27 // on ui.gyp from metro_driver.gyp. 28 struct Composition { 29 Composition(); 30 ~Composition(); 31 base::string16 text; 32 int32 selection_start; 33 int32 selection_end; 34 std::vector<UnderlineInfo> underlines; 35 }; 36 37 // An equivalent to Win32 RECT structure. This can be gfx::Rect but redefined 38 // here to avoid dependency on gfx.gyp from metro_driver.gyp. 39 struct CharacterBounds { 40 CharacterBounds(); 41 int32 left; 42 int32 top; 43 int32 right; 44 int32 bottom; 45 }; 46 47 } // namespace metro_viewer 48 49 #endif // UI_METRO_VIEWER_IME_TYPES_H_ 50