<!--
 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" >

    <size
        android:height="64dp"
        android:width="64dp" />

    <viewport
        android:viewportHeight="400"
        android:viewportWidth="400" />

    <group android:name="backgroundGroup"
        android:alpha = "0.5" >
        <path
            android:name="background1"
            android:fill="#FF000000"
            android:pathData="M 0,0 l 200,0 l 0, 200 l -200, 0 z" />
        <path
            android:name="background2"
            android:fill="#FF000000"
            android:pathData="M 200,200 l 200,0 l 0, 200 l -200, 0 z" />
    </group>
    <group
        android:name="translateToCenterGroup"
        android:translateX="50.0"
        android:translateY="90.0"
        android:alpha = "0.5" >
        <path
            android:name="twoLines"
            android:pathData="@string/twoLinePathData"
            android:stroke="#FFFF0000"
            android:strokeWidth="20" />

        <group
            android:name="rotationGroup"
            android:pivotX="0.0"
            android:pivotY="0.0"
            android:rotation="-45.0"
            android:alpha = "0.5" >
            <path
                android:name="twoLines1"
                android:pathData="@string/twoLinePathData"
                android:stroke="#FF00FF00"
                android:strokeWidth="20" />

            <group
                android:name="translateGroup"
                android:translateX="130.0"
                android:translateY="160.0"
                android:alpha = "0.5">
                <group android:name="scaleGroup" >
                    <path
                        android:name="twoLines3"
                        android:pathData="@string/twoLinePathData"
                        android:stroke="#FF0000FF"
                        android:strokeWidth="20" />
                </group>
            </group>

            <group
                android:name="translateGroupHalf"
                android:translateX="65.0"
                android:translateY="80.0"
                android:alpha = "0.5">
                <group android:name="scaleGroup" >
                    <path
                        android:name="twoLines2"
                        android:pathData="@string/twoLinePathData"
                        android:fill="?android:attr/colorForeground"
                        android:stroke="?android:attr/colorForeground"
                        android:strokeWidth="20" />
                </group>
            </group>
        </group>
    </group>

</vector>