<?xml version="1.0" encoding="utf-8"?>
<!--
 Copyright 2010-2014, Google Inc.
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
 met:

     * Redistributions of source code must retain the above copyright
 notice, this list of conditions and the following disclaimer.
     * Redistributions in binary form must reproduce the above
 copyright notice, this list of conditions and the following disclaimer
 in the documentation and/or other materials provided with the
 distribution.
     * Neither the name of Google Inc. nor the names of its
 contributors may be used to endorse or promote products derived from
 this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<!-- This is intended to be used for:
     - Volantis (1024 x 768 dp, screenHeightDp: 951 dp)
     - Nexus10 (1280 x 800 dp, screenHeightDp: 1207 dp)
     And larger ones than above.
-->
<resources>

  <!-- symbol_view_major_category_height = input_frame_height / 4 (3 is for candidate rows, 1 is for major category) -->
  <dimen name="symbol_view_major_category_height">75.75dip</dimen>

  <!--
       ime_window_height = input_frame_height + (candidate_text_size + candidate_vertical_padding_size * 2) * n
       n = 2 for portrait. Otherwise n = 1.
    -->
  <dimen name="ime_window_height">403dip</dimen>
  <dimen name="input_frame_height">303dip</dimen>

  <!-- symbol_view_height = input_frame_height + (candidate_text_size + candidate_vertical_padding_size * 2) -->
  <dimen name="symbol_view_height">353dip</dimen>
  <!-- symbol_view_number_keyboard_height = input_frame_height - symbol_view_major_category_height -->
  <dimen name="symbol_view_number_keyboard_height">227.25dip</dimen>

  <!-- Character size of keyboard, depending on the screen size. -->
  <dimen name="keyboard_qwerty_default_height">47dip</dimen>
  <dimen name="keyboard_twelvekeys_default_height">75dip</dimen>
  <dimen name="keyboard_godan_default_height">51dip</dimen>

  <!-- 20% bigger than default. -->
  <dimen name="symbol_close_button_width">41dip</dimen>
  <dimen name="symbol_major_emoji_disable_icon_height">19dip</dimen>
  <dimen name="symbol_major_emoji_height">24dip</dimen>
  <dimen name="symbol_major_emoticon_height">20dip</dimen>
  <dimen name="symbol_major_number_height">17dip</dimen>
  <dimen name="symbol_major_symbol_height">20dip</dimen>
  <dimen name="symbol_minor_default_height">24dip</dimen>
  <dimen name="symbol_minor_emoticon_height">19dip</dimen>

</resources>
