<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    layout="vertical"
    verticalScrollPolicy="off"
    horizontalScrollPolicy="off"
    backgroundColor="#FFFFFF"
    backgroundGradientColors="#FFFFFF,#FFFFFF"
    applicationComplete="onApplicationComplete();"
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="srcview/index.html">

    <mx:Script>
        <![CDATA[
            [Embed(source="assets/zoomBlur.pbj", mimeType="application/octet-stream")]
            private var shaderObj:Class;

            private var shader:Shader;

            private var shaderFilter:ShaderFilter;

            /**
             * Initialize the shader
             */
            private function onApplicationComplete():void
            {
                shader = new Shader( new shaderObj() );
                setShader();
            }

            private function setShader():void
            {
                if( enableCheckBox.selected )
                {
                    shader.data.amount.value = [amountSlider.value];
                    shader.data.center.value = [centerXSlider.value, centerYSlider.value];
                    shaderFilter = new ShaderFilter( shader );
                    zoomImage.filters = [shaderFilter];
                }
                else
                {
                    zoomImage.filters = [];
                }
            }
        ]]>
    </mx:Script>

    <mx:Form>
        <mx:FormItem label="Amount">
            <mx:HSlider
                id="amountSlider"
                minimum="0"
                maximum=".5"
                value=".1"
                change="setShader();"
                liveDragging="true" />
        </mx:FormItem>
        <mx:FormItem label="Center X">
            <mx:HSlider
                id="centerXSlider"
                minimum="0"
                maximum="400"
                value="250"
                change="setShader();"
                liveDragging="true" />
        </mx:FormItem>
        <mx:FormItem label="Center Y">
            <mx:HSlider
                id="centerYSlider"
                minimum="0"
                maximum="266"
                value="150"
                change="setShader();"
                liveDragging="true" />
        </mx:FormItem>
        <mx:FormItem label="Enable">
            <mx:CheckBox
                id="enableCheckBox"
                selected="true"
                change="setShader();" />
        </mx:FormItem>
    </mx:Form>

    <mx:Image
        id="zoomImage"
        source="assets/bridge.jpg" />

</mx:Application>