http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlowLayout/srcview/src/skins/TDFPanelSkin.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlowLayout/srcview/src/skins/TDFPanelSkin.mxml
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlowLayout/srcview/src/skins/TDFPanelSkin.mxml
new file mode 100644
index 0000000..f9151dc
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlowLayout/srcview/src/skins/TDFPanelSkin.mxml
@@ -0,0 +1,171 @@
+<?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.
+
+-->
+
+
+<!--- Custom Spark Panel Skin created for Tour de Flex.  
+
+@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" alpha.disabled="0.5"
+                        blendMode.disabled="layer">
+       
+       <fx:Metadata>
+               <![CDATA[ 
+               /** 
+               * @copy spark.skins.spark.ApplicationSkin#hostComponent
+               */
+               [HostComponent("spark.components.Panel")]
+               ]]>
+       </fx:Metadata> 
+       
+       <fx:Script>
+               /* Define the skin elements that should not be colorized. 
+               For panel, border and title backround are skinned, but the 
content area and title text are not. */
+               static private const exclusions:Array = ["background", 
"titleDisplay", "contentGroup", "bgFill"];
+               
+               /** 
+                * @copy spark.skins.SparkSkin#colorizeExclusions
+                */     
+               override public function get colorizeExclusions():Array {return 
exclusions;}
+               
+               /* Define the content fill items that should be colored by the 
"contentBackgroundColor" style. */
+               static private const contentFill:Array = [];
+               
+               /**
+                * @inheritDoc
+                */
+               override public function get contentItems():Array {return 
contentFill};
+       </fx:Script>
+       
+       <s:states>
+               <s:State name="normal" />
+               <s:State name="disabled" />
+               <s:State name="normalWithControlBar" />
+               <s:State name="disabledWithControlBar" />
+       </s:states>
+       
+       <!-- drop shadow -->
+       <s:RectangularDropShadow id="shadow" blurX="20" blurY="20" alpha="0.32" 
distance="11" 
+                                                        angle="90" 
color="#000000" left="0" top="0" right="0" bottom="0"/>
+       
+       <!-- layer 1: border -->
+       <s:Rect left="0" right="0" top="0" bottom="0">
+               <s:stroke>
+                       <s:SolidColorStroke color="0" alpha="0.50" weight="1" />
+               </s:stroke>
+       </s:Rect>
+       
+       
+       <!-- layer 2: background fill -->
+       <!-- This layer was modified for Tour de Flex samples to have a 
gradient border at the bottom. -->
+       <s:Rect left="0" right="0" bottom="0" height="15">
+               <s:fill>
+                       <s:LinearGradient rotation="90">
+                               <s:GradientEntry color="0xE2E2E2" />
+                               <s:GradientEntry color="0x000000" />
+                       </s:LinearGradient>
+               </s:fill>
+       </s:Rect>
+       
+       <!-- layer 3: contents -->
+       <!--- contains the vertical stack of titlebar content and controlbar -->
+       <s:Group left="1" right="1" top="1" bottom="1" >
+               <s:layout>
+                       <s:VerticalLayout gap="0" horizontalAlign="justify" />
+               </s:layout>
+               
+               <s:Group id="topGroup" >
+                       <!-- layer 0: title bar fill -->
+                       <!-- Note: We have custom skinned the title bar to be 
solid black for Tour de Flex -->
+                       <s:Rect id="tbFill" left="0" right="0" top="0" 
bottom="1" >
+                               <s:fill>
+                                       <s:SolidColor color="0x000000" />
+                               </s:fill>
+                       </s:Rect>
+                       
+                       <!-- layer 1: title bar highlight -->
+                       <s:Rect id="tbHilite" left="0" right="0" top="0" 
bottom="0" >
+                               <s:stroke>
+                                       <s:LinearGradientStroke rotation="90" 
weight="1">
+                                               <s:GradientEntry 
color="0xEAEAEA" />
+                                               <s:GradientEntry 
color="0xD9D9D9" />
+                                       </s:LinearGradientStroke>
+                               </s:stroke>
+                       </s:Rect>
+                       
+                       <!-- layer 2: title bar divider -->
+                       <s:Rect id="tbDiv" left="0" right="0" height="1" 
bottom="0">
+                               <s:fill>
+                                       <s:SolidColor color="0xC0C0C0" />
+                               </s:fill>
+                       </s:Rect>
+                       
+                       <!-- layer 3: text -->
+                       <!--- Defines the appearance of the PanelSkin class's 
title bar. -->
+                       <!-- Note: The title text display has been slightly 
modified for Tour de Flex. -->
+                       <s:Label id="titleDisplay" lineBreak="explicit"
+                                                 left="9" top="1" bottom="0" 
minHeight="30"
+                                                 verticalAlign="middle" 
fontWeight="bold" color="#E2E2E2">
+                       </s:Label>
+               </s:Group>
+               
+               <!--
+               Note: setting the minimum size to 0 here so that changes to the 
host component's
+               size will not be thwarted by this skin part's minimum size.   
This is a compromise,
+               more about it here: http://bugs.adobe.com/jira/browse/SDK-21143
+               -->
+               <s:Group id="contentGroup" width="100%" height="100%" 
minWidth="0" minHeight="0">
+               </s:Group>
+               
+               <s:Group id="bottomGroup" minWidth="0" minHeight="0"
+                                includeIn="normalWithControlBar, 
disabledWithControlBar" >
+                       
+                       <!-- layer 0: control bar background -->
+                       <!-- Note: We are skinning this to be the gradient in 
case we do specify control
+                       bar content, but it will only display if there's a 
controlBarContent
+                       property specified.-->
+                       <s:Rect left="0" right="0" bottom="0" top="0" 
height="15">
+                               <s:fill>
+                                       <s:LinearGradient rotation="90">
+                                               <s:GradientEntry 
color="0xE2E2E2" />
+                                               <s:GradientEntry 
color="0x000000" />
+                                       </s:LinearGradient>
+                               </s:fill>
+                       </s:Rect>
+                       
+                       <!-- layer 1: control bar divider line -->
+                       <s:Rect left="0" right="0" top="0" height="1" >
+                               <s:fill>
+                                       <s:SolidColor color="0xCDCDCD" />
+                               </s:fill>
+                       </s:Rect>
+                       
+                       <!-- layer 2: control bar -->
+                       <s:Group id="controlBarGroup" left="0" right="0" 
top="1" bottom="0" minWidth="0" minHeight="0">
+                               <s:layout>
+                                       <s:HorizontalLayout paddingLeft="10" 
paddingRight="10" paddingTop="10" paddingBottom="10" />
+                               </s:layout>
+                       </s:Group>
+               </s:Group>
+       </s:Group>
+</s:SparkSkin>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/sample.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/sample.html
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/sample.html
new file mode 100644
index 0000000..8d05dc2
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/sample.html
@@ -0,0 +1,121 @@
+<!--
+  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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- saved from url=(0014)about:internet -->
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="en" xml:lang="en">    
+    <!-- 
+    Smart developers always View Source. 
+    
+    This application was built using Adobe Flex, an open source framework
+    for building rich Internet applications that get delivered via the
+    Flash Player or to desktops via Adobe AIR. 
+    
+    Learn more about Flex at http://flex.org 
+    // -->
+    <head>
+        <title></title>         
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+               <!-- Include CSS to eliminate any default margins/padding and 
set the height of the html element and 
+                    the body element to 100%, because Firefox, or any Gecko 
based browser, interprets percentage as 
+                        the percentage of the height of its parent container, 
which has to be set explicitly.  Initially, 
+                        don't display flashContent div so it won't show if 
JavaScript disabled.
+               -->
+        <style type="text/css" media="screen"> 
+                       html, body      { height:100%; }
+                       body { margin:0; padding:0; overflow:auto; 
text-align:center; 
+                              background-color: #ffffff; }   
+                       #flashContent { display:none; }
+        </style>
+               
+               <!-- Enable Browser History by replacing useBrowserHistory 
tokens with two hyphens -->
+        <!-- BEGIN Browser History required section -->
+        <link rel="stylesheet" type="text/css" href="history/history.css" />
+        <script type="text/javascript" src="history/history.js"></script>
+        <!-- END Browser History required section -->  
+                   
+        <script type="text/javascript" src="swfobject.js"></script>
+        <script type="text/javascript">
+            <!-- For version detection, set to min. required Flash Player 
version, or 0 (or 0.0.0), for no version detection. --> 
+            var swfVersionStr = "10.0.0";
+            <!-- To use express install, set to playerProductInstall.swf, 
otherwise the empty string. -->
+            var xiSwfUrlStr = "playerProductInstall.swf";
+            var flashvars = {};
+            var params = {};
+            params.quality = "high";
+            params.bgcolor = "#ffffff";
+            params.allowscriptaccess = "sameDomain";
+            params.allowfullscreen = "true";
+            var attributes = {};
+            attributes.id = "sample";
+            attributes.name = "sample";
+            attributes.align = "middle";
+            swfobject.embedSWF(
+                "sample.swf", "flashContent", 
+                "100%", "100%", 
+                swfVersionStr, xiSwfUrlStr, 
+                flashvars, params, attributes);
+                       <!-- JavaScript enabled so display the flashContent div 
in case it is not replaced with a swf object. -->
+                       swfobject.createCSS("#flashContent", 
"display:block;text-align:left;");
+        </script>
+    </head>
+    <body>
+        <!-- SWFObject's dynamic embed method replaces this alternative HTML 
content with Flash content when enough 
+                        JavaScript and Flash plug-in support is available. The 
div is initially hidden so that it doesn't show
+                        when JavaScript is disabled.
+               -->
+        <div id="flashContent">
+               <p>
+                       To view this page ensure that Adobe Flash Player 
version 
+                               10.0.0 or greater is installed. 
+                       </p>
+                       <script type="text/javascript"> 
+                               var pageHost = ((document.location.protocol == 
"https:") ? "https://"; : "http://";); 
+                               document.write("<a 
href='http://www.adobe.com/go/getflashplayer'><img src='" 
+                                                               + pageHost + 
"www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get 
Adobe Flash player' /></a>" ); 
+                       </script> 
+        </div>
+               
+               <noscript>
+            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
width="100%" height="100%" id="sample">
+                <param name="movie" value="sample.swf" />
+                <param name="quality" value="high" />
+                <param name="bgcolor" value="#ffffff" />
+                <param name="allowScriptAccess" value="sameDomain" />
+                <param name="allowFullScreen" value="true" />
+                <!--[if !IE]>-->
+                <object type="application/x-shockwave-flash" data="sample.swf" 
width="100%" height="100%">
+                    <param name="quality" value="high" />
+                    <param name="bgcolor" value="#ffffff" />
+                    <param name="allowScriptAccess" value="sameDomain" />
+                    <param name="allowFullScreen" value="true" />
+                <!--<![endif]-->
+                <!--[if gte IE 6]>-->
+                       <p> 
+                               Either scripts and active content are not 
permitted to run or Adobe Flash Player version
+                               10.0.0 or greater is not installed.
+                       </p>
+                <!--<![endif]-->
+                    <a href="http://www.adobe.com/go/getflashplayer";>
+                        <img 
src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"; 
alt="Get Adobe Flash Player" />
+                    </a>
+                <!--[if !IE]>-->
+                </object>
+                <!--<![endif]-->
+            </object>
+           </noscript>         
+   </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceIndex.xml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceIndex.xml
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceIndex.xml
new file mode 100644
index 0000000..08821ae
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceIndex.xml
@@ -0,0 +1,47 @@
+<?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.
+
+-->
+<index>
+       <title>Source of Sample-Flex4-CustomLayout-HLayoutBaseline</title>
+       <nodes>
+               <node label="html-template">
+                       <node label="history">
+                               <node icon="cssIcon" label="history.css" 
url="source/html-template/history/history.css.html"/>
+                               <node label="history.js" 
url="source/html-template/history/history.js.txt"/>
+                               <node icon="htmlIcon" label="historyFrame.html" 
url="source/html-template/history/historyFrame.html"/>
+                       </node>
+                       <node icon="htmlIcon" label="index.template.html" 
url="source/html-template/index.template.html"/>
+                       <node icon="swfIcon" label="playerProductInstall.swf" 
url="source/html-template/playerProductInstall.swf"/>
+                       <node label="swfobject.js" 
url="source/html-template/swfobject.js.txt"/>
+               </node>
+               <node label="libs">
+               </node>
+               <node label="src">
+                       <node icon="packageIcon" label="skins" expanded="true">
+                               <node icon="mxmlIcon" label="TDFPanelSkin.mxml" 
url="source/skins/TDFPanelSkin.mxml.html"/>
+                       </node>
+                       <node icon="actionScriptIcon" 
label="HBaselineLayout.as" url="source/HBaselineLayout.as.html"/>
+                       <node icon="mxmlAppIcon" selected="true" 
label="sample.mxml" url="source/sample.mxml.html"/>
+               </node>
+       </nodes>
+       <zipfile label="Download source (ZIP, 24K)" 
url="Sample-Flex4-CustomLayout-HLayoutBaseline.zip">
+       </zipfile>
+       <sdklink label="Download Flex SDK" 
url="http://www.adobe.com/go/flex4_sdk_download";>
+       </sdklink>
+</index>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceStyles.css
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceStyles.css
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceStyles.css
new file mode 100644
index 0000000..9d5210f
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceStyles.css
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+body {
+       font-family: Courier New, Courier, monospace;
+       font-size: medium;
+}
+
+.ActionScriptASDoc {
+       color: #3f5fbf;
+}
+
+.ActionScriptBracket/Brace {
+}
+
+.ActionScriptComment {
+       color: #009900;
+       font-style: italic;
+}
+
+.ActionScriptDefault_Text {
+}
+
+.ActionScriptMetadata {
+       color: #0033ff;
+       font-weight: bold;
+}
+
+.ActionScriptOperator {
+}
+
+.ActionScriptReserved {
+       color: #0033ff;
+       font-weight: bold;
+}
+
+.ActionScriptString {
+       color: #990000;
+       font-weight: bold;
+}
+
+.ActionScriptclass {
+       color: #9900cc;
+       font-weight: bold;
+}
+
+.ActionScriptfunction {
+       color: #339966;
+       font-weight: bold;
+}
+
+.ActionScriptinterface {
+       color: #9900cc;
+       font-weight: bold;
+}
+
+.ActionScriptpackage {
+       color: #9900cc;
+       font-weight: bold;
+}
+
+.ActionScripttrace {
+       color: #cc6666;
+       font-weight: bold;
+}
+
+.ActionScriptvar {
+       color: #6699cc;
+       font-weight: bold;
+}
+
+.MXMLASDoc {
+       color: #3f5fbf;
+}
+
+.MXMLComment {
+       color: #800000;
+}
+
+.MXMLComponent_Tag {
+       color: #0000ff;
+}
+
+.MXMLDefault_Text {
+}
+
+.MXMLProcessing_Instruction {
+}
+
+.MXMLSpecial_Tag {
+       color: #006633;
+}
+
+.MXMLString {
+       color: #990000;
+}
+
+.CSS@font-face {
+       color: #990000;
+       font-weight: bold;
+}
+
+.CSS@import {
+       color: #006666;
+       font-weight: bold;
+}
+
+.CSS@media {
+       color: #663333;
+       font-weight: bold;
+}
+
+.CSS@namespace {
+       color: #923196;
+}
+
+.CSSComment {
+       color: #999999;
+}
+
+.CSSDefault_Text {
+}
+
+.CSSDelimiters {
+}
+
+.CSSProperty_Name {
+       color: #330099;
+}
+
+.CSSProperty_Value {
+       color: #3333cc;
+}
+
+.CSSSelector {
+       color: #ff00ff;
+}
+
+.CSSString {
+       color: #990000;
+}
+

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceTree.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceTree.html
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceTree.html
new file mode 100644
index 0000000..80281a9
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/SourceTree.html
@@ -0,0 +1,129 @@
+<!--
+  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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- saved from url=(0014)about:internet -->
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="en" xml:lang="en">    
+    <!-- 
+    Smart developers always View Source. 
+    
+    This application was built using Adobe Flex, an open source framework
+    for building rich Internet applications that get delivered via the
+    Flash Player or to desktops via Adobe AIR. 
+    
+    Learn more about Flex at http://flex.org 
+    // -->
+    <head>
+        <title></title>         
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+               <!-- Include CSS to eliminate any default margins/padding and 
set the height of the html element and 
+                    the body element to 100%, because Firefox, or any Gecko 
based browser, interprets percentage as 
+                        the percentage of the height of its parent container, 
which has to be set explicitly.  Initially, 
+                        don't display flashContent div so it won't show if 
JavaScript disabled.
+               -->
+        <style type="text/css" media="screen"> 
+                       html, body      { height:100%; }
+                       body { margin:0; padding:0; overflow:auto; 
text-align:center; 
+                              background-color: #ffffff; }   
+                       #flashContent { display:none; }
+        </style>
+               
+               <!-- Enable Browser History by replacing useBrowserHistory 
tokens with two hyphens -->
+        <!-- BEGIN Browser History required section >
+        <link rel="stylesheet" type="text/css" href="history/history.css" />
+        <script type="text/javascript" src="history/history.js"></script>
+        <! END Browser History required section -->  
+                   
+        <script type="text/javascript" src="swfobject.js"></script>
+        <script type="text/javascript">
+               function loadIntoMain(url) {
+                               parent.mainFrame.location.href = url;
+                       }
+                       
+                       function openUrlWindow(url) {
+                               window.top.location = url;
+                       }
+                       
+            <!-- For version detection, set to min. required Flash Player 
version, or 0 (or 0.0.0), for no version detection. --> 
+            var swfVersionStr = "10.0.0";
+            <!-- To use express install, set to playerProductInstall.swf, 
otherwise the empty string. -->
+            var xiSwfUrlStr = "playerProductInstall.swf";
+            var flashvars = {};
+            var params = {};
+            params.quality = "high";
+            params.bgcolor = "#ffffff";
+            params.allowscriptaccess = "sameDomain";
+            params.allowfullscreen = "true";
+            var attributes = {};
+            attributes.id = "SourceTree";
+            attributes.name = "SourceTree";
+            attributes.align = "middle";
+            swfobject.embedSWF(
+                "SourceTree.swf", "flashContent", 
+                "100%", "100%", 
+                swfVersionStr, xiSwfUrlStr, 
+                flashvars, params, attributes);
+                       <!-- JavaScript enabled so display the flashContent div 
in case it is not replaced with a swf object. -->
+                       swfobject.createCSS("#flashContent", 
"display:block;text-align:left;");
+        </script>
+    </head>
+    <body>
+        <!-- SWFObject's dynamic embed method replaces this alternative HTML 
content with Flash content when enough 
+                        JavaScript and Flash plug-in support is available. The 
div is initially hidden so that it doesn't show
+                        when JavaScript is disabled.
+               -->
+        <div id="flashContent">
+               <p>
+                       To view this page ensure that Adobe Flash Player 
version 
+                               10.0.0 or greater is installed. 
+                       </p>
+                       <script type="text/javascript"> 
+                               var pageHost = ((document.location.protocol == 
"https:") ? "https://"; : "http://";); 
+                               document.write("<a 
href='http://www.adobe.com/go/getflashplayer'><img src='" 
+                                                               + pageHost + 
"www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get 
Adobe Flash player' /></a>" ); 
+                       </script> 
+        </div>
+               
+               <noscript>
+            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
width="100%" height="100%" id="SourceTree">
+                <param name="movie" value="SourceTree.swf" />
+                <param name="quality" value="high" />
+                <param name="bgcolor" value="#ffffff" />
+                <param name="allowScriptAccess" value="sameDomain" />
+                <param name="allowFullScreen" value="true" />
+                <!--[if !IE]>-->
+                <object type="application/x-shockwave-flash" 
data="SourceTree.swf" width="100%" height="100%">
+                    <param name="quality" value="high" />
+                    <param name="bgcolor" value="#ffffff" />
+                    <param name="allowScriptAccess" value="sameDomain" />
+                    <param name="allowFullScreen" value="true" />
+                <!--<![endif]-->
+                <!--[if gte IE 6]>-->
+                       <p> 
+                               Either scripts and active content are not 
permitted to run or Adobe Flash Player version
+                               10.0.0 or greater is not installed.
+                       </p>
+                <!--<![endif]-->
+                    <a href="http://www.adobe.com/go/getflashplayer";>
+                        <img 
src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"; 
alt="Get Adobe Flash Player" />
+                    </a>
+                <!--[if !IE]>-->
+                </object>
+                <!--<![endif]-->
+            </object>
+           </noscript>         
+   </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/index.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/index.html
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/index.html
new file mode 100644
index 0000000..0bdfafb
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/index.html
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd";>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Source of Sample-Flex4-CustomLayout-HLayoutBaseline</title>
+</head>
+<frameset cols="235,*" border="2" framespacing="1">
+    <frame src="SourceTree.html" name="leftFrame" scrolling="NO">
+    <frame src="source/sample.mxml.html" name="mainFrame">
+</frameset>
+<noframes>
+       <body>          
+       </body>
+</noframes>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d43c133c/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/source/HBaselineLayout.as.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/source/HBaselineLayout.as.html
 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/source/HBaselineLayout.as.html
new file mode 100644
index 0000000..7867059
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-HLayoutBaseline/srcview/source/HBaselineLayout.as.html
@@ -0,0 +1,207 @@
+<!--
+  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.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>HBaselineLayout.as</title>
+<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
+</head>
+
+<body><pre><span class="ActionScriptpackage">package</span> <span 
class="ActionScriptBracket/Brace">{</span>
+
+<span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">mx</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">core</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ILayoutElement</span>;
+<span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">mx</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">PropertyChangeEvent</span>;
+<span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">mx</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">formatters</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">NumberBase</span>;
+
+<span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">spark</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">components</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">supportClasses</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">GroupBase</span>;
+<span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">spark</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">layouts</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">HorizontalLayout</span>;
+
+<span class="ActionScriptReserved">public</span> <span 
class="ActionScriptclass">class</span> <span 
class="ActionScriptDefault_Text">HBaselineLayout</span> <span 
class="ActionScriptReserved">extends</span> <span 
class="ActionScriptDefault_Text">HorizontalLayout</span>
+<span class="ActionScriptBracket/Brace">{</span>
+    <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">HBaselineLayout</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">super</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+    <span class="ActionScriptBracket/Brace">}</span>
+
+    <span class="ActionScriptComment">//----------------------------------
+</span>    <span class="ActionScriptComment">//  globalBaseline
+</span>    <span 
class="ActionScriptComment">//----------------------------------
+</span>    
+    <span class="ActionScriptBracket/Brace">[</span><span 
class="ActionScriptMetadata">Inspectable</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"General"</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">]</span>
+
+    <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">_globalBaseline</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">NaN</span>;
+    <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptReserved">get</span> <span 
class="ActionScriptDefault_Text">globalBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptDefault_Text">Number</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">return</span> <span 
class="ActionScriptDefault_Text">_globalBaseline</span>;
+    <span class="ActionScriptBracket/Brace">}</span>
+
+    <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptReserved">set</span> <span 
class="ActionScriptDefault_Text">globalBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">value</span>:<span 
class="ActionScriptDefault_Text">Number</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptDefault_Text">_globalBaseline</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">value</span>;
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">target</span>:<span 
class="ActionScriptDefault_Text">GroupBase</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">this</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">target</span>;
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptBracket/Brace">)</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">invalidateSize</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">invalidateDisplayList</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+    <span class="ActionScriptBracket/Brace">}</span>
+
+    <span class="ActionScriptComment">//----------------------------------
+</span>    <span class="ActionScriptComment">//  actualBaseline
+</span>    <span 
class="ActionScriptComment">//----------------------------------
+</span>    
+    <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">_actualBaseline</span>:<span 
class="ActionScriptDefault_Text">Number</span>;
+    
+    <span class="ActionScriptBracket/Brace">[</span><span 
class="ActionScriptMetadata">Bindable</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"propertyChange"</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">]</span>
+    <span class="ActionScriptBracket/Brace">[</span><span 
class="ActionScriptMetadata">Inspectable</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"General"</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">]</span>
+    
+    <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptReserved">get</span> <span 
class="ActionScriptDefault_Text">actualBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptDefault_Text">Number</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">return</span> <span 
class="ActionScriptDefault_Text">_actualBaseline</span>;
+    <span class="ActionScriptBracket/Brace">}</span>
+    
+    <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">setActualBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">value</span>:<span 
class="ActionScriptDefault_Text">Number</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">value</span> <span 
class="ActionScriptOperator">==</span> <span 
class="ActionScriptDefault_Text">_actualBaseline</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptReserved">return</span>;
+
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">oldValue</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">_actualBaseline</span>;
+        <span class="ActionScriptDefault_Text">_actualBaseline</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">value</span>;
+        <span class="ActionScriptDefault_Text">dispatchEvent</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">PropertyChangeEvent</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">createUpdateEvent</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptReserved">this</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptString">"actualBaseline"</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">oldValue</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">value</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>;
+    <span class="ActionScriptBracket/Brace">}</span>
+    
+    <span class="ActionScriptComment">//----------------------------------
+</span>    <span class="ActionScriptComment">//  verticalAlign
+</span>    <span 
class="ActionScriptComment">//----------------------------------
+</span>    
+    <span class="ActionScriptBracket/Brace">[</span><span 
class="ActionScriptMetadata">Inspectable</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"General"</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">enumeration</span><span 
class="ActionScriptOperator">=</span><span 
class="ActionScriptString">"top,bottom,middle,justify,contentJustify,baseline"</span><span
 class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">defaultValue</span><span 
class="ActionScriptOperator">=</span><span 
class="ActionScriptString">"top"</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">]</span>
+    <span class="ActionScriptReserved">override</span> <span 
class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptReserved">get</span> <span 
class="ActionScriptDefault_Text">verticalAlign</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptDefault_Text">String</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">return</span> <span 
class="ActionScriptReserved">super</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">verticalAlign</span>;        
+    <span class="ActionScriptBracket/Brace">}</span>
+
+    <span class="ActionScriptASDoc">/**
+     *  @private 
+     */</span>
+    <span class="ActionScriptReserved">override</span> <span 
class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">measure</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">super</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">measure</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">target</span>:<span 
class="ActionScriptDefault_Text">GroupBase</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">this</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">target</span>;
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">target</span> <span 
class="ActionScriptOperator">||</span> <span 
class="ActionScriptDefault_Text">verticalAlign</span> <span 
class="ActionScriptOperator">!=</span> <span 
class="ActionScriptString">"baseline"</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptReserved">return</span>;
+        
+        <span class="ActionScriptDefault_Text">measureBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptReserved">true</span> <span 
class="ActionScriptComment">/*usePreferredSize*/</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">_globalBaseline</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptDefault_Text">measuredBaselineTop</span> 
<span class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">_globalBaseline</span>;
+        
+        <span class="ActionScriptComment">// The measured height is the sum of 
the space above and below the baseline
+</span>        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">paddingTop</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptDefault_Text">measuredBaselineTop</span> 
<span class="ActionScriptOperator">+=</span> <span 
class="ActionScriptDefault_Text">paddingTop</span>;
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">paddingBottom</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span 
class="ActionScriptDefault_Text">measuredBaselineBottom</span> <span 
class="ActionScriptOperator">+=</span> <span 
class="ActionScriptDefault_Text">paddingBottom</span>;
+        <span class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">measuredHeight</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">Math</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">round</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">measuredBaselineTop</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">measuredBaselineBottom</span><span 
class="ActionScriptBracket/Brace">)</span>;
+    <span class="ActionScriptBracket/Brace">}</span>
+    
+    <span class="ActionScriptASDoc">/**
+     *  @private 
+     */</span>
+    <span class="ActionScriptReserved">override</span> <span 
class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">updateDisplayList</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">unscaledWidth</span>:<span 
class="ActionScriptDefault_Text">Number</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">unscaledHeight</span>:<span 
class="ActionScriptDefault_Text">Number</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">super</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">updateDisplayList</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">unscaledWidth</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">unscaledHeight</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">target</span>:<span 
class="ActionScriptDefault_Text">GroupBase</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">this</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">target</span>;
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">target</span> <span 
class="ActionScriptOperator">||</span> <span 
class="ActionScriptDefault_Text">verticalAlign</span> <span 
class="ActionScriptOperator">!=</span> <span 
class="ActionScriptString">"baseline"</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptReserved">return</span>;
+
+        <span class="ActionScriptDefault_Text">measureBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptReserved">false</span> <span 
class="ActionScriptComment">/*usePreferredSize*/</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">_globalBaseline</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptDefault_Text">measuredBaselineTop</span> 
<span class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">_globalBaseline</span>;
+
+        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">paddingTop</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptDefault_Text">measuredBaselineTop</span> 
<span class="ActionScriptOperator">+=</span> <span 
class="ActionScriptDefault_Text">paddingTop</span>;
+        
+        <span class="ActionScriptComment">// Adjust the position of the 
elements
+</span>        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">contentHeight</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> 0;
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">count</span>:<span 
class="ActionScriptDefault_Text">int</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">numElements</span>;
+        <span class="ActionScriptReserved">for</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">i</span>:<span 
class="ActionScriptDefault_Text">int</span> <span 
class="ActionScriptOperator">=</span> 0; <span 
class="ActionScriptDefault_Text">i</span> <span 
class="ActionScriptOperator">&lt;</span> <span 
class="ActionScriptDefault_Text">count</span>; <span 
class="ActionScriptDefault_Text">i</span><span 
class="ActionScriptOperator">++</span><span 
class="ActionScriptBracket/Brace">)</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">element</span>:<span 
class="ActionScriptDefault_Text">ILayoutElement</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">getElementAt</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">i</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">element</span> <span 
class="ActionScriptOperator">||</span> <span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">includeInLayout</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptReserved">continue</span>;
+            
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">elementBaseline</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">baseline</span> <span 
class="ActionScriptReserved">as</span> <span 
class="ActionScriptDefault_Text">Number</span>;
+            <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">elementBaseline</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptDefault_Text">elementBaseline</span> 
<span class="ActionScriptOperator">=</span> 0;
+
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">baselinePosition</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">baselinePosition</span>;
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">y</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">measuredBaselineTop</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">elementBaseline</span> <span 
class="ActionScriptOperator">-</span> <span 
class="ActionScriptDefault_Text">baselinePosition</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">setLayoutBoundsPosition</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">getLayoutBoundsX</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">y</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">contentHeight</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">Math</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">max</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">contentHeight</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">getLayoutBoundsHeight</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">y</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+
+        <span class="ActionScriptComment">// Adjust the content height
+</span>        <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">paddingBottom</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptDefault_Text">contentHeight</span> <span 
class="ActionScriptOperator">+=</span> <span 
class="ActionScriptDefault_Text">paddingBottom</span>;
+        <span class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">setContentSize</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">contentWidth</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">contentHeight</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        
+        <span class="ActionScriptComment">// Update the baseline
+</span>        <span 
class="ActionScriptDefault_Text">setActualBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">measuredBaselineTop</span><span 
class="ActionScriptBracket/Brace">)</span>;
+    <span class="ActionScriptBracket/Brace">}</span>
+
+    <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">measuredBaselineTop</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> 0;            <span 
class="ActionScriptComment">// How much space is needed above the baseline to 
fit all the elements
+</span>    <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">measuredBaselineBottom</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> 0;        <span 
class="ActionScriptComment">// How much space is needed below the baseline to 
fit all the elements
+</span>    
+    <span class="ActionScriptASDoc">/**
+     *  @private 
+     */</span>
+    <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">measureBaseline</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">usePreferredSize</span>:<span 
class="ActionScriptDefault_Text">Boolean</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">elementBaseline</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> 0;             <span 
class="ActionScriptComment">// The current element's explicit baseline 
constraint
+</span>        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">elementBaselineTop</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> 0;            <span 
class="ActionScriptComment">// The portiono of the current element that's above 
the baseline
+</span>        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">elementBaselineBottom</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> 0;        <span 
class="ActionScriptComment">// The portion of the current element that's below 
the baseline
+</span>
+        <span class="ActionScriptDefault_Text">measuredBaselineTop</span> 
<span class="ActionScriptOperator">=</span> 0;
+        <span class="ActionScriptDefault_Text">measuredBaselineBottom</span> 
<span class="ActionScriptOperator">=</span> 0;
+
+        <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">count</span>:<span 
class="ActionScriptDefault_Text">int</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">numElements</span>;
+        <span class="ActionScriptReserved">for</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">i</span>:<span 
class="ActionScriptDefault_Text">int</span> <span 
class="ActionScriptOperator">=</span> 0; <span 
class="ActionScriptDefault_Text">i</span> <span 
class="ActionScriptOperator">&lt;</span> <span 
class="ActionScriptDefault_Text">count</span>; <span 
class="ActionScriptDefault_Text">i</span><span 
class="ActionScriptOperator">++</span><span 
class="ActionScriptBracket/Brace">)</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">element</span>:<span 
class="ActionScriptDefault_Text">ILayoutElement</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">target</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">getElementAt</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">i</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">element</span> <span 
class="ActionScriptOperator">||</span> <span 
class="ActionScriptOperator">!</span><span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">includeInLayout</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptReserved">continue</span>;
+            
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">elementHeight</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">usePreferredSize</span> <span 
class="ActionScriptOperator">?</span> <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">getPreferredBoundsHeight</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span> :
+                                                          <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">getLayoutBoundsHeight</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">elementBaseline</span> 
<span class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">baseline</span> <span 
class="ActionScriptReserved">as</span> <span 
class="ActionScriptDefault_Text">Number</span>;
+            <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">isNaN</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">elementBaseline</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptDefault_Text">elementBaseline</span> 
<span class="ActionScriptOperator">=</span> 0;
+            
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">baselinePosition</span>:<span 
class="ActionScriptDefault_Text">Number</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">element</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">baselinePosition</span>;
+            
+            <span class="ActionScriptDefault_Text">elementBaselineTop</span> 
<span class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">baselinePosition</span> <span 
class="ActionScriptOperator">-</span> <span 
class="ActionScriptDefault_Text">elementBaseline</span>;
+            <span 
class="ActionScriptDefault_Text">elementBaselineBottom</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">elementHeight</span> <span 
class="ActionScriptOperator">-</span> <span 
class="ActionScriptDefault_Text">elementBaselineTop</span>;
+            
+            <span class="ActionScriptDefault_Text">measuredBaselineTop</span> 
<span class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">Math</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">max</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">elementBaselineTop</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">measuredBaselineTop</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span 
class="ActionScriptDefault_Text">measuredBaselineBottom</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">Math</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">max</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">elementBaselineBottom</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">measuredBaselineBottom</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+    <span class="ActionScriptBracket/Brace">}</span>
+<span class="ActionScriptBracket/Brace">}</span>
+<span class="ActionScriptBracket/Brace">}</span></pre></body>
+</html>

Reply via email to