<?xml version="1.0" encoding="utf-8"?>

<!--
   Copyright 2018 Google LLC

   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>
    <string name="app_name">Hello CanvasAR</string>

    <!-- Palette Strings -->
    <string name="palette_red">Red</string>
    <string name="palette_green">Green</string>
    <string name="palette_reset">Reset Painting</string>

    <!-- Main Menu Strings -->
    <string name="menu_painting_smooth">Smooth Painting</string>
    <string name="menu_drawable_circle">Circle</string>
    <string name="menu_drawable_rect">Rect</string>
    <string name="menu_drawable_text">Text</string>
    <string name="menu_drawable_animation">Animation</string>
</resources>
