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

-->
<!-- Christophe Coenraets, http://coenraets.org -->
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
		xmlns:s="library://ns.adobe.com/flex/spark">
	<!-- host component -->
	<fx:Metadata>
		[HostComponent("spark.components.ActionBar")]
	</fx:Metadata>
	
	<!-- states -->
	<s:states>
		<s:State name="titleContentWithActionAndNavigation" />
		<s:State name="titleContentWithNavigation" />
		<s:State name="titleContentWithAction" />
		<s:State name="titleContent" />
		<s:State name="titleWithActionAndNavigation" />
		<s:State name="titleWithNavigation" />
		<s:State name="titleWithAction" />
		<s:State name="title" />
	</s:states>
	
	<!-- SkinParts
	name=titleGroup, type=spark.components.Group, required=false
	name=actionGroup, type=spark.components.Group, required=false
	name=navigationGroup, type=spark.components.Group, required=false
	name=titleDisplay, type=spark.core.IDisplayText, required=false
	-->
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	
	<s:Image source="@Embed('assets/background.png')" scaleMode="stretch" left="0" right="0"/>
	
	<s:HGroup width="100%">
		<s:Group id="navigationGroup">
			
		</s:Group>
		
		<s:Image source="@Embed('assets/logo.png')" x="60"/>
		
		<s:Group id="titleGroup" width="100%">
		</s:Group>
		
		<s:Group id="actionGroup">
			
		</s:Group>
	</s:HGroup>
	
</s:Skin>
