<!--
  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.
-->
<!-- saved from url=(0014)about:internet -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>SampleCameraCapture.mxml</title>
<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
</head>

<body>
<pre><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>
<span class="MXMLComponent_Tag">&lt;s:View</span><span class="MXMLDefault_Text"> xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">"
        xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">" title=&quot;<span class="MXMLString">SampleCameraCapture</span>&quot; creationComplete=&quot;<span class="MXMLString">init(event)</span>&quot;<span class="MXMLComponent_Tag">&gt;</span>

    </span><span class="MXMLSpecial_Tag">&lt;fx:Script&gt;</span>
        &lt;![CDATA[
            
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">filters</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ColorMatrixFilter</span>;
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FlexEvent</span>;
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> myCam:CameraUI;
</span>            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> init(event:FlexEvent):<span class="ActionScriptReserved">void</span>
            {
                <span class="ActionScriptReserved">if</span> (CameraUI.isSupported){
                    currentState = "<span class="MXMLString">normal</span>";
                    myCam = <span class="ActionScriptReserved">new</span> CameraUI();
                    myCam.addEventListener(MediaEvent.COMPLETE, onComplete);
                }
                <span class="ActionScriptReserved">else</span> currentState = "<span class="MXMLString">unsupported</span>";
            }
            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> btnPic_clickHandler(event:MouseEvent):<span class="ActionScriptReserved">void</span>
            {
                img.filters = [];
                myCam.launch(MediaType.IMAGE);
            } 
            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> onComplete(evt:MediaEvent):<span class="ActionScriptReserved">void</span>
            {
                img.source = evt.data.file.url;
            }
            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">applyFilter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">img</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">filters</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span><span class="ActionScriptOperator">==</span>0<span class="ActionScriptBracket/Brace">)</span>
                <span class="ActionScriptBracket/Brace">{</span>
                    <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">matrixArray</span>:<span class="ActionScriptDefault_Text">Array</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">[</span>.33<span class="ActionScriptOperator">,</span>.33<span class="ActionScriptOperator">,</span>.33<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>
                        .33<span class="ActionScriptOperator">,</span>.33<span class="ActionScriptOperator">,</span>.33<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>
                        .33<span class="ActionScriptOperator">,</span>.33<span class="ActionScriptOperator">,</span>.33<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>
                        0<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>0<span class="ActionScriptOperator">,</span>1<span class="ActionScriptOperator">,</span>0<span class="ActionScriptBracket/Brace">]</span>;
                    <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">blackWhiteFilter</span>:<span class="ActionScriptDefault_Text">ColorMatrixFilter</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">ColorMatrixFilter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">matrixArray</span><span class="ActionScriptBracket/Brace">)</span>;
                    <span class="ActionScriptDefault_Text">img</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">filters</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">blackWhiteFilter</span><span class="ActionScriptBracket/Brace">]</span>;
                    <span class="ActionScriptDefault_Text">btnBW</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">label</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">"COLOR"</span>;
                <span class="ActionScriptBracket/Brace">}</span>
                <span class="ActionScriptReserved">else</span> 
                <span class="ActionScriptBracket/Brace">{</span>
                    <span class="ActionScriptDefault_Text">img</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">filters</span> <span class="ActionScriptOperator">=</span> [];
                    <span class="ActionScriptDefault_Text">btnBW</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">label</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">"BLACK WHITE FILTER"</span>;
                <span class="ActionScriptBracket/Brace">}</span>
            <span class="ActionScriptBracket/Brace">}</span>
        <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">&gt;</span>
    <span class="MXMLSpecial_Tag">&lt;/fx:Script&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:states&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">unsupported</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/s:states&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:layout&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:VerticalLayout</span><span class="MXMLDefault_Text"> paddingTop="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" paddingBottom="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" paddingLeft="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">" paddingRight="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" gap="</span><span class="MXMLString">40</span><span class="MXMLDefault_Text">" 
                          horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" verticalAlign="</span><span class="MXMLString">middle</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/s:layout&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">This device does not support CameraUI.</span><span class="MXMLDefault_Text">" width="</span><span class="MXMLString">95%</span><span class="MXMLDefault_Text">" includeIn="</span><span class="MXMLString">unsupported</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;s:HGroup</span><span class="MXMLDefault_Text"> includeIn="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:Button</span> id="<span class="MXMLString">btnPic</span>" click="btnPic_clickHandler(event)" label="<span class="MXMLString">TAKE A PICTURE</span>" width="<span class="MXMLString">220</span>" height="<span class="MXMLString">93</span>"/&gt;
        <span class="MXMLComponent_Tag">&lt;s:Button</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">btnBW</span><span class="MXMLDefault_Text">" click="</span><span class="ActionScriptDefault_Text">applyFilter</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLDefault_Text">" label="</span><span class="MXMLString">BLACK WHITE FILTER</span><span class="MXMLDefault_Text">" width="</span><span class="MXMLString">220</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">93</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/s:HGroup&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:Image</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">img</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">649</span><span class="MXMLDefault_Text">" y="</span><span class="MXMLString">124</span><span class="MXMLDefault_Text">" width="</span><span class="MXMLString">460</span><span class="MXMLDefault_Text">" x="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>    
<span class="MXMLComponent_Tag">&lt;/s:View&gt;</span></pre></body>
</html>
