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

-->
<!-- Simple example to demonstrate Spark SkinnableContainer component -->
<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">
    
    <s:Panel title="SkinnableContainer Component Example"
            width="75%" height="75%" 
            horizontalCenter="0" verticalCenter="0">

        <s:SkinnableContainer
            skinClass="MyBorderSkin"
            left="10" top="10">
            <s:layout>
                <s:HorizontalLayout gap="10"/> 
            </s:layout>
            <s:Button label="Button 1"/>
            <s:Button label="Button 2"/>
            <s:Button label="Button 3"/>
            <s:Button label="Button 4"/>
        </s:SkinnableContainer>
    </s:Panel> 
</s:Application>