<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="PadButtonStyle" parent="Widget.Material3.Button">
        <item name="android:layout_width">0dip</item>
        <item name="android:layout_height">0dip</item>
        <item name="android:gravity">center</item>
        <item name="android:includeFontPadding">false</item>
        <item name="android:textSize">46dip</item>
        <item name="android:onClick">onButtonClick</item>
        <item name="android:fontFeatureSettings">tnum, cv03, cv04</item>
        <item name="android:layout_marginHorizontal">4dp</item>
    </style>

    <style name="PadButtonStyle.Image">
        <item name="iconGravity">textStart</item>
        <item name="iconPadding">0dp</item>
        <item name="iconSize">42dp</item>
    </style>

    <style name="PadButtonStyle.SmallCaps">
        <item name="textAllCaps">true</item>
        <item name="android:textSize">32dip</item>
    </style>

    <style name="PadButtonStyle.SmallText">
        <item name="android:textSize">36dip</item>
    </style>

    <style name="PadLayoutStyle.Advanced">
        <item name="android:layout_height">0dip</item>
        <item name="android:layout_weight">100</item>
        <item name="android:paddingTop">2dip</item>
        <item name="android:paddingBottom">8dip</item>
        <item name="android:paddingStart">18dip</item>
        <item name="android:paddingEnd">18dip</item>
    </style>

	<style name="PadLayoutStyle.OperatorAux">
        <item name="android:layout_height">0dip</item>
        <item name="android:layout_weight">200</item>
        <item name="android:paddingTop">8dip</item>
        <item name="android:paddingBottom">0dip</item>
        <item name="android:paddingStart">8dip</item>
        <item name="android:paddingEnd">8dip</item>
    </style>

    <style name="PadLayoutStyle.Numeric">
        <item name="android:layout_width">0dip</item>
        <item name="android:layout_weight">750</item>
        <item name="android:paddingTop">0dip</item>
        <item name="android:paddingBottom">8dip</item>
        <item name="android:paddingStart">8dip</item>
        <item name="android:paddingEnd">0dip</item>
    </style>

    <style name="PadLayoutStyle.Operator">
        <item name="android:layout_width">0dip</item>
        <item name="android:layout_weight">250</item>
        <item name="android:paddingTop">0dip</item>
        <item name="android:paddingBottom">8dip</item>
        <item name="android:paddingStart">0dip</item>
        <item name="android:paddingEnd">8dip</item>
    </style>

</resources>
