<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2009, 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>
    <dimen name="hint_y_offset">64dp</dimen>
    <dimen name="pano_mosaic_surface_height">240dp</dimen>
    <dimen name="pano_review_button_width">70dp</dimen>
    <dimen name="pano_review_button_height">45dp</dimen>
    <dimen name="setting_popup_right_margin">5dp</dimen>
    <dimen name="setting_row_height">50dp</dimen>
    <dimen name="setting_item_text_size">18sp</dimen>
    <dimen name="setting_knob_width">20dp</dimen>
    <dimen name="setting_knob_text_size">20dp</dimen>
    <dimen name="setting_item_text_width">95dp</dimen>
    <dimen name="setting_popup_window_width">240dp</dimen>
    <dimen name="setting_item_list_margin">14dp</dimen>
    <dimen name="indicator_bar_width">48dp</dimen>
    <dimen name="popup_title_text_size">22dp</dimen>
    <dimen name="popup_title_frame_min_height">49dp</dimen>
    <dimen name="big_setting_popup_window_width">320dp</dimen>
    <dimen name="setting_item_icon_width">28dp</dimen>
    <dimen name="effect_setting_item_icon_width">40dp</dimen>
    <dimen name="effect_setting_item_text_size">12sp</dimen>
    <dimen name="effect_setting_type_text_size">12sp</dimen>
    <dimen name="effect_setting_type_text_min_height">36dp</dimen>
    <dimen name="effect_setting_clear_text_size">20dp</dimen>
    <dimen name="effect_setting_clear_text_min_height">45dp</dimen>
    <dimen name="effect_setting_type_text_left_padding">16dp</dimen>
    <dimen name="onscreen_indicators_height">28dp</dimen>
    <dimen name="onscreen_exposure_indicator_text_size">15dp</dimen>
    <dimen name="switch_padding">16dp</dimen>
    <dimen name="switch_min_width">96dp</dimen>
    <dimen name="switch_text_max_width">44dp</dimen>
    <dimen name="thumb_text_padding">12dp</dimen>
    <dimen name="thumb_text_size">14sp</dimen>
    <dimen name="setting_popup_right_margin_large">8dp</dimen>
    <dimen name="setting_row_height_large">54dp</dimen>
    <dimen name="setting_popup_window_width_large">260dp</dimen>
    <dimen name="indicator_bar_width_large">72dp</dimen>
    <dimen name="setting_item_icon_width_large">48dp</dimen>
    <dimen name="onscreen_indicators_height_large">36dp</dimen>
    <dimen name="pano_mosaic_surface_height_xlarge">480dp</dimen>
    <dimen name="pano_review_button_width_xlarge">180dp</dimen>
    <dimen name="pano_review_button_height_xlarge">115dp</dimen>
    <dimen name="setting_row_height_xlarge">50dp</dimen>
    <dimen name="setting_item_text_size_xlarge">21dp</dimen>
    <dimen name="setting_knob_width_xlarge">50dp</dimen>
    <dimen name="setting_item_text_width_xlarge">130dp</dimen>
    <dimen name="setting_popup_window_width_xlarge">410dp</dimen>
    <dimen name="setting_item_list_margin_xlarge">24dp</dimen>
    <dimen name="indicator_bar_width_xlarge">13dp</dimen>
    <dimen name="popup_title_text_size_xlarge">22dp</dimen>
    <dimen name="popup_title_frame_min_height_xlarge">60dp</dimen>
    <dimen name="big_setting_popup_window_width_xlarge">590dp</dimen>
    <dimen name="setting_item_icon_width_xlarge">35dp</dimen>
    <dimen name="effect_setting_item_icon_width_xlarge">54dp</dimen>
    <dimen name="effect_setting_item_text_size_xlarge">21dp</dimen>
    <dimen name="effect_setting_type_text_size_xlarge">21dp</dimen>
    <dimen name="effect_setting_type_text_min_height_xlarge">34dp</dimen>
    <dimen name="effect_setting_clear_text_size_xlarge">23dp</dimen>
    <dimen name="effect_setting_clear_text_min_height_xlarge">44dp</dimen>
    <dimen name="effect_setting_type_text_left_padding_xlarge">26dp</dimen>
    <dimen name="onscreen_indicators_height_xlarge">36dp</dimen>
    <dimen name="onscreen_exposure_indicator_text_size_xlarge">18dp</dimen>
    <dimen name="pie_radius_start">80dp</dimen>
    <dimen name="pie_radius_increment">60dp</dimen>
    <dimen name="pie_touch_slop">12dp</dimen>
    <dimen name="pie_touch_offset">40dp</dimen>
    <dimen name="pie_view_size">48dp</dimen>
    <dimen name="focus_radius_offset">8dp</dimen>
    <dimen name="focus_inner_offset">24dp</dimen>
    <dimen name="focus_outer_stroke">3dp</dimen>
    <dimen name="focus_inner_stroke">2dp</dimen>
    <dimen name="zoom_ring_min">48dp</dimen>
    <dimen name="switcher_size">72dp</dimen>
    <dimen name="face_circle_stroke">2dip</dimen>
    <dimen name="zoom_font_size">14pt</dimen>
    <dimen name="shutter_offset">-22dp</dimen>
    <dimen name="margin_systemui_offset">6dip</dimen>
    <dimen name="size_thumbnail">200dip</dimen>
    <dimen name="size_preview">600dip</dimen>
</resources>
