• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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