<?xml version="1.0" encoding="utf-8"?>
<!--

  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.

-->
<mx:Application backgroundColor="0xFFFFFF" backgroundImage="" xmlns:mx="http://www.adobe.com/2006/mxml"  xmlns:comps="comps.*" layout="vertical" height="375" width="500">

    <mx:Style>
        @font-face {
            src: url("../../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Regular.ttf");
            fontFamily: EmbeddedArial;
			embedAsCFF: false;
        }

        @font-face {
			src: url("../../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Bold.ttf");
            fontWeight: bold;
            fontFamily: EmbeddedArial;
			embedAsCFF: false;
        }

        @font-face {
			src: url("../../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Italic.ttf");
            fontStyle: italic;
            fontFamily: EmbeddedArial;
			embedAsCFF: false;
        }

        @font-face {
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
            fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
        }

       @font-face {
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
            fontWeight: bold;
            fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
        }

        @font-face {
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
            fontStyle: italic;
            fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
        }
		
        global{
            fontFamily: EmbeddedVerdana;
            fontAntiAliasType: normal;
        }

        .redText {
           color:  #DD0000;
           fontSize: 14;
        }

        .italicText {
            fontStyle: "italic";
        }

        .boldBig {
            fontSize: 16;
            textDecoration: "underline";
        }

    </mx:Style>

    <mx:Script>
       <![CDATA[

	      [Bindable]
          public var myDP:Array = [
             {product: "Stuffed Peep", colors:"yellow, pink, white"},
             {product:"Care Bars",colors:"brown, pink, blue"},
             {product:"Doll", colors:"green"}
             ];
        ]]>

    </mx:Script>

    <comps:dataGridInCanvasComp id="gridInCanvas" />

    <mx:TextInput id="ti"/>
</mx:Application>
