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 13namespace 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. 18struct 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. 28struct 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. 39struct 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