<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You 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.
  -->

<!-- Simple example to demonstrate the Resize effect. -->
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx"
				paddingBottom="0" paddingTop="0" paddingLeft="0" paddingRight="0"
				height="100%" width="100%">

	<fx:Declarations>
   		<mx:Resize id="expand" target="{img}" widthTo="100" heightTo="200"/>
    	<mx:Resize id="contract" target="{img}" widthTo="30" heightTo="60"/>
	</fx:Declarations>

    <mx:Panel title="Resize Effect Example"
				paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10"
				height="100%" width="100%">

        <mx:Text width="100%" 
            text="Use the Button controls to resize the image."/>

        <mx:Image id="img" width="30" height="60"
            source="@Embed(source='assets/ApacheFlexLogo.png')"/>

        <mx:ControlBar>
            <mx:Button label="Expand" click="expand.end(); expand.play()"/>
            <mx:Button label="Contract" click="contract.end(); contract.play()"/>
        </mx:ControlBar>

    </mx:Panel>
</mx:Module>
