<!--
 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"
        android:height="64dp"
        android:width="64dp"
        android:viewportHeight="400"
        android:viewportWidth="400" >

    <group android:name="backgroundGroup"
        android:alpha = "0.5" >
        <path
            android:name="background1"
            android:fillColor="#FF000000"
            android:pathData="M 0,0 l 200,0 l 0, 200 l -200, 0 z" />
        <path
            android:name="background2"
            android:fillColor="#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="M 0,0 v 100 M 0,0 h 100"
            android:strokeColor="#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="M 0,0 v 100 M 0,0 h 100"
                android:strokeColor="#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="M 0,0 v 100 M 0,0 h 100"
                        android:strokeColor="#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="M 0,0 v 100 M 0,0 h 100"
                        android:strokeColor="#FF0000FF"
                        android:strokeWidth="20" />
                </group>
            </group>
        </group>
    </group>

</vector>