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