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

<!--

    ADOBE SYSTEMS INCORPORATED
    Copyright 2008 Adobe Systems Incorporated
    All Rights Reserved.

    NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the license agreement accompanying it.

-->

<!--- The default skin class for the Spark CheckBox component.  

      @see spark.components.CheckBox
        
      @langversion 3.0
      @playerversion Flash 10
      @playerversion AIR 1.5
      @productversion Flex 4
-->
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
             xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabledStates="0.5" buttonMode="true">

    <fx:Metadata>
    <![CDATA[ 
        /** 
         * @copy spark.skins.spark.ApplicationSkin#hostComponent
         */
        [HostComponent("spark.components.CheckBox")]
    ]]>
    </fx:Metadata> 
    
    <fx:Script fb:purpose="styling">
        /* Define the skin elements that should not be colorized. 
           For button, the graphics are colorized but the label is not. */
        
        static private const exclusions:Array = ["labelDisplay", "check", "checkMarkFill"];

       /** 
        * @private 
        */     
        override public function get colorizeExclusions():Array {return exclusions;}
        
        /* Define the symbol fill items that should be colored by the "symbolColor" style. */
        static private const symbols:Array = [];

       /**
        * @private 
        */
        override public function get symbolItems():Array {return symbols};
        
        /**
         * @private
         */
        override protected function initializationComplete():void
        {
            useChromeColor = true;
            super.initializationComplete();
        }
    </fx:Script>
    
    <fx:Script>
        <![CDATA[
            /** 
             * @private 
             */     
            private static const focusExclusions:Array = ["labelDisplay"];

            /**
             * @private
             */
            override public function get focusSkinExclusions():Array { return focusExclusions;};
            
            
            [Bindable]public var showLabel:Boolean = true;
        ]]>
    </fx:Script>
    
    <s:states>
        <s:State name="up" />
        <s:State name="over" stateGroups="overStates" />
        <s:State name="down" stateGroups="downStates" />
        <s:State name="disabled" stateGroups="disabledStates" />
        <s:State name="upAndSelected" stateGroups="selectedStates" />
        <s:State name="overAndSelected" stateGroups="overStates, selectedStates" />
        <s:State name="downAndSelected" stateGroups="downStates, selectedStates" />
        <s:State name="disabledAndSelected" stateGroups="disabledStates, selectedStates" />
    </s:states>
    


    <!-- Label -->
    <!--- @copy spark.components.supportClasses.ButtonBase#labelDisplay -->
    <s:Label id="labelDisplay"
             textAlign="start"
             verticalAlign="middle"
             maxDisplayedLines="3" fontFamily="universMediumCFF"
             paddingLeft="10" 
             left="16" right="0" top="3" bottom="3" verticalCenter="2" text="Text"/>
    
    <s:Ellipse width="16" height="16" y="1" id="base">
        <s:stroke>
            <s:LinearGradientStroke rotation="90" weight="1">
                <s:GradientEntry color="0x000000" 
                               alpha="0.1"
                               />
                <s:GradientEntry color="0x000000" 
                               alpha="0.5"
                               />
            </s:LinearGradientStroke>
        </s:stroke>
    </s:Ellipse>
    
    <s:Ellipse width="16" height="16" y="1">
        <s:fill>
            <s:SolidColor color="0xffffff" alpha="1" />
        </s:fill>
    </s:Ellipse>
    
    
    <s:Path data="M 4 7 L 8 12 L 19 0 M 19 0 Z" visible="false" visible.down="true" visible.selectedStates="true">
        <s:filters>
            <s:DropShadowFilter color="0x0" blurX="4" blurY="4" alpha=".3" distance="0"  />
        </s:filters>
        <s:stroke>
            <s:LinearGradientStroke weight="3" rotation="90">
                <s:GradientEntry color="0xb2db3e" />
                <s:GradientEntry color="0x8cad2f" />
            </s:LinearGradientStroke>
        </s:stroke>
    </s:Path>
    
    

</s:SparkSkin>