<?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.

-->
<s:Application    
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:comps="comps.*"
    backgroundColor="0xFFFFFF">
    
	<fx:Style>		
		@namespace s "library://ns.adobe.com/flex/spark";
		@namespace mx "library://ns.adobe.com/flex/mx";		
				
		@font-face {
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
			fontFamily: MyVera;
			embedAsCFF: true;
		}
		
		@font-face {
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
			fontFamily: MyVera;
			fontStyle: italic;
			embedAsCFF: true;
		}
		
		@font-face {
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
			fontFamily: MyVera;
			fontWeight: bold;
			embedAsCFF: true;
		}	
				
		global{
			fontAntiAliasType: "normal";
			fontFamily: MyVera;			
            fontLookup: "embeddedCFF";
		}	
		
	</fx:Style>    

    <fx:Script>
		<![CDATA[		
			public function setLdRTL():void
			{
				cb_m1.setStyle('layoutDirection','rtl');
			}
			
			public function setDRTL():void
			{
				cb_m1.setStyle('direction','rtl');
			}			
		]]>
    </fx:Script>
        
    <s:layout>
        <s:VerticalLayout paddingTop="10" paddingLeft="10"/>
    </s:layout>    

	<s:Panel id="myPanel">
	    <s:layout>
	        <s:VerticalLayout paddingTop="20" paddingLeft="20" paddingBottom="20" paddingRight="20"/>
	    </s:layout>    

		<comps:Custom_CB_M id="cb_m1"/>				
		
	</s:Panel>
	
	<s:Panel id="myPanel2">
	    <s:layout>
	        <s:VerticalLayout paddingTop="20" paddingLeft="20" paddingBottom="20" paddingRight="20"/>
	    </s:layout>   
		
		<comps:Custom_CB_M_RTL id="cb_m2"/>
		
	</s:Panel>	
	
	<comps:myCustomPanel_M id="myPanel3"/>
 
</s:Application>
