<?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>

    <!-- The margin between the pad pages when displayed using a view pager. -->
    <dimen name="pad_page_margin">24dip</dimen>

    <dimen name="history_divider_padding">14dip</dimen>

    <dimen name="history_item_text_padding_top">8dip</dimen>
    <dimen name="history_item_text_padding_bottom">16dip</dimen>

    <!-- Dimens for display formula. -->
    <dimen name="formula_padding_top">0dip</dimen>
    <dimen name="formula_padding_bottom">8dip</dimen>
    <dimen name="formula_padding_start">16dip</dimen>
    <dimen name="formula_padding_end">16dip</dimen>
    <dimen name="formula_min_textsize">28dip</dimen>
    <dimen name="formula_max_textsize">28dip</dimen>
    <dimen name="formula_step_textsize">8dip</dimen>

    <!-- Dimens for display result. -->
    <dimen name="result_padding_top">0dip</dimen>
    <dimen name="result_padding_bottom">8dip</dimen>
    <dimen name="result_padding_start">16dip</dimen>
    <dimen name="result_padding_end">16dip</dimen>
    <dimen name="result_textsize">28dip</dimen>

</resources>