<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2014 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>

    <!-- Default background color for the status bar. -->
    <color name="calculator_accent_color">#00BCD4</color>

    <!-- Color to indicate an error has occured. -->
    <color name="calculator_error_color">#F40056</color>

    <!-- Background color of the calculator display. -->
    <color name="display_background_color">#FFF</color>

    <!-- Text color for the formula in the calculator display. -->
    <color name="display_formula_text_color">#8A000000</color>

    <!-- Text color for the result in the calculator display. -->
    <color name="display_result_text_color">#6C000000</color>

    <!-- Background color for the numeric pad. -->
    <color name="pad_numeric_background_color">#434343</color>

    <!-- Background color for the operator pad. -->
    <color name="pad_operator_background_color">#636363</color>

    <!-- Background color for the advanced pad. -->
    <color name="pad_advanced_background_color">#1DE9B6</color>

    <!-- Text color for a button in a pad. -->
    <color name="pad_button_text_color">#FFF</color>

    <!-- Text color for a button in the advanced pad. -->
    <color name="pad_button_advanced_text_color">#91000000</color>

    <!-- Ripple color when a button is pressed in a pad. -->
    <color name="pad_button_ripple_color">#33FFFFFF</color>

    <!-- Ripple color when a button is pressed in a pad. -->
    <color name="pad_button_advanced_ripple_color">#1A000000</color>

</resources>
