Home | History | Annotate | Download | only in metro_viewer
      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