<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources>
    <style name="KeyboardTheme.Stone.Bold" parent="KeyboardIcons.Black">
        <item name="keyboardStyle">@style/Keyboard.Stone.Bold</item>
        <item name="keyboardViewStyle">@style/KeyboardView.Stone.Bold</item>
        <item name="mainKeyboardViewStyle">@style/MainKeyboardView.Stone.Bold</item>
        <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.Stone</item>
        <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.Stone</item>
        <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle</item>
        <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
        <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle</item>
        <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
        <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
    </style>
</resources>
