]> O.S.I.I.S - jp/crow.git/commitdiff
wip
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 3 May 2019 17:10:13 +0000 (19:10 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 3 May 2019 17:10:13 +0000 (19:10 +0200)
144 files changed:
Crow.sln
Crow/Crow.csproj
Crow/Default.style
Crow/Icons/checkbox.svg
Crow/Icons/expandable.svg
Crow/Icons/radiobutton.svg
Crow/Templates/ColorPicker.template
Crow/packages.config
Crow/src/CompilerServices/CompilerServices.cs
Crow/src/GraphicObjects/EnumSelector.cs [new file with mode: 0644]
Crow/src/GraphicObjects/SaturationValueSelector.cs
Crow/src/GraphicObjects/Scroller.cs
Crow/src/GraphicObjects/TextBox.cs
Crow/src/GraphicObjects/Widget.cs
Crow/src/Input/Key.cs
Crow/src/Interface.cs
Crow/src/SvgPicture.cs
MDCrow/obj/MDCrow.csproj.nuget.cache [new file with mode: 0644]
MDCrow/obj/MDCrow.csproj.nuget.g.props [new file with mode: 0644]
MDCrow/obj/MDCrow.csproj.nuget.g.targets [new file with mode: 0644]
MDCrow/obj/project.assets.json [new file with mode: 0644]
Samples/HelloWorld/HelloWorld.csproj [new file with mode: 0644]
Samples/HelloWorld/main.cs [new file with mode: 0644]
Samples/HelloWorld/packages.config [new file with mode: 0644]
Samples/HelloWorld/ui/helloworld.crow [new file with mode: 0644]
Samples/ShowCase/ShowCase.csproj [new file with mode: 0644]
Samples/ShowCase/main.cs [new file with mode: 0644]
Samples/ShowCase/packages.config [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/CheckBox2.imlt [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/Container/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Container/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Container/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Container/3.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/DragAndDrop/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Experimental/DockWindow.template [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Experimental/testDock.crow [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/Experimental/testDock2.crow [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/Experimental/testStack.crow [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/Experimental/testTypeViewer.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/4.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/5.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/6.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/GraphicObject/7.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Group/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Group/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Group/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Group/3.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Group/4.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Splitter/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Splitter/3.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/0h.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/1h.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/2h.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/3.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/3h.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Stack/4.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TabItem.template [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/6.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/7.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testGroupBox.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testMsgBox.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testPopper.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTabView.crow [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTabView2.crow [new file with mode: 0644]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTreeView.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow2.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow3.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedContainer/test_Listbox.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testButton.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testCheckbox.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testCombobox.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testRadioButton.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testScrollbar.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedControl/testSpinner.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedGroup/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedGroup/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TemplatedGroup/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/TmpExpandable.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Wrapper/1.1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Wrapper/1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Wrapper/2.1.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Wrapper/2.2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/Wrapper/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/basicTests/7.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/colorItem.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/colorItem2.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/itemTmp.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/log.xml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/perfMsr.crow [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/testMeter.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/testWindow.goml.sav [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/tmpDirItem.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/tmpMembers.goml [new file with mode: 0755]
Samples/ShowCase/ui/Interfaces/treeList.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/0.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/2.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/3.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/4.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/5.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/6.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/clip0.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/clip1.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/clip2.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/clip3.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/clip4.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/colorPicker.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/fps.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/perfMeasures.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/test1.1.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/test1.2.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/test1.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/test2WayBinding.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testBind0.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testCtxMenu.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testDisable.crow [new file with mode: 0644]
Samples/ShowCase/ui/divers/testFileDialog.crow [new file with mode: 0644]
Samples/ShowCase/ui/divers/testFocus.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testIMLContainer.crow [new file with mode: 0644]
Samples/ShowCase/ui/divers/testImage.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testMenu.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testOutOfClipUpdate.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testPropLess.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testShape.crow [new file with mode: 0644]
Samples/ShowCase/ui/divers/testStacks.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testTextBox.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/testVisibility.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/test_stack.crow [new file with mode: 0755]
Samples/ShowCase/ui/divers/welcome.crow [new file with mode: 0644]
Samples/ShowCase/ui/helloworld.crow [new file with mode: 0644]
Samples/ShowCase/ui/showcase.crow [new file with mode: 0755]
Samples/main.cs [new file with mode: 0644]
Tests/BasicTests.cs [deleted file]
Tests/Showcase.cs [deleted file]
Tests/Tests.csproj
Tests/keysyms.cs [deleted file]

index b9be25c401d089665c6a493faeb9a9b210f157c5..5250cb4a7ac068d479269c506ff61adb103f3991 100644 (file)
--- a/Crow.sln
+++ b/Crow.sln
@@ -3,11 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Crow", "Crow\Crow.csproj", "{C2980F9B-4798-4C05-99E2-E174810F7C7B}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{74289092-9F70-4941-AFCB-DFD7BE2140B6}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowIDE", "CrowIDE\CrowIDE.csproj", "{B6D911CD-1D09-42FC-B300-9187190F2AE1}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MDCrow", "MDCrow\MDCrow.csproj", "{34956F17-5485-4C5C-9E2D-8EB15E5160AE}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "Samples\HelloWorld\HelloWorld.csproj", "{1F18E74F-BCC9-481C-8888-89D81CBB30BE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShowCase", "Samples\ShowCase\ShowCase.csproj", "{56329D48-D382-4850-93DE-59C453894E8A}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,10 +17,6 @@ Global
                Release|Any CPU = Release|Any CPU
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Release|Any CPU.Build.0 = Release|Any CPU
                {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -27,10 +25,14 @@ Global
                {C2980F9B-4798-4C05-99E2-E174810F7C7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {C2980F9B-4798-4C05-99E2-E174810F7C7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {C2980F9B-4798-4C05-99E2-E174810F7C7B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {34956F17-5485-4C5C-9E2D-8EB15E5160AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {34956F17-5485-4C5C-9E2D-8EB15E5160AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {34956F17-5485-4C5C-9E2D-8EB15E5160AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {34956F17-5485-4C5C-9E2D-8EB15E5160AE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1F18E74F-BCC9-481C-8888-89D81CBB30BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1F18E74F-BCC9-481C-8888-89D81CBB30BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1F18E74F-BCC9-481C-8888-89D81CBB30BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1F18E74F-BCC9-481C-8888-89D81CBB30BE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {56329D48-D382-4850-93DE-59C453894E8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {56329D48-D382-4850-93DE-59C453894E8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {56329D48-D382-4850-93DE-59C453894E8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {56329D48-D382-4850-93DE-59C453894E8A}.Release|Any CPU.Build.0 = Release|Any CPU
        EndGlobalSection
        GlobalSection(MonoDevelopProperties) = preSolution
                Policies = $0
@@ -71,4 +73,8 @@ Global
                description = @C.R.O.W. c# Rapid Open Widgets\n\nCrow is a pure c# widget toolkit with XML definition of interface, bindings, styling...\n
                version = 0.8.0
        EndGlobalSection
+       GlobalSection(NestedProjects) = preSolution
+               {1F18E74F-BCC9-481C-8888-89D81CBB30BE} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}
+               {56329D48-D382-4850-93DE-59C453894E8A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}
+       EndGlobalSection
 EndGlobal
index 2434712c7db6db5680aa8fb7a6e5fbe21c29b394..7f877da8c71b492073fa8c427535a7a5d7366245 100644 (file)
@@ -24,6 +24,7 @@
     <ProductVersion>8.0.30703</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+    <ReleaseVersion>0.8.0</ReleaseVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <Reference Include="VK">
       <HintPath>..\..\packages\Vulkan.0.1.2.6\lib\netstandard2.0\VK.dll</HintPath>
     </Reference>
+    <Reference Include="Newtonsoft.Json">
+      <HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="glTFLoader">
+      <HintPath>..\packages\glTF2Loader.1.1.3-alpha\lib\net35\glTFLoader.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics.Vectors">
+      <HintPath>..\packages\System.Numerics.Vectors.4.6.0-preview4.19212.13\lib\net46\System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="mscorlib" />
+    <Reference Include="System.Numerics" />
+    <Reference Include="System.Runtime.CompilerServices.Unsafe">
+      <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.6.0-preview4.19212.13\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
+    </Reference>
+    <Reference Include="CVKL-dotnet">
+      <HintPath>..\packages\CVKL.0.1.2\lib\netstandard2.0\CVKL-dotnet.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
index 3f64e873f55f691102f975b1cd3ef4030d7ea716..b924b2190b336aeb1b757d7fea322d8f9f03dd0b 100644 (file)
@@ -171,6 +171,7 @@ ColorSpinner {
        Minimum = "0";
        Maximum = "255";
        SmallIncrement = "1";
+    Width="50";
 }
 HSVSpinner {
        Minimum = "0";
@@ -223,4 +224,9 @@ HScrollBar {
     Value = "0";
     Height = "12";
     Width = "Stretched";
+}
+EnumSelector {
+    Orientation = "Vertical";
+    Height = "Fit";
+    Spacing = "0";
 }
\ No newline at end of file
index 6b6914aec6a324f42af287581f762d1f1877fb39..f2d562db1628ffcdfe876c057abfbdadf0950ade 100644 (file)
       </cc:Work>
     </rdf:RDF>
   </metadata>
-  <g
-     id="False">
+  <g id="False">
     <rect
-       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3.38882232;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="background-0"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3.38882232;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"       
        width="50.832325"
        height="50.832325"
        x="7.1542463"
        y="10.990663" />
   </g>
-  <g
-     id="True">
+  <g id="True">
     <rect
        style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3.38882232;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="background"
        width="50.832333"
        height="50.832333"
        x="7.1542463"
        y="10.990663" />
     <path
        style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
-       d="m 31.716712,35.071243 c 0,0 -6.596639,-15.24725 -21.446849,-19.472822 C 28.252789,42.42005 32.673128,59.741754 32.673128,59.741754 42.630927,26.54013 47.25986,13.972168 62.050847,1.147331 42.892384,10.522281 37.883684,17.76245 31.716712,35.071243 Z"
-       id="checkmark" />
+       d="m 31.716712,35.071243 c 0,0 -6.596639,-15.24725 -21.446849,-19.472822 C 28.252789,42.42005 32.673128,59.741754 32.673128,59.741754 42.630927,26.54013 47.25986,13.972168 62.050847,1.147331 42.892384,10.522281 37.883684,17.76245 31.716712,35.071243 Z" />
   </g>
 </svg>
index 134d02e8ac20d4c7a782107a22a4941b9baf5673..5df4bc5b938f66874daebef89895a7fc2a5af687 100644 (file)
@@ -1,11 +1,11 @@
 <svg width="9" height="9" xmlns="http://www.w3.org/2000/svg">
  <g id="False">
   <rect height="8" width="8" y="0.5" x="0.5" stroke="#000" fill="#fff" stroke-width="1"/>
-  <line stroke-linecap="undefined" stroke-linejoin="undefined" id="svg_2" y2="4.5" x2="7" y1="4.5" x1="2" stroke="#000" fill="none"/>
-  <line stroke-linecap="undefined" stroke-linejoin="undefined" id="svg_3" y2="7" x2="4.5" y1="2" x1="4.5" stroke="#000" fill="none"/>
+  <line stroke-linecap="undefined" stroke-linejoin="undefined" y2="4.5" x2="7" y1="4.5" x1="2" stroke="#000" fill="none"/>
+  <line stroke-linecap="undefined" stroke-linejoin="undefined" y2="7" x2="4.5" y1="2" x1="4.5" stroke="#000" fill="none"/>
  </g>
  <g id="True">
   <rect height="8" width="8" y="0.5" x="0.5" stroke="#000" fill="#fff" stroke-width="1"/>
-  <line stroke-linecap="undefined" stroke-linejoin="undefined" id="svg_2" y2="4.5" x2="7" y1="4.5" x1="2" stroke="#000" fill="none"/>
+  <line stroke-linecap="undefined" stroke-linejoin="undefined" y2="4.5" x2="7" y1="4.5" x1="2" stroke="#000" fill="none"/>
  </g>
 </svg>
\ No newline at end of file
index b102b3e18cc807b8eac36d0b6f11061d3856bd00..335d0306db1b2ea64e7e9821ea67ea6a1b3dd909 100644 (file)
   </metadata>
   <defs
      id="defs10" />
-  <g
-     id="True">
-    <circle
-       r="30"
-       cy="32"
-       cx="32"
-       id="path4166"
+  <g id="True">
+    <circle r="30" cy="32" cx="32"       
        style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1" />
-    <circle
-       r="22"
-       cy="32"
-       cx="32"
-       id="path4166-1"
+    <circle r="22" cy="32" cx="32"
        style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1" />
   </g>
   <circle
index cf9dd76039a8805d3a2f650837ac2862559811ba..fc7e5c5ddf228603dd733ba4d277915c83ef8de3 100755 (executable)
@@ -8,36 +8,36 @@
                                        Width="128" Height="128"/>
                                <HueSelector Hue="{²./H}" Focusable="true" Name="hueSelector" Margin="0" Width="128" Height="20"/>
                        </VerticalStack>
-                       <VerticalStack Margin="5" Spacing="1">
+                       <VerticalStack Margin="5" Spacing="1" Width="100">
                                <Widget Width="34" Height="21" Background="{./SelectedColor}"/>
                                <Label Focusable="true" Selectable="true" Text="{./SelectedColor}" />                           
                                <HorizontalStack Height="Fit">
-                                       <Label Text="R" Width="Fit"/>
-                                       <Spinner Style="ColorSpinner" Value="{²./R}" Width="40"  />
+                                       <Label Text="R" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="ColorSpinner" Value="{²./R}"/>
                                </HorizontalStack>
                                <HorizontalStack Height="Fit">
-                                       <Label Text="G" Width="Fit"/>
-                                       <Spinner Style="ColorSpinner" Value="{²./G}" Width="40"  />
+                                       <Label Text="G" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="ColorSpinner" Value="{²./G}"/>
                                </HorizontalStack>
                                <HorizontalStack Height="Fit">
-                                       <Label Text="B" Width="Fit"/>
-                                       <Spinner Style="ColorSpinner" Value="{²./B}" Width="40"  />
+                                       <Label Text="B" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="ColorSpinner" Value="{²./B}"/>
                                </HorizontalStack>
                                <HorizontalStack Height="Fit">
-                                       <Label Text="A" Width="Fit"/>
-                                       <Spinner Style="ColorSpinner" Value="{²./A}" Width="40"  />
+                                       <Label Text="A" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="ColorSpinner" Value="{²./A}"/>
                                </HorizontalStack>
                                <HorizontalStack Height="Fit">
-                                       <Label Text="H" Width="Fit"/>
-                                       <Spinner Style="HSVSpinner" Value="{²./H}" Width="40"  />
+                                       <Label Text="H" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="HSVSpinner" Value="{²./H}"/>
                                </HorizontalStack>
                                <HorizontalStack Height="Fit">
-                                       <Label Text="S" Width="Fit"/>
-                                       <Spinner Style="HSVSpinner" Value="{²./S}" Width="40"  />
+                                       <Label Text="S" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="HSVSpinner" Value="{²./S}"/>
                                </HorizontalStack>
                                <HorizontalStack Height="Fit">
-                                       <Label Text="V" Width="Fit"/>
-                                       <Spinner Style="HSVSpinner" Value="{²./V}" Width="40"  />
+                                       <Label Text="V" Width="Stretched" TextAlignment="Right"/>
+                                       <Spinner Style="HSVSpinner" Value="{²./V}"/>
                                </HorizontalStack>
                        </VerticalStack>
                </HorizontalStack>
index b38bd1a124d5c222e969c4157d0a00e76ebaf76a..c480cd62df7c5c68bd1724cd2db7807154828aad 100644 (file)
@@ -1,4 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
+  <package id="CVKL" version="0.1.2" targetFramework="net461" />
+  <package id="glTF2Loader" version="1.1.3-alpha" targetFramework="net461" />
+  <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net461" />
+  <package id="System.Numerics.Vectors" version="4.6.0-preview4.19212.13" targetFramework="net461" />
+  <package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview4.19212.13" targetFramework="net461" />
   <package id="Vulkan" version="0.1.2.6" targetFramework="net461" />
 </packages>
\ No newline at end of file
index d57cb7b57c66774350ea316b2735cea5f6a55b08..b8a726de97ea7052b338ef166de2da2002bdc8d9 100644 (file)
@@ -534,7 +534,7 @@ namespace Crow.IML
                internal static void emitConvert(ILGenerator il, Type origType, Type destType){
                        if (destType == typeof(object))
                                return;
-                       if (destType == typeof(string)) {
+                       if (destType == typeof (string)) {
                                System.Reflection.Emit.Label emitNullStr = il.DefineLabel ();
                                System.Reflection.Emit.Label endConvert = il.DefineLabel ();
                                il.Emit (OpCodes.Dup);
@@ -545,6 +545,9 @@ namespace Crow.IML
                                il.Emit (OpCodes.Pop);//remove null string from stack
                                il.Emit (OpCodes.Ldstr, "");//replace with empty string
                                il.MarkLabel (endConvert);
+                       }else if ((origType.IsEnum || origType == typeof(Enum)) && destType.IsEnum) {
+                               il.Emit (OpCodes.Unbox_Any, destType);
+                               return;
                        }else if (origType.IsValueType) {
                                if (destType != origType) {
                                        MethodInfo miIO = getImplicitOp (origType, destType);
diff --git a/Crow/src/GraphicObjects/EnumSelector.cs b/Crow/src/GraphicObjects/EnumSelector.cs
new file mode 100644 (file)
index 0000000..fd5f498
--- /dev/null
@@ -0,0 +1,88 @@
+//
+// Border.cs
+//
+// Author:
+//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using System.Diagnostics;
+using vkvg;
+
+namespace Crow
+{
+       /// <summary>
+       /// Convenient widget for selecting value from enum
+       /// </summary>
+       public class EnumSelector : GenericStack
+       {
+               #region CTOR
+               protected EnumSelector () : base(){}
+               public EnumSelector (Interface iface) : base(iface){}
+               #endregion
+
+               #region private fields
+               Enum enumValue;
+               Type enumType;
+               #endregion
+
+               #region public properties
+               /// <summary>
+               /// use to define the colors of the 3d border
+               /// </summary>
+               [DefaultValue(null)]
+               public virtual Enum EnumValue {
+                       get { return enumValue; }
+                       set {
+                               if (enumValue == value)
+                                       return;
+
+                               enumValue = value;
+
+                               if (enumValue != null) {
+                                       if (enumType != enumValue.GetType ()) {
+                                               ClearChildren ();
+                                               enumType = enumValue.GetType ();
+                                               foreach (string en in enumType.GetEnumNames ()) {
+                                                       RadioButton rb = new RadioButton (IFace);
+                                                       rb.Caption = en;
+                                                       if (enumValue.ToString() == en)
+                                                               rb.IsChecked = true;
+                                                       rb.Checked += (sender, e) => (((RadioButton)sender).Parent as EnumSelector).EnumValue = (Enum)Enum.Parse (enumType, (sender as RadioButton).Caption);
+                                                       AddChild (rb);
+                                                       RegisterForLayouting (LayoutingType.All);
+                                               }
+                                       }
+                               } else 
+                                       ClearChildren ();
+
+                               NotifyValueChanged ("EnumValue", enumValue);
+                               RegisterForRedraw ();
+                       }
+               }
+               #endregion
+
+       }
+}
+
index fc4f62ed7b42b9a97821ca980a253f889a9ba5ff..68c497b3a7f9562134d3a17aa4e8dc6e498a66d7 100644 (file)
@@ -80,7 +80,7 @@ namespace Crow
 
                        Crow.Gradient grad = new Gradient (Gradient.Type.Horizontal);
                        grad.Stops.Add (new Gradient.ColorStop (0, new Color (1, 1, 1, 1)));
-                       grad.Stops.Add (new Gradient.ColorStop (1, new Color (1, 1, 1, 0)));
+                       grad.Stops.Add (new Gradient.ColorStop (1, new Color (0, 0, 0, 0)));
                        grad.SetAsSource (gr, r);
                        DrawingHelpers.CairoRectangle (gr, r, CornerRadius);
                        gr.Fill();
index 4f244f43bb5e9908691930333fa5c6ff91db2182..d4b65397f2762590eab21fc931353839dafeb505 100644 (file)
@@ -222,7 +222,7 @@ namespace Crow
                public override void onMouseWheel (object sender, MouseWheelEventArgs e)
                {
                        base.onMouseWheel (sender, e);
-                       if (IFace.IsKeyDown (Key.Shift_L))
+                       if (IFace.IsKeyDown (Key.LeftShift))
                                ScrollX += e.Delta * ScrollSpeed;
                        else
                                ScrollY -= e.Delta * ScrollSpeed;
index a37d9f67740d1fe2ce485d81f1d11a232ab274af..a269a23a27f5c59125a9c97b334252142023871c 100644 (file)
@@ -74,13 +74,11 @@ namespace Crow
 
                        switch (key)
                        {
-                       case Key.BackSpace:
+                       case Key.Backspace:
                                if (CurrentPosition == 0)
                                        return;
                                this.DeleteChar();
                                break;
-                       case Key.Clear:
-                               break;
                        case Key.Delete:
                                if (selectionIsEmpty) {
                                        if (!MoveRight ())
@@ -89,8 +87,8 @@ namespace Crow
                                        IFace.Clipboard = this.SelectedText;
                                this.DeleteChar ();
                                break;
-                       case Key.KP_Enter:
-                       case Key.Return:
+                       case Key.KeypadEnter:
+                       case Key.Enter:
                                if (!selectionIsEmpty)
                                        this.DeleteChar ();
                                if (Multiline)
@@ -197,11 +195,11 @@ namespace Crow
                                break;
                        case Key.Menu:
                                break;
-                       case Key.Num_Lock:
+                       case Key.NumLock:
                                break;
-                       case Key.Page_Down:                             
+                       case Key.PageDown:                              
                                break;
-                       case Key.Page_Up:
+                       case Key.PageUp:
                                break;
                        case Key.Tab:
                                this.Insert ("\t");
index 3154faed4b4219545c4e0500141f8c01f875f928..0f8f18057e98fb93946a9667d0987f46041b691b 100644 (file)
@@ -1723,7 +1723,7 @@ namespace Crow
                        DebugLog.AddEvent(DbgEvtType.GOPaint, this);
                        #endif
                        //TODO:this test should not be necessary
-                       if (Slot.Height < 0 || Slot.Width < 0 || parent == null)
+                       if (Slot.Height <= 0 || Slot.Width <= 0 || parent == null)
                                return;
                        lock (this) {
                                if (cacheEnabled) {
@@ -1740,7 +1740,7 @@ namespace Crow
                                                paintDisabled (ctx, Slot + Parent.ClientRectangle.Position);                                    
                                } else {
                                        Rectangle rb = Slot + Parent.ClientRectangle.Position;
-                                       //ctx.Save ();
+                                       ctx.Save ();
 
                                        ctx.Translate (rb.X, rb.Y);
 
@@ -1748,8 +1748,8 @@ namespace Crow
                                        if (!isEnabled)
                                                paintDisabled (ctx, Slot);
 
-                                       ctx.Translate (-rb.X, -rb.Y);
-                                       //ctx.Restore ();
+                                       //ctx.Translate (-rb.X, -rb.Y);
+                                       ctx.Restore ();
                                }
                                LastPaintedSlot = Slot;
                        }
index ee2cfb6a8fd0601c8e2171011014e6a7fdfb7057..ae75313a96f6b6de16e46e382992264067eec292 100644 (file)
@@ -32,2411 +32,126 @@ namespace Crow
     /// </summary>
     public enum Key : int
     {
-               NoSymbol                                                = 0x000000,
-               VoidSymbol                                              = 0xffffff,
-               BackSpace                                               = 0xff08,
-               Tab                                                             = 0xff09,
-               Linefeed                                                = 0xff0a,
-               Clear                                                   = 0xff0b,
-               Return                                                  = 0xff0d,
-               Pause                                                   = 0xff13,
-               Scroll_Lock                                             = 0xff14,
-               Sys_Req                                                 = 0xff15,
-               Escape                                                  = 0xff1b,
-               Delete                                                  = 0xffff,
-               Multi_key                                               = 0xff20,
-               Codeinput                                               = 0xff37,
-               SingleCandidate                                 = 0xff3c,
-               MultipleCandidate                               = 0xff3d,
-               PreviousCandidate                               = 0xff3e,
-               Kanji                                                   = 0xff21,
-               Muhenkan                                                = 0xff22,
-               Henkan_Mode                                             = 0xff23,
-               Henkan                                                  = 0xff23,
-               Romaji                                                  = 0xff24,
-               Hiragana                                                = 0xff25,
-               Katakana                                                = 0xff26,
-               Hiragana_Katakana                               = 0xff27,
-               Zenkaku                                                 = 0xff28,
-               Hankaku                                                 = 0xff29,
-               Zenkaku_Hankaku                                 = 0xff2a,
-               Touroku                                                 = 0xff2b,
-               Massyo                                                  = 0xff2c,
-               Kana_Lock                                               = 0xff2d,
-               Kana_Shift                                              = 0xff2e,
-               Eisu_Shift                                              = 0xff2f,
-               Eisu_toggle                                             = 0xff30,
-               Kanji_Bangou                                    = 0xff37,
-               Zen_Koho                                                = 0xff3d,
-               Mae_Koho                                                = 0xff3e,
-               Home                                                    = 0xff50,
-               Left                                                    = 0xff51,
-               Up                                                              = 0xff52,
-               Right                                                   = 0xff53,
-               Down                                                    = 0xff54,
-               Prior                                                   = 0xff55,
-               Page_Up                                                 = 0xff55,
-               Next                                                    = 0xff56,
-               Page_Down                                               = 0xff56,
-               End                                                             = 0xff57,
-               Begin                                                   = 0xff58,
-               Select                                                  = 0xff60,
-               Print                                                   = 0xff61,
-               Execute                                                 = 0xff62,
-               Insert                                                  = 0xff63,
-               Undo                                                    = 0xff65,
-               Redo                                                    = 0xff66,
-               Menu                                                    = 0xff67,
-               Find                                                    = 0xff68,
-               Cancel                                                  = 0xff69,
-               Help                                                    = 0xff6a,
-               Break                                                   = 0xff6b,
-               Mode_switch                                             = 0xff7e,
-               script_switch                                   = 0xff7e,
-               Num_Lock                                                = 0xff7f,
-               KP_Space                                                = 0xff80,
-               KP_Tab                                                  = 0xff89,
-               KP_Enter                                                = 0xff8d,
-               KP_F1                                                   = 0xff91,
-               KP_F2                                                   = 0xff92,
-               KP_F3                                                   = 0xff93,
-               KP_F4                                                   = 0xff94,
-               KP_Home                                                 = 0xff95,
-               KP_Left                                                 = 0xff96,
-               KP_Up                                                   = 0xff97,
-               KP_Right                                                = 0xff98,
-               KP_Down                                                 = 0xff99,
-               KP_Prior                                                = 0xff9a,
-               KP_Page_Up                                              = 0xff9a,
-               KP_Next                                                 = 0xff9b,
-               KP_Page_Down                                    = 0xff9b,
-               KP_End                                                  = 0xff9c,
-               KP_Begin                                                = 0xff9d,
-               KP_Insert                                               = 0xff9e,
-               KP_Delete                                               = 0xff9f,
-               KP_Equal                                                = 0xffbd,
-               KP_Multiply                                             = 0xffaa,
-               KP_Add                                                  = 0xffab,
-               KP_Separator                                    = 0xffac,
-               KP_Subtract                                             = 0xffad,
-               KP_Decimal                                              = 0xffae,
-               KP_Divide                                               = 0xffaf,
-               KP_0                                                    = 0xffb0,
-               KP_1                                                    = 0xffb1,
-               KP_2                                                    = 0xffb2,
-               KP_3                                                    = 0xffb3,
-               KP_4                                                    = 0xffb4,
-               KP_5                                                    = 0xffb5,
-               KP_6                                                    = 0xffb6,
-               KP_7                                                    = 0xffb7,
-               KP_8                                                    = 0xffb8,
-               KP_9                                                    = 0xffb9,
-               F1                                                              = 0xffbe,
-               F2                                                              = 0xffbf,
-               F3                                                              = 0xffc0,
-               F4                                                              = 0xffc1,
-               F5                                                              = 0xffc2,
-               F6                                                              = 0xffc3,
-               F7                                                              = 0xffc4,
-               F8                                                              = 0xffc5,
-               F9                                                              = 0xffc6,
-               F10                                                             = 0xffc7,
-               F11                                                             = 0xffc8,
-               L1                                                              = 0xffc8,
-               F12                                                             = 0xffc9,
-               L2                                                              = 0xffc9,
-               F13                                                             = 0xffca,
-               L3                                                              = 0xffca,
-               F14                                                             = 0xffcb,
-               L4                                                              = 0xffcb,
-               F15                                                             = 0xffcc,
-               L5                                                              = 0xffcc,
-               F16                                                             = 0xffcd,
-               L6                                                              = 0xffcd,
-               F17                                                             = 0xffce,
-               L7                                                              = 0xffce,
-               F18                                                             = 0xffcf,
-               L8                                                              = 0xffcf,
-               F19                                                             = 0xffd0,
-               L9                                                              = 0xffd0,
-               F20                                                             = 0xffd1,
-               L10                                                             = 0xffd1,
-               F21                                                             = 0xffd2,
-               R1                                                              = 0xffd2,
-               F22                                                             = 0xffd3,
-               R2                                                              = 0xffd3,
-               F23                                                             = 0xffd4,
-               R3                                                              = 0xffd4,
-               F24                                                             = 0xffd5,
-               R4                                                              = 0xffd5,
-               F25                                                             = 0xffd6,
-               R5                                                              = 0xffd6,
-               F26                                                             = 0xffd7,
-               R6                                                              = 0xffd7,
-               F27                                                             = 0xffd8,
-               R7                                                              = 0xffd8,
-               F28                                                             = 0xffd9,
-               R8                                                              = 0xffd9,
-               F29                                                             = 0xffda,
-               R9                                                              = 0xffda,
-               F30                                                             = 0xffdb,
-               R10                                                             = 0xffdb,
-               F31                                                             = 0xffdc,
-               R11                                                             = 0xffdc,
-               F32                                                             = 0xffdd,
-               R12                                                             = 0xffdd,
-               F33                                                             = 0xffde,
-               R13                                                             = 0xffde,
-               F34                                                             = 0xffdf,
-               R14                                                             = 0xffdf,
-               F35                                                             = 0xffe0,
-               R15                                                             = 0xffe0,
-               Shift_L                                                 = 0xffe1,
-               Shift_R                                                 = 0xffe2,
-               Control_L                                               = 0xffe3,
-               Control_R                                               = 0xffe4,
-               Caps_Lock                                               = 0xffe5,
-               Shift_Lock                                              = 0xffe6,
-               Meta_L                                                  = 0xffe7,
-               Meta_R                                                  = 0xffe8,
-               Alt_L                                                   = 0xffe9,
-               Alt_R                                                   = 0xffea,
-               Super_L                                                 = 0xffeb,
-               Super_R                                                 = 0xffec,
-               Hyper_L                                                 = 0xffed,
-               Hyper_R                                                 = 0xffee,
-               ISO_Lock                                                = 0xfe01,
-               ISO_Level2_Latch                                = 0xfe02,
-               ISO_Level3_Shift                                = 0xfe03,
-               ISO_Level3_Latch                                = 0xfe04,
-               ISO_Level3_Lock                                 = 0xfe05,
-               ISO_Level5_Shift                                = 0xfe11,
-               ISO_Level5_Latch                                = 0xfe12,
-               ISO_Level5_Lock                                 = 0xfe13,
-               ISO_Group_Shift                                 = 0xff7e,
-               ISO_Group_Latch                                 = 0xfe06,
-               ISO_Group_Lock                                  = 0xfe07,
-               ISO_Next_Group                                  = 0xfe08,
-               ISO_Next_Group_Lock                             = 0xfe09,
-               ISO_Prev_Group                                  = 0xfe0a,
-               ISO_Prev_Group_Lock                             = 0xfe0b,
-               ISO_First_Group                                 = 0xfe0c,
-               ISO_First_Group_Lock                    = 0xfe0d,
-               ISO_Last_Group                                  = 0xfe0e,
-               ISO_Last_Group_Lock                             = 0xfe0f,
-               ISO_Left_Tab                                    = 0xfe20,
-               ISO_Move_Line_Up                                = 0xfe21,
-               ISO_Move_Line_Down                              = 0xfe22,
-               ISO_Partial_Line_Up                             = 0xfe23,
-               ISO_Partial_Line_Down                   = 0xfe24,
-               ISO_Partial_Space_Left                  = 0xfe25,
-               ISO_Partial_Space_Right                 = 0xfe26,
-               ISO_Set_Margin_Left                             = 0xfe27,
-               ISO_Set_Margin_Right                    = 0xfe28,
-               ISO_Release_Margin_Left                 = 0xfe29,
-               ISO_Release_Margin_Right                = 0xfe2a,
-               ISO_Release_Both_Margins                = 0xfe2b,
-               ISO_Fast_Cursor_Left                    = 0xfe2c,
-               ISO_Fast_Cursor_Right                   = 0xfe2d,
-               ISO_Fast_Cursor_Up                              = 0xfe2e,
-               ISO_Fast_Cursor_Down                    = 0xfe2f,
-               ISO_Continuous_Underline                = 0xfe30,
-               ISO_Discontinuous_Underline             = 0xfe31,
-               ISO_Emphasize                                   = 0xfe32,
-               ISO_Center_Object                               = 0xfe33,
-               ISO_Enter                                               = 0xfe34,
-               dead_grave                                              = 0xfe50,
-               dead_acute                                              = 0xfe51,
-               dead_circumflex                                 = 0xfe52,
-               dead_tilde                                              = 0xfe53,
-               dead_perispomeni                                = 0xfe53,
-               dead_macron                                             = 0xfe54,
-               dead_breve                                              = 0xfe55,
-               dead_abovedot                                   = 0xfe56,
-               dead_diaeresis                                  = 0xfe57,
-               dead_abovering                                  = 0xfe58,
-               dead_doubleacute                                = 0xfe59,
-               dead_caron                                              = 0xfe5a,
-               dead_cedilla                                    = 0xfe5b,
-               dead_ogonek                                             = 0xfe5c,
-               dead_iota                                               = 0xfe5d,
-               dead_voiced_sound                               = 0xfe5e,
-               dead_semivoiced_sound                   = 0xfe5f,
-               dead_belowdot                                   = 0xfe60,
-               dead_hook                                               = 0xfe61,
-               dead_horn                                               = 0xfe62,
-               dead_stroke                                             = 0xfe63,
-               dead_abovecomma                                 = 0xfe64,
-               dead_psili                                              = 0xfe64,
-               dead_abovereversedcomma                 = 0xfe65,
-               dead_dasia                                              = 0xfe65,
-               dead_doublegrave                                = 0xfe66,
-               dead_belowring                                  = 0xfe67,
-               dead_belowmacron                                = 0xfe68,
-               dead_belowcircumflex                    = 0xfe69,
-               dead_belowtilde                                 = 0xfe6a,
-               dead_belowbreve                                 = 0xfe6b,
-               dead_belowdiaeresis                             = 0xfe6c,
-               dead_invertedbreve                              = 0xfe6d,
-               dead_belowcomma                                 = 0xfe6e,
-               dead_currency                                   = 0xfe6f,
-               dead_lowline                                    = 0xfe90,
-               dead_aboveverticalline                  = 0xfe91,
-               dead_belowverticalline                  = 0xfe92,
-               dead_longsolidusoverlay                 = 0xfe93,
-               dead_a                                                  = 0xfe80,
-               dead_A                                                  = 0xfe81,
-               dead_e                                                  = 0xfe82,
-               dead_E                                                  = 0xfe83,
-               dead_i                                                  = 0xfe84,
-               dead_I                                                  = 0xfe85,
-               dead_o                                                  = 0xfe86,
-               dead_O                                                  = 0xfe87,
-               dead_u                                                  = 0xfe88,
-               dead_U                                                  = 0xfe89,
-               dead_small_schwa                                = 0xfe8a,
-               dead_capital_schwa                              = 0xfe8b,
-               dead_greek                                              = 0xfe8c,
-               First_Virtual_Screen                    = 0xfed0,
-               Prev_Virtual_Screen                             = 0xfed1,
-               Next_Virtual_Screen                             = 0xfed2,
-               Last_Virtual_Screen                             = 0xfed4,
-               Terminate_Server                                = 0xfed5,
-               AccessX_Enable                                  = 0xfe70,
-               AccessX_Feedback_Enable                 = 0xfe71,
-               RepeatKeys_Enable                               = 0xfe72,
-               SlowKeys_Enable                                 = 0xfe73,
-               BounceKeys_Enable                               = 0xfe74,
-               StickyKeys_Enable                               = 0xfe75,
-               MouseKeys_Enable                                = 0xfe76,
-               MouseKeys_Accel_Enable                  = 0xfe77,
-               Overlay1_Enable                                 = 0xfe78,
-               Overlay2_Enable                                 = 0xfe79,
-               AudibleBell_Enable                              = 0xfe7a,
-               Pointer_Left                                    = 0xfee0,
-               Pointer_Right                                   = 0xfee1,
-               Pointer_Up                                              = 0xfee2,
-               Pointer_Down                                    = 0xfee3,
-               Pointer_UpLeft                                  = 0xfee4,
-               Pointer_UpRight                                 = 0xfee5,
-               Pointer_DownLeft                                = 0xfee6,
-               Pointer_DownRight                               = 0xfee7,
-               Pointer_Button_Dflt                             = 0xfee8,
-               Pointer_Button1                                 = 0xfee9,
-               Pointer_Button2                                 = 0xfeea,
-               Pointer_Button3                                 = 0xfeeb,
-               Pointer_Button4                                 = 0xfeec,
-               Pointer_Button5                                 = 0xfeed,
-               Pointer_DblClick_Dflt                   = 0xfeee,
-               Pointer_DblClick1                               = 0xfeef,
-               Pointer_DblClick2                               = 0xfef0,
-               Pointer_DblClick3                               = 0xfef1,
-               Pointer_DblClick4                               = 0xfef2,
-               Pointer_DblClick5                               = 0xfef3,
-               Pointer_Drag_Dflt                               = 0xfef4,
-               Pointer_Drag1                                   = 0xfef5,
-               Pointer_Drag2                                   = 0xfef6,
-               Pointer_Drag3                                   = 0xfef7,
-               Pointer_Drag4                                   = 0xfef8,
-               Pointer_Drag5                                   = 0xfefd,
-               Pointer_EnableKeys                              = 0xfef9,
-               Pointer_Accelerate                              = 0xfefa,
-               Pointer_DfltBtnNext                             = 0xfefb,
-               Pointer_DfltBtnPrev                             = 0xfefc,
-               ch                                                              = 0xfea0,
-               Ch                                                              = 0xfea1,
-               CH                                                              = 0xfea2,
-               c_h                                                             = 0xfea3,
-               C_h                                                             = 0xfea4,
-               C_H                                                             = 0xfea5,
-               key_3270_Duplicate                              = 0xfd01,
-               key_3270_FieldMark                              = 0xfd02,
-               key_3270_Right2                                 = 0xfd03,
-               key_3270_Left2                                  = 0xfd04,
-               key_3270_BackTab                                = 0xfd05,
-               key_3270_EraseEOF                               = 0xfd06,
-               key_3270_EraseInput                             = 0xfd07,
-               key_3270_Reset                                  = 0xfd08,
-               key_3270_Quit                                   = 0xfd09,
-               key_3270_PA1                                    = 0xfd0a,
-               key_3270_PA2                                    = 0xfd0b,
-               key_3270_PA3                                    = 0xfd0c,
-               key_3270_Test                                   = 0xfd0d,
-               key_3270_Attn                                   = 0xfd0e,
-               key_3270_CursorBlink                    = 0xfd0f,
-               key_3270_AltCursor                              = 0xfd10,
-               key_3270_KeyClick                               = 0xfd11,
-               key_3270_Jump                                   = 0xfd12,
-               key_3270_Ident                                  = 0xfd13,
-               key_3270_Rule                                   = 0xfd14,
-               key_3270_Copy                                   = 0xfd15,
-               key_3270_Play                                   = 0xfd16,
-               key_3270_Setup                                  = 0xfd17,
-               key_3270_Record                                 = 0xfd18,
-               key_3270_ChangeScreen                   = 0xfd19,
-               key_3270_DeleteWord                             = 0xfd1a,
-               key_3270_ExSelect                               = 0xfd1b,
-               key_3270_CursorSelect                   = 0xfd1c,
-               key_3270_PrintScreen                    = 0xfd1d,
-               key_3270_Enter                                  = 0xfd1e,
-               space                                                   = 0x0020,
-               exclam                                                  = 0x0021,
-               quotedbl                                                = 0x0022,
-               numbersign                                              = 0x0023,
-               dollar                                                  = 0x0024,
-               percent                                                 = 0x0025,
-               ampersand                                               = 0x0026,
-               apostrophe                                              = 0x0027,
-               quoteright                                              = 0x0027,
-               parenleft                                               = 0x0028,
-               parenright                                              = 0x0029,
-               asterisk                                                = 0x002a,
-               plus                                                    = 0x002b,
-               comma                                                   = 0x002c,
-               minus                                                   = 0x002d,
-               period                                                  = 0x002e,
-               slash                                                   = 0x002f,
-               key_0                                                   = 0x0030,
-               key_1                                                   = 0x0031,
-               key_2                                                   = 0x0032,
-               key_3                                                   = 0x0033,
-               key_4                                                   = 0x0034,
-               key_5                                                   = 0x0035,
-               key_6                                                   = 0x0036,
-               key_7                                                   = 0x0037,
-               key_8                                                   = 0x0038,
-               key_9                                                   = 0x0039,
-               colon                                                   = 0x003a,
-               semicolon                                               = 0x003b,
-               less                                                    = 0x003c,
-               equal                                                   = 0x003d,
-               greater                                                 = 0x003e,
-               question                                                = 0x003f,
-               at                                                              = 0x0040,
-               A                                                               = 0x0041,
-               B                                                               = 0x0042,
-               C                                                               = 0x0043,
-               D                                                               = 0x0044,
-               E                                                               = 0x0045,
-               F                                                               = 0x0046,
-               G                                                               = 0x0047,
-               H                                                               = 0x0048,
-               I                                                               = 0x0049,
-               J                                                               = 0x004a,
-               K                                                               = 0x004b,
-               L                                                               = 0x004c,
-               M                                                               = 0x004d,
-               N                                                               = 0x004e,
-               O                                                               = 0x004f,
-               P                                                               = 0x0050,
-               Q                                                               = 0x0051,
-               R                                                               = 0x0052,
-               S                                                               = 0x0053,
-               T                                                               = 0x0054,
-               U                                                               = 0x0055,
-               V                                                               = 0x0056,
-               W                                                               = 0x0057,
-               X                                                               = 0x0058,
-               Y                                                               = 0x0059,
-               Z                                                               = 0x005a,
-               bracketleft                                             = 0x005b,
-               backslash                                               = 0x005c,
-               bracketright                                    = 0x005d,
-               asciicircum                                             = 0x005e,
-               underscore                                              = 0x005f,
-               grave                                                   = 0x0060,
-               quoteleft                                               = 0x0060,
-               a                                                               = 0x0061,
-               b                                                               = 0x0062,
-               c                                                               = 0x0063,
-               d                                                               = 0x0064,
-               e                                                               = 0x0065,
-               f                                                               = 0x0066,
-               g                                                               = 0x0067,
-               h                                                               = 0x0068,
-               i                                                               = 0x0069,
-               j                                                               = 0x006a,
-               k                                                               = 0x006b,
-               l                                                               = 0x006c,
-               m                                                               = 0x006d,
-               n                                                               = 0x006e,
-               o                                                               = 0x006f,
-               p                                                               = 0x0070,
-               q                                                               = 0x0071,
-               r                                                               = 0x0072,
-               s                                                               = 0x0073,
-               t                                                               = 0x0074,
-               u                                                               = 0x0075,
-               v                                                               = 0x0076,
-               w                                                               = 0x0077,
-               x                                                               = 0x0078,
-               y                                                               = 0x0079,
-               z                                                               = 0x007a,
-               braceleft                                               = 0x007b,
-               bar                                                             = 0x007c,
-               braceright                                              = 0x007d,
-               asciitilde                                              = 0x007e,
-               nobreakspace                                    = 0x00a0,
-               exclamdown                                              = 0x00a1,
-               cent                                                    = 0x00a2,
-               sterling                                                = 0x00a3,
-               currency                                                = 0x00a4,
-               yen                                                             = 0x00a5,
-               brokenbar                                               = 0x00a6,
-               section                                                 = 0x00a7,
-               diaeresis                                               = 0x00a8,
-               copyright                                               = 0x00a9,
-               ordfeminine                                             = 0x00aa,
-               guillemotleft                                   = 0x00ab,
-               notsign                                                 = 0x00ac,
-               hyphen                                                  = 0x00ad,
-               registered                                              = 0x00ae,
-               macron                                                  = 0x00af,
-               degree                                                  = 0x00b0,
-               plusminus                                               = 0x00b1,
-               twosuperior                                             = 0x00b2,
-               threesuperior                                   = 0x00b3,
-               acute                                                   = 0x00b4,
-               mu                                                              = 0x00b5,
-               paragraph                                               = 0x00b6,
-               periodcentered                                  = 0x00b7,
-               cedilla                                                 = 0x00b8,
-               onesuperior                                             = 0x00b9,
-               masculine                                               = 0x00ba,
-               guillemotright                                  = 0x00bb,
-               onequarter                                              = 0x00bc,
-               onehalf                                                 = 0x00bd,
-               threequarters                                   = 0x00be,
-               questiondown                                    = 0x00bf,
-               Agrave                                                  = 0x00c0,
-               Aacute                                                  = 0x00c1,
-               Acircumflex                                             = 0x00c2,
-               Atilde                                                  = 0x00c3,
-               Adiaeresis                                              = 0x00c4,
-               Aring                                                   = 0x00c5,
-               AE                                                              = 0x00c6,
-               Ccedilla                                                = 0x00c7,
-               Egrave                                                  = 0x00c8,
-               Eacute                                                  = 0x00c9,
-               Ecircumflex                                             = 0x00ca,
-               Ediaeresis                                              = 0x00cb,
-               Igrave                                                  = 0x00cc,
-               Iacute                                                  = 0x00cd,
-               Icircumflex                                             = 0x00ce,
-               Idiaeresis                                              = 0x00cf,
-               ETH                                                             = 0x00d0,
-               Eth                                                             = 0x00d0,
-               Ntilde                                                  = 0x00d1,
-               Ograve                                                  = 0x00d2,
-               Oacute                                                  = 0x00d3,
-               Ocircumflex                                             = 0x00d4,
-               Otilde                                                  = 0x00d5,
-               Odiaeresis                                              = 0x00d6,
-               multiply                                                = 0x00d7,
-               Oslash                                                  = 0x00d8,
-               Ooblique                                                = 0x00d8,
-               Ugrave                                                  = 0x00d9,
-               Uacute                                                  = 0x00da,
-               Ucircumflex                                             = 0x00db,
-               Udiaeresis                                              = 0x00dc,
-               Yacute                                                  = 0x00dd,
-               THORN                                                   = 0x00de,
-               Thorn                                                   = 0x00de,
-               ssharp                                                  = 0x00df,
-               agrave                                                  = 0x00e0,
-               aacute                                                  = 0x00e1,
-               acircumflex                                             = 0x00e2,
-               atilde                                                  = 0x00e3,
-               adiaeresis                                              = 0x00e4,
-               aring                                                   = 0x00e5,
-               ae                                                              = 0x00e6,
-               ccedilla                                                = 0x00e7,
-               egrave                                                  = 0x00e8,
-               eacute                                                  = 0x00e9,
-               ecircumflex                                             = 0x00ea,
-               ediaeresis                                              = 0x00eb,
-               igrave                                                  = 0x00ec,
-               iacute                                                  = 0x00ed,
-               icircumflex                                             = 0x00ee,
-               idiaeresis                                              = 0x00ef,
-               eth                                                             = 0x00f0,
-               ntilde                                                  = 0x00f1,
-               ograve                                                  = 0x00f2,
-               oacute                                                  = 0x00f3,
-               ocircumflex                                             = 0x00f4,
-               otilde                                                  = 0x00f5,
-               odiaeresis                                              = 0x00f6,
-               division                                                = 0x00f7,
-               oslash                                                  = 0x00f8,
-               ooblique                                                = 0x00f8,
-               ugrave                                                  = 0x00f9,
-               uacute                                                  = 0x00fa,
-               ucircumflex                                             = 0x00fb,
-               udiaeresis                                              = 0x00fc,
-               yacute                                                  = 0x00fd,
-               thorn                                                   = 0x00fe,
-               ydiaeresis                                              = 0x00ff,
-               Aogonek                                                 = 0x01a1,
-               breve                                                   = 0x01a2,
-               Lstroke                                                 = 0x01a3,
-               Lcaron                                                  = 0x01a5,
-               Sacute                                                  = 0x01a6,
-               Scaron                                                  = 0x01a9,
-               Scedilla                                                = 0x01aa,
-               Tcaron                                                  = 0x01ab,
-               Zacute                                                  = 0x01ac,
-               Zcaron                                                  = 0x01ae,
-               Zabovedot                                               = 0x01af,
-               aogonek                                                 = 0x01b1,
-               ogonek                                                  = 0x01b2,
-               lstroke                                                 = 0x01b3,
-               lcaron                                                  = 0x01b5,
-               sacute                                                  = 0x01b6,
-               caron                                                   = 0x01b7,
-               scaron                                                  = 0x01b9,
-               scedilla                                                = 0x01ba,
-               tcaron                                                  = 0x01bb,
-               zacute                                                  = 0x01bc,
-               doubleacute                                             = 0x01bd,
-               zcaron                                                  = 0x01be,
-               zabovedot                                               = 0x01bf,
-               Racute                                                  = 0x01c0,
-               Abreve                                                  = 0x01c3,
-               Lacute                                                  = 0x01c5,
-               Cacute                                                  = 0x01c6,
-               Ccaron                                                  = 0x01c8,
-               Eogonek                                                 = 0x01ca,
-               Ecaron                                                  = 0x01cc,
-               Dcaron                                                  = 0x01cf,
-               Dstroke                                                 = 0x01d0,
-               Nacute                                                  = 0x01d1,
-               Ncaron                                                  = 0x01d2,
-               Odoubleacute                                    = 0x01d5,
-               Rcaron                                                  = 0x01d8,
-               Uring                                                   = 0x01d9,
-               Udoubleacute                                    = 0x01db,
-               Tcedilla                                                = 0x01de,
-               racute                                                  = 0x01e0,
-               abreve                                                  = 0x01e3,
-               lacute                                                  = 0x01e5,
-               cacute                                                  = 0x01e6,
-               ccaron                                                  = 0x01e8,
-               eogonek                                                 = 0x01ea,
-               ecaron                                                  = 0x01ec,
-               dcaron                                                  = 0x01ef,
-               dstroke                                                 = 0x01f0,
-               nacute                                                  = 0x01f1,
-               ncaron                                                  = 0x01f2,
-               odoubleacute                                    = 0x01f5,
-               rcaron                                                  = 0x01f8,
-               uring                                                   = 0x01f9,
-               udoubleacute                                    = 0x01fb,
-               tcedilla                                                = 0x01fe,
-               abovedot                                                = 0x01ff,
-               Hstroke                                                 = 0x02a1,
-               Hcircumflex                                             = 0x02a6,
-               Iabovedot                                               = 0x02a9,
-               Gbreve                                                  = 0x02ab,
-               Jcircumflex                                             = 0x02ac,
-               hstroke                                                 = 0x02b1,
-               hcircumflex                                             = 0x02b6,
-               idotless                                                = 0x02b9,
-               gbreve                                                  = 0x02bb,
-               jcircumflex                                             = 0x02bc,
-               Cabovedot                                               = 0x02c5,
-               Ccircumflex                                             = 0x02c6,
-               Gabovedot                                               = 0x02d5,
-               Gcircumflex                                             = 0x02d8,
-               Ubreve                                                  = 0x02dd,
-               Scircumflex                                             = 0x02de,
-               cabovedot                                               = 0x02e5,
-               ccircumflex                                             = 0x02e6,
-               gabovedot                                               = 0x02f5,
-               gcircumflex                                             = 0x02f8,
-               ubreve                                                  = 0x02fd,
-               scircumflex                                             = 0x02fe,
-               kra                                                             = 0x03a2,
-               kappa                                                   = 0x03a2,
-               Rcedilla                                                = 0x03a3,
-               Itilde                                                  = 0x03a5,
-               Lcedilla                                                = 0x03a6,
-               Emacron                                                 = 0x03aa,
-               Gcedilla                                                = 0x03ab,
-               Tslash                                                  = 0x03ac,
-               rcedilla                                                = 0x03b3,
-               itilde                                                  = 0x03b5,
-               lcedilla                                                = 0x03b6,
-               emacron                                                 = 0x03ba,
-               gcedilla                                                = 0x03bb,
-               tslash                                                  = 0x03bc,
-               ENG                                                             = 0x03bd,
-               eng                                                             = 0x03bf,
-               Amacron                                                 = 0x03c0,
-               Iogonek                                                 = 0x03c7,
-               Eabovedot                                               = 0x03cc,
-               Imacron                                                 = 0x03cf,
-               Ncedilla                                                = 0x03d1,
-               Omacron                                                 = 0x03d2,
-               Kcedilla                                                = 0x03d3,
-               Uogonek                                                 = 0x03d9,
-               Utilde                                                  = 0x03dd,
-               Umacron                                                 = 0x03de,
-               amacron                                                 = 0x03e0,
-               iogonek                                                 = 0x03e7,
-               eabovedot                                               = 0x03ec,
-               imacron                                                 = 0x03ef,
-               ncedilla                                                = 0x03f1,
-               omacron                                                 = 0x03f2,
-               kcedilla                                                = 0x03f3,
-               uogonek                                                 = 0x03f9,
-               utilde                                                  = 0x03fd,
-               umacron                                                 = 0x03fe,
-               Wcircumflex                                             = 0x1000174,
-               wcircumflex                                             = 0x1000175,
-               Ycircumflex                                             = 0x1000176,
-               ycircumflex                                             = 0x1000177,
-               Babovedot                                               = 0x1001e02,
-               babovedot                                               = 0x1001e03,
-               Dabovedot                                               = 0x1001e0a,
-               dabovedot                                               = 0x1001e0b,
-               Fabovedot                                               = 0x1001e1e,
-               fabovedot                                               = 0x1001e1f,
-               Mabovedot                                               = 0x1001e40,
-               mabovedot                                               = 0x1001e41,
-               Pabovedot                                               = 0x1001e56,
-               pabovedot                                               = 0x1001e57,
-               Sabovedot                                               = 0x1001e60,
-               sabovedot                                               = 0x1001e61,
-               Tabovedot                                               = 0x1001e6a,
-               tabovedot                                               = 0x1001e6b,
-               Wgrave                                                  = 0x1001e80,
-               wgrave                                                  = 0x1001e81,
-               Wacute                                                  = 0x1001e82,
-               wacute                                                  = 0x1001e83,
-               Wdiaeresis                                              = 0x1001e84,
-               wdiaeresis                                              = 0x1001e85,
-               Ygrave                                                  = 0x1001ef2,
-               ygrave                                                  = 0x1001ef3,
-               OE                                                              = 0x13bc,
-               oe                                                              = 0x13bd,
-               Ydiaeresis                                              = 0x13be,
-               overline                                                = 0x047e,
-               kana_fullstop                                   = 0x04a1,
-               kana_openingbracket                             = 0x04a2,
-               kana_closingbracket                             = 0x04a3,
-               kana_comma                                              = 0x04a4,
-               kana_conjunctive                                = 0x04a5,
-               kana_middledot                                  = 0x04a5,
-               kana_WO                                                 = 0x04a6,
-               kana_a                                                  = 0x04a7,
-               kana_i                                                  = 0x04a8,
-               kana_u                                                  = 0x04a9,
-               kana_e                                                  = 0x04aa,
-               kana_o                                                  = 0x04ab,
-               kana_ya                                                 = 0x04ac,
-               kana_yu                                                 = 0x04ad,
-               kana_yo                                                 = 0x04ae,
-               kana_tsu                                                = 0x04af,
-               kana_tu                                                 = 0x04af,
-               prolongedsound                                  = 0x04b0,
-               kana_A                                                  = 0x04b1,
-               kana_I                                                  = 0x04b2,
-               kana_U                                                  = 0x04b3,
-               kana_E                                                  = 0x04b4,
-               kana_O                                                  = 0x04b5,
-               kana_KA                                                 = 0x04b6,
-               kana_KI                                                 = 0x04b7,
-               kana_KU                                                 = 0x04b8,
-               kana_KE                                                 = 0x04b9,
-               kana_KO                                                 = 0x04ba,
-               kana_SA                                                 = 0x04bb,
-               kana_SHI                                                = 0x04bc,
-               kana_SU                                                 = 0x04bd,
-               kana_SE                                                 = 0x04be,
-               kana_SO                                                 = 0x04bf,
-               kana_TA                                                 = 0x04c0,
-               kana_CHI                                                = 0x04c1,
-               kana_TI                                                 = 0x04c1,
-               kana_TSU                                                = 0x04c2,
-               kana_TU                                                 = 0x04c2,
-               kana_TE                                                 = 0x04c3,
-               kana_TO                                                 = 0x04c4,
-               kana_NA                                                 = 0x04c5,
-               kana_NI                                                 = 0x04c6,
-               kana_NU                                                 = 0x04c7,
-               kana_NE                                                 = 0x04c8,
-               kana_NO                                                 = 0x04c9,
-               kana_HA                                                 = 0x04ca,
-               kana_HI                                                 = 0x04cb,
-               kana_FU                                                 = 0x04cc,
-               kana_HU                                                 = 0x04cc,
-               kana_HE                                                 = 0x04cd,
-               kana_HO                                                 = 0x04ce,
-               kana_MA                                                 = 0x04cf,
-               kana_MI                                                 = 0x04d0,
-               kana_MU                                                 = 0x04d1,
-               kana_ME                                                 = 0x04d2,
-               kana_MO                                                 = 0x04d3,
-               kana_YA                                                 = 0x04d4,
-               kana_YU                                                 = 0x04d5,
-               kana_YO                                                 = 0x04d6,
-               kana_RA                                                 = 0x04d7,
-               kana_RI                                                 = 0x04d8,
-               kana_RU                                                 = 0x04d9,
-               kana_RE                                                 = 0x04da,
-               kana_RO                                                 = 0x04db,
-               kana_WA                                                 = 0x04dc,
-               kana_N                                                  = 0x04dd,
-               voicedsound                                             = 0x04de,
-               semivoicedsound                                 = 0x04df,
-               kana_switch                                             = 0xff7e,
-               Farsi_0                                                 = 0x10006f0,
-               Farsi_1                                                 = 0x10006f1,
-               Farsi_2                                                 = 0x10006f2,
-               Farsi_3                                                 = 0x10006f3,
-               Farsi_4                                                 = 0x10006f4,
-               Farsi_5                                                 = 0x10006f5,
-               Farsi_6                                                 = 0x10006f6,
-               Farsi_7                                                 = 0x10006f7,
-               Farsi_8                                                 = 0x10006f8,
-               Farsi_9                                                 = 0x10006f9,
-               Arabic_percent                                  = 0x100066a,
-               Arabic_superscript_alef                 = 0x1000670,
-               Arabic_tteh                                             = 0x1000679,
-               Arabic_peh                                              = 0x100067e,
-               Arabic_tcheh                                    = 0x1000686,
-               Arabic_ddal                                             = 0x1000688,
-               Arabic_rreh                                             = 0x1000691,
-               Arabic_comma                                    = 0x05ac,
-               Arabic_fullstop                                 = 0x10006d4,
-               Arabic_0                                                = 0x1000660,
-               Arabic_1                                                = 0x1000661,
-               Arabic_2                                                = 0x1000662,
-               Arabic_3                                                = 0x1000663,
-               Arabic_4                                                = 0x1000664,
-               Arabic_5                                                = 0x1000665,
-               Arabic_6                                                = 0x1000666,
-               Arabic_7                                                = 0x1000667,
-               Arabic_8                                                = 0x1000668,
-               Arabic_9                                                = 0x1000669,
-               Arabic_semicolon                                = 0x05bb,
-               Arabic_question_mark                    = 0x05bf,
-               Arabic_hamza                                    = 0x05c1,
-               Arabic_maddaonalef                              = 0x05c2,
-               Arabic_hamzaonalef                              = 0x05c3,
-               Arabic_hamzaonwaw                               = 0x05c4,
-               Arabic_hamzaunderalef                   = 0x05c5,
-               Arabic_hamzaonyeh                               = 0x05c6,
-               Arabic_alef                                             = 0x05c7,
-               Arabic_beh                                              = 0x05c8,
-               Arabic_tehmarbuta                               = 0x05c9,
-               Arabic_teh                                              = 0x05ca,
-               Arabic_theh                                             = 0x05cb,
-               Arabic_jeem                                             = 0x05cc,
-               Arabic_hah                                              = 0x05cd,
-               Arabic_khah                                             = 0x05ce,
-               Arabic_dal                                              = 0x05cf,
-               Arabic_thal                                             = 0x05d0,
-               Arabic_ra                                               = 0x05d1,
-               Arabic_zain                                             = 0x05d2,
-               Arabic_seen                                             = 0x05d3,
-               Arabic_sheen                                    = 0x05d4,
-               Arabic_sad                                              = 0x05d5,
-               Arabic_dad                                              = 0x05d6,
-               Arabic_tah                                              = 0x05d7,
-               Arabic_zah                                              = 0x05d8,
-               Arabic_ain                                              = 0x05d9,
-               Arabic_ghain                                    = 0x05da,
-               Arabic_tatweel                                  = 0x05e0,
-               Arabic_feh                                              = 0x05e1,
-               Arabic_qaf                                              = 0x05e2,
-               Arabic_kaf                                              = 0x05e3,
-               Arabic_lam                                              = 0x05e4,
-               Arabic_meem                                             = 0x05e5,
-               Arabic_noon                                             = 0x05e6,
-               Arabic_ha                                               = 0x05e7,
-               Arabic_heh                                              = 0x05e7,
-               Arabic_waw                                              = 0x05e8,
-               Arabic_alefmaksura                              = 0x05e9,
-               Arabic_yeh                                              = 0x05ea,
-               Arabic_fathatan                                 = 0x05eb,
-               Arabic_dammatan                                 = 0x05ec,
-               Arabic_kasratan                                 = 0x05ed,
-               Arabic_fatha                                    = 0x05ee,
-               Arabic_damma                                    = 0x05ef,
-               Arabic_kasra                                    = 0x05f0,
-               Arabic_shadda                                   = 0x05f1,
-               Arabic_sukun                                    = 0x05f2,
-               Arabic_madda_above                              = 0x1000653,
-               Arabic_hamza_above                              = 0x1000654,
-               Arabic_hamza_below                              = 0x1000655,
-               Arabic_jeh                                              = 0x1000698,
-               Arabic_veh                                              = 0x10006a4,
-               Arabic_keheh                                    = 0x10006a9,
-               Arabic_gaf                                              = 0x10006af,
-               Arabic_noon_ghunna                              = 0x10006ba,
-               Arabic_heh_doachashmee                  = 0x10006be,
-               Farsi_yeh                                               = 0x10006cc,
-               Arabic_farsi_yeh                                = 0x10006cc,
-               Arabic_yeh_baree                                = 0x10006d2,
-               Arabic_heh_goal                                 = 0x10006c1,
-               Arabic_switch                                   = 0xff7e,
-               Cyrillic_GHE_bar                                = 0x1000492,
-               Cyrillic_ghe_bar                                = 0x1000493,
-               Cyrillic_ZHE_descender                  = 0x1000496,
-               Cyrillic_zhe_descender                  = 0x1000497,
-               Cyrillic_KA_descender                   = 0x100049a,
-               Cyrillic_ka_descender                   = 0x100049b,
-               Cyrillic_KA_vertstroke                  = 0x100049c,
-               Cyrillic_ka_vertstroke                  = 0x100049d,
-               Cyrillic_EN_descender                   = 0x10004a2,
-               Cyrillic_en_descender                   = 0x10004a3,
-               Cyrillic_U_straight                             = 0x10004ae,
-               Cyrillic_u_straight                             = 0x10004af,
-               Cyrillic_U_straight_bar                 = 0x10004b0,
-               Cyrillic_u_straight_bar                 = 0x10004b1,
-               Cyrillic_HA_descender                   = 0x10004b2,
-               Cyrillic_ha_descender                   = 0x10004b3,
-               Cyrillic_CHE_descender                  = 0x10004b6,
-               Cyrillic_che_descender                  = 0x10004b7,
-               Cyrillic_CHE_vertstroke                 = 0x10004b8,
-               Cyrillic_che_vertstroke                 = 0x10004b9,
-               Cyrillic_SHHA                                   = 0x10004ba,
-               Cyrillic_shha                                   = 0x10004bb,
-               Cyrillic_SCHWA                                  = 0x10004d8,
-               Cyrillic_schwa                                  = 0x10004d9,
-               Cyrillic_I_macron                               = 0x10004e2,
-               Cyrillic_i_macron                               = 0x10004e3,
-               Cyrillic_O_bar                                  = 0x10004e8,
-               Cyrillic_o_bar                                  = 0x10004e9,
-               Cyrillic_U_macron                               = 0x10004ee,
-               Cyrillic_u_macron                               = 0x10004ef,
-               Serbian_dje                                             = 0x06a1,
-               Macedonia_gje                                   = 0x06a2,
-               Cyrillic_io                                             = 0x06a3,
-               Ukrainian_ie                                    = 0x06a4,
-               Ukranian_je                                             = 0x06a4,
-               Macedonia_dse                                   = 0x06a5,
-               Ukrainian_i                                             = 0x06a6,
-               Ukranian_i                                              = 0x06a6,
-               Ukrainian_yi                                    = 0x06a7,
-               Ukranian_yi                                             = 0x06a7,
-               Cyrillic_je                                             = 0x06a8,
-               Serbian_je                                              = 0x06a8,
-               Cyrillic_lje                                    = 0x06a9,
-               Serbian_lje                                             = 0x06a9,
-               Cyrillic_nje                                    = 0x06aa,
-               Serbian_nje                                             = 0x06aa,
-               Serbian_tshe                                    = 0x06ab,
-               Macedonia_kje                                   = 0x06ac,
-               Ukrainian_ghe_with_upturn               = 0x06ad,
-               Byelorussian_shortu                             = 0x06ae,
-               Cyrillic_dzhe                                   = 0x06af,
-               Serbian_dze                                             = 0x06af,
-               numerosign                                              = 0x06b0,
-               Serbian_DJE                                             = 0x06b1,
-               Macedonia_GJE                                   = 0x06b2,
-               Cyrillic_IO                                             = 0x06b3,
-               Ukrainian_IE                                    = 0x06b4,
-               Ukranian_JE                                             = 0x06b4,
-               Macedonia_DSE                                   = 0x06b5,
-               Ukrainian_I                                             = 0x06b6,
-               Ukranian_I                                              = 0x06b6,
-               Ukrainian_YI                                    = 0x06b7,
-               Ukranian_YI                                             = 0x06b7,
-               Cyrillic_JE                                             = 0x06b8,
-               Serbian_JE                                              = 0x06b8,
-               Cyrillic_LJE                                    = 0x06b9,
-               Serbian_LJE                                             = 0x06b9,
-               Cyrillic_NJE                                    = 0x06ba,
-               Serbian_NJE                                             = 0x06ba,
-               Serbian_TSHE                                    = 0x06bb,
-               Macedonia_KJE                                   = 0x06bc,
-               Ukrainian_GHE_WITH_UPTURN               = 0x06bd,
-               Byelorussian_SHORTU                             = 0x06be,
-               Cyrillic_DZHE                                   = 0x06bf,
-               Serbian_DZE                                             = 0x06bf,
-               Cyrillic_yu                                             = 0x06c0,
-               Cyrillic_a                                              = 0x06c1,
-               Cyrillic_be                                             = 0x06c2,
-               Cyrillic_tse                                    = 0x06c3,
-               Cyrillic_de                                             = 0x06c4,
-               Cyrillic_ie                                             = 0x06c5,
-               Cyrillic_ef                                             = 0x06c6,
-               Cyrillic_ghe                                    = 0x06c7,
-               Cyrillic_ha                                             = 0x06c8,
-               Cyrillic_i                                              = 0x06c9,
-               Cyrillic_shorti                                 = 0x06ca,
-               Cyrillic_ka                                             = 0x06cb,
-               Cyrillic_el                                             = 0x06cc,
-               Cyrillic_em                                             = 0x06cd,
-               Cyrillic_en                                             = 0x06ce,
-               Cyrillic_o                                              = 0x06cf,
-               Cyrillic_pe                                             = 0x06d0,
-               Cyrillic_ya                                             = 0x06d1,
-               Cyrillic_er                                             = 0x06d2,
-               Cyrillic_es                                             = 0x06d3,
-               Cyrillic_te                                             = 0x06d4,
-               Cyrillic_u                                              = 0x06d5,
-               Cyrillic_zhe                                    = 0x06d6,
-               Cyrillic_ve                                             = 0x06d7,
-               Cyrillic_softsign                               = 0x06d8,
-               Cyrillic_yeru                                   = 0x06d9,
-               Cyrillic_ze                                             = 0x06da,
-               Cyrillic_sha                                    = 0x06db,
-               Cyrillic_e                                              = 0x06dc,
-               Cyrillic_shcha                                  = 0x06dd,
-               Cyrillic_che                                    = 0x06de,
-               Cyrillic_hardsign                               = 0x06df,
-               Cyrillic_YU                                             = 0x06e0,
-               Cyrillic_A                                              = 0x06e1,
-               Cyrillic_BE                                             = 0x06e2,
-               Cyrillic_TSE                                    = 0x06e3,
-               Cyrillic_DE                                             = 0x06e4,
-               Cyrillic_IE                                             = 0x06e5,
-               Cyrillic_EF                                             = 0x06e6,
-               Cyrillic_GHE                                    = 0x06e7,
-               Cyrillic_HA                                             = 0x06e8,
-               Cyrillic_I                                              = 0x06e9,
-               Cyrillic_SHORTI                                 = 0x06ea,
-               Cyrillic_KA                                             = 0x06eb,
-               Cyrillic_EL                                             = 0x06ec,
-               Cyrillic_EM                                             = 0x06ed,
-               Cyrillic_EN                                             = 0x06ee,
-               Cyrillic_O                                              = 0x06ef,
-               Cyrillic_PE                                             = 0x06f0,
-               Cyrillic_YA                                             = 0x06f1,
-               Cyrillic_ER                                             = 0x06f2,
-               Cyrillic_ES                                             = 0x06f3,
-               Cyrillic_TE                                             = 0x06f4,
-               Cyrillic_U                                              = 0x06f5,
-               Cyrillic_ZHE                                    = 0x06f6,
-               Cyrillic_VE                                             = 0x06f7,
-               Cyrillic_SOFTSIGN                               = 0x06f8,
-               Cyrillic_YERU                                   = 0x06f9,
-               Cyrillic_ZE                                             = 0x06fa,
-               Cyrillic_SHA                                    = 0x06fb,
-               Cyrillic_E                                              = 0x06fc,
-               Cyrillic_SHCHA                                  = 0x06fd,
-               Cyrillic_CHE                                    = 0x06fe,
-               Cyrillic_HARDSIGN                               = 0x06ff,
-               Greek_ALPHAaccent                               = 0x07a1,
-               Greek_EPSILONaccent                             = 0x07a2,
-               Greek_ETAaccent                                 = 0x07a3,
-               Greek_IOTAaccent                                = 0x07a4,
-               Greek_IOTAdieresis                              = 0x07a5,
-               Greek_IOTAdiaeresis                             = 0x07a5,
-               Greek_OMICRONaccent                             = 0x07a7,
-               Greek_UPSILONaccent                             = 0x07a8,
-               Greek_UPSILONdieresis                   = 0x07a9,
-               Greek_OMEGAaccent                               = 0x07ab,
-               Greek_accentdieresis                    = 0x07ae,
-               Greek_horizbar                                  = 0x07af,
-               Greek_alphaaccent                               = 0x07b1,
-               Greek_epsilonaccent                             = 0x07b2,
-               Greek_etaaccent                                 = 0x07b3,
-               Greek_iotaaccent                                = 0x07b4,
-               Greek_iotadieresis                              = 0x07b5,
-               Greek_iotaaccentdieresis                = 0x07b6,
-               Greek_omicronaccent                             = 0x07b7,
-               Greek_upsilonaccent                             = 0x07b8,
-               Greek_upsilondieresis                   = 0x07b9,
-               Greek_upsilonaccentdieresis             = 0x07ba,
-               Greek_omegaaccent                               = 0x07bb,
-               Greek_ALPHA                                             = 0x07c1,
-               Greek_BETA                                              = 0x07c2,
-               Greek_GAMMA                                             = 0x07c3,
-               Greek_DELTA                                             = 0x07c4,
-               Greek_EPSILON                                   = 0x07c5,
-               Greek_ZETA                                              = 0x07c6,
-               Greek_ETA                                               = 0x07c7,
-               Greek_THETA                                             = 0x07c8,
-               Greek_IOTA                                              = 0x07c9,
-               Greek_KAPPA                                             = 0x07ca,
-               Greek_LAMDA                                             = 0x07cb,
-               Greek_LAMBDA                                    = 0x07cb,
-               Greek_MU                                                = 0x07cc,
-               Greek_NU                                                = 0x07cd,
-               Greek_XI                                                = 0x07ce,
-               Greek_OMICRON                                   = 0x07cf,
-               Greek_PI                                                = 0x07d0,
-               Greek_RHO                                               = 0x07d1,
-               Greek_SIGMA                                             = 0x07d2,
-               Greek_TAU                                               = 0x07d4,
-               Greek_UPSILON                                   = 0x07d5,
-               Greek_PHI                                               = 0x07d6,
-               Greek_CHI                                               = 0x07d7,
-               Greek_PSI                                               = 0x07d8,
-               Greek_OMEGA                                             = 0x07d9,
-               Greek_alpha                                             = 0x07e1,
-               Greek_beta                                              = 0x07e2,
-               Greek_gamma                                             = 0x07e3,
-               Greek_delta                                             = 0x07e4,
-               Greek_epsilon                                   = 0x07e5,
-               Greek_zeta                                              = 0x07e6,
-               Greek_eta                                               = 0x07e7,
-               Greek_theta                                             = 0x07e8,
-               Greek_iota                                              = 0x07e9,
-               Greek_kappa                                             = 0x07ea,
-               Greek_lamda                                             = 0x07eb,
-               Greek_lambda                                    = 0x07eb,
-               Greek_mu                                                = 0x07ec,
-               Greek_nu                                                = 0x07ed,
-               Greek_xi                                                = 0x07ee,
-               Greek_omicron                                   = 0x07ef,
-               Greek_pi                                                = 0x07f0,
-               Greek_rho                                               = 0x07f1,
-               Greek_sigma                                             = 0x07f2,
-               Greek_finalsmallsigma                   = 0x07f3,
-               Greek_tau                                               = 0x07f4,
-               Greek_upsilon                                   = 0x07f5,
-               Greek_phi                                               = 0x07f6,
-               Greek_chi                                               = 0x07f7,
-               Greek_psi                                               = 0x07f8,
-               Greek_omega                                             = 0x07f9,
-               Greek_switch                                    = 0xff7e,
-               leftradical                                             = 0x08a1,
-               topleftradical                                  = 0x08a2,
-               horizconnector                                  = 0x08a3,
-               topintegral                                             = 0x08a4,
-               botintegral                                             = 0x08a5,
-               vertconnector                                   = 0x08a6,
-               topleftsqbracket                                = 0x08a7,
-               botleftsqbracket                                = 0x08a8,
-               toprightsqbracket                               = 0x08a9,
-               botrightsqbracket                               = 0x08aa,
-               topleftparens                                   = 0x08ab,
-               botleftparens                                   = 0x08ac,
-               toprightparens                                  = 0x08ad,
-               botrightparens                                  = 0x08ae,
-               leftmiddlecurlybrace                    = 0x08af,
-               rightmiddlecurlybrace                   = 0x08b0,
-               topleftsummation                                = 0x08b1,
-               botleftsummation                                = 0x08b2,
-               topvertsummationconnector               = 0x08b3,
-               botvertsummationconnector               = 0x08b4,
-               toprightsummation                               = 0x08b5,
-               botrightsummation                               = 0x08b6,
-               rightmiddlesummation                    = 0x08b7,
-               lessthanequal                                   = 0x08bc,
-               notequal                                                = 0x08bd,
-               greaterthanequal                                = 0x08be,
-               integral                                                = 0x08bf,
-               therefore                                               = 0x08c0,
-               variation                                               = 0x08c1,
-               infinity                                                = 0x08c2,
-               nabla                                                   = 0x08c5,
-               approximate                                             = 0x08c8,
-               similarequal                                    = 0x08c9,
-               ifonlyif                                                = 0x08cd,
-               implies                                                 = 0x08ce,
-               identical                                               = 0x08cf,
-               radical                                                 = 0x08d6,
-               includedin                                              = 0x08da,
-               includes                                                = 0x08db,
-               intersection                                    = 0x08dc,
-               union                                                   = 0x08dd,
-               logicaland                                              = 0x08de,
-               logicalor                                               = 0x08df,
-               partialderivative                               = 0x08ef,
-               function                                                = 0x08f6,
-               leftarrow                                               = 0x08fb,
-               uparrow                                                 = 0x08fc,
-               rightarrow                                              = 0x08fd,
-               downarrow                                               = 0x08fe,
-               blank                                                   = 0x09df,
-               soliddiamond                                    = 0x09e0,
-               checkerboard                                    = 0x09e1,
-               ht                                                              = 0x09e2,
-               ff                                                              = 0x09e3,
-               cr                                                              = 0x09e4,
-               lf                                                              = 0x09e5,
-               nl                                                              = 0x09e8,
-               vt                                                              = 0x09e9,
-               lowrightcorner                                  = 0x09ea,
-               uprightcorner                                   = 0x09eb,
-               upleftcorner                                    = 0x09ec,
-               lowleftcorner                                   = 0x09ed,
-               crossinglines                                   = 0x09ee,
-               horizlinescan1                                  = 0x09ef,
-               horizlinescan3                                  = 0x09f0,
-               horizlinescan5                                  = 0x09f1,
-               horizlinescan7                                  = 0x09f2,
-               horizlinescan9                                  = 0x09f3,
-               leftt                                                   = 0x09f4,
-               rightt                                                  = 0x09f5,
-               bott                                                    = 0x09f6,
-               topt                                                    = 0x09f7,
-               vertbar                                                 = 0x09f8,
-               emspace                                                 = 0x0aa1,
-               enspace                                                 = 0x0aa2,
-               em3space                                                = 0x0aa3,
-               em4space                                                = 0x0aa4,
-               digitspace                                              = 0x0aa5,
-               punctspace                                              = 0x0aa6,
-               thinspace                                               = 0x0aa7,
-               hairspace                                               = 0x0aa8,
-               emdash                                                  = 0x0aa9,
-               endash                                                  = 0x0aaa,
-               signifblank                                             = 0x0aac,
-               ellipsis                                                = 0x0aae,
-               doubbaselinedot                                 = 0x0aaf,
-               onethird                                                = 0x0ab0,
-               twothirds                                               = 0x0ab1,
-               onefifth                                                = 0x0ab2,
-               twofifths                                               = 0x0ab3,
-               threefifths                                             = 0x0ab4,
-               fourfifths                                              = 0x0ab5,
-               onesixth                                                = 0x0ab6,
-               fivesixths                                              = 0x0ab7,
-               careof                                                  = 0x0ab8,
-               figdash                                                 = 0x0abb,
-               leftanglebracket                                = 0x0abc,
-               decimalpoint                                    = 0x0abd,
-               rightanglebracket                               = 0x0abe,
-               marker                                                  = 0x0abf,
-               oneeighth                                               = 0x0ac3,
-               threeeighths                                    = 0x0ac4,
-               fiveeighths                                             = 0x0ac5,
-               seveneighths                                    = 0x0ac6,
-               trademark                                               = 0x0ac9,
-               signaturemark                                   = 0x0aca,
-               trademarkincircle                               = 0x0acb,
-               leftopentriangle                                = 0x0acc,
-               rightopentriangle                               = 0x0acd,
-               emopencircle                                    = 0x0ace,
-               emopenrectangle                                 = 0x0acf,
-               leftsinglequotemark                             = 0x0ad0,
-               rightsinglequotemark                    = 0x0ad1,
-               leftdoublequotemark                             = 0x0ad2,
-               rightdoublequotemark                    = 0x0ad3,
-               prescription                                    = 0x0ad4,
-               permille                                                = 0x0ad5,
-               minutes                                                 = 0x0ad6,
-               seconds                                                 = 0x0ad7,
-               latincross                                              = 0x0ad9,
-               hexagram                                                = 0x0ada,
-               filledrectbullet                                = 0x0adb,
-               filledlefttribullet                             = 0x0adc,
-               filledrighttribullet                    = 0x0add,
-               emfilledcircle                                  = 0x0ade,
-               emfilledrect                                    = 0x0adf,
-               enopencircbullet                                = 0x0ae0,
-               enopensquarebullet                              = 0x0ae1,
-               openrectbullet                                  = 0x0ae2,
-               opentribulletup                                 = 0x0ae3,
-               opentribulletdown                               = 0x0ae4,
-               openstar                                                = 0x0ae5,
-               enfilledcircbullet                              = 0x0ae6,
-               enfilledsqbullet                                = 0x0ae7,
-               filledtribulletup                               = 0x0ae8,
-               filledtribulletdown                             = 0x0ae9,
-               leftpointer                                             = 0x0aea,
-               rightpointer                                    = 0x0aeb,
-               club                                                    = 0x0aec,
-               diamond                                                 = 0x0aed,
-               heart                                                   = 0x0aee,
-               maltesecross                                    = 0x0af0,
-               dagger                                                  = 0x0af1,
-               doubledagger                                    = 0x0af2,
-               checkmark                                               = 0x0af3,
-               ballotcross                                             = 0x0af4,
-               musicalsharp                                    = 0x0af5,
-               musicalflat                                             = 0x0af6,
-               malesymbol                                              = 0x0af7,
-               femalesymbol                                    = 0x0af8,
-               telephone                                               = 0x0af9,
-               telephonerecorder                               = 0x0afa,
-               phonographcopyright                             = 0x0afb,
-               caret                                                   = 0x0afc,
-               singlelowquotemark                              = 0x0afd,
-               doublelowquotemark                              = 0x0afe,
-               cursor                                                  = 0x0aff,
-               leftcaret                                               = 0x0ba3,
-               rightcaret                                              = 0x0ba6,
-               downcaret                                               = 0x0ba8,
-               upcaret                                                 = 0x0ba9,
-               overbar                                                 = 0x0bc0,
-               downtack                                                = 0x0bc2,
-               upshoe                                                  = 0x0bc3,
-               downstile                                               = 0x0bc4,
-               underbar                                                = 0x0bc6,
-               jot                                                             = 0x0bca,
-               quad                                                    = 0x0bcc,
-               uptack                                                  = 0x0bce,
-               circle                                                  = 0x0bcf,
-               upstile                                                 = 0x0bd3,
-               downshoe                                                = 0x0bd6,
-               rightshoe                                               = 0x0bd8,
-               leftshoe                                                = 0x0bda,
-               lefttack                                                = 0x0bdc,
-               righttack                                               = 0x0bfc,
-               hebrew_doublelowline                    = 0x0cdf,
-               hebrew_aleph                                    = 0x0ce0,
-               hebrew_bet                                              = 0x0ce1,
-               hebrew_beth                                             = 0x0ce1,
-               hebrew_gimel                                    = 0x0ce2,
-               hebrew_gimmel                                   = 0x0ce2,
-               hebrew_dalet                                    = 0x0ce3,
-               hebrew_daleth                                   = 0x0ce3,
-               hebrew_he                                               = 0x0ce4,
-               hebrew_waw                                              = 0x0ce5,
-               hebrew_zain                                             = 0x0ce6,
-               hebrew_zayin                                    = 0x0ce6,
-               hebrew_chet                                             = 0x0ce7,
-               hebrew_het                                              = 0x0ce7,
-               hebrew_tet                                              = 0x0ce8,
-               hebrew_teth                                             = 0x0ce8,
-               hebrew_yod                                              = 0x0ce9,
-               hebrew_finalkaph                                = 0x0cea,
-               hebrew_kaph                                             = 0x0ceb,
-               hebrew_lamed                                    = 0x0cec,
-               hebrew_finalmem                                 = 0x0ced,
-               hebrew_mem                                              = 0x0cee,
-               hebrew_finalnun                                 = 0x0cef,
-               hebrew_nun                                              = 0x0cf0,
-               hebrew_samech                                   = 0x0cf1,
-               hebrew_samekh                                   = 0x0cf1,
-               hebrew_ayin                                             = 0x0cf2,
-               hebrew_finalpe                                  = 0x0cf3,
-               hebrew_pe                                               = 0x0cf4,
-               hebrew_finalzade                                = 0x0cf5,
-               hebrew_finalzadi                                = 0x0cf5,
-               hebrew_zade                                             = 0x0cf6,
-               hebrew_zadi                                             = 0x0cf6,
-               hebrew_qoph                                             = 0x0cf7,
-               hebrew_kuf                                              = 0x0cf7,
-               hebrew_resh                                             = 0x0cf8,
-               hebrew_shin                                             = 0x0cf9,
-               hebrew_taw                                              = 0x0cfa,
-               hebrew_taf                                              = 0x0cfa,
-               Hebrew_switch                                   = 0xff7e,
-               Thai_kokai                                              = 0x0da1,
-               Thai_khokhai                                    = 0x0da2,
-               Thai_khokhuat                                   = 0x0da3,
-               Thai_khokhwai                                   = 0x0da4,
-               Thai_khokhon                                    = 0x0da5,
-               Thai_khorakhang                                 = 0x0da6,
-               Thai_ngongu                                             = 0x0da7,
-               Thai_chochan                                    = 0x0da8,
-               Thai_choching                                   = 0x0da9,
-               Thai_chochang                                   = 0x0daa,
-               Thai_soso                                               = 0x0dab,
-               Thai_chochoe                                    = 0x0dac,
-               Thai_yoying                                             = 0x0dad,
-               Thai_dochada                                    = 0x0dae,
-               Thai_topatak                                    = 0x0daf,
-               Thai_thothan                                    = 0x0db0,
-               Thai_thonangmontho                              = 0x0db1,
-               Thai_thophuthao                                 = 0x0db2,
-               Thai_nonen                                              = 0x0db3,
-               Thai_dodek                                              = 0x0db4,
-               Thai_totao                                              = 0x0db5,
-               Thai_thothung                                   = 0x0db6,
-               Thai_thothahan                                  = 0x0db7,
-               Thai_thothong                                   = 0x0db8,
-               Thai_nonu                                               = 0x0db9,
-               Thai_bobaimai                                   = 0x0dba,
-               Thai_popla                                              = 0x0dbb,
-               Thai_phophung                                   = 0x0dbc,
-               Thai_fofa                                               = 0x0dbd,
-               Thai_phophan                                    = 0x0dbe,
-               Thai_fofan                                              = 0x0dbf,
-               Thai_phosamphao                                 = 0x0dc0,
-               Thai_moma                                               = 0x0dc1,
-               Thai_yoyak                                              = 0x0dc2,
-               Thai_rorua                                              = 0x0dc3,
-               Thai_ru                                                 = 0x0dc4,
-               Thai_loling                                             = 0x0dc5,
-               Thai_lu                                                 = 0x0dc6,
-               Thai_wowaen                                             = 0x0dc7,
-               Thai_sosala                                             = 0x0dc8,
-               Thai_sorusi                                             = 0x0dc9,
-               Thai_sosua                                              = 0x0dca,
-               Thai_hohip                                              = 0x0dcb,
-               Thai_lochula                                    = 0x0dcc,
-               Thai_oang                                               = 0x0dcd,
-               Thai_honokhuk                                   = 0x0dce,
-               Thai_paiyannoi                                  = 0x0dcf,
-               Thai_saraa                                              = 0x0dd0,
-               Thai_maihanakat                                 = 0x0dd1,
-               Thai_saraaa                                             = 0x0dd2,
-               Thai_saraam                                             = 0x0dd3,
-               Thai_sarai                                              = 0x0dd4,
-               Thai_saraii                                             = 0x0dd5,
-               Thai_saraue                                             = 0x0dd6,
-               Thai_sarauee                                    = 0x0dd7,
-               Thai_sarau                                              = 0x0dd8,
-               Thai_sarauu                                             = 0x0dd9,
-               Thai_phinthu                                    = 0x0dda,
-               Thai_maihanakat_maitho                  = 0x0dde,
-               Thai_baht                                               = 0x0ddf,
-               Thai_sarae                                              = 0x0de0,
-               Thai_saraae                                             = 0x0de1,
-               Thai_sarao                                              = 0x0de2,
-               Thai_saraaimaimuan                              = 0x0de3,
-               Thai_saraaimaimalai                             = 0x0de4,
-               Thai_lakkhangyao                                = 0x0de5,
-               Thai_maiyamok                                   = 0x0de6,
-               Thai_maitaikhu                                  = 0x0de7,
-               Thai_maiek                                              = 0x0de8,
-               Thai_maitho                                             = 0x0de9,
-               Thai_maitri                                             = 0x0dea,
-               Thai_maichattawa                                = 0x0deb,
-               Thai_thanthakhat                                = 0x0dec,
-               Thai_nikhahit                                   = 0x0ded,
-               Thai_leksun                                             = 0x0df0,
-               Thai_leknung                                    = 0x0df1,
-               Thai_leksong                                    = 0x0df2,
-               Thai_leksam                                             = 0x0df3,
-               Thai_leksi                                              = 0x0df4,
-               Thai_lekha                                              = 0x0df5,
-               Thai_lekhok                                             = 0x0df6,
-               Thai_lekchet                                    = 0x0df7,
-               Thai_lekpaet                                    = 0x0df8,
-               Thai_lekkao                                             = 0x0df9,
-               Hangul                                                  = 0xff31,
-               Hangul_Start                                    = 0xff32,
-               Hangul_End                                              = 0xff33,
-               Hangul_Hanja                                    = 0xff34,
-               Hangul_Jamo                                             = 0xff35,
-               Hangul_Romaja                                   = 0xff36,
-               Hangul_Codeinput                                = 0xff37,
-               Hangul_Jeonja                                   = 0xff38,
-               Hangul_Banja                                    = 0xff39,
-               Hangul_PreHanja                                 = 0xff3a,
-               Hangul_PostHanja                                = 0xff3b,
-               Hangul_SingleCandidate                  = 0xff3c,
-               Hangul_MultipleCandidate                = 0xff3d,
-               Hangul_PreviousCandidate                = 0xff3e,
-               Hangul_Special                                  = 0xff3f,
-               Hangul_switch                                   = 0xff7e,
-               Hangul_Kiyeog                                   = 0x0ea1,
-               Hangul_SsangKiyeog                              = 0x0ea2,
-               Hangul_KiyeogSios                               = 0x0ea3,
-               Hangul_Nieun                                    = 0x0ea4,
-               Hangul_NieunJieuj                               = 0x0ea5,
-               Hangul_NieunHieuh                               = 0x0ea6,
-               Hangul_Dikeud                                   = 0x0ea7,
-               Hangul_SsangDikeud                              = 0x0ea8,
-               Hangul_Rieul                                    = 0x0ea9,
-               Hangul_RieulKiyeog                              = 0x0eaa,
-               Hangul_RieulMieum                               = 0x0eab,
-               Hangul_RieulPieub                               = 0x0eac,
-               Hangul_RieulSios                                = 0x0ead,
-               Hangul_RieulTieut                               = 0x0eae,
-               Hangul_RieulPhieuf                              = 0x0eaf,
-               Hangul_RieulHieuh                               = 0x0eb0,
-               Hangul_Mieum                                    = 0x0eb1,
-               Hangul_Pieub                                    = 0x0eb2,
-               Hangul_SsangPieub                               = 0x0eb3,
-               Hangul_PieubSios                                = 0x0eb4,
-               Hangul_Sios                                             = 0x0eb5,
-               Hangul_SsangSios                                = 0x0eb6,
-               Hangul_Ieung                                    = 0x0eb7,
-               Hangul_Jieuj                                    = 0x0eb8,
-               Hangul_SsangJieuj                               = 0x0eb9,
-               Hangul_Cieuc                                    = 0x0eba,
-               Hangul_Khieuq                                   = 0x0ebb,
-               Hangul_Tieut                                    = 0x0ebc,
-               Hangul_Phieuf                                   = 0x0ebd,
-               Hangul_Hieuh                                    = 0x0ebe,
-               Hangul_A                                                = 0x0ebf,
-               Hangul_AE                                               = 0x0ec0,
-               Hangul_YA                                               = 0x0ec1,
-               Hangul_YAE                                              = 0x0ec2,
-               Hangul_EO                                               = 0x0ec3,
-               Hangul_E                                                = 0x0ec4,
-               Hangul_YEO                                              = 0x0ec5,
-               Hangul_YE                                               = 0x0ec6,
-               Hangul_O                                                = 0x0ec7,
-               Hangul_WA                                               = 0x0ec8,
-               Hangul_WAE                                              = 0x0ec9,
-               Hangul_OE                                               = 0x0eca,
-               Hangul_YO                                               = 0x0ecb,
-               Hangul_U                                                = 0x0ecc,
-               Hangul_WEO                                              = 0x0ecd,
-               Hangul_WE                                               = 0x0ece,
-               Hangul_WI                                               = 0x0ecf,
-               Hangul_YU                                               = 0x0ed0,
-               Hangul_EU                                               = 0x0ed1,
-               Hangul_YI                                               = 0x0ed2,
-               Hangul_I                                                = 0x0ed3,
-               Hangul_J_Kiyeog                                 = 0x0ed4,
-               Hangul_J_SsangKiyeog                    = 0x0ed5,
-               Hangul_J_KiyeogSios                             = 0x0ed6,
-               Hangul_J_Nieun                                  = 0x0ed7,
-               Hangul_J_NieunJieuj                             = 0x0ed8,
-               Hangul_J_NieunHieuh                             = 0x0ed9,
-               Hangul_J_Dikeud                                 = 0x0eda,
-               Hangul_J_Rieul                                  = 0x0edb,
-               Hangul_J_RieulKiyeog                    = 0x0edc,
-               Hangul_J_RieulMieum                             = 0x0edd,
-               Hangul_J_RieulPieub                             = 0x0ede,
-               Hangul_J_RieulSios                              = 0x0edf,
-               Hangul_J_RieulTieut                             = 0x0ee0,
-               Hangul_J_RieulPhieuf                    = 0x0ee1,
-               Hangul_J_RieulHieuh                             = 0x0ee2,
-               Hangul_J_Mieum                                  = 0x0ee3,
-               Hangul_J_Pieub                                  = 0x0ee4,
-               Hangul_J_PieubSios                              = 0x0ee5,
-               Hangul_J_Sios                                   = 0x0ee6,
-               Hangul_J_SsangSios                              = 0x0ee7,
-               Hangul_J_Ieung                                  = 0x0ee8,
-               Hangul_J_Jieuj                                  = 0x0ee9,
-               Hangul_J_Cieuc                                  = 0x0eea,
-               Hangul_J_Khieuq                                 = 0x0eeb,
-               Hangul_J_Tieut                                  = 0x0eec,
-               Hangul_J_Phieuf                                 = 0x0eed,
-               Hangul_J_Hieuh                                  = 0x0eee,
-               Hangul_RieulYeorinHieuh                 = 0x0eef,
-               Hangul_SunkyeongeumMieum                = 0x0ef0,
-               Hangul_SunkyeongeumPieub                = 0x0ef1,
-               Hangul_PanSios                                  = 0x0ef2,
-               Hangul_KkogjiDalrinIeung                = 0x0ef3,
-               Hangul_SunkyeongeumPhieuf               = 0x0ef4,
-               Hangul_YeorinHieuh                              = 0x0ef5,
-               Hangul_AraeA                                    = 0x0ef6,
-               Hangul_AraeAE                                   = 0x0ef7,
-               Hangul_J_PanSios                                = 0x0ef8,
-               Hangul_J_KkogjiDalrinIeung              = 0x0ef9,
-               Hangul_J_YeorinHieuh                    = 0x0efa,
-               Korean_Won                                              = 0x0eff,
-               Armenian_ligature_ew                    = 0x1000587,
-               Armenian_full_stop                              = 0x1000589,
-               Armenian_verjaket                               = 0x1000589,
-               Armenian_separation_mark                = 0x100055d,
-               Armenian_but                                    = 0x100055d,
-               Armenian_hyphen                                 = 0x100058a,
-               Armenian_yentamna                               = 0x100058a,
-               Armenian_exclam                                 = 0x100055c,
-               Armenian_amanak                                 = 0x100055c,
-               Armenian_accent                                 = 0x100055b,
-               Armenian_shesht                                 = 0x100055b,
-               Armenian_question                               = 0x100055e,
-               Armenian_paruyk                                 = 0x100055e,
-               Armenian_AYB                                    = 0x1000531,
-               Armenian_ayb                                    = 0x1000561,
-               Armenian_BEN                                    = 0x1000532,
-               Armenian_ben                                    = 0x1000562,
-               Armenian_GIM                                    = 0x1000533,
-               Armenian_gim                                    = 0x1000563,
-               Armenian_DA                                             = 0x1000534,
-               Armenian_da                                             = 0x1000564,
-               Armenian_YECH                                   = 0x1000535,
-               Armenian_yech                                   = 0x1000565,
-               Armenian_ZA                                             = 0x1000536,
-               Armenian_za                                             = 0x1000566,
-               Armenian_E                                              = 0x1000537,
-               Armenian_e                                              = 0x1000567,
-               Armenian_AT                                             = 0x1000538,
-               Armenian_at                                             = 0x1000568,
-               Armenian_TO                                             = 0x1000539,
-               Armenian_to                                             = 0x1000569,
-               Armenian_ZHE                                    = 0x100053a,
-               Armenian_zhe                                    = 0x100056a,
-               Armenian_INI                                    = 0x100053b,
-               Armenian_ini                                    = 0x100056b,
-               Armenian_LYUN                                   = 0x100053c,
-               Armenian_lyun                                   = 0x100056c,
-               Armenian_KHE                                    = 0x100053d,
-               Armenian_khe                                    = 0x100056d,
-               Armenian_TSA                                    = 0x100053e,
-               Armenian_tsa                                    = 0x100056e,
-               Armenian_KEN                                    = 0x100053f,
-               Armenian_ken                                    = 0x100056f,
-               Armenian_HO                                             = 0x1000540,
-               Armenian_ho                                             = 0x1000570,
-               Armenian_DZA                                    = 0x1000541,
-               Armenian_dza                                    = 0x1000571,
-               Armenian_GHAT                                   = 0x1000542,
-               Armenian_ghat                                   = 0x1000572,
-               Armenian_TCHE                                   = 0x1000543,
-               Armenian_tche                                   = 0x1000573,
-               Armenian_MEN                                    = 0x1000544,
-               Armenian_men                                    = 0x1000574,
-               Armenian_HI                                             = 0x1000545,
-               Armenian_hi                                             = 0x1000575,
-               Armenian_NU                                             = 0x1000546,
-               Armenian_nu                                             = 0x1000576,
-               Armenian_SHA                                    = 0x1000547,
-               Armenian_sha                                    = 0x1000577,
-               Armenian_VO                                             = 0x1000548,
-               Armenian_vo                                             = 0x1000578,
-               Armenian_CHA                                    = 0x1000549,
-               Armenian_cha                                    = 0x1000579,
-               Armenian_PE                                             = 0x100054a,
-               Armenian_pe                                             = 0x100057a,
-               Armenian_JE                                             = 0x100054b,
-               Armenian_je                                             = 0x100057b,
-               Armenian_RA                                             = 0x100054c,
-               Armenian_ra                                             = 0x100057c,
-               Armenian_SE                                             = 0x100054d,
-               Armenian_se                                             = 0x100057d,
-               Armenian_VEV                                    = 0x100054e,
-               Armenian_vev                                    = 0x100057e,
-               Armenian_TYUN                                   = 0x100054f,
-               Armenian_tyun                                   = 0x100057f,
-               Armenian_RE                                             = 0x1000550,
-               Armenian_re                                             = 0x1000580,
-               Armenian_TSO                                    = 0x1000551,
-               Armenian_tso                                    = 0x1000581,
-               Armenian_VYUN                                   = 0x1000552,
-               Armenian_vyun                                   = 0x1000582,
-               Armenian_PYUR                                   = 0x1000553,
-               Armenian_pyur                                   = 0x1000583,
-               Armenian_KE                                             = 0x1000554,
-               Armenian_ke                                             = 0x1000584,
-               Armenian_O                                              = 0x1000555,
-               Armenian_o                                              = 0x1000585,
-               Armenian_FE                                             = 0x1000556,
-               Armenian_fe                                             = 0x1000586,
-               Armenian_apostrophe                             = 0x100055a,
-               Georgian_an                                             = 0x10010d0,
-               Georgian_ban                                    = 0x10010d1,
-               Georgian_gan                                    = 0x10010d2,
-               Georgian_don                                    = 0x10010d3,
-               Georgian_en                                             = 0x10010d4,
-               Georgian_vin                                    = 0x10010d5,
-               Georgian_zen                                    = 0x10010d6,
-               Georgian_tan                                    = 0x10010d7,
-               Georgian_in                                             = 0x10010d8,
-               Georgian_kan                                    = 0x10010d9,
-               Georgian_las                                    = 0x10010da,
-               Georgian_man                                    = 0x10010db,
-               Georgian_nar                                    = 0x10010dc,
-               Georgian_on                                             = 0x10010dd,
-               Georgian_par                                    = 0x10010de,
-               Georgian_zhar                                   = 0x10010df,
-               Georgian_rae                                    = 0x10010e0,
-               Georgian_san                                    = 0x10010e1,
-               Georgian_tar                                    = 0x10010e2,
-               Georgian_un                                             = 0x10010e3,
-               Georgian_phar                                   = 0x10010e4,
-               Georgian_khar                                   = 0x10010e5,
-               Georgian_ghan                                   = 0x10010e6,
-               Georgian_qar                                    = 0x10010e7,
-               Georgian_shin                                   = 0x10010e8,
-               Georgian_chin                                   = 0x10010e9,
-               Georgian_can                                    = 0x10010ea,
-               Georgian_jil                                    = 0x10010eb,
-               Georgian_cil                                    = 0x10010ec,
-               Georgian_char                                   = 0x10010ed,
-               Georgian_xan                                    = 0x10010ee,
-               Georgian_jhan                                   = 0x10010ef,
-               Georgian_hae                                    = 0x10010f0,
-               Georgian_he                                             = 0x10010f1,
-               Georgian_hie                                    = 0x10010f2,
-               Georgian_we                                             = 0x10010f3,
-               Georgian_har                                    = 0x10010f4,
-               Georgian_hoe                                    = 0x10010f5,
-               Georgian_fi                                             = 0x10010f6,
-               Xabovedot                                               = 0x1001e8a,
-               Ibreve                                                  = 0x100012c,
-               Zstroke                                                 = 0x10001b5,
-               Gcaron                                                  = 0x10001e6,
-               Ocaron                                                  = 0x10001d1,
-               Obarred                                                 = 0x100019f,
-               xabovedot                                               = 0x1001e8b,
-               ibreve                                                  = 0x100012d,
-               zstroke                                                 = 0x10001b6,
-               gcaron                                                  = 0x10001e7,
-               ocaron                                                  = 0x10001d2,
-               obarred                                                 = 0x1000275,
-               SCHWA                                                   = 0x100018f,
-               schwa                                                   = 0x1000259,
-               EZH                                                             = 0x10001b7,
-               ezh                                                             = 0x1000292,
-               Lbelowdot                                               = 0x1001e36,
-               lbelowdot                                               = 0x1001e37,
-               Abelowdot                                               = 0x1001ea0,
-               abelowdot                                               = 0x1001ea1,
-               Ahook                                                   = 0x1001ea2,
-               ahook                                                   = 0x1001ea3,
-               Acircumflexacute                                = 0x1001ea4,
-               acircumflexacute                                = 0x1001ea5,
-               Acircumflexgrave                                = 0x1001ea6,
-               acircumflexgrave                                = 0x1001ea7,
-               Acircumflexhook                                 = 0x1001ea8,
-               acircumflexhook                                 = 0x1001ea9,
-               Acircumflextilde                                = 0x1001eaa,
-               acircumflextilde                                = 0x1001eab,
-               Acircumflexbelowdot                             = 0x1001eac,
-               acircumflexbelowdot                             = 0x1001ead,
-               Abreveacute                                             = 0x1001eae,
-               abreveacute                                             = 0x1001eaf,
-               Abrevegrave                                             = 0x1001eb0,
-               abrevegrave                                             = 0x1001eb1,
-               Abrevehook                                              = 0x1001eb2,
-               abrevehook                                              = 0x1001eb3,
-               Abrevetilde                                             = 0x1001eb4,
-               abrevetilde                                             = 0x1001eb5,
-               Abrevebelowdot                                  = 0x1001eb6,
-               abrevebelowdot                                  = 0x1001eb7,
-               Ebelowdot                                               = 0x1001eb8,
-               ebelowdot                                               = 0x1001eb9,
-               Ehook                                                   = 0x1001eba,
-               ehook                                                   = 0x1001ebb,
-               Etilde                                                  = 0x1001ebc,
-               etilde                                                  = 0x1001ebd,
-               Ecircumflexacute                                = 0x1001ebe,
-               ecircumflexacute                                = 0x1001ebf,
-               Ecircumflexgrave                                = 0x1001ec0,
-               ecircumflexgrave                                = 0x1001ec1,
-               Ecircumflexhook                                 = 0x1001ec2,
-               ecircumflexhook                                 = 0x1001ec3,
-               Ecircumflextilde                                = 0x1001ec4,
-               ecircumflextilde                                = 0x1001ec5,
-               Ecircumflexbelowdot                             = 0x1001ec6,
-               ecircumflexbelowdot                             = 0x1001ec7,
-               Ihook                                                   = 0x1001ec8,
-               ihook                                                   = 0x1001ec9,
-               Ibelowdot                                               = 0x1001eca,
-               ibelowdot                                               = 0x1001ecb,
-               Obelowdot                                               = 0x1001ecc,
-               obelowdot                                               = 0x1001ecd,
-               Ohook                                                   = 0x1001ece,
-               ohook                                                   = 0x1001ecf,
-               Ocircumflexacute                                = 0x1001ed0,
-               ocircumflexacute                                = 0x1001ed1,
-               Ocircumflexgrave                                = 0x1001ed2,
-               ocircumflexgrave                                = 0x1001ed3,
-               Ocircumflexhook                                 = 0x1001ed4,
-               ocircumflexhook                                 = 0x1001ed5,
-               Ocircumflextilde                                = 0x1001ed6,
-               ocircumflextilde                                = 0x1001ed7,
-               Ocircumflexbelowdot                             = 0x1001ed8,
-               ocircumflexbelowdot                             = 0x1001ed9,
-               Ohornacute                                              = 0x1001eda,
-               ohornacute                                              = 0x1001edb,
-               Ohorngrave                                              = 0x1001edc,
-               ohorngrave                                              = 0x1001edd,
-               Ohornhook                                               = 0x1001ede,
-               ohornhook                                               = 0x1001edf,
-               Ohorntilde                                              = 0x1001ee0,
-               ohorntilde                                              = 0x1001ee1,
-               Ohornbelowdot                                   = 0x1001ee2,
-               ohornbelowdot                                   = 0x1001ee3,
-               Ubelowdot                                               = 0x1001ee4,
-               ubelowdot                                               = 0x1001ee5,
-               Uhook                                                   = 0x1001ee6,
-               uhook                                                   = 0x1001ee7,
-               Uhornacute                                              = 0x1001ee8,
-               uhornacute                                              = 0x1001ee9,
-               Uhorngrave                                              = 0x1001eea,
-               uhorngrave                                              = 0x1001eeb,
-               Uhornhook                                               = 0x1001eec,
-               uhornhook                                               = 0x1001eed,
-               Uhorntilde                                              = 0x1001eee,
-               uhorntilde                                              = 0x1001eef,
-               Uhornbelowdot                                   = 0x1001ef0,
-               uhornbelowdot                                   = 0x1001ef1,
-               Ybelowdot                                               = 0x1001ef4,
-               ybelowdot                                               = 0x1001ef5,
-               Yhook                                                   = 0x1001ef6,
-               yhook                                                   = 0x1001ef7,
-               Ytilde                                                  = 0x1001ef8,
-               ytilde                                                  = 0x1001ef9,
-               Ohorn                                                   = 0x10001a0,
-               ohorn                                                   = 0x10001a1,
-               Uhorn                                                   = 0x10001af,
-               uhorn                                                   = 0x10001b0,
-               EcuSign                                                 = 0x10020a0,
-               ColonSign                                               = 0x10020a1,
-               CruzeiroSign                                    = 0x10020a2,
-               FFrancSign                                              = 0x10020a3,
-               LiraSign                                                = 0x10020a4,
-               MillSign                                                = 0x10020a5,
-               NairaSign                                               = 0x10020a6,
-               PesetaSign                                              = 0x10020a7,
-               RupeeSign                                               = 0x10020a8,
-               WonSign                                                 = 0x10020a9,
-               NewSheqelSign                                   = 0x10020aa,
-               DongSign                                                = 0x10020ab,
-               EuroSign                                                = 0x20ac,
-               zerosuperior                                    = 0x1002070,
-               foursuperior                                    = 0x1002074,
-               fivesuperior                                    = 0x1002075,
-               sixsuperior                                             = 0x1002076,
-               sevensuperior                                   = 0x1002077,
-               eightsuperior                                   = 0x1002078,
-               ninesuperior                                    = 0x1002079,
-               zerosubscript                                   = 0x1002080,
-               onesubscript                                    = 0x1002081,
-               twosubscript                                    = 0x1002082,
-               threesubscript                                  = 0x1002083,
-               foursubscript                                   = 0x1002084,
-               fivesubscript                                   = 0x1002085,
-               sixsubscript                                    = 0x1002086,
-               sevensubscript                                  = 0x1002087,
-               eightsubscript                                  = 0x1002088,
-               ninesubscript                                   = 0x1002089,
-               partdifferential                                = 0x1002202,
-               emptyset                                                = 0x1002205,
-               elementof                                               = 0x1002208,
-               notelementof                                    = 0x1002209,
-               containsas                                              = 0x100220B,
-               squareroot                                              = 0x100221A,
-               cuberoot                                                = 0x100221B,
-               fourthroot                                              = 0x100221C,
-               dintegral                                               = 0x100222C,
-               tintegral                                               = 0x100222D,
-               because                                                 = 0x1002235,
-               approxeq                                                = 0x1002248,
-               notapproxeq                                             = 0x1002247,
-               notidentical                                    = 0x1002262,
-               stricteq                                                = 0x1002263,
-               braille_dot_1                                   = 0xfff1,
-               braille_dot_2                                   = 0xfff2,
-               braille_dot_3                                   = 0xfff3,
-               braille_dot_4                                   = 0xfff4,
-               braille_dot_5                                   = 0xfff5,
-               braille_dot_6                                   = 0xfff6,
-               braille_dot_7                                   = 0xfff7,
-               braille_dot_8                                   = 0xfff8,
-               braille_dot_9                                   = 0xfff9,
-               braille_dot_10                                  = 0xfffa,
-               braille_blank                                   = 0x1002800,
-               braille_dots_1                                  = 0x1002801,
-               braille_dots_2                                  = 0x1002802,
-               braille_dots_12                                 = 0x1002803,
-               braille_dots_3                                  = 0x1002804,
-               braille_dots_13                                 = 0x1002805,
-               braille_dots_23                                 = 0x1002806,
-               braille_dots_123                                = 0x1002807,
-               braille_dots_4                                  = 0x1002808,
-               braille_dots_14                                 = 0x1002809,
-               braille_dots_24                                 = 0x100280a,
-               braille_dots_124                                = 0x100280b,
-               braille_dots_34                                 = 0x100280c,
-               braille_dots_134                                = 0x100280d,
-               braille_dots_234                                = 0x100280e,
-               braille_dots_1234                               = 0x100280f,
-               braille_dots_5                                  = 0x1002810,
-               braille_dots_15                                 = 0x1002811,
-               braille_dots_25                                 = 0x1002812,
-               braille_dots_125                                = 0x1002813,
-               braille_dots_35                                 = 0x1002814,
-               braille_dots_135                                = 0x1002815,
-               braille_dots_235                                = 0x1002816,
-               braille_dots_1235                               = 0x1002817,
-               braille_dots_45                                 = 0x1002818,
-               braille_dots_145                                = 0x1002819,
-               braille_dots_245                                = 0x100281a,
-               braille_dots_1245                               = 0x100281b,
-               braille_dots_345                                = 0x100281c,
-               braille_dots_1345                               = 0x100281d,
-               braille_dots_2345                               = 0x100281e,
-               braille_dots_12345                              = 0x100281f,
-               braille_dots_6                                  = 0x1002820,
-               braille_dots_16                                 = 0x1002821,
-               braille_dots_26                                 = 0x1002822,
-               braille_dots_126                                = 0x1002823,
-               braille_dots_36                                 = 0x1002824,
-               braille_dots_136                                = 0x1002825,
-               braille_dots_236                                = 0x1002826,
-               braille_dots_1236                               = 0x1002827,
-               braille_dots_46                                 = 0x1002828,
-               braille_dots_146                                = 0x1002829,
-               braille_dots_246                                = 0x100282a,
-               braille_dots_1246                               = 0x100282b,
-               braille_dots_346                                = 0x100282c,
-               braille_dots_1346                               = 0x100282d,
-               braille_dots_2346                               = 0x100282e,
-               braille_dots_12346                              = 0x100282f,
-               braille_dots_56                                 = 0x1002830,
-               braille_dots_156                                = 0x1002831,
-               braille_dots_256                                = 0x1002832,
-               braille_dots_1256                               = 0x1002833,
-               braille_dots_356                                = 0x1002834,
-               braille_dots_1356                               = 0x1002835,
-               braille_dots_2356                               = 0x1002836,
-               braille_dots_12356                              = 0x1002837,
-               braille_dots_456                                = 0x1002838,
-               braille_dots_1456                               = 0x1002839,
-               braille_dots_2456                               = 0x100283a,
-               braille_dots_12456                              = 0x100283b,
-               braille_dots_3456                               = 0x100283c,
-               braille_dots_13456                              = 0x100283d,
-               braille_dots_23456                              = 0x100283e,
-               braille_dots_123456                             = 0x100283f,
-               braille_dots_7                                  = 0x1002840,
-               braille_dots_17                                 = 0x1002841,
-               braille_dots_27                                 = 0x1002842,
-               braille_dots_127                                = 0x1002843,
-               braille_dots_37                                 = 0x1002844,
-               braille_dots_137                                = 0x1002845,
-               braille_dots_237                                = 0x1002846,
-               braille_dots_1237                               = 0x1002847,
-               braille_dots_47                                 = 0x1002848,
-               braille_dots_147                                = 0x1002849,
-               braille_dots_247                                = 0x100284a,
-               braille_dots_1247                               = 0x100284b,
-               braille_dots_347                                = 0x100284c,
-               braille_dots_1347                               = 0x100284d,
-               braille_dots_2347                               = 0x100284e,
-               braille_dots_12347                              = 0x100284f,
-               braille_dots_57                                 = 0x1002850,
-               braille_dots_157                                = 0x1002851,
-               braille_dots_257                                = 0x1002852,
-               braille_dots_1257                               = 0x1002853,
-               braille_dots_357                                = 0x1002854,
-               braille_dots_1357                               = 0x1002855,
-               braille_dots_2357                               = 0x1002856,
-               braille_dots_12357                              = 0x1002857,
-               braille_dots_457                                = 0x1002858,
-               braille_dots_1457                               = 0x1002859,
-               braille_dots_2457                               = 0x100285a,
-               braille_dots_12457                              = 0x100285b,
-               braille_dots_3457                               = 0x100285c,
-               braille_dots_13457                              = 0x100285d,
-               braille_dots_23457                              = 0x100285e,
-               braille_dots_123457                             = 0x100285f,
-               braille_dots_67                                 = 0x1002860,
-               braille_dots_167                                = 0x1002861,
-               braille_dots_267                                = 0x1002862,
-               braille_dots_1267                               = 0x1002863,
-               braille_dots_367                                = 0x1002864,
-               braille_dots_1367                               = 0x1002865,
-               braille_dots_2367                               = 0x1002866,
-               braille_dots_12367                              = 0x1002867,
-               braille_dots_467                                = 0x1002868,
-               braille_dots_1467                               = 0x1002869,
-               braille_dots_2467                               = 0x100286a,
-               braille_dots_12467                              = 0x100286b,
-               braille_dots_3467                               = 0x100286c,
-               braille_dots_13467                              = 0x100286d,
-               braille_dots_23467                              = 0x100286e,
-               braille_dots_123467                             = 0x100286f,
-               braille_dots_567                                = 0x1002870,
-               braille_dots_1567                               = 0x1002871,
-               braille_dots_2567                               = 0x1002872,
-               braille_dots_12567                              = 0x1002873,
-               braille_dots_3567                               = 0x1002874,
-               braille_dots_13567                              = 0x1002875,
-               braille_dots_23567                              = 0x1002876,
-               braille_dots_123567                             = 0x1002877,
-               braille_dots_4567                               = 0x1002878,
-               braille_dots_14567                              = 0x1002879,
-               braille_dots_24567                              = 0x100287a,
-               braille_dots_124567                             = 0x100287b,
-               braille_dots_34567                              = 0x100287c,
-               braille_dots_134567                             = 0x100287d,
-               braille_dots_234567                             = 0x100287e,
-               braille_dots_1234567                    = 0x100287f,
-               braille_dots_8                                  = 0x1002880,
-               braille_dots_18                                 = 0x1002881,
-               braille_dots_28                                 = 0x1002882,
-               braille_dots_128                                = 0x1002883,
-               braille_dots_38                                 = 0x1002884,
-               braille_dots_138                                = 0x1002885,
-               braille_dots_238                                = 0x1002886,
-               braille_dots_1238                               = 0x1002887,
-               braille_dots_48                                 = 0x1002888,
-               braille_dots_148                                = 0x1002889,
-               braille_dots_248                                = 0x100288a,
-               braille_dots_1248                               = 0x100288b,
-               braille_dots_348                                = 0x100288c,
-               braille_dots_1348                               = 0x100288d,
-               braille_dots_2348                               = 0x100288e,
-               braille_dots_12348                              = 0x100288f,
-               braille_dots_58                                 = 0x1002890,
-               braille_dots_158                                = 0x1002891,
-               braille_dots_258                                = 0x1002892,
-               braille_dots_1258                               = 0x1002893,
-               braille_dots_358                                = 0x1002894,
-               braille_dots_1358                               = 0x1002895,
-               braille_dots_2358                               = 0x1002896,
-               braille_dots_12358                              = 0x1002897,
-               braille_dots_458                                = 0x1002898,
-               braille_dots_1458                               = 0x1002899,
-               braille_dots_2458                               = 0x100289a,
-               braille_dots_12458                              = 0x100289b,
-               braille_dots_3458                               = 0x100289c,
-               braille_dots_13458                              = 0x100289d,
-               braille_dots_23458                              = 0x100289e,
-               braille_dots_123458                             = 0x100289f,
-               braille_dots_68                                 = 0x10028a0,
-               braille_dots_168                                = 0x10028a1,
-               braille_dots_268                                = 0x10028a2,
-               braille_dots_1268                               = 0x10028a3,
-               braille_dots_368                                = 0x10028a4,
-               braille_dots_1368                               = 0x10028a5,
-               braille_dots_2368                               = 0x10028a6,
-               braille_dots_12368                              = 0x10028a7,
-               braille_dots_468                                = 0x10028a8,
-               braille_dots_1468                               = 0x10028a9,
-               braille_dots_2468                               = 0x10028aa,
-               braille_dots_12468                              = 0x10028ab,
-               braille_dots_3468                               = 0x10028ac,
-               braille_dots_13468                              = 0x10028ad,
-               braille_dots_23468                              = 0x10028ae,
-               braille_dots_123468                             = 0x10028af,
-               braille_dots_568                                = 0x10028b0,
-               braille_dots_1568                               = 0x10028b1,
-               braille_dots_2568                               = 0x10028b2,
-               braille_dots_12568                              = 0x10028b3,
-               braille_dots_3568                               = 0x10028b4,
-               braille_dots_13568                              = 0x10028b5,
-               braille_dots_23568                              = 0x10028b6,
-               braille_dots_123568                             = 0x10028b7,
-               braille_dots_4568                               = 0x10028b8,
-               braille_dots_14568                              = 0x10028b9,
-               braille_dots_24568                              = 0x10028ba,
-               braille_dots_124568                             = 0x10028bb,
-               braille_dots_34568                              = 0x10028bc,
-               braille_dots_134568                             = 0x10028bd,
-               braille_dots_234568                             = 0x10028be,
-               braille_dots_1234568                    = 0x10028bf,
-               braille_dots_78                                 = 0x10028c0,
-               braille_dots_178                                = 0x10028c1,
-               braille_dots_278                                = 0x10028c2,
-               braille_dots_1278                               = 0x10028c3,
-               braille_dots_378                                = 0x10028c4,
-               braille_dots_1378                               = 0x10028c5,
-               braille_dots_2378                               = 0x10028c6,
-               braille_dots_12378                              = 0x10028c7,
-               braille_dots_478                                = 0x10028c8,
-               braille_dots_1478                               = 0x10028c9,
-               braille_dots_2478                               = 0x10028ca,
-               braille_dots_12478                              = 0x10028cb,
-               braille_dots_3478                               = 0x10028cc,
-               braille_dots_13478                              = 0x10028cd,
-               braille_dots_23478                              = 0x10028ce,
-               braille_dots_123478                             = 0x10028cf,
-               braille_dots_578                                = 0x10028d0,
-               braille_dots_1578                               = 0x10028d1,
-               braille_dots_2578                               = 0x10028d2,
-               braille_dots_12578                              = 0x10028d3,
-               braille_dots_3578                               = 0x10028d4,
-               braille_dots_13578                              = 0x10028d5,
-               braille_dots_23578                              = 0x10028d6,
-               braille_dots_123578                             = 0x10028d7,
-               braille_dots_4578                               = 0x10028d8,
-               braille_dots_14578                              = 0x10028d9,
-               braille_dots_24578                              = 0x10028da,
-               braille_dots_124578                             = 0x10028db,
-               braille_dots_34578                              = 0x10028dc,
-               braille_dots_134578                             = 0x10028dd,
-               braille_dots_234578                             = 0x10028de,
-               braille_dots_1234578                    = 0x10028df,
-               braille_dots_678                                = 0x10028e0,
-               braille_dots_1678                               = 0x10028e1,
-               braille_dots_2678                               = 0x10028e2,
-               braille_dots_12678                              = 0x10028e3,
-               braille_dots_3678                               = 0x10028e4,
-               braille_dots_13678                              = 0x10028e5,
-               braille_dots_23678                              = 0x10028e6,
-               braille_dots_123678                             = 0x10028e7,
-               braille_dots_4678                               = 0x10028e8,
-               braille_dots_14678                              = 0x10028e9,
-               braille_dots_24678                              = 0x10028ea,
-               braille_dots_124678                             = 0x10028eb,
-               braille_dots_34678                              = 0x10028ec,
-               braille_dots_134678                             = 0x10028ed,
-               braille_dots_234678                             = 0x10028ee,
-               braille_dots_1234678                    = 0x10028ef,
-               braille_dots_5678                               = 0x10028f0,
-               braille_dots_15678                              = 0x10028f1,
-               braille_dots_25678                              = 0x10028f2,
-               braille_dots_125678                             = 0x10028f3,
-               braille_dots_35678                              = 0x10028f4,
-               braille_dots_135678                             = 0x10028f5,
-               braille_dots_235678                             = 0x10028f6,
-               braille_dots_1235678                    = 0x10028f7,
-               braille_dots_45678                              = 0x10028f8,
-               braille_dots_145678                             = 0x10028f9,
-               braille_dots_245678                             = 0x10028fa,
-               braille_dots_1245678                    = 0x10028fb,
-               braille_dots_345678                             = 0x10028fc,
-               braille_dots_1345678                    = 0x10028fd,
-               braille_dots_2345678                    = 0x10028fe,
-               braille_dots_12345678                   = 0x10028ff,
-               Sinh_ng                                                 = 0x1000d82,
-               Sinh_h2                                                 = 0x1000d83,
-               Sinh_a                                                  = 0x1000d85,
-               Sinh_aa                                                 = 0x1000d86,
-               Sinh_ae                                                 = 0x1000d87,
-               Sinh_aee                                                = 0x1000d88,
-               Sinh_i                                                  = 0x1000d89,
-               Sinh_ii                                                 = 0x1000d8a,
-               Sinh_u                                                  = 0x1000d8b,
-               Sinh_uu                                                 = 0x1000d8c,
-               Sinh_ri                                                 = 0x1000d8d,
-               Sinh_rii                                                = 0x1000d8e,
-               Sinh_lu                                                 = 0x1000d8f,
-               Sinh_luu                                                = 0x1000d90,
-               Sinh_e                                                  = 0x1000d91,
-               Sinh_ee                                                 = 0x1000d92,
-               Sinh_ai                                                 = 0x1000d93,
-               Sinh_o                                                  = 0x1000d94,
-               Sinh_oo                                                 = 0x1000d95,
-               Sinh_au                                                 = 0x1000d96,
-               Sinh_ka                                                 = 0x1000d9a,
-               Sinh_kha                                                = 0x1000d9b,
-               Sinh_ga                                                 = 0x1000d9c,
-               Sinh_gha                                                = 0x1000d9d,
-               Sinh_ng2                                                = 0x1000d9e,
-               Sinh_nga                                                = 0x1000d9f,
-               Sinh_ca                                                 = 0x1000da0,
-               Sinh_cha                                                = 0x1000da1,
-               Sinh_ja                                                 = 0x1000da2,
-               Sinh_jha                                                = 0x1000da3,
-               Sinh_nya                                                = 0x1000da4,
-               Sinh_jnya                                               = 0x1000da5,
-               Sinh_nja                                                = 0x1000da6,
-               Sinh_tta                                                = 0x1000da7,
-               Sinh_ttha                                               = 0x1000da8,
-               Sinh_dda                                                = 0x1000da9,
-               Sinh_ddha                                               = 0x1000daa,
-               Sinh_nna                                                = 0x1000dab,
-               Sinh_ndda                                               = 0x1000dac,
-               Sinh_tha                                                = 0x1000dad,
-               Sinh_thha                                               = 0x1000dae,
-               Sinh_dha                                                = 0x1000daf,
-               Sinh_dhha                                               = 0x1000db0,
-               Sinh_na                                                 = 0x1000db1,
-               Sinh_ndha                                               = 0x1000db3,
-               Sinh_pa                                                 = 0x1000db4,
-               Sinh_pha                                                = 0x1000db5,
-               Sinh_ba                                                 = 0x1000db6,
-               Sinh_bha                                                = 0x1000db7,
-               Sinh_ma                                                 = 0x1000db8,
-               Sinh_mba                                                = 0x1000db9,
-               Sinh_ya                                                 = 0x1000dba,
-               Sinh_ra                                                 = 0x1000dbb,
-               Sinh_la                                                 = 0x1000dbd,
-               Sinh_va                                                 = 0x1000dc0,
-               Sinh_sha                                                = 0x1000dc1,
-               Sinh_ssha                                               = 0x1000dc2,
-               Sinh_sa                                                 = 0x1000dc3,
-               Sinh_ha                                                 = 0x1000dc4,
-               Sinh_lla                                                = 0x1000dc5,
-               Sinh_fa                                                 = 0x1000dc6,
-               Sinh_al                                                 = 0x1000dca,
-               Sinh_aa2                                                = 0x1000dcf,
-               Sinh_ae2                                                = 0x1000dd0,
-               Sinh_aee2                                               = 0x1000dd1,
-               Sinh_i2                                                 = 0x1000dd2,
-               Sinh_ii2                                                = 0x1000dd3,
-               Sinh_u2                                                 = 0x1000dd4,
-               Sinh_uu2                                                = 0x1000dd6,
-               Sinh_ru2                                                = 0x1000dd8,
-               Sinh_e2                                                 = 0x1000dd9,
-               Sinh_ee2                                                = 0x1000dda,
-               Sinh_ai2                                                = 0x1000ddb,
-               Sinh_o2                                                 = 0x1000ddc,
-               Sinh_oo2                                                = 0x1000ddd,
-               Sinh_au2                                                = 0x1000dde,
-               Sinh_lu2                                                = 0x1000ddf,
-               Sinh_ruu2                                               = 0x1000df2,
-               Sinh_luu2                                               = 0x1000df3,
-               Sinh_kunddaliya                                 = 0x1000df4,
-               XF86ModeLock                                    = 0x1008FF01,
-               XF86MonBrightnessUp                             = 0x1008FF02,
-               XF86MonBrightnessDown                   = 0x1008FF03,
-               XF86KbdLightOnOff                               = 0x1008FF04,
-               XF86KbdBrightnessUp                             = 0x1008FF05,
-               XF86KbdBrightnessDown                   = 0x1008FF06,
-               XF86Standby                                             = 0x1008FF10,
-               XF86AudioLowerVolume                    = 0x1008FF11,
-               XF86AudioMute                                   = 0x1008FF12,
-               XF86AudioRaiseVolume                    = 0x1008FF13,
-               XF86AudioPlay                                   = 0x1008FF14,
-               XF86AudioStop                                   = 0x1008FF15,
-               XF86AudioPrev                                   = 0x1008FF16,
-               XF86AudioNext                                   = 0x1008FF17,
-               XF86HomePage                                    = 0x1008FF18,
-               XF86Mail                                                = 0x1008FF19,
-               XF86Start                                               = 0x1008FF1A,
-               XF86Search                                              = 0x1008FF1B,
-               XF86AudioRecord                                 = 0x1008FF1C,
-               XF86Calculator                                  = 0x1008FF1D,
-               XF86Memo                                                = 0x1008FF1E,
-               XF86ToDoList                                    = 0x1008FF1F,
-               XF86Calendar                                    = 0x1008FF20,
-               XF86PowerDown                                   = 0x1008FF21,
-               XF86ContrastAdjust                              = 0x1008FF22,
-               XF86RockerUp                                    = 0x1008FF23,
-               XF86RockerDown                                  = 0x1008FF24,
-               XF86RockerEnter                                 = 0x1008FF25,
-               XF86Back                                                = 0x1008FF26,
-               XF86Forward                                             = 0x1008FF27,
-               XF86Stop                                                = 0x1008FF28,
-               XF86Refresh                                             = 0x1008FF29,
-               XF86PowerOff                                    = 0x1008FF2A,
-               XF86WakeUp                                              = 0x1008FF2B,
-               XF86Eject                                               = 0x1008FF2C,
-               XF86ScreenSaver                                 = 0x1008FF2D,
-               XF86WWW                                                 = 0x1008FF2E,
-               XF86Sleep                                               = 0x1008FF2F,
-               XF86Favorites                                   = 0x1008FF30,
-               XF86AudioPause                                  = 0x1008FF31,
-               XF86AudioMedia                                  = 0x1008FF32,
-               XF86MyComputer                                  = 0x1008FF33,
-               XF86VendorHome                                  = 0x1008FF34,
-               XF86LightBulb                                   = 0x1008FF35,
-               XF86Shop                                                = 0x1008FF36,
-               XF86History                                             = 0x1008FF37,
-               XF86OpenURL                                             = 0x1008FF38,
-               XF86AddFavorite                                 = 0x1008FF39,
-               XF86HotLinks                                    = 0x1008FF3A,
-               XF86BrightnessAdjust                    = 0x1008FF3B,
-               XF86Finance                                             = 0x1008FF3C,
-               XF86Community                                   = 0x1008FF3D,
-               XF86AudioRewind                                 = 0x1008FF3E,
-               XF86BackForward                                 = 0x1008FF3F,
-               XF86Launch0                                             = 0x1008FF40,
-               XF86Launch1                                             = 0x1008FF41,
-               XF86Launch2                                             = 0x1008FF42,
-               XF86Launch3                                             = 0x1008FF43,
-               XF86Launch4                                             = 0x1008FF44,
-               XF86Launch5                                             = 0x1008FF45,
-               XF86Launch6                                             = 0x1008FF46,
-               XF86Launch7                                             = 0x1008FF47,
-               XF86Launch8                                             = 0x1008FF48,
-               XF86Launch9                                             = 0x1008FF49,
-               XF86LaunchA                                             = 0x1008FF4A,
-               XF86LaunchB                                             = 0x1008FF4B,
-               XF86LaunchC                                             = 0x1008FF4C,
-               XF86LaunchD                                             = 0x1008FF4D,
-               XF86LaunchE                                             = 0x1008FF4E,
-               XF86LaunchF                                             = 0x1008FF4F,
-               XF86ApplicationLeft                             = 0x1008FF50,
-               XF86ApplicationRight                    = 0x1008FF51,
-               XF86Book                                                = 0x1008FF52,
-               XF86CD                                                  = 0x1008FF53,
-               XF86Calculater                                  = 0x1008FF54,
-               XF86Clear                                               = 0x1008FF55,
-               XF86Close                                               = 0x1008FF56,
-               XF86Copy                                                = 0x1008FF57,
-               XF86Cut                                                 = 0x1008FF58,
-               XF86Display                                             = 0x1008FF59,
-               XF86DOS                                                 = 0x1008FF5A,
-               XF86Documents                                   = 0x1008FF5B,
-               XF86Excel                                               = 0x1008FF5C,
-               XF86Explorer                                    = 0x1008FF5D,
-               XF86Game                                                = 0x1008FF5E,
-               XF86Go                                                  = 0x1008FF5F,
-               XF86iTouch                                              = 0x1008FF60,
-               XF86LogOff                                              = 0x1008FF61,
-               XF86Market                                              = 0x1008FF62,
-               XF86Meeting                                             = 0x1008FF63,
-               XF86MenuKB                                              = 0x1008FF65,
-               XF86MenuPB                                              = 0x1008FF66,
-               XF86MySites                                             = 0x1008FF67,
-               XF86New                                                 = 0x1008FF68,
-               XF86News                                                = 0x1008FF69,
-               XF86OfficeHome                                  = 0x1008FF6A,
-               XF86Open                                                = 0x1008FF6B,
-               XF86Option                                              = 0x1008FF6C,
-               XF86Paste                                               = 0x1008FF6D,
-               XF86Phone                                               = 0x1008FF6E,
-               XF86Q                                                   = 0x1008FF70,
-               XF86Reply                                               = 0x1008FF72,
-               XF86Reload                                              = 0x1008FF73,
-               XF86RotateWindows                               = 0x1008FF74,
-               XF86RotationPB                                  = 0x1008FF75,
-               XF86RotationKB                                  = 0x1008FF76,
-               XF86Save                                                = 0x1008FF77,
-               XF86ScrollUp                                    = 0x1008FF78,
-               XF86ScrollDown                                  = 0x1008FF79,
-               XF86ScrollClick                                 = 0x1008FF7A,
-               XF86Send                                                = 0x1008FF7B,
-               XF86Spell                                               = 0x1008FF7C,
-               XF86SplitScreen                                 = 0x1008FF7D,
-               XF86Support                                             = 0x1008FF7E,
-               XF86TaskPane                                    = 0x1008FF7F,
-               XF86Terminal                                    = 0x1008FF80,
-               XF86Tools                                               = 0x1008FF81,
-               XF86Travel                                              = 0x1008FF82,
-               XF86UserPB                                              = 0x1008FF84,
-               XF86User1KB                                             = 0x1008FF85,
-               XF86User2KB                                             = 0x1008FF86,
-               XF86Video                                               = 0x1008FF87,
-               XF86WheelButton                                 = 0x1008FF88,
-               XF86Word                                                = 0x1008FF89,
-               XF86Xfer                                                = 0x1008FF8A,
-               XF86ZoomIn                                              = 0x1008FF8B,
-               XF86ZoomOut                                             = 0x1008FF8C,
-               XF86Away                                                = 0x1008FF8D,
-               XF86Messenger                                   = 0x1008FF8E,
-               XF86WebCam                                              = 0x1008FF8F,
-               XF86MailForward                                 = 0x1008FF90,
-               XF86Pictures                                    = 0x1008FF91,
-               XF86Music                                               = 0x1008FF92,
-               XF86Battery                                             = 0x1008FF93,
-               XF86Bluetooth                                   = 0x1008FF94,
-               XF86WLAN                                                = 0x1008FF95,
-               XF86UWB                                                 = 0x1008FF96,
-               XF86AudioForward                                = 0x1008FF97,
-               XF86AudioRepeat                                 = 0x1008FF98,
-               XF86AudioRandomPlay                             = 0x1008FF99,
-               XF86Subtitle                                    = 0x1008FF9A,
-               XF86AudioCycleTrack                             = 0x1008FF9B,
-               XF86CycleAngle                                  = 0x1008FF9C,
-               XF86FrameBack                                   = 0x1008FF9D,
-               XF86FrameForward                                = 0x1008FF9E,
-               XF86Time                                                = 0x1008FF9F,
-               XF86Select                                              = 0x1008FFA0,
-               XF86View                                                = 0x1008FFA1,
-               XF86TopMenu                                             = 0x1008FFA2,
-               XF86Red                                                 = 0x1008FFA3,
-               XF86Green                                               = 0x1008FFA4,
-               XF86Yellow                                              = 0x1008FFA5,
-               XF86Blue                                                = 0x1008FFA6,
-               XF86Suspend                                             = 0x1008FFA7,
-               XF86Hibernate                                   = 0x1008FFA8,
-               XF86TouchpadToggle                              = 0x1008FFA9,
-               XF86TouchpadOn                                  = 0x1008FFB0,
-               XF86TouchpadOff                                 = 0x1008FFB1,
-               XF86AudioMicMute                                = 0x1008FFB2,
-               XF86Keyboard                                    = 0x1008FFB3,
-               XF86WWAN                                                = 0x1008FFB4,
-               XF86RFKill                                              = 0x1008FFB5,
-               XF86AudioPreset                                 = 0x1008FFB6,
-               XF86Switch_VT_1                                 = 0x1008FE01,
-               XF86Switch_VT_2                                 = 0x1008FE02,
-               XF86Switch_VT_3                                 = 0x1008FE03,
-               XF86Switch_VT_4                                 = 0x1008FE04,
-               XF86Switch_VT_5                                 = 0x1008FE05,
-               XF86Switch_VT_6                                 = 0x1008FE06,
-               XF86Switch_VT_7                                 = 0x1008FE07,
-               XF86Switch_VT_8                                 = 0x1008FE08,
-               XF86Switch_VT_9                                 = 0x1008FE09,
-               XF86Switch_VT_10                                = 0x1008FE0A,
-               XF86Switch_VT_11                                = 0x1008FE0B,
-               XF86Switch_VT_12                                = 0x1008FE0C,
-               XF86Ungrab                                              = 0x1008FE20,
-               XF86ClearGrab                                   = 0x1008FE21,
-               XF86Next_VMode                                  = 0x1008FE22,
-               XF86Prev_VMode                                  = 0x1008FE23,
-               XF86LogWindowTree                               = 0x1008FE24,
-               XF86LogGrabInfo                                 = 0x1008FE25,
-               SunFA_Grave                                             = 0x1005FF00,
-               SunFA_Circum                                    = 0x1005FF01,
-               SunFA_Tilde                                             = 0x1005FF02,
-               SunFA_Acute                                             = 0x1005FF03,
-               SunFA_Diaeresis                                 = 0x1005FF04,
-               SunFA_Cedilla                                   = 0x1005FF05,
-               SunF36                                                  = 0x1005FF10,
-               SunF37                                                  = 0x1005FF11,
-               SunSys_Req                                              = 0x1005FF60,
-               SunPrint_Screen                                 = 0x0000FF61,
-               SunCompose                                              = 0x0000FF20,
-               SunAltGraph                                             = 0x0000FF7E,
-               SunPageUp                                               = 0x0000FF55,
-               SunPageDown                                             = 0x0000FF56,
-               SunUndo                                                 = 0x0000FF65,
-               SunAgain                                                = 0x0000FF66,
-               SunFind                                                 = 0x0000FF68,
-               SunStop                                                 = 0x0000FF69,
-               SunProps                                                = 0x1005FF70,
-               SunFront                                                = 0x1005FF71,
-               SunCopy                                                 = 0x1005FF72,
-               SunOpen                                                 = 0x1005FF73,
-               SunPaste                                                = 0x1005FF74,
-               SunCut                                                  = 0x1005FF75,
-               SunPowerSwitch                                  = 0x1005FF76,
-               SunAudioLowerVolume                             = 0x1005FF77,
-               SunAudioMute                                    = 0x1005FF78,
-               SunAudioRaiseVolume                             = 0x1005FF79,
-               SunVideoDegauss                                 = 0x1005FF7A,
-               SunVideoLowerBrightness                 = 0x1005FF7B,
-               SunVideoRaiseBrightness                 = 0x1005FF7C,
-               SunPowerSwitchShift                             = 0x1005FF7D,
-               Dring_accent                                    = 0x1000FEB0,
-               Dcircumflex_accent                              = 0x1000FE5E,
-               Dcedilla_accent                                 = 0x1000FE2C,
-               Dacute_accent                                   = 0x1000FE27,
-               Dgrave_accent                                   = 0x1000FE60,
-               Dtilde                                                  = 0x1000FE7E,
-               Ddiaeresis                                              = 0x1000FE22,
-               DRemove                                                 = 0x1000FF00,
-               hpClearLine                                             = 0x1000FF6F,
-               hpInsertLine                                    = 0x1000FF70,
-               hpDeleteLine                                    = 0x1000FF71,
-               hpInsertChar                                    = 0x1000FF72,
-               hpDeleteChar                                    = 0x1000FF73,
-               hpBackTab                                               = 0x1000FF74,
-               hpKP_BackTab                                    = 0x1000FF75,
-               hpModelock1                                             = 0x1000FF48,
-               hpModelock2                                             = 0x1000FF49,
-               hpReset                                                 = 0x1000FF6C,
-               hpSystem                                                = 0x1000FF6D,
-               hpUser                                                  = 0x1000FF6E,
-               hpmute_acute                                    = 0x100000A8,
-               hpmute_grave                                    = 0x100000A9,
-               hpmute_asciicircum                              = 0x100000AA,
-               hpmute_diaeresis                                = 0x100000AB,
-               hpmute_asciitilde                               = 0x100000AC,
-               hplira                                                  = 0x100000AF,
-               hpguilder                                               = 0x100000BE,
-               hpYdiaeresis                                    = 0x100000EE,
-               hpIO                                                    = 0x100000EE,
-               hplongminus                                             = 0x100000F6,
-               hpblock                                                 = 0x100000FC,
-               osfCopy                                                 = 0x1004FF02,
-               osfCut                                                  = 0x1004FF03,
-               osfPaste                                                = 0x1004FF04,
-               osfBackTab                                              = 0x1004FF07,
-               osfBackSpace                                    = 0x1004FF08,
-               osfClear                                                = 0x1004FF0B,
-               osfEscape                                               = 0x1004FF1B,
-               osfAddMode                                              = 0x1004FF31,
-               osfPrimaryPaste                                 = 0x1004FF32,
-               osfQuickPaste                                   = 0x1004FF33,
-               osfPageLeft                                             = 0x1004FF40,
-               osfPageUp                                               = 0x1004FF41,
-               osfPageDown                                             = 0x1004FF42,
-               osfPageRight                                    = 0x1004FF43,
-               osfActivate                                             = 0x1004FF44,
-               osfMenuBar                                              = 0x1004FF45,
-               osfLeft                                                 = 0x1004FF51,
-               osfUp                                                   = 0x1004FF52,
-               osfRight                                                = 0x1004FF53,
-               osfDown                                                 = 0x1004FF54,
-               osfEndLine                                              = 0x1004FF57,
-               osfBeginLine                                    = 0x1004FF58,
-               osfEndData                                              = 0x1004FF59,
-               osfBeginData                                    = 0x1004FF5A,
-               osfPrevMenu                                             = 0x1004FF5B,
-               osfNextMenu                                             = 0x1004FF5C,
-               osfPrevField                                    = 0x1004FF5D,
-               osfNextField                                    = 0x1004FF5E,
-               osfSelect                                               = 0x1004FF60,
-               osfInsert                                               = 0x1004FF63,
-               osfUndo                                                 = 0x1004FF65,
-               osfMenu                                                 = 0x1004FF67,
-               osfCancel                                               = 0x1004FF69,
-               osfHelp                                                 = 0x1004FF6A,
-               osfSelectAll                                    = 0x1004FF71,
-               osfDeselectAll                                  = 0x1004FF72,
-               osfReselect                                             = 0x1004FF73,
-               osfExtend                                               = 0x1004FF74,
-               osfRestore                                              = 0x1004FF78,
-               osfDelete                                               = 0x1004FFFF,
-               Reset                                                   = 0x1000FF6C,
-               System                                                  = 0x1000FF6D,
-               User                                                    = 0x1000FF6E,
-               ClearLine                                               = 0x1000FF6F,
-               InsertLine                                              = 0x1000FF70,
-               DeleteLine                                              = 0x1000FF71,
-               InsertChar                                              = 0x1000FF72,
-               DeleteChar                                              = 0x1000FF73,
-               BackTab                                                 = 0x1000FF74,
-               KP_BackTab                                              = 0x1000FF75,
-               Ext16bit_L                                              = 0x1000FF76,
-               Ext16bit_R                                              = 0x1000FF77,
-               mute_acute                                              = 0x100000a8,
-               mute_grave                                              = 0x100000a9,
-               mute_asciicircum                                = 0x100000aa,
-               mute_diaeresis                                  = 0x100000ab,
-               mute_asciitilde                                 = 0x100000ac,
-               lira                                                    = 0x100000af,
-               guilder                                                 = 0x100000be,
-               IO                                                              = 0x100000ee,
-               longminus                                               = 0x100000f6,
-               block                                                   = 0x100000fc,
-    }
+               Unknown = -1,
+               Space = 32,
+               Apostrophe = 39,
+               Comma = 44,
+               Minus = 45,
+               Period = 46,
+               Slash = 47,
+               Num0 = 48,
+               Num1 = 49,
+               Num2 = 50,
+               Num3 = 51,
+               Num4 = 52,
+               Num5 = 53,
+               Num6 = 54,
+               Num7 = 55,
+               Num8 = 56,
+               Num9 = 57,
+               Semicolon = 59,
+               Equal = 61,
+               A = 65,
+               B = 66,
+               C = 67,
+               D = 68,
+               E = 69,
+               F = 70,
+               G = 71,
+               H = 72,
+               I = 73,
+               J = 74,
+               K = 75,
+               L = 76,
+               M = 77,
+               N = 78,
+               O = 79,
+               P = 80,
+               Q = 81,
+               R = 82,
+               S = 83,
+               T = 84,
+               U = 85,
+               V = 86,
+               W = 87,
+               X = 88,
+               Y = 89,
+               Z = 90,
+               LeftBracket = 91,
+               Backslash = 92,
+               RightBracket = 93,
+               GraveAccent = 96,
+               World1 = 161,
+               World2 = 162,
+               Escape = 256,
+               Enter = 257,
+               Tab = 258,
+               Backspace = 259,
+               Insert = 260,
+               Delete = 261,
+               Right = 262,
+               Left = 263,
+               Down = 264,
+               Up = 265,
+               PageUp = 266,
+               PageDown = 267,
+               Home = 268,
+               End = 269,
+               CapsLock = 280,
+               ScrollLock = 281,
+               NumLock = 282,
+               PrintScreen = 283,
+               Pause = 284,
+               F1 = 290,
+               F2 = 291,
+               F3 = 292,
+               F4 = 293,
+               F5 = 294,
+               F6 = 295,
+               F7 = 296,
+               F8 = 297,
+               F9 = 298,
+               F10 = 299,
+               F11 = 300,
+               F12 = 301,
+               F13 = 302,
+               F14 = 303,
+               F15 = 304,
+               F16 = 305,
+               F17 = 306,
+               F18 = 307,
+               F19 = 308,
+               F20 = 309,
+               F21 = 310,
+               F22 = 311,
+               F23 = 312,
+               F24 = 313,
+               F25 = 314,
+               Keypad0 = 320,
+               Keypad1 = 321,
+               Keypad2 = 322,
+               Keypad3 = 323,
+               Keypad4 = 324,
+               Keypad5 = 325,
+               Keypad6 = 326,
+               Keypad7 = 327,
+               Keypad8 = 328,
+               Keypad9 = 329,
+               KeypadDecimal = 330,
+               KeypadDivide = 331,
+               KeypadMultiply = 332,
+               KeypadSubtract = 333,
+               KeypadAdd = 334,
+               KeypadEnter = 335,
+               KeypadEqual = 336,
+               LeftShift = 340,
+               LeftControl = 341,
+               LeftAlt = 342,
+               LeftSuper = 343,
+               RightShift = 344,
+               RightControl = 345,
+               RightAlt = 346,
+               RightSuper = 347,
+               Menu = 348,
+       }
 }
\ No newline at end of file
index 1c339b00884d305137236d0d9753cd7282b747fa..cd3810b3b5b1c9db7e9bcded32f68f35fec0a9c2 100644 (file)
@@ -149,6 +149,7 @@ namespace Crow
                        {
                                if (disposing)
                                {
+                                       ClearInterface ();
                                        surf?.Dispose ();
                                }
 
@@ -761,27 +762,11 @@ namespace Crow
                                                        if (!clipping.intersect (p.Slot))
                                                                continue;
 
-                                                       //ctx.Save ();
+                                                       ctx.Save ();
                                                        p.Paint (ref ctx);
-                                                       //ctx.Restore ();
+                                                       ctx.Restore ();
                                                }
 
-                                               //if (DragAndDropOperation != null) {
-                                               //      if (DragImage != null) {
-                                               //              DirtyRect += new Rectangle (DragImageX, DragImageY, DragImageWidth, DragImageHeight);
-                                               //              DragImageX = Mouse.X - DragImageWidth / 2;
-                                               //              DragImageY = Mouse.Y - DragImageHeight / 2;
-                                               //              ctx.Save ();
-                                               //              ctx.ResetClip ();
-                                               //              ctx.SetSourceSurface (DragImage, DragImageX, DragImageY);
-                                               //              ctx.PaintWithAlpha (0.8);
-                                               //              ctx.Restore ();
-                                               //              DirtyRect += new Rectangle (DragImageX, DragImageY, DragImageWidth, DragImageHeight);
-                                               //              IsDirty = true;
-                                               //              //Console.WriteLine ("dragimage drawn: {0},{1}", DragImageX, DragImageY);
-                                               //      }
-                                               //}
-
 #if DEBUG_CLIP_RECTANGLE
                                        clippingStrokeColor.R += 0.1f;
                                        if (clippingStrokeColor.R > 1f)
@@ -1134,23 +1119,29 @@ namespace Crow
                        return true;
                }
 
-               public void ProcessKeyPress (char c)
+               public bool ProcessKeyPress (char c)
                {
-                       if (_focusedWidget != null)
-                               _focusedWidget.onKeyPress (this, new KeyPressEventArgs (c));
+                       if (_focusedWidget == null)
+                               return false;
+                       _focusedWidget.onKeyPress (this, new KeyPressEventArgs (c));
+                       return true;
                }
 
-               public void ProcessKeyUp (Key key)
+               public bool ProcessKeyUp (Key key)
                {
-                       if (_focusedWidget != null)
-                               _focusedWidget.onKeyUp (this, new KeyEventArgs (key, false));
+                       if (_focusedWidget == null)
+                               return false;
+                       _focusedWidget.onKeyUp (this, new KeyEventArgs (key, false));
+                       return true;
                }
-               public void ProcessKeyDown (Key key)
+               public bool ProcessKeyDown (Key key)
                {
                        lastKeyDownEvt = new KeyEventArgs (key, true);
 
-                       if (_focusedWidget != null)
-                               _focusedWidget.onKeyDown (this, new KeyEventArgs (key, false));
+                       if (_focusedWidget == null)
+                               return false;
+                       _focusedWidget.onKeyDown (this, new KeyEventArgs (key, false));
+                       return true;
                }
 
                public bool Shift {
index b4b6bbda7f3ba327ad881dd953a75469a8f6ca41..7ecc68188c443649d83b4ab4e0f0e020846f616e 100644 (file)
@@ -58,6 +58,7 @@ namespace Crow
                        using (StreamReader sr = new StreamReader(Interface.CurrentInterface.GetStreamFromPath (Path))) {
                                nsvgImage = Interface.CurrentInterface.dev.LoadSvgFragment (sr.ReadToEnd ());
                        }
+
                        int w, h;
                        NativeMethods.nsvg_get_size (nsvgImage, out w, out h);
                        Dimensions.Width = w;
@@ -136,7 +137,8 @@ namespace Crow
                        gr.Translate (rect.Left, rect.Top);
                        gr.Scale (widthRatio, heightRatio);
                        gr.Translate ((rect.Width / widthRatio - Dimensions.Width) / 2, (rect.Height / heightRatio - Dimensions.Height) / 2);
-                       gr.RenderSvg (nsvgImage);
+
+                       gr.RenderSvg (nsvgImage, subPart);
 
                        gr.Restore ();
                }
diff --git a/MDCrow/obj/MDCrow.csproj.nuget.cache b/MDCrow/obj/MDCrow.csproj.nuget.cache
new file mode 100644 (file)
index 0000000..879e416
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "version": 1,
+  "dgSpecHash": "JR3Npq+qOMR4zqncbQZsp/9dSn2NHwuEQPHQrZBIcsWprf3vSAuB7kmnfnBox0NfgAlDwyqly5A6+chqHs1DDA==",
+  "success": true
+}
\ No newline at end of file
diff --git a/MDCrow/obj/MDCrow.csproj.nuget.g.props b/MDCrow/obj/MDCrow.csproj.nuget.g.props
new file mode 100644 (file)
index 0000000..ef7190e
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
+    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
+    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">/mnt/devel/gts/vk.net/crow/MDCrow/obj/project.assets.json</ProjectAssetsFile>
+    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/jp/.nuget/packages/</NuGetPackageRoot>
+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/jp/.nuget/packages/;/usr/share/dotnet/sdk/NuGetFallbackFolder</NuGetPackageFolders>
+    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">4.8.0</NuGetToolVersion>
+  </PropertyGroup>
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <Import Project="$(NuGetPackageRoot)monodevelop.addins/0.4.7/build/MonoDevelop.Addins.props" Condition="Exists('$(NuGetPackageRoot)monodevelop.addins/0.4.7/build/MonoDevelop.Addins.props')" />
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/MDCrow/obj/MDCrow.csproj.nuget.g.targets b/MDCrow/obj/MDCrow.csproj.nuget.g.targets
new file mode 100644 (file)
index 0000000..175c03f
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <Import Project="$(NuGetPackageRoot)monodevelop.addins/0.4.7/build/MonoDevelop.Addins.targets" Condition="Exists('$(NuGetPackageRoot)monodevelop.addins/0.4.7/build/MonoDevelop.Addins.targets')" />
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/MDCrow/obj/project.assets.json b/MDCrow/obj/project.assets.json
new file mode 100644 (file)
index 0000000..8c5c091
--- /dev/null
@@ -0,0 +1,115 @@
+{
+  "version": 3,
+  "targets": {
+    ".NETFramework,Version=v4.6.1": {
+      "MonoDevelop.Addins/0.4.7": {
+        "type": "package",
+        "build": {
+          "build/MonoDevelop.Addins.props": {},
+          "build/MonoDevelop.Addins.targets": {}
+        }
+      },
+      "Crow/1.0.0": {
+        "type": "project",
+        "compile": {
+          "bin/placeholder/Crow.dll": {}
+        },
+        "runtime": {
+          "bin/placeholder/Crow.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "MonoDevelop.Addins/0.4.7": {
+      "sha512": "eUqhwtcw224cx8OjkGaCwVsl4UO78X4nE3r1PpQVGaJWopwaUvKbyDfNmGxpDAKO5/+K4v3Dxxuz5zhFpz+6hQ==",
+      "type": "package",
+      "path": "monodevelop.addins/0.4.7",
+      "files": [
+        ".signature.p7s",
+        "build/ICSharpCode.SharpZipLib.dll",
+        "build/Mono.Addins.CecilReflector.dll",
+        "build/Mono.Addins.Setup.dll",
+        "build/Mono.Addins.dll",
+        "build/Mono.Cecil.Mdb.dll",
+        "build/Mono.Cecil.Pdb.dll",
+        "build/Mono.Cecil.Rocks.dll",
+        "build/Mono.Cecil.dll",
+        "build/MonoDevelop.Addins.Tasks.dll",
+        "build/MonoDevelop.Addins.Tasks.pdb",
+        "build/MonoDevelop.Addins.props",
+        "build/MonoDevelop.Addins.targets",
+        "monodevelop.addins.0.4.7.nupkg.sha512",
+        "monodevelop.addins.nuspec"
+      ]
+    },
+    "Crow/1.0.0": {
+      "type": "project",
+      "path": "../Crow/Crow.csproj",
+      "msbuildProject": "../Crow/Crow.csproj"
+    }
+  },
+  "projectFileDependencyGroups": {
+    ".NETFramework,Version=v4.6.1": [
+      "Crow >= 1.0.0",
+      "MonoDevelop.Addins >= 0.4.7"
+    ]
+  },
+  "packageFolders": {
+    "/home/jp/.nuget/packages/": {},
+    "/usr/share/dotnet/sdk/NuGetFallbackFolder": {}
+  },
+  "project": {
+    "version": "1.0.0",
+    "restore": {
+      "projectUniqueName": "/mnt/devel/gts/vk.net/crow/MDCrow/MDCrow.csproj",
+      "projectName": "MDCrow",
+      "projectPath": "/mnt/devel/gts/vk.net/crow/MDCrow/MDCrow.csproj",
+      "packagesPath": "/home/jp/.nuget/packages/",
+      "outputPath": "/mnt/devel/gts/vk.net/crow/MDCrow/obj/",
+      "projectStyle": "PackageReference",
+      "fallbackFolders": [
+        "/usr/share/dotnet/sdk/NuGetFallbackFolder"
+      ],
+      "configFilePaths": [
+        "/home/jp/.config/NuGet/NuGet.Config"
+      ],
+      "originalTargetFrameworks": [
+        "net461"
+      ],
+      "sources": {
+        "/mnt/devel/Crow": {},
+        "/mnt/devel/gts/vk.net/VK/bin/Release/": {},
+        "/mnt/devel/gts/vk.net/vke/bin/Release": {},
+        "/mnt/devel/vkvg.net/vkvg/bin/Release": {},
+        "https://api.nuget.org/v3/index.json": {},
+        "https://www.myget.org/F/opentk-develop": {},
+        "https://www.nuget.org/api/v2/": {}
+      },
+      "frameworks": {
+        "net461": {
+          "projectReferences": {
+            "/mnt/devel/gts/vk.net/crow/Crow/Crow.csproj": {
+              "projectPath": "/mnt/devel/gts/vk.net/crow/Crow/Crow.csproj"
+            }
+          }
+        }
+      },
+      "warningProperties": {
+        "warnAsError": [
+          "NU1605"
+        ]
+      }
+    },
+    "frameworks": {
+      "net461": {
+        "dependencies": {
+          "MonoDevelop.Addins": {
+            "target": "Package",
+            "version": "[0.4.7, )"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/Samples/HelloWorld/HelloWorld.csproj b/Samples/HelloWorld/HelloWorld.csproj
new file mode 100644 (file)
index 0000000..a56481e
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
+    <OutputPath>$(SolutionDir)build\$(Configuration)\samples\</OutputPath>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{1F18E74F-BCC9-481C-8888-89D81CBB30BE}</ProjectGuid>
+    <ReleaseVersion>0.8.0</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="*.cs" />
+    <EmbeddedResource Include="ui\**\*.*">
+      <LogicalName>HelloWorld.%(Filename)%(Extension)</LogicalName>
+    </EmbeddedResource>        
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="Newtonsoft.Json">
+      <HintPath>..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="glTFLoader">
+      <HintPath>..\..\packages\glTF2Loader.1.1.3-alpha\lib\net35\glTFLoader.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics.Vectors">
+      <HintPath>..\..\packages\System.Numerics.Vectors.4.6.0-preview4.19212.13\lib\net46\System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="mscorlib" />
+    <Reference Include="System.Numerics" />
+    <Reference Include="System.Runtime.CompilerServices.Unsafe">
+      <HintPath>..\..\packages\System.Runtime.CompilerServices.Unsafe.4.6.0-preview4.19212.13\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
+    </Reference>
+    <Reference Include="VK">
+      <HintPath>..\..\packages\Vulkan.0.1.2.6\lib\netstandard2.0\VK.dll</HintPath>
+    </Reference>
+    <Reference Include="CVKL-dotnet">
+      <HintPath>..\..\packages\CVKL.0.1.2\lib\netstandard2.0\CVKL-dotnet.dll</HintPath>
+    </Reference>
+  </ItemGroup> 
+  <ItemGroup>
+    <ProjectReference Include="..\..\Crow\Crow.csproj">
+      <Project>{C2980F9B-4798-4C05-99E2-E174810F7C7B}</Project>
+      <Name>Crow</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
diff --git a/Samples/HelloWorld/main.cs b/Samples/HelloWorld/main.cs
new file mode 100644 (file)
index 0000000..6657cc4
--- /dev/null
@@ -0,0 +1,223 @@
+using System;
+using System.Threading;
+using Crow;
+using CVKL;
+using VK;
+
+namespace HelloWorld
+{
+       class Program : VkWindow, IValueChange {
+               static void Main (string[] args) {
+                       using (Program vke = new Program ()) {
+                               vke.Run ();
+                       }
+               }
+               bool isRunning;
+
+               protected override void render () {
+                       int idx = swapChain.GetNextImage ();
+
+                       if (idx < 0) {
+                               OnResize ();
+                               return;
+                       }
+
+                       lock (crow.RenderMutex) {
+                               presentQueue.Submit (cmds[idx], swapChain.presentComplete, drawComplete[idx]);
+                               presentQueue.Present (swapChain, drawComplete[idx]);
+                               presentQueue.WaitIdle ();
+                       }
+                       Thread.Sleep (1);
+               }
+
+               #region crow
+               #region IValueChange implementation
+               public event EventHandler<Crow.ValueChangeEventArgs> ValueChanged;
+               public virtual void NotifyValueChanged (string MemberName, object _value)
+               {
+                       if (ValueChanged != null)
+                               ValueChanged.Invoke (this, new Crow.ValueChangeEventArgs (MemberName, _value));
+               }
+               #endregion
+
+               Crow.Interface crow;
+
+               void crow_thread_func () {
+                       vkvgDev = new vkvg.Device (instance.Handle, phy.Handle, dev.VkDev.Handle, presentQueue.qFamIndex,
+                               vkvg.SampleCount.Sample_8, presentQueue.index);
+
+                       crow = new Crow.Interface (vkvgDev, 800, 600);
+
+                       isRunning = true;
+                       while (isRunning) {
+                               crow.Update ();
+                               Thread.Sleep (5);
+                       }
+
+                       crow.Dispose ();
+                       vkvgDev.Dispose ();
+
+                       crow = null;
+               }
+               #endregion
+
+
+               CVKL.Image uiImage;
+               vkvg.Device vkvgDev;
+
+               void initUISurface () {
+                       lock (crow.UpdateMutex) {
+                               try {
+                                       uiImage?.Dispose ();
+                                       uiImage = new CVKL.Image (dev, new VkImage ((ulong)crow.surf.VkImage.ToInt64 ()), VkFormat.B8g8r8a8Unorm,
+                                               VkImageUsageFlags.Sampled, swapChain.Width, swapChain.Height);
+                                       uiImage.SetName ("uiImage");
+                                       uiImage.CreateView (VkImageViewType.ImageView2D, VkImageAspectFlags.Color);
+                                       uiImage.CreateSampler (VkFilter.Nearest, VkFilter.Nearest, VkSamplerMipmapMode.Nearest, VkSamplerAddressMode.ClampToBorder);
+                                       uiImage.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
+                               } catch (Exception ex) {
+                                       Console.WriteLine (ex);
+                               }
+                       }
+               }
+
+
+               Program () {            
+                       Thread crowThread = new Thread (crow_thread_func);
+                       crowThread.IsBackground = true;
+                       crowThread.Start ();
+
+                       while (crow == null)
+                               Thread.Sleep (2);
+
+                       initUISurface ();
+
+                       crow.Load ("#HelloWorld.helloworld.crow").DataSource = this;
+
+                       crow.LoadIMLFragment ("<FileDialog />");
+               }
+
+               void buildCommandBuffers () {
+                       for (int i = 0; i < swapChain.ImageCount; ++i) {
+                               cmds[i]?.Free ();
+                               cmds[i] = cmdPool.AllocateAndStart ();
+
+                               CommandBuffer cmd = cmds [i];
+
+                               swapChain.images [i].SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.Undefined, VkImageLayout.TransferDstOptimal,
+                                       VkPipelineStageFlags.BottomOfPipe, VkPipelineStageFlags.Transfer);
+                               uiImage.SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.ColorAttachmentOptimal, VkImageLayout.TransferSrcOptimal,
+                                       VkPipelineStageFlags.ColorAttachmentOutput, VkPipelineStageFlags.Transfer);
+                                       
+                               VkImageSubresourceLayers imgSubResLayer = new VkImageSubresourceLayers {
+                                       aspectMask = VkImageAspectFlags.Color,
+                                       mipLevel = 0,
+                                       baseArrayLayer = 0,
+                                       layerCount = 1
+                               };
+                               VkImageCopy cregion = new VkImageCopy {
+                                       srcSubresource = imgSubResLayer,
+                                       srcOffset = default (VkOffset3D),
+                                       dstSubresource = imgSubResLayer,
+                                       dstOffset = default (VkOffset3D),
+                                       extent = new VkExtent3D { width = swapChain.Width, height = swapChain.Height }
+                               };
+                               Vk.vkCmdCopyImage (cmds [i].Handle, uiImage.Handle, VkImageLayout.TransferSrcOptimal,
+                                       swapChain.images [i].Handle, VkImageLayout.TransferDstOptimal, 1, ref cregion);
+
+                               swapChain.images [i].SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.TransferDstOptimal, VkImageLayout.PresentSrcKHR,
+                                       VkPipelineStageFlags.Transfer, VkPipelineStageFlags.BottomOfPipe);
+                               uiImage.SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.TransferSrcOptimal, VkImageLayout.ColorAttachmentOptimal,
+                                       VkPipelineStageFlags.Transfer, VkPipelineStageFlags.ColorAttachmentOutput);
+
+                               cmds [i].End ();
+                       }
+               }
+
+
+               #region update
+               int frameCount = 0;
+
+               public override void Update () {
+                       if (++frameCount > 20) {
+                               NotifyValueChanged ("fps", fps);
+                               frameCount = 0;
+                       }
+               }
+               #endregion
+
+
+               protected override void OnResize () {
+                       dev.WaitIdle ();
+
+                       crow.ProcessResize (new Crow.Rectangle (0, 0, (int)swapChain.Width, (int)swapChain.Height));
+
+                       initUISurface ();
+
+                       buildCommandBuffers ();
+                       dev.WaitIdle ();
+               }
+               #region Mouse and keyboard
+               //protected override void onScroll (double xOffset, double yOffset)
+               //{
+               //      if (KeyModifiers.HasFlag (Glfw.Modifier.Shift))
+               //              crow.ProcessMouseWheelChanged ((float)xOffset);
+               //      else
+               //              crow.ProcessMouseWheelChanged ((float)yOffset);
+               //}
+               protected override void onMouseMove (double xPos, double yPos)
+               {
+                       if (crow.ProcessMouseMove ((int)xPos, (int)yPos))
+                               return;
+               }
+               protected override void onMouseButtonDown (Glfw.MouseButton button)
+               {
+                       if (crow.ProcessMouseButtonDown ((Crow.MouseButton)button))
+                               return;
+                       base.onMouseButtonDown (button);
+               }
+               protected override void onMouseButtonUp (Glfw.MouseButton button)
+               {
+                       if (crow.ProcessMouseButtonUp ((Crow.MouseButton)button))
+                               return;
+                       base.onMouseButtonUp (button);
+               }
+               protected override void onKeyDown (Glfw.Key key, int scanCode, Glfw.Modifier modifiers)
+               {
+                       if (crow.ProcessKeyDown ((Crow.Key)key))
+                               return;
+               }
+               protected override void onKeyUp (Glfw.Key key, int scanCode, Glfw.Modifier modifiers)
+               {
+                       if (crow.ProcessKeyUp ((Crow.Key)key))
+                               return;
+               }
+               //protected override void onChar (Glfw.CodePoint cp)
+               //{
+               //      if (crow.ProcessKeyPress (cp.ToChar ()))
+               //              return;
+               //}
+               #endregion
+
+               #region dispose
+               protected override void Dispose (bool disposing) {
+                       if (disposing) {
+                               if (!isDisposed) {
+                                       dev.WaitIdle ();
+
+                                       isRunning = false;
+                                       uiImage?.Dispose ();
+                                       while (crow != null)
+                                               Thread.Sleep (1);
+                               }
+                       }
+
+                       base.Dispose (disposing);
+               }
+               #endregion
+       }
+}
\ No newline at end of file
diff --git a/Samples/HelloWorld/packages.config b/Samples/HelloWorld/packages.config
new file mode 100644 (file)
index 0000000..fba81eb
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="CVKL" version="0.1.2" targetFramework="net471" />
+  <package id="glTF2Loader" version="1.1.3-alpha" targetFramework="net471" />
+  <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net471" />
+  <package id="System.Numerics.Vectors" version="4.6.0-preview4.19212.13" targetFramework="net471" />
+  <package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview4.19212.13" targetFramework="net471" />
+  <package id="Vulkan" version="0.1.2.6" targetFramework="net471" />
+</packages>
\ No newline at end of file
diff --git a/Samples/HelloWorld/ui/helloworld.crow b/Samples/HelloWorld/ui/helloworld.crow
new file mode 100644 (file)
index 0000000..1d1a351
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<Window Caption="Hello World" Icon="#Crow.Icons.crow.svg" Width="40%" Height="40%" CornerRadius="5">
+    <VerticalStack>
+        <Label Text="Hello World" Font="mono, 20"/>
+        <Image Path="#Crow.Icons.crow.svg"/>
+    </VerticalStack>
+</Window>
+
diff --git a/Samples/ShowCase/ShowCase.csproj b/Samples/ShowCase/ShowCase.csproj
new file mode 100644 (file)
index 0000000..b0f5b20
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
+    <OutputPath>$(SolutionDir)build\$(Configuration)\samples\</OutputPath>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{56329D48-D382-4850-93DE-59C453894E8A}</ProjectGuid>
+    <ReleaseVersion>0.8.0</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <WarningLevel>4</WarningLevel>      
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="*.cs" />
+    <EmbeddedResource Include="ui\*.*">        
+      <LogicalName>ShowCase.%(Filename)%(Extension)</LogicalName>
+    </EmbeddedResource>        
+    <None Include="ui\Interfaces\**\*.*">  
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <Link>Interfaces\%(RecursiveDir)%(Filename)%(Extension)</Link>
+    </None>
+    <EmbeddedResource Include="ui\divers\*.*">        
+      <LogicalName>ShowCase.divers.%(Filename)%(Extension)</LogicalName>
+    </EmbeddedResource>        
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="Newtonsoft.Json">
+      <HintPath>..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="glTFLoader">
+      <HintPath>..\..\packages\glTF2Loader.1.1.3-alpha\lib\net35\glTFLoader.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics.Vectors">
+      <HintPath>..\..\packages\System.Numerics.Vectors.4.6.0-preview4.19212.13\lib\net46\System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="mscorlib" />
+    <Reference Include="System.Numerics" />
+    <Reference Include="System.Runtime.CompilerServices.Unsafe">
+      <HintPath>..\..\packages\System.Runtime.CompilerServices.Unsafe.4.6.0-preview4.19212.13\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
+    </Reference>
+    <Reference Include="VK">
+      <HintPath>..\..\packages\Vulkan.0.1.2.6\lib\netstandard2.0\VK.dll</HintPath>
+    </Reference>
+    <Reference Include="CVKL-dotnet">
+      <HintPath>..\..\packages\CVKL.0.1.2\lib\netstandard2.0\CVKL-dotnet.dll</HintPath>
+    </Reference>
+  </ItemGroup> 
+  <ItemGroup>
+    <ProjectReference Include="..\..\Crow\Crow.csproj">
+      <Project>{C2980F9B-4798-4C05-99E2-E174810F7C7B}</Project>
+      <Name>Crow</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
diff --git a/Samples/ShowCase/main.cs b/Samples/ShowCase/main.cs
new file mode 100644 (file)
index 0000000..b3437ae
--- /dev/null
@@ -0,0 +1,265 @@
+using System;
+using System.IO;
+using System.Threading;
+using Crow;
+using CVKL;
+using VK;
+
+namespace HelloWorld
+{
+       class Program : VkWindow, IValueChange {
+               static void Main (string[] args) {
+                       using (Program vke = new Program ()) {
+                               vke.Run ();
+                       }
+               }
+               bool isRunning;
+
+               protected override void render () {
+                       int idx = swapChain.GetNextImage ();
+
+                       if (idx < 0) {
+                               OnResize ();
+                               return;
+                       }
+
+                       lock (crow.RenderMutex) {
+                               presentQueue.Submit (cmds[idx], swapChain.presentComplete, drawComplete[idx]);
+                               presentQueue.Present (swapChain, drawComplete[idx]);
+                               presentQueue.WaitIdle ();
+                       }
+                       Thread.Sleep (1);
+               }
+
+               #region crow
+               #region IValueChange implementation
+               public event EventHandler<Crow.ValueChangeEventArgs> ValueChanged;
+               public virtual void NotifyValueChanged (string MemberName, object _value)
+               {
+                       if (ValueChanged != null)
+                               ValueChanged.Invoke (this, new Crow.ValueChangeEventArgs (MemberName, _value));
+               }
+               #endregion
+
+               Crow.Interface crow;
+
+               void crow_thread_func () {
+                       vkvgDev = new vkvg.Device (instance.Handle, phy.Handle, dev.VkDev.Handle, presentQueue.qFamIndex,
+                               vkvg.SampleCount.Sample_8, presentQueue.index);
+
+                       crow = new Crow.Interface (vkvgDev, 800, 600);
+
+                       isRunning = true;
+                       while (isRunning) {
+                               crow.Update ();
+                               Thread.Sleep (5);
+                       }
+
+                       crow.Dispose ();
+                       vkvgDev.Dispose ();
+
+                       crow = null;
+               }
+               #endregion
+
+
+               CVKL.Image uiImage;
+               vkvg.Device vkvgDev;
+
+               void initUISurface () {
+                       lock (crow.UpdateMutex) {
+                               try {
+                                       uiImage?.Dispose ();
+                                       uiImage = new CVKL.Image (dev, new VkImage ((ulong)crow.surf.VkImage.ToInt64 ()), VkFormat.B8g8r8a8Unorm,
+                                               VkImageUsageFlags.Sampled, swapChain.Width, swapChain.Height);
+                                       uiImage.SetName ("uiImage");
+                                       uiImage.CreateView (VkImageViewType.ImageView2D, VkImageAspectFlags.Color);
+                                       uiImage.CreateSampler (VkFilter.Nearest, VkFilter.Nearest, VkSamplerMipmapMode.Nearest, VkSamplerAddressMode.ClampToBorder);
+                                       uiImage.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
+                               } catch (Exception ex) {
+                                       Console.WriteLine (ex);
+                               }
+                       }
+               }
+
+
+               Container crowContainer;
+
+               Program () {            
+                       Thread crowThread = new Thread (crow_thread_func);
+                       crowThread.IsBackground = true;
+                       crowThread.Start ();
+
+                       while (crow == null)
+                               Thread.Sleep (2);
+
+                       initUISurface ();
+
+                       Widget w = crow.Load ("#ShowCase.showcase.crow");
+                       w.DataSource = this;
+                       crowContainer = w.FindByName ("CrowContainer") as Container;
+                       crowContainer.DataSource = new object ();
+                       hideError ();
+               }
+
+               void Dv_SelectedItemChanged (object sender, SelectionChangeEventArgs e)
+               {
+                       FileSystemInfo fi = e.NewValue as FileSystemInfo;
+                       if (fi == null)
+                               return;
+                       if (fi is DirectoryInfo)
+                               return;
+                       hideError ();
+                       lock (crow.UpdateMutex) {
+                               try {
+                                       Widget g = crow.Load (fi.FullName);
+                                       crowContainer.SetChild (g);
+                                       g.DataSource = this;
+                               } catch (Crow.IML.InstantiatorException ex) {
+                                       showError (ex);
+                               }
+                       }
+
+                       string source = "";
+                       using (Stream s = new FileStream (fi.FullName, FileMode.Open)) {
+                               using (StreamReader sr = new StreamReader (s)) {
+                                       source = sr.ReadToEnd ();
+                               }
+                       }
+                       NotifyValueChanged ("source", source);
+               }
+
+               void showError (Crow.IML.InstantiatorException ex)
+               {
+                       NotifyValueChanged ("ErrorMessage", ex.Path + ": " + ex.InnerException.Message);
+                       NotifyValueChanged ("ShowError", true);
+               }
+               void hideError ()
+               {
+                       NotifyValueChanged ("ShowError", false);
+               }
+
+               void buildCommandBuffers () {
+                       for (int i = 0; i < swapChain.ImageCount; ++i) {
+                               cmds[i]?.Free ();
+                               cmds[i] = cmdPool.AllocateAndStart ();
+
+                               CommandBuffer cmd = cmds [i];
+
+                               swapChain.images [i].SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.Undefined, VkImageLayout.TransferDstOptimal,
+                                       VkPipelineStageFlags.BottomOfPipe, VkPipelineStageFlags.Transfer);
+                               uiImage.SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.ColorAttachmentOptimal, VkImageLayout.TransferSrcOptimal,
+                                       VkPipelineStageFlags.ColorAttachmentOutput, VkPipelineStageFlags.Transfer);
+                                       
+                               VkImageSubresourceLayers imgSubResLayer = new VkImageSubresourceLayers {
+                                       aspectMask = VkImageAspectFlags.Color,
+                                       mipLevel = 0,
+                                       baseArrayLayer = 0,
+                                       layerCount = 1
+                               };
+                               VkImageCopy cregion = new VkImageCopy {
+                                       srcSubresource = imgSubResLayer,
+                                       srcOffset = default (VkOffset3D),
+                                       dstSubresource = imgSubResLayer,
+                                       dstOffset = default (VkOffset3D),
+                                       extent = new VkExtent3D { width = swapChain.Width, height = swapChain.Height }
+                               };
+                               Vk.vkCmdCopyImage (cmds [i].Handle, uiImage.Handle, VkImageLayout.TransferSrcOptimal,
+                                       swapChain.images [i].Handle, VkImageLayout.TransferDstOptimal, 1, ref cregion);
+
+                               swapChain.images [i].SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.TransferDstOptimal, VkImageLayout.PresentSrcKHR,
+                                       VkPipelineStageFlags.Transfer, VkPipelineStageFlags.BottomOfPipe);
+                               uiImage.SetLayout (cmd, VkImageAspectFlags.Color,
+                                       VkImageLayout.TransferSrcOptimal, VkImageLayout.ColorAttachmentOptimal,
+                                       VkPipelineStageFlags.Transfer, VkPipelineStageFlags.ColorAttachmentOutput);
+
+                               cmds [i].End ();
+                       }
+               }
+
+
+               #region update
+               int frameCount = 0;
+
+               public override void Update () {
+                       if (++frameCount > 20) {
+                               NotifyValueChanged ("fps", fps);
+                               frameCount = 0;
+                       }
+               }
+               #endregion
+
+
+               protected override void OnResize () {
+                       dev.WaitIdle ();
+
+                       crow.ProcessResize (new Crow.Rectangle (0, 0, (int)swapChain.Width, (int)swapChain.Height));
+
+                       initUISurface ();
+
+                       buildCommandBuffers ();
+                       dev.WaitIdle ();
+               }
+               #region Mouse and keyboard
+               //protected override void onScroll (double xOffset, double yOffset)
+               //{
+               //      if (KeyModifiers.HasFlag (Glfw.Modifier.Shift))
+               //              crow.ProcessMouseWheelChanged ((float)xOffset);
+               //      else
+               //              crow.ProcessMouseWheelChanged ((float)yOffset);
+               //}
+               protected override void onMouseMove (double xPos, double yPos)
+               {
+                       if (crow.ProcessMouseMove ((int)xPos, (int)yPos))
+                               return;
+               }
+               protected override void onMouseButtonDown (Glfw.MouseButton button)
+               {
+                       if (crow.ProcessMouseButtonDown ((Crow.MouseButton)button))
+                               return;
+                       base.onMouseButtonDown (button);
+               }
+               protected override void onMouseButtonUp (Glfw.MouseButton button)
+               {
+                       if (crow.ProcessMouseButtonUp ((Crow.MouseButton)button))
+                               return;
+                       base.onMouseButtonUp (button);
+               }
+               protected override void onKeyDown (Glfw.Key key, int scanCode, Glfw.Modifier modifiers)
+               {
+                       if (crow.ProcessKeyDown ((Crow.Key)key))
+                               return;
+               }
+               protected override void onKeyUp (Glfw.Key key, int scanCode, Glfw.Modifier modifiers)
+               {
+                       if (crow.ProcessKeyUp ((Crow.Key)key))
+                               return;
+               }
+               //protected override void onChar (Glfw.CodePoint cp)
+               //{
+               //      if (crow.ProcessKeyPress (cp.ToChar ()))
+               //              return;
+               //}
+               #endregion
+
+               #region dispose
+               protected override void Dispose (bool disposing) {
+                       if (disposing) {
+                               if (!isDisposed) {
+                                       dev.WaitIdle ();
+
+                                       isRunning = false;
+                                       uiImage?.Dispose ();
+                                       while (crow != null)
+                                               Thread.Sleep (1);
+                               }
+                       }
+
+                       base.Dispose (disposing);
+               }
+               #endregion
+       }
+}
\ No newline at end of file
diff --git a/Samples/ShowCase/packages.config b/Samples/ShowCase/packages.config
new file mode 100644 (file)
index 0000000..fba81eb
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="CVKL" version="0.1.2" targetFramework="net471" />
+  <package id="glTF2Loader" version="1.1.3-alpha" targetFramework="net471" />
+  <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net471" />
+  <package id="System.Numerics.Vectors" version="4.6.0-preview4.19212.13" targetFramework="net471" />
+  <package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview4.19212.13" targetFramework="net471" />
+  <package id="Vulkan" version="0.1.2.6" targetFramework="net471" />
+</packages>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/CheckBox2.imlt b/Samples/ShowCase/ui/Interfaces/CheckBox2.imlt
new file mode 100644 (file)
index 0000000..c2bfe8d
--- /dev/null
@@ -0,0 +1,7 @@
+<Label Font="{./Font}" Text="{./Caption}" Height="{./HeightPolicy}" Width="{./WidthPolicy}"
+       Margin="3"
+       Background="{./Background}"
+       Foreground="DimGrey"
+       TextAlignment="Center"
+       MouseEnter="{Foreground=White}"
+       MouseLeave="{Foreground=DimGrey}"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Container/0.crow b/Samples/ShowCase/ui/Interfaces/Container/0.crow
new file mode 100755 (executable)
index 0000000..5ad8de0
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<Container Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10"  Background="SeaGreen"
+                       MinimumSize="50,50"/>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Container/1.crow b/Samples/ShowCase/ui/Interfaces/Container/1.crow
new file mode 100755 (executable)
index 0000000..e879bce
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<Container Background="Lust" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="50%" Height="50%" Background="Maize"
+                       MinimumSize="50,50"/>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Container/2.crow b/Samples/ShowCase/ui/Interfaces/Container/2.crow
new file mode 100755 (executable)
index 0000000..98d1add
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<Container Background="MediumSeaGreen" Margin="10" Fit="true">
+       <Widget Margin="10" Width="50%" Height="50%" Background="DarkGreen"
+                       MinimumSize="50,50"/>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Container/3.crow b/Samples/ShowCase/ui/Interfaces/Container/3.crow
new file mode 100755 (executable)
index 0000000..94655ca
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<Container Background="DimGrey" Margin="10" Fit="true">
+       <Label Text="{fps}" Margin="10" Fit="true" Background="SeaGreen"/>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/DragAndDrop/0.crow b/Samples/ShowCase/ui/Interfaces/DragAndDrop/0.crow
new file mode 100755 (executable)
index 0000000..ca1a7bb
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<HorizontalStack Background="DimGrey" Margin="10" Width="90%" Height="90%" Spacing="100" Focusable="true">
+       <Container Name="source" StartDrag="{Background=DimGrey}" EndDrag="{Background=SeaGreen}" Focusable="true" Fit="true"
+                       Drop="{../target.Background=Green}"
+                       MouseEnter="{/txt.Foreground=Red}" MouseLeave="{/txt.Foreground=White}" MouseClick="{Background=SeaGreen}"
+                       AllowDrag="true" Width="200" Height="200" Background="SeaGreen">
+               <VerticalStack Margin="50">
+                       <Label Name="txt" Text="Drag me" Foreground="Grey"/>
+                       <Label Text="Dragged" Visible="{../../IsDragged}" Foreground="Grey"/>
+               </VerticalStack>
+       </Container>
+       <Container Name="target" DragEnter="{Background=SeaGreen}" DragLeave="{Background=DimGrey}" Focusable="true" Fit="true"
+                       MouseEnter="{/txt.Foreground=Red}" MouseLeave="{/txt.Foreground=White}"
+                       AllowDrop="true"  Background="DimGrey">
+               <VerticalStack Margin="50">
+                       <Label Name="txt" Text="Drop here" Foreground="Grey"/>
+                       <Label Text="Dragged" Visible="{../../IsDragged}" Foreground="Grey"/>
+               </VerticalStack>
+       </Container>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Experimental/DockWindow.template b/Samples/ShowCase/ui/Interfaces/Experimental/DockWindow.template
new file mode 100755 (executable)
index 0000000..6c91312
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--<Widget Background="{./Background}"/>-->
+<Border BorderWidth="1" Foreground="Black" CornerRadius="{./CornerRadius}"
+                               Background="{./Background}"
+                               MouseEnter="./onBorderMouseEnter"
+                               MouseLeave="./onBorderMouseLeave">
+       <VerticalStack Spacing="0">
+               <HorizontalStack Height="Fit">
+                       <Label  Text="{./Name}" TextAlignment="Left" Width="Fit"
+                                        Foreground="White" />
+                       <Label  Text="{./DockingPosition}" TextAlignment="Left" Width="Fit"
+                                        Foreground="White" />
+               </HorizontalStack>
+               <Label  Text="{./Width}" TextAlignment="Left" Width="Fit"
+                                Foreground="White" />
+               <Label  Text="{./Height}" TextAlignment="Left" Width="Fit"
+                                Foreground="White" />
+
+               <HorizontalStack Visible="{./IsDocked}" Height="Fit" Margin="1" Background="Grey">
+                       <Label  Text="{./Caption}" TextAlignment="Left" Width="Stretched"
+                                        Foreground="Jet" />
+                       <Image Width="8" Height="8" Focusable="true" Margin="0" Path="#Crow.Icons.exit2.svg"
+                                        MouseClick="./butQuitPress"/>
+               </HorizontalStack>
+               <HorizontalStack Background="vgradient|0:0.5,0.6,0.5,0.5|1:0.2,0.3,0.3,0.7"
+                               Name="hs" Margin="0" Spacing="0" Height="Fit" Visible="{./IsFloating}">
+                       <Widget Width="5"/>
+                       <Image Margin="1" Width="10" Height="10" Path="{./Icon}"/>
+                       <Label Width="Stretched" Foreground="White" Margin="1" TextAlignment="Left" Text="{./Caption}" />
+                       <Border CornerRadius="6" BorderWidth="1" Foreground="Transparent"  Height="10" Width="10"
+                               MouseEnter="{Foreground=White}" MouseLeave="{Foreground=Transparent}">
+                               <Image Focusable="true" Name="Image" Margin="0" Path="#Crow.Icons.exit2.svg"
+                                        MouseClick="./butQuitPress"/>
+                       </Border>
+                       <Widget Width="5"/>
+               </HorizontalStack>
+               <Container Name="Content" MinimumSize="50,50"/>
+       </VerticalStack>
+</Border>
diff --git a/Samples/ShowCase/ui/Interfaces/Experimental/testDock.crow b/Samples/ShowCase/ui/Interfaces/Experimental/testDock.crow
new file mode 100644 (file)
index 0000000..f09552c
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<Window Width="Stretched" Height="Stretched" Background="Jet">
+       <DockStack Name="mainDock" Background="DarkRed" Margin="20">
+       </DockStack>
+</Window>
+<!---          
+               <DockWindow Left="450" Top="450" Width="150" Height="150" Background="Maize"/>-->
+       
+
+<!--<Group Background="DimGrey" Margin = "0" Focusable="true" >
+       <Window Top="100" Left="100" Focusable="true" Caption="View 1" Width="300" Height="300"><Widget Background="Green" Focusable="true" MouseEnter="{Background=Grey}" MouseLeave="{Background=Green}"/></Window>
+       <Window Top="200" Left="200" Focusable="true" Caption="View 2" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Blue" MouseEnter="{Background=Grey}" MouseLeave="{Background=Blue}"/></Window>
+       <Window Top="300" Left="300" Focusable="true" Caption="View 3" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Yellow" MouseEnter="{Background=Grey}" MouseLeave="{Background=Yellow}"/></Window>
+       <Window Top="400" Left="400" Focusable="true" Caption="View 4" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Black" MouseEnter="{Background=Grey}" MouseLeave="{Background=Black}"/></Window>
+</Group>-->
+<!--<Docker >
+       <DockWindow Resizable = "true" Top="100" Left="100" Caption="View 1" Width="300" Height="300">
+               <VerticalStack Background="DarkGreen" Focusable="true">
+                       <Label Text="{../../Left}" Background="Black" Width="Stretched"/>
+                       <Label Text="{../../Top}" Background="Black"/>
+                       <Label Text="{../../LogicalParent}" Background="Black"/>
+               </VerticalStack>
+       </DockWindow>
+       <DockWindow Top="200" Left="200" Focusable="true" Caption="View 2" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Blue" MouseEnter="{Background=Grey}" MouseLeave="{Background=Blue}"/></DockWindow>
+       <DockWindow Top="300" Left="300" Focusable="true" Caption="View 3" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Yellow" MouseEnter="{Background=Grey}" MouseLeave="{Background=Yellow}"/></DockWindow>
+       <DockWindow Top="400" Left="400" Focusable="true" Caption="View 4" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Black" MouseEnter="{Background=Grey}" MouseLeave="{Background=Black}"/></DockWindow>
+</Docker>-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Experimental/testDock2.crow b/Samples/ShowCase/ui/Interfaces/Experimental/testDock2.crow
new file mode 100644 (file)
index 0000000..5ff6f70
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<Docker >
+       <DockWindow Left="100" Top="100" Width="150" Height="150" Background="DarkRed"/>
+       <DockWindow Left="200" Top="200" Width="150" Height="150" Background="DarkGreen"/>
+       <DockWindow Left="300" Top="300" Width="150" Height="150" Background="Blue"/>
+       <DockWindow Left="400" Top="400" Width="150" Height="150" Background="DarkYellow"/>
+       <DockWindow Left="500" Top="500" Width="150" Height="150" Background="Yellow"/>
+</Docker>
+<!--<Group Background="DimGrey" Margin = "0" Focusable="true" >
+       <Window Top="100" Left="100" Focusable="true" Caption="View 1" Width="300" Height="300"><Widget Background="Green" Focusable="true" MouseEnter="{Background=Grey}" MouseLeave="{Background=Green}"/></Window>
+       <Window Top="200" Left="200" Focusable="true" Caption="View 2" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Blue" MouseEnter="{Background=Grey}" MouseLeave="{Background=Blue}"/></Window>
+       <Window Top="300" Left="300" Focusable="true" Caption="View 3" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Yellow" MouseEnter="{Background=Grey}" MouseLeave="{Background=Yellow}"/></Window>
+       <Window Top="400" Left="400" Focusable="true" Caption="View 4" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Black" MouseEnter="{Background=Grey}" MouseLeave="{Background=Black}"/></Window>
+</Group>-->
+<!--<Docker >
+       <DockWindow Resizable = "true" Top="100" Left="100" Caption="View 1" Width="300" Height="300">
+               <VerticalStack Background="DarkGreen" Focusable="true">
+                       <Label Text="{../../Left}" Background="Black" Width="Stretched"/>
+                       <Label Text="{../../Top}" Background="Black"/>
+                       <Label Text="{../../LogicalParent}" Background="Black"/>
+               </VerticalStack>
+       </DockWindow>
+       <DockWindow Top="200" Left="200" Focusable="true" Caption="View 2" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Blue" MouseEnter="{Background=Grey}" MouseLeave="{Background=Blue}"/></DockWindow>
+       <DockWindow Top="300" Left="300" Focusable="true" Caption="View 3" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Yellow" MouseEnter="{Background=Grey}" MouseLeave="{Background=Yellow}"/></DockWindow>
+       <DockWindow Top="400" Left="400" Focusable="true" Caption="View 4" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Black" MouseEnter="{Background=Grey}" MouseLeave="{Background=Black}"/></DockWindow>
+</Docker>-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Experimental/testStack.crow b/Samples/ShowCase/ui/Interfaces/Experimental/testStack.crow
new file mode 100644 (file)
index 0000000..0348f0b
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<Window Width="600" Height="500">
+<VerticalStack Margin="20" Background="DimGrey" Spacing="10">
+       <Widget Height="100" Width="500" Background="Green"/>
+       <Splitter/>
+       <HorizontalStack>
+               <Widget Height="Stretched" Width="100" Background="Red"/>
+               <Splitter/>
+               <Widget Height="Stretched" Width="100" Background="DarkRed"/>
+       </HorizontalStack>
+       <Splitter/>
+       <Widget Height="100" Width="500" Background="Green"/>
+</VerticalStack>
+</Window>
+<!--<Group Background="DimGrey" Margin = "0" Focusable="true" >
+       <Window Top="100" Left="100" Focusable="true" Caption="View 1" Width="300" Height="300"><Widget Background="Green" Focusable="true" MouseEnter="{Background=Grey}" MouseLeave="{Background=Green}"/></Window>
+       <Window Top="200" Left="200" Focusable="true" Caption="View 2" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Blue" MouseEnter="{Background=Grey}" MouseLeave="{Background=Blue}"/></Window>
+       <Window Top="300" Left="300" Focusable="true" Caption="View 3" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Yellow" MouseEnter="{Background=Grey}" MouseLeave="{Background=Yellow}"/></Window>
+       <Window Top="400" Left="400" Focusable="true" Caption="View 4" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Black" MouseEnter="{Background=Grey}" MouseLeave="{Background=Black}"/></Window>
+</Group>-->
+<!--<Docker >
+       <DockWindow Resizable = "true" Top="100" Left="100" Caption="View 1" Width="300" Height="300">
+               <VerticalStack Background="DarkGreen" Focusable="true">
+                       <Label Text="{../../Left}" Background="Black" Width="Stretched"/>
+                       <Label Text="{../../Top}" Background="Black"/>
+                       <Label Text="{../../LogicalParent}" Background="Black"/>
+               </VerticalStack>
+       </DockWindow>
+       <DockWindow Top="200" Left="200" Focusable="true" Caption="View 2" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Blue" MouseEnter="{Background=Grey}" MouseLeave="{Background=Blue}"/></DockWindow>
+       <DockWindow Top="300" Left="300" Focusable="true" Caption="View 3" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Yellow" MouseEnter="{Background=Grey}" MouseLeave="{Background=Yellow}"/></DockWindow>
+       <DockWindow Top="400" Left="400" Focusable="true" Caption="View 4" Resizable = "true" Width="300" Height="300"><Widget Focusable="true" Background="Black" MouseEnter="{Background=Grey}" MouseLeave="{Background=Black}"/></DockWindow>
+</Docker>-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Experimental/testTypeViewer.goml b/Samples/ShowCase/ui/Interfaces/Experimental/testTypeViewer.goml
new file mode 100755 (executable)
index 0000000..caa454f
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+
+       <VerticalStack Height="Fit" Width="250" Name="hstack" Margin="0" Spacing="0">
+               <Border Height="Fit" Width="Stretched" BorderWidth="2" CornerRadius="10" Background="SteelBlue">
+                       <Label Name="labName" Text="{Name}" Width="Stretched" Height="Fit" Margin="3"/>
+               </Border>
+               <ListBox Data="{Members}" Width="Stretched" Height="400" ItemTemplate="Interfaces/tmpMembers.goml" Focusable="true">
+                       
+               </ListBox>
+       </VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/0.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/0.crow
new file mode 100755 (executable)
index 0000000..542e2ba
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+
+    <Button CornerRadius="0" Background="Red"/>
+
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/1.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/1.crow
new file mode 100755 (executable)
index 0000000..d74f494
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<Widget Margin="10" Width="150" Height="150" Background="SeaGreen"
+               MinimumSize="50,50"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/2.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/2.crow
new file mode 100755 (executable)
index 0000000..af2998a
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<Widget Margin="10" Width="50%" Height="50%"
+               Background="hgradient|0:Red|0.25:Blue|0.5:Green|0.75:Yellow|1:Red"
+               MinimumSize="50,50"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/4.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/4.crow
new file mode 100755 (executable)
index 0000000..f696a9e
--- /dev/null
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<HorizontalStack Fit="true">
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <ProgressBar CornerRadius="5" Background="DimGray" Margin="1" Maximum="1000" Value="{fps}" Width="200" Height="15"/>
+               <HorizontalStack Fit="true">
+                       <Label Text="Memory:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{memory}" Font="droid,12" TextAlignment="Center"
+                               Background="vgradient|0:BlueCrayola|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:AoEnglish|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/5.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/5.crow
new file mode 100755 (executable)
index 0000000..4922474
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<HorizontalStack Width="Stretched" Height="Fit" Margin="5" Background="Mantis">
+       <GraphicObject Background="Carmine" Width="10%" Height="20"/>
+       <GraphicObject Background="Carmine" Width="Stretched" Height="20"/>
+       <GraphicObject Background="Carmine" Width="10%" Height="20"/>
+       <GraphicObject Background="Carmine" Width="10%" Height="20"/>
+       <GraphicObject Background="Carmine" Width="10%" Height="20"/>
+       <GraphicObject Background="Carmine" Width="10%" Height="20"/>
+       <GraphicObject Background="Carmine" Width="10%" Height="20"/>
+</HorizontalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/6.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/6.crow
new file mode 100755 (executable)
index 0000000..c37ca36
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true" Background="DimGray" Margin="5">
+<!--   <RadioButton/>-->
+       <Label Text="a" Width="Stretched" Background="Red"/>
+       <Label Text="{fps}" HorizontalAlignment="Right" Background="LimeGreen"/>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/GraphicObject/7.crow b/Samples/ShowCase/ui/Interfaces/GraphicObject/7.crow
new file mode 100755 (executable)
index 0000000..d8e9cd3
--- /dev/null
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<VerticalStack Height="Fit" Width="Fit">
+       <Label Width="0"/>
+       <Expandable  Width="Fit" Background="Gray">
+               <Expandable Background="LightBlue">
+                       <Expandable Background="Green">
+                               <Expandable Background="LimeGreen">
+                                       <Expandable Background="DimGray">
+                                               <Expandable Width="0" Background="Yellow">
+                                                       <Expandable Background="NavyBlue">
+                                                               <Expandable Width="0" Background="Blue">
+                                                                       <Expandable Width="0" Background="BlueCrayola">
+                                                                               <Expandable Width="0" Background="Green">
+                                                                                       <Label Background="Red"/>
+                                                                               </Expandable>
+                                                                       </Expandable>
+                                                               </Expandable>
+                                                       </Expandable>
+                                               </Expandable>
+                                       </Expandable>
+                               </Expandable>
+                       </Expandable>
+               </Expandable>
+       </Expandable>
+       <Expandable Width="0"  Background="Gray">
+               <Expandable Width="0" Background="LightBlue">
+                       <Expandable Width="0" Background="Green">
+                               <Expandable Width="0" Background="LimeGreen">
+                                       <Expandable Width="0" Background="DimGray">
+                                               <Expandable Width="0" Background="Yellow">
+                                                       <Expandable Width="0" Background="NavyBlue">
+                                                               <Expandable Width="0" Background="Blue">
+                                                                       <Expandable Width="0" Background="BlueCrayola">
+                                                                               <Expandable Width="0" Background="Green">
+                                                                                       <Label Background="Red"/>
+                                                                               </Expandable>
+                                                                       </Expandable>
+                                                               </Expandable>
+                                                       </Expandable>
+                                               </Expandable>
+                                       </Expandable>
+                               </Expandable>
+                       </Expandable>
+               </Expandable>
+       </Expandable>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/Group/0.crow b/Samples/ShowCase/ui/Interfaces/Group/0.crow
new file mode 100755 (executable)
index 0000000..db09cab
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<Group MinimumSize="50,50" Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"                        
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       MinimumSize="10,10"/>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Group/1.crow b/Samples/ShowCase/ui/Interfaces/Group/1.crow
new file mode 100755 (executable)
index 0000000..2d378d3
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<Group Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Group/2.crow b/Samples/ShowCase/ui/Interfaces/Group/2.crow
new file mode 100755 (executable)
index 0000000..721790d
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<Group Background="DimGrey" Margin="10" Fit="true">
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Group/3.crow b/Samples/ShowCase/ui/Interfaces/Group/3.crow
new file mode 100755 (executable)
index 0000000..bcb57b2
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<Group Background="DimGrey" Margin="10" Width="70%" Height="50%">
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="100%" Height="20%" Background="SeaGreen"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       HorizontalAlignment="Left"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Bottom"
+                       HorizontalAlignment="Right"
+                       MinimumSize="10,10"/>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Group/4.crow b/Samples/ShowCase/ui/Interfaces/Group/4.crow
new file mode 100755 (executable)
index 0000000..3e97341
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<Group Background="DimGrey" Margin="10" Fit="true">
+       <Label Font="droid bold,40" Text="{fps}" Margin="10"  Fit="true"/>
+       <Widget Margin="10" Width="20%" Height="20%" Background="SeaGreen"
+                       VerticalAlignment="Top"
+                       MinimumSize="10,10"/>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Splitter/1.crow b/Samples/ShowCase/ui/Interfaces/Splitter/1.crow
new file mode 100755 (executable)
index 0000000..48c1ea1
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<HorizontalStack Width="80%" Height="50%">
+       <Border Width="45%" CornerRadius="10" BorderWidth="1">
+               <VerticalStack>
+                       <VerticalStack Height="45%">
+                               <CheckBox Height="25%" IsChecked="false" Caption="Check 1" Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox Height="25%" IsChecked="false" Caption="Check 2"  Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox Height="25%" IsChecked="true" Caption="Check 3"  Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox Height="25%" IsChecked="false" Caption="Check 4" Background="hgradient|0:LimeGreen|1:Transparent"/>
+                       </VerticalStack>
+                       <Splitter Thickness="3"/>
+                       <VerticalStack Height="45%">
+                               <CheckBox Height="25%" IsChecked="false" Caption="Check 1" Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox Height="25%" IsChecked="false" Caption="Check 2"  Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox Height="25%" IsChecked="true" Caption="Check 3"  Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox Height="25%" IsChecked="false" Caption="Check 4" Background="hgradient|0:LimeGreen|1:Transparent"/>
+                       </VerticalStack>
+               </VerticalStack>
+       </Border>
+       <Splitter Thickness="3"/>
+       <Border Width="45%" CornerRadius="10" BorderWidth="1">
+               <VerticalStack Width="50%" Height="50%" Background="DimGrey">
+                       <RadioButton IsChecked="false" Caption="Choice 1" Background="hgradient|0:DarkRed|1:Transparent"/>
+                       <RadioButton IsChecked="false" Caption="Choice 2"  Background="hgradient|0:DarkRed|1:Transparent"/>
+                       <RadioButton IsChecked="true" Caption="Choice 3"  Background="hgradient|0:DarkRed|1:Transparent"/>
+                       <RadioButton IsChecked="false" Caption="Choice 4" Background="hgradient|0:DarkRed|1:Transparent"/>
+               </VerticalStack>
+       </Border>
+       <Splitter Thickness="3"/>
+</HorizontalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/Splitter/3.crow b/Samples/ShowCase/ui/Interfaces/Splitter/3.crow
new file mode 100755 (executable)
index 0000000..582944a
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+       <GraphicObject CornerRadius="5" Height="10" Width="600" Background="vgradient|0:Transparent|0,5:White|1:Transparent"/>
+       <HorizontalStack Fit="true" HorizontalAlignment="Left">
+               <Border Fit="true" CornerRadius="10" BorderWidth="1">
+                       <VerticalStack Margin="10">
+                               <CheckBox IsChecked="false" Caption="Check 1" Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox IsChecked="false" Caption="Check 2"  Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox IsChecked="true" Caption="Check 3"  Background="hgradient|0:LimeGreen|1:Transparent"/>
+                               <CheckBox IsChecked="false" Caption="Check 4" Background="hgradient|0:LimeGreen|1:Transparent"/>
+                       </VerticalStack>
+               </Border>
+               <Splitter/>
+               <Border Fit="true" CornerRadius="10" BorderWidth="1">
+                       <VerticalStack Margin="10">
+                               <RadioButton IsChecked="false" Caption="Choice 1" Background="hgradient|0:DarkRed|1:Transparent"/>
+                               <Splitter/>
+                               <RadioButton Width="Stretched" IsChecked="false" Caption="Choice 2"  Background="hgradient|0:DarkRed|1:Transparent"/>
+                               <RadioButton IsChecked="true" Caption="Choice 3"  Background="hgradient|0:DarkRed|1:Transparent"/>
+                               <RadioButton IsChecked="false" Caption="Choice 4" Background="hgradient|0:DarkRed|1:Transparent"/>
+                       </VerticalStack>
+               </Border>
+               <Splitter Thickness="3" />
+               <Border Fit="true" CornerRadius="10" BorderWidth="1" MaximumSize="150;150" MinimumSize="50;50">
+                       <VerticalStack Margin="10">
+                               <Label Text="label 1" Background="hgradient|0:BlueCrayola|1:Transparent"/>
+                               <Label Text="label 2" Background="hgradient|0:BlueCrayola|1:Transparent"/>
+                               <Label Text="label 3" Background="hgradient|0:BlueCrayola|1:Transparent"/>
+                               <Label Text="label 4" Width="Stretched" Background="hgradient|0:BlueCrayola|1:Transparent"/>
+                       </VerticalStack>
+               </Border>
+               <Splitter/>
+               <Border Fit="true" CornerRadius="10" BorderWidth="1">
+                       <VerticalStack Margin="10">
+                               <Button Caption="Button 1" Background="hgradient|0:Red|1:DarkRed" CornerRadius="5"/>
+                               <Button Caption="Button 2"  Background="hgradient|0:AoEnglish|1:Arsenic" CornerRadius="3"/>
+                               <Button Caption="Button 3"  Background="hgradient|0:DarkRed|1:Transparent" CornerRadius="0"/>
+                               <Button Caption="Button 4" Background="hgradient|0:DarkRed|1:Transparent" CornerRadius="8"/>
+                       </VerticalStack>
+               </Border>
+               <Splitter/>
+       </HorizontalStack>
+       <GraphicObject CornerRadius="5" Height="10" Width="600" Background="vgradient|0:Transparent|0,5:White|1:Transparent"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/0.crow b/Samples/ShowCase/ui/Interfaces/Stack/0.crow
new file mode 100755 (executable)
index 0000000..e2ce6bb
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<VerticalStack MinimumSize="50,50" Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/0h.crow b/Samples/ShowCase/ui/Interfaces/Stack/0h.crow
new file mode 100755 (executable)
index 0000000..af596cb
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<HorizontalStack MinimumSize="50,50" Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/1.crow b/Samples/ShowCase/ui/Interfaces/Stack/1.crow
new file mode 100755 (executable)
index 0000000..4b89bea
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<VerticalStack Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="Stretched" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="60%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/1h.crow b/Samples/ShowCase/ui/Interfaces/Stack/1h.crow
new file mode 100755 (executable)
index 0000000..5fb0551
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<HorizontalStack Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="10" Width="Stretched" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="60%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="20%" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/2.crow b/Samples/ShowCase/ui/Interfaces/Stack/2.crow
new file mode 100755 (executable)
index 0000000..2498ee3
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<VerticalStack Background="DimGrey" Margin="10" Width="90%" Height="100%">
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Stretched" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/2h.crow b/Samples/ShowCase/ui/Interfaces/Stack/2h.crow
new file mode 100755 (executable)
index 0000000..c72e9da
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<HorizontalStack Background="DimGrey" Margin="10" Width="90%" Height="100%">
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Stretched" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+       <Widget Margin="10" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="10,10"/>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/3.crow b/Samples/ShowCase/ui/Interfaces/Stack/3.crow
new file mode 100755 (executable)
index 0000000..7aa7c9e
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<VerticalStack Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Stretched" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Stretched" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/3h.crow b/Samples/ShowCase/ui/Interfaces/Stack/3h.crow
new file mode 100755 (executable)
index 0000000..2acdd49
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<HorizontalStack Background="DimGrey" Margin="10" Width="90%" Height="90%">
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Stretched" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Stretched" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+       <Widget Margin="1" Width="Stretched" Height="Fit" Background="SeaGreen"
+                       MinimumSize="2,2"/>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Stack/4.crow b/Samples/ShowCase/ui/Interfaces/Stack/4.crow
new file mode 100755 (executable)
index 0000000..33d57de
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<VerticalStack>
+       <HorizontalStack Background="DimGrey" Margin="10" Width="90%" Height="20%">
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Width="100%" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+       </HorizontalStack>
+       <HorizontalStack Background="DimGrey" Margin="10" Width="Fit" Height="20%">
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Width="100%" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+               <Label Font="droid bold, 20" Text="{fps}" Margin="5" Fit="true" Background="SeaGreen"/>
+       </HorizontalStack>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TabItem.template b/Samples/ShowCase/ui/Interfaces/TabItem.template
new file mode 100644 (file)
index 0000000..fd0f310
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<GenericStack Orientation="Vertical" Spacing="0"
+               Background="{./Background}"
+               MouseEnter="{/caption.Foreground=White}"
+               MouseLeave="{/caption.Foreground=Grey}">
+       <HorizontalStack Left="{./TabOffset}"
+               Name="TabTitle"
+               HorizontalAlignment="Left"
+               Height="{./TabHeight}"
+               Width="{./TabWidth}">
+               <Label Name="caption" Text="{./Caption}" Foreground="Grey" Width="Stretched"/>
+               <Label Text="{./ViewIndex}" Foreground="Green"/>
+               <Label Text="{./TabOffset}" Foreground="Red"/>
+               <Border CornerRadius="5" BorderWidth="1" Foreground="Transparent"  Height="12" Width="12"
+                                       MouseEnter="{Foreground=White}" MouseLeave="{Foreground=Transparent}">
+                       <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched" Path="#Crow.Icons.exit2.svg"
+                                MouseClick="./butCloseTabClick"/>
+               </Border>
+       </HorizontalStack>
+       <Container Margin="20">
+               <Container Background="DimGrey" Name="Content"/>
+       </Container>
+</GenericStack>
+
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/0.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/0.crow
new file mode 100755 (executable)
index 0000000..5b26740
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<Expandable Fit="true" Caption="Test expandable" Background="DimGrey">
+               <VerticalStack Margin="5" >
+                       <CheckBox Name="chk1" />
+                       <CheckBox Name="chk2" IsChecked="true"/>
+                       <CheckBox Name="chk3" />
+                       <CheckBox Name="chk4" />
+                       <HorizontalStack Fit="true" Margin="2" Background="SeaGreen">
+                               <Label Name="captionFps" Text="Fps:" Width="30" TextAlignment="Right"/>
+                               <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="Fit" TextAlignment="Center" Background="SeaGreen"/>
+                       </HorizontalStack>
+               </VerticalStack>
+</Expandable>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/6.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/6.crow
new file mode 100755 (executable)
index 0000000..641d58f
--- /dev/null
@@ -0,0 +1,21 @@
+<Expandable Width="Stretched"  Background="Grey">
+               <Expandable Width="Stretched" Background="LightBlue">
+                       <Expandable Width="Stretched" Background="Green">
+                               <Expandable Width="Stretched" Background="LimeGreen">
+                                       <Expandable Width="Stretched" Background="DimGrey">
+                                               <Expandable Width="Stretched" Background="Yellow">
+                                                       <Expandable Width="Stretched" Background="SeaGreen">
+                                                               <Expandable Width="Stretched" Background="Blue">
+                                                                       <Expandable Width="Stretched" Background="RoyalBlue">
+                                                                               <Expandable Width="Stretched" Background="Green">
+                                                                                       <Label Background="Red" Text="{fps}"/>
+                                                                               </Expandable>
+                                                                       </Expandable>
+                                                               </Expandable>
+                                                       </Expandable>
+                                               </Expandable>
+                                       </Expandable>
+                               </Expandable>
+                       </Expandable>
+               </Expandable>
+       </Expandable>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/7.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/7.crow
new file mode 100755 (executable)
index 0000000..99a7507
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<VerticalStack Height="Fit" Width="Fit">
+       <Label Width="Stretched"/>
+       <Expandable  Width="Fit" Background="Grey">
+               <Expandable Background="LightBlue">
+                       <Expandable Background="Green">
+                               <Expandable Background="LimeGreen">
+                                       <Expandable Background="DimGrey">
+                                               <Expandable Width="Stretched" Background="Yellow">
+                                                       <Expandable Background="SeaGreen">
+                                                               <Expandable Width="Stretched" Background="Blue">
+                                                                       <Expandable Width="Stretched" Background="RoyalBlue">
+                                                                               <Expandable Width="Stretched" Background="Green">
+                                                                                       <Label Background="Red" Text="{fps}"/>
+                                                                               </Expandable>
+                                                                       </Expandable>
+                                                               </Expandable>
+                                                       </Expandable>
+                                               </Expandable>
+                                       </Expandable>
+                               </Expandable>
+                       </Expandable>
+               </Expandable>
+       </Expandable>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testGroupBox.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testGroupBox.crow
new file mode 100755 (executable)
index 0000000..4858180
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!--<Container Background="vgradient|0:DarkGrey|1:DimGrey">-->
+       <GroupBox Fit="true" Background="vgradient|0:SteelBlue|1:Transparent"
+               Foreground="White">
+<!--           <Label/>-->
+       </GroupBox>
+<!--</Container>-->
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testMsgBox.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testMsgBox.crow
new file mode 100755 (executable)
index 0000000..d60c281
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<MessageBox Caption="message" Message="this is a message box"/>
+<!--   Ok="onMsgBoxOk"
+       Cancel="onMsgBoxCancel"/>-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testPopper.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testPopper.crow
new file mode 100755 (executable)
index 0000000..27da8ea
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<VerticalStack>
+       <Border Fit="true" Margin="10">
+               <VerticalStack Width="150" Height="Fit">
+                       <RadioButton Caption="Left" IsChecked="true" Checked="change_alignment"/>
+                       <RadioButton Caption="Right" Checked="change_alignment"/>
+                       <RadioButton Caption="Top" Checked="change_alignment"/>
+                       <RadioButton Caption="Bottom" Checked="change_alignment"/>
+               </VerticalStack>
+       </Border>
+       <Widget Height="200"/>
+       <Popper Caption="TestPopper" Width="100" Background="DimGrey" PopDirection="{alignment}">
+               <Border Fit="True" Background="SteelBlue">
+                       <Image Fit="true" Path="#go.Images.Icons.tetra.png" Margin="10"/>
+                       <VerticalStack Fit="true" Margin="10" Background="CornflowerBlue">
+                               <CheckBox Name="chk1" Background="Red"/>
+                               <CheckBox Name="chk2" IsChecked="true"/>
+                               <CheckBox Name="chk3"/>
+                               <CheckBox Name="chk4"/>
+                               <HorizontalStack Fit="true" Margin="20">
+                                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" Background="SeaGreen"/>
+                               </HorizontalStack>
+                       </VerticalStack>
+               </Border>
+       </Popper>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTabView.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTabView.crow
new file mode 100644 (file)
index 0000000..e3717c8
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Group Height="90%" Width="95%">
+<VerticalStack >
+       <HorizontalStack Height="Fit">
+               <Label Text="Selected Tab:"/>
+               <Label Text="{../../tabview1.SelectedTab}"/>
+       </HorizontalStack>
+       <TabView Name="tabview1" Background="DimGrey" Orientation="Horizontal">
+               <TabItem Name="TabItem1" Caption="tab item 1" Background="DimGrey">
+                       <VerticalStack Margin="20">
+                               <CheckBox/>
+                               <CheckBox/>
+                               <CheckBox/>
+                               <CheckBox/>
+                       </VerticalStack>
+               </TabItem>
+               <TabItem Name="TabItem2" Caption="tab item 2" Background="DimGrey">
+                       <VerticalStack Height="Fit" Margin="10">
+                               <RadioButton Fit="true"/>
+                               <RadioButton/>
+                               <RadioButton/>
+                               <RadioButton/>
+                       </VerticalStack>
+               </TabItem>
+               <TabItem Name="TabItem3" Background="DimGrey" Caption="tab item 3">
+                       <Container Margin="5" CornerRadius="2" >
+                               <TextBox Margin="5" Multiline="true" TextAlignment="TopLeft"/>
+                       </Container>
+               </TabItem>
+               <TabItem Name="TabItem4" Background="DimGrey" Caption="tab item 4" Margin="0">
+                       <TextBox/>
+               </TabItem>
+       </TabView>
+       <Button Background="vgradient|0:DimGrey|1:Black" HorizontalAlignment="Right"
+               Caption="Add new tab" Width="Fit" Height="30" MouseDown="onAddTabButClick"/>
+</VerticalStack>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTabView2.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTabView2.crow
new file mode 100644 (file)
index 0000000..67b87b0
--- /dev/null
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<HorizontalStack Height="90%" Width="99%" Spacing="50">
+       <VerticalStack Width="40%">     
+               <HorizontalStack Height="Fit">
+                       <Label Text="Selected Tab:"/>
+                       <Label Text="{../../tabview1.SelectedTab}"/>
+               </HorizontalStack>
+               <TabView Name="tabview1" Background="DimGrey" Orientation="Horizontal" Margin="5" >
+                       <TabItem Name="TabItem1" Caption="tab-1.1" Background="DimGrey">
+                               <VerticalStack Margin="20">
+                                       <CheckBox/>
+                                       <CheckBox/>
+                                       <CheckBox/>
+                                       <CheckBox/>
+                               </VerticalStack>
+                       </TabItem>
+                       <TabItem Name="TabItem2" Caption="tab-1.2" Background="DimGrey">
+                               <VerticalStack Height="Fit" Margin="10">
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton/>
+                                       <RadioButton/>
+                                       <RadioButton/>
+                               </VerticalStack>
+                       </TabItem>
+                       <TabItem Name="TabItem3" Background="DimGrey" Caption="tab-1.3">
+                               <Container Margin="5" CornerRadius="2" >
+                                       <TextBox Margin="5" Multiline="true" TextAlignment="TopLeft"/>
+                               </Container>
+                       </TabItem>
+               </TabView>
+               <Button Background="vgradient|0:DimGrey|1:Black" HorizontalAlignment="Right"
+                       Caption="Add new tab" Width="Fit" Height="30" MouseDown="onAddTabButClick"/>    
+       </VerticalStack>
+       <VerticalStack Width="40%">     
+               <HorizontalStack Height="Fit">
+                       <Label Text="Selected Tab:"/>
+                       <Label Text="{../../tabview2.SelectedTab}"/>
+               </HorizontalStack>
+               <TabView Name="tabview2" Background="DimGrey" Orientation="Horizontal" >
+                       <TabItem Name="TabItem1" Caption="tab-2.1" Background="DimGrey">
+                               <VerticalStack Margin="20">
+                                       <CheckBox/>
+                                       <CheckBox/>
+                                       <CheckBox/>
+                                       <CheckBox/>
+                               </VerticalStack>
+                       </TabItem>
+                       <TabItem Name="TabItem2" Caption="tab-2.2" Background="DimGrey">
+                               <VerticalStack Height="Fit" Margin="10">
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton/>
+                                       <RadioButton/>
+                                       <RadioButton/>
+                               </VerticalStack>
+                       </TabItem>
+                       <TabItem Name="TabItem3" Background="DimGrey" Caption="tab-2.3">
+                               <Container Margin="5" CornerRadius="2" >
+                                       <TextBox Margin="5" Multiline="true" TextAlignment="TopLeft"/>
+                               </Container>
+                       </TabItem>
+               </TabView>
+               <Button Background="vgradient|0:DimGrey|1:Black" HorizontalAlignment="Right"
+                       Caption="Add new tab" Width="Fit" Height="30" MouseDown="onAddTabButClick2"/>   
+       </VerticalStack>
+</HorizontalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTreeView.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTreeView.crow
new file mode 100755 (executable)
index 0000000..099ce66
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<Border Margin="5" Height="90%" Width="50%">
+       <DirectoryView Name="dv" CurrentDirectory="/" Margin="1"/>
+</Border>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow.goml b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow.goml
new file mode 100755 (executable)
index 0000000..e42a5c9
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<Window Left="10" Top="10" Caption="Test window"
+               Width="250" Height="550" >
+       <VerticalStack Name="contentVSStack" Margin="10" Spacing="10" Background="0.4,0.4,0.4,0.4">
+               <Slider Name="slider" Height="12" Width="Stretched" CornerRadius="3"/>
+               <GroupBox Caption="test"  Height="Fit" Width="Stretched" Margin="5">
+                       <VerticalStack  Height="Fit" Width="Stretched" >
+                               <RadioButton  Caption="Radio 1" Background="Red" Width="Stretched"/>
+                               <RadioButton  Caption="Radio 2" IsChecked="true" />
+                               <RadioButton  Caption="Radio 3" />
+                               <RadioButton  Caption="Radio 1" Background="SkyBlue" Width="Stretched"/>
+                       </VerticalStack>
+               </GroupBox>
+               <HorizontalStack Width="Stretched" Height="Fit" Margin="10" CornerRadius="5" Background="SkyBlue">
+                       <RadioButton Width="80" Height="Fit"  Caption="Radio 2" IsChecked="true" />
+                       <Widget Width="Stretched"/>
+                       <RadioButton Width="80" Height="Fit" Caption="Radio 3" />
+               </HorizontalStack>
+               <HorizontalStack Width="Stretched" Height="Stretched" MinimumSize="10,40" Margin="0" CornerRadius="5"
+                               Background="vgradient|0:White|0.1:SteelBlue|0.9:SteelBlue|1:Transparent">
+                       <CheckBox Height="Fit" Width="80"/>
+                       <Widget Width="Stretched"/>
+                       <CheckBox Height="Fit" Width="80" IsChecked="true"/>
+               </HorizontalStack>
+               <Border Fit="true" CornerRadius="5" BorderWidth="1" >
+                       <Container Name="MainGrp" Background="0.5,0.5,0.5,0.4" Width="120" Fit="true"
+                               Margin="10" Focusable="True" >
+                                       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+                                               <HorizontalStack Fit="true">
+                                                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                                                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                                                               Background="vgradient|0:SeaGreen|1:Black"/>
+                                               </HorizontalStack>
+                                               <HorizontalStack Fit="true">
+                                                       <Label Text="Clipping:" Width="50" TextAlignment="Right"/>
+                                                       <Label Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                                                               Background="vgradient|0:SeaGreen|1:Black"/>
+                                               </HorizontalStack>
+                                               <HorizontalStack Fit="true">
+                                                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                                                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                                                               Background="vgradient|0:SeaGreen|1:Black"/>
+                                               </HorizontalStack>
+                                               <HorizontalStack Fit="true">
+                                                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                                                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+                                                               Background="vgradient|0:SeaGreen|1:Black"/>
+                                               </HorizontalStack>
+                                               <HorizontalStack Fit="true">
+                                                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                                                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                                                               Background="vgradient|0:SeaGreen|1:Black"/>
+                                               </HorizontalStack>
+                                               <HorizontalStack Fit="true">
+                                                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                                                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                                                               Background="vgradient|0:SeaGreen|1:Black"/>
+                                               </HorizontalStack>
+                                       </VerticalStack>
+                       </Container>
+               </Border>
+               <HorizontalStack Fit="true" Background="RoyalBlue" Margin="3">
+                       <Widget Margin="10" Background="LimeGreen" Width="5" Height="5"/>
+                       <TextBox Font="droid, 16" Multiline="true" Text="this is a test\nmultiline" Margin="2"/>
+                       <Widget Margin="10" Background="LimeGreen" Width="5" Height="5"/>
+               </HorizontalStack>
+       </VerticalStack>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow2.goml b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow2.goml
new file mode 100755 (executable)
index 0000000..cf88e8c
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<Window Focusable="true" Caption="Measures" Width="30%" Height="Fit" MinimumSize="100,100">
+       <VerticalStack Width="90%" Height="Fit" Spacing="1" Margin="10">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="FpsLabel"/>
+                       <Label Text="{fps}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="FpsLabel"/>
+                       <Label Text="{fpsMin}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="FpsLabel"/>
+                       <Label Text="{fpsMax}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="FpsLabel"/>
+                       <Label Text="{update}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="FpsLabel"/>
+                       <Label Text="{layouting}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Clipping:" Style="FpsLabel"/>
+                       <Label Text="{clipping}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="FpsLabel"/>
+                       <Label Text="{drawing}" Style="FpsDisp"/>
+               </HorizontalStack>
+       </VerticalStack>
+</Window>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow3.goml b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow3.goml
new file mode 100755 (executable)
index 0000000..869615b
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<Window Left="10" Top="10" Caption="Test window" Width="200" Height="200" Background="0.5,0.5,0.5,0.8"
+       Focusable="True"  CornerRadius="20" MinimumSize="100,100" MaximumSize="500,500">
+       <Template>
+               <Container Margin="20" Name="Content" Height="{../HeightPolicy}" Width="{../WidthPolicy}" Background="0.5,0.5,0.5,0.5"/>
+       </Template>
+<!--   <Group Background="Green">-->
+               <Widget Height="50" Width="50" Background="Red" Margin="5"/>
+<!--           <Scrollbar Orientation="Vertical" Height="Stretched" Width="10" Background="Blue" Margin="0" HorizontalAlignment="Right"/>-->
+<!--   </Group>-->
+</Window>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedContainer/test_Listbox.crow b/Samples/ShowCase/ui/Interfaces/TemplatedContainer/test_Listbox.crow
new file mode 100755 (executable)
index 0000000..47adb8c
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!--<ListBox Data="{TestList}" Focusable="true"/>-->
+<Border Margin="50">
+       <VerticalStack >
+               <Label Text="{../ColorList.SelectedItem}" Background="DarkGreen"/>
+               <Label Text="{Hover}" Background="DarkGreen"/>
+               <Button Caption="Clear" Width="Stretched" MouseClick="OnClear"/>
+               <ListBox Name="ColorList" Data="{TestList}"  Width="200" Height="200" 
+                                        ItemTemplate="#Tests.Interfaces.colorItem.crow">                       
+               </ListBox>
+               <Button Caption="Load list" Width="Stretched" MouseClick="OnLoadList"/>
+       </VerticalStack>
+</Border>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testButton.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testButton.crow
new file mode 100755 (executable)
index 0000000..8911619
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true" Background="vgradient|0:DimGrey|1:Black">
+       <HorizontalStack Fit="True">
+               <Button Caption="but" MouseClick="onButClick"/>
+               <Button Caption="but" MouseClick="onButClick" Fit="true"/>
+               <Button Width="60" Height="40" MouseClick="onButClick"/>
+               <Button Caption="Long text button" MouseClick="onButClick"/>
+               <Button Font="droid, 20" Caption="Button"/>
+       </HorizontalStack>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testCheckbox.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testCheckbox.crow
new file mode 100755 (executable)
index 0000000..7c8438c
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true" Margin="100" Background="DimGrey" >
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+       <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testCombobox.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testCombobox.crow
new file mode 100755 (executable)
index 0000000..4363986
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<Container Background="DimGrey" Width="300">
+       <ComboBox  Data="{TestList}" ItemTemplate="#Tests.Interfaces.colorItem.crow"/>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow
new file mode 100755 (executable)
index 0000000..b29be38
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<Border BorderWidth="2" Fit="true">
+       <VerticalStack Fit="true" Margin="5">
+               <ListBox Data="{TestList}" Background="0.5,0.5,0.5,0.7"
+                                        HorizontalAlignment="Center" Width="200" Height="200" Margin="5">
+                       <Template>
+                               <Border BorderWidth="1">
+                                       <HorizontalStack Margin="1">
+                                               <Scroller Name="scroller1" Margin="2">
+                                                       <VerticalStack Height="Fit" MinimumSize="10,10"
+                                                               Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
+                                               </Scroller>
+                                               <ScrollBar Name="scrollbar1" Value="{²../scroller1.ScrollY}"
+                                                       LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30" CursorSize="{../scroller1.ChildHeightRatio}"
+                                                       Maximum="{../scroller1.MaxScrollY}" Orientation="Vertical" 
+                                                       Width="14" />
+                                       </HorizontalStack>
+                               </Border>
+                       </Template>
+                       <ItemTemplate DataType="Crow.Color">
+                               <HorizontalStack
+                                                       HorizontalAlignment="Left"
+                                                       Height="Fit" Width="200" Margin="1" Focusable="true"
+                                                       MouseEnter="{Background=hgradient|0:DarkRed|1:Transparent}"
+                                                       MouseLeave="{Background=Transparent}">
+                                       <Widget Height="12" Width="20" Background="{}" Margin="0" CornerRadius="3"/>
+                                       <Label Text="{}" Margin="0" Width="Stretched"/>
+                               </HorizontalStack>
+                       </ItemTemplate>
+               </ListBox>
+               <HorizontalStack Fit="true" HorizontalAlignment="Right">
+                       <Button Caption="Load list" MouseDown="OnLoadList"/>
+                       <Button Caption="Clear" MouseDown="OnClear"/>
+               </HorizontalStack>
+       </VerticalStack>
+</Border>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testRadioButton.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testRadioButton.crow
new file mode 100755 (executable)
index 0000000..a01d904
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<VerticalStack Width="200" Height="Fit" Margin="20" Background="DimGrey">
+       <RadioButton Caption="Radio1"/>
+       <RadioButton Caption="Radio2" IsChecked="true"/>
+       <RadioButton Caption="Radio3"/>
+       <RadioButton Caption="Radio4"/>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testScrollbar.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testScrollbar.crow
new file mode 100755 (executable)
index 0000000..f8c4a9a
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<Group Name="TopContainer" Width="400" Height="400"
+       Focusable="True" Background="Grey">
+       <ScrollBar Height="16" Orientation="Horizontal" Width="Stretched" Maximum="100"/>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedControl/testSpinner.crow b/Samples/ShowCase/ui/Interfaces/TemplatedControl/testSpinner.crow
new file mode 100755 (executable)
index 0000000..01d5301
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<VerticalStack Name="TopContainer" Width="400" Height="Fit"
+       Margin="20" Background="DarkGrey">
+
+       <HorizontalStack Fit="true" Margin="5" Background="SkyBlue">
+               <Spinner Name="sp1" Value="5" ValueChanged="onSpinnerValueChange"/>
+               <Spinner Value="5"/>
+               <Spinner Value="5"/>
+       </HorizontalStack>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedGroup/0.crow b/Samples/ShowCase/ui/Interfaces/TemplatedGroup/0.crow
new file mode 100755 (executable)
index 0000000..92cd224
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<Menu>
+       <MenuItem Caption="File" Width="Fit">
+               <MenuItem Caption="New" />
+               <MenuItem Caption="Open"/>
+               <MenuItem Caption="Save"/>
+               <MenuItem Caption="Quit"/>
+       </MenuItem>
+       <MenuItem Caption="Edit" Name="edit" Width="Fit">
+               <MenuItem Caption="Cut"/>
+               <MenuItem Caption="Copy"/>
+               <MenuItem Caption="Paste"/>
+               <MenuItem Caption="Special" Name="special" Width="Fit">
+                       <MenuItem Caption="Cut"/>
+                       <MenuItem Caption="Copy"/>
+                       <MenuItem Caption="Paste"/>
+               </MenuItem>
+               <MenuItem Caption="Special2" Name="special" Width="Fit">
+                       <MenuItem Caption="Cut"/>
+                       <MenuItem Caption="Copy"/>
+                       <MenuItem Caption="Paste"/>
+               </MenuItem>
+       </MenuItem>
+       <MenuItem Caption="Help" Width="Fit">
+               <MenuItem Caption="About"/>
+               <MenuItem Caption="Help"/>
+       </MenuItem>
+</Menu>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedGroup/1.crow b/Samples/ShowCase/ui/Interfaces/TemplatedGroup/1.crow
new file mode 100755 (executable)
index 0000000..f47e7aa
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<Menu>
+       <MenuItem Caption="File">
+               <MenuItem Caption="New"/>
+               <MenuItem Caption="Open"/>
+               <MenuItem Caption="Save"/>
+               <MenuItem Caption="Quit"/>
+       </MenuItem>
+</Menu>
diff --git a/Samples/ShowCase/ui/Interfaces/TemplatedGroup/2.crow b/Samples/ShowCase/ui/Interfaces/TemplatedGroup/2.crow
new file mode 100755 (executable)
index 0000000..8d25db5
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<Menu>
+       <MenuItem Caption="Menu">
+               <MenuItem Caption="File">
+                       <MenuItem Caption="New"></MenuItem>
+                       <MenuItem Caption="Open"></MenuItem>
+                       <MenuItem Caption="Save"></MenuItem>
+                       <MenuItem Caption="Quit"></MenuItem>
+               </MenuItem>
+               <MenuItem Caption="Edit">
+                       <MenuItem Caption="Cut"/>
+                       <MenuItem Caption="Copy"/>
+                       <MenuItem Caption="Paste"/>
+                       <MenuItem Caption="Special">
+                               <MenuItem Caption="Cut"/>
+                               <MenuItem Caption="Copy"/>
+                               <MenuItem Caption="Paste"/>
+                       </MenuItem>
+               </MenuItem>
+               <MenuItem Caption="Help">
+                       <MenuItem Caption="About"/>
+                       <MenuItem Caption="Help"/>
+               </MenuItem>
+       </MenuItem>
+</Menu>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/TmpExpandable.goml b/Samples/ShowCase/ui/Interfaces/TmpExpandable.goml
new file mode 100755 (executable)
index 0000000..9dddceb
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!--<VerticalStack Height="{../HeightPolicy}" Width="{../WidthPolicy}" MouseClick="../onMouseClick">
+       <Label Text="{../../Caption}" Width="{../../WidthPolicy}"/>
+       <Container Name="Content" Visible="false" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}"/>
+</VerticalStack>-->
+<Group BorderWidth="1" Foreground="LightGray" 
+               MouseClick="../onMouseClick">
+       <VerticalStack>
+               <Label Text="{../../../Caption}"/>
+               <Container Name="Content" Visible="false"/>
+       </VerticalStack>
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Wrapper/1.1.crow b/Samples/ShowCase/ui/Interfaces/Wrapper/1.1.crow
new file mode 100755 (executable)
index 0000000..548aab3
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<Window Caption="Vertical Wrapper" Width="50%" Height="50%">
+       <Wrapper Orientation="Vertical" Height="Fit" Width="90%" Margin="5" Background="MediumSeaGreen" Spacing="1" >
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50%" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50%" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+       </Wrapper>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Wrapper/1.crow b/Samples/ShowCase/ui/Interfaces/Wrapper/1.crow
new file mode 100755 (executable)
index 0000000..58c79ee
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<Window Caption="Vertical Wrapper" Width="50%" Height="50%">
+       <Wrapper Orientation="Vertical" Height="Fit" Width="Fit" Margin="5" Background="MediumSeaGreen" Spacing="1" >
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50%" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50%" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+       </Wrapper>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Wrapper/2.1.crow b/Samples/ShowCase/ui/Interfaces/Wrapper/2.1.crow
new file mode 100755 (executable)
index 0000000..2a35289
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<Window Caption="Horizontal Wrapper" Width="50%" Height="50%">
+       <Wrapper Orientation="Horizontal" Height="90%" Width="Fit" Margin="5" Background="MediumSeaGreen" Spacing="1" >
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50%" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50%" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+       </Wrapper>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Wrapper/2.2.crow b/Samples/ShowCase/ui/Interfaces/Wrapper/2.2.crow
new file mode 100755 (executable)
index 0000000..4621c14
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<Window Caption="Horizontal Wrapper" Width="50%" Height="50%">
+               <Wrapper HorizontalAlignment="Left" Orientation="Horizontal" Height="100%" Width="Fit" Margin="0" Background="MediumSeaGreen" Spacing="1" >
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50%" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50%" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50%" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50%" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50%" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50%" Background="SeaGreen"/>
+                       <Widget Width="50" Height="50" Background="SeaGreen"/>
+               </Wrapper>      
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/Wrapper/2.crow b/Samples/ShowCase/ui/Interfaces/Wrapper/2.crow
new file mode 100755 (executable)
index 0000000..c1f234e
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<Window Caption="Horizontal Wrapper" Width="50%" Height="50%">
+       <Wrapper Orientation="Horizontal" Height="Fit" Width="Fit" Margin="5" Background="MediumSeaGreen" Spacing="1" >
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50%" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+               <Widget Width="50" Height="50%" Background="SeaGreen"/>
+               <Widget Width="50" Height="50" Background="SeaGreen"/>
+       </Wrapper>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/basicTests/7.crow b/Samples/ShowCase/ui/Interfaces/basicTests/7.crow
new file mode 100755 (executable)
index 0000000..8d1e441
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<Window Title="Showcase" Height="90%" Width="90%">
+       <HorizontalStack >
+               <VerticalStack Width="33%" Margin="5">
+                       <GroupBox Caption="Performance" Height="Fit">
+                               <VerticalStack Width="90%" Height="Fit" Spacing="2" >
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Fps:" Style="FpsLabel"/>
+                                               <Label Text="{fps}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Min:" Style="FpsLabel"/>
+                                               <Label Text="{fpsMin}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Max:" Style="FpsLabel"/>
+                                               <Label Text="{fpsMax}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Update:" Style="FpsLabel"/>
+                                               <Label Text="{update}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Layouting:" Style="FpsLabel"/>
+                                               <Label Text="{layouting}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Clipping:" Style="FpsLabel"/>
+                                               <Label Text="{clipping}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Drawing:" Style="FpsLabel"/>
+                                               <Label Text="{drawing}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                               </VerticalStack>
+                       </GroupBox>
+                       <Label Width="Stretched" Margin="3" Background="Onyx"/>
+                       <TextBox Text="TextBox" Multiline="true" Margin="3"/>
+                       <HorizontalStack Height="Fit" Margin="5" Background="Onyx" CornerRadius="10">
+                               <VerticalStack Spacing="5" Width="50%">
+                                       <CheckBox Fit="true"/>
+                                       <CheckBox Fit="true"/>
+                                       <CheckBox Fit="true"/>
+                                       <CheckBox Fit="true"/>
+                               </VerticalStack>
+                               <VerticalStack Spacing="5" Width="50%">
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true"/>
+                               </VerticalStack>
+                       </HorizontalStack>
+                       <HorizontalStack Height="Fit" Margin="5">
+                               <Label Text="MouseEvents" Width="50%" Margin="3"
+                                       Background="Onyx"
+                                       Foreground="DimGray"
+                                       TextAlignment="Center"
+                                       MouseEnter="{Foreground=White}"
+                                       MouseLeave="{Foreground=DimGray}"
+                                       MouseDown="{Background=DarkRed}"
+                                       MouseUp="{Background=Onyx}"/>
+                               <Label Text="MouseEvents" Width="50%" Margin="3"
+                                       Background="Onyx"
+                                       Foreground="DimGray"
+                                       TextAlignment="Center"
+                                       MouseEnter="{Foreground=White}"
+                                       MouseLeave="{Foreground=DimGray}"
+                                       MouseDown="{Background=Mantis}"
+                                       MouseUp="{Background=Onyx}"/>
+                       </HorizontalStack>
+                       <GroupBox Caption="Templated controls" Height="Fit" Margin="5">
+                               <HorizontalStack Height="Fit">
+                                       <VerticalStack Width="50%">
+                                               <CheckBox Template="#Tests.Interfaces.CheckBox2.imlt" Style="CheckBox2"/>
+                                               <CheckBox  Template="#Tests.Interfaces.CheckBox2.imlt" Style="CheckBox2"/>
+                                               <CheckBox  Template="#Tests.Interfaces.CheckBox2.imlt" Style="CheckBox2"/>
+                                               <CheckBox  Template="#Tests.Interfaces.CheckBox2.imlt" Style="CheckBox2"/>
+                                       </VerticalStack>
+                                       <Splitter/>
+                                       <VerticalStack Width="50%">
+                                               <RadioButton  Template="#Tests.Interfaces.CheckBox2.imlt" Style="RadioButton2"/>
+                                               <RadioButton  Template="#Tests.Interfaces.CheckBox2.imlt" Style="RadioButton2"/>
+                                               <RadioButton  Template="#Tests.Interfaces.CheckBox2.imlt" Style="RadioButton2"/>
+                                               <RadioButton  Template="#Tests.Interfaces.CheckBox2.imlt" Style="RadioButton2"/>
+                                       </VerticalStack>
+                               </HorizontalStack>
+                       </GroupBox>
+                       <Spinner Fit="true"/>
+               </VerticalStack>
+               <VerticalStack Width="33%" Margin="5" Spacing="5">
+                       <Expandable Background="DimGray">
+                               <Image Path="#Crow.Icons.crow.svg"/>
+                       </Expandable>
+                       <Popper Background="DimGray" PopDirection="Bottom">
+                               <Border Fit="True" Background="DimGray" CornerRadius="0" BorderWidth="1">
+                                       <Image Path="#Crow.Icons.crow.svg" Width="100" Height="100" Margin="10"
+                                               MouseEnter="{Background=LightGray}"
+                                               MouseLeave="{Background=Transparent}"/>
+                               </Border>
+                       </Popper>
+                       <Slider Height="10" Width="90%"/>
+                       <Container Height="Fit" Background="Onyx" Margin="2" CornerRadius="5">
+                               <ProgressBar Background="DimGray" Height="10" Value="50"/>
+                       </Container>
+                       <Image Path="#Crow.Icons.crow.svg" Width="60" Height="60" Background="LightGray" />
+                       <TabView Name="tabview1"
+                               Height="120" Orientation="Horizontal" Spacing="15">
+                               <TabItem Name="TabItem1" Caption="Tab 1" Margin="0">
+                                       <VerticalStack Fit="true">
+                                               <CheckBox/>
+                                               <CheckBox/>
+                                               <CheckBox/>
+                                               <CheckBox/>
+                                       </VerticalStack>
+                               </TabItem>
+                               <TabItem Name="TabItem2" Caption="Tab 2" Background="Gray">
+                                       <VerticalStack Fit="true">
+                                               <RadioButton/>
+                                               <RadioButton/>
+                                               <RadioButton/>
+                                               <RadioButton/>
+                                       </VerticalStack>
+                               </TabItem>
+                               <TabItem Name="TabItem2" Caption="Tab 3" Background="Gray">
+                                       <Container Margin="5" CornerRadius="2">
+                                               <TextBox Height="Stretched" Margin="5" Multiline="true" TextAlignment="TopLeft"/>
+                                       </Container>
+                               </TabItem>
+                       </TabView>
+                       <MessageBox Movable="false"/>
+               </VerticalStack>
+               <VerticalStack Width="33%" Margin="5">
+                       <Border Margin="5" Background="Onyx" Height="Fit">
+                               <Label Width="Stretched" Margin="1" Text="{../../dv.SelectedItem}"/>
+                       </Border>
+                       <Border Margin="5" Background="Onyx" Height="50%">
+                               <DirectoryView Name="dv" Root="./" Margin="1"/>
+                       </Border>
+                       <ListBox Data="{TestList}" Background="Onyx" Margin="5"
+                                        ItemTemplate="#Tests.Interfaces.colorItem.crow"
+                                        Template="#Crow.Templates.ScrollingListBox.goml"/>
+               </VerticalStack>
+       </HorizontalStack>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/colorItem.crow b/Samples/ShowCase/ui/Interfaces/colorItem.crow
new file mode 100755 (executable)
index 0000000..30bfe3d
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<Border Foreground="Transparent" Focusable="true" HorizontalAlignment="Left" Height="Fit" Width="200">
+       <HorizontalStack Margin="0"
+                               MouseEnter="{Background=hgradient|0:DarkRed|1:Transparent}"
+                               MouseLeave="{Background=Transparent}">
+               <Widget Height="12" Width="20" Background="{}" Margin="0" CornerRadius="3"/>
+               <Label Text="{}" Margin="0" Width="Stretched"/>
+       </HorizontalStack>
+</Border>
+
diff --git a/Samples/ShowCase/ui/Interfaces/colorItem2.crow b/Samples/ShowCase/ui/Interfaces/colorItem2.crow
new file mode 100755 (executable)
index 0000000..83239b3
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<Border Foreground="Transparent" Focusable="true" HorizontalAlignment="Left" Height="Fit">
+       <HorizontalStack Margin="0"
+                               MouseEnter="{Background=CornflowerBlue}"
+                               MouseLeave="{Background=Transparent}">
+               <Widget Height="8" Width="14" Background="{}" Margin="0" CornerRadius="2"/>
+               <Label Text="{}" Margin="0" Width="Stretched" Font="mono, 8"/>
+       </HorizontalStack>
+</Border>
+
diff --git a/Samples/ShowCase/ui/Interfaces/itemTmp.goml b/Samples/ShowCase/ui/Interfaces/itemTmp.goml
new file mode 100755 (executable)
index 0000000..fadf5e6
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<Border BorderWidth="3">
+       <Label Text="{Name}" Focusable="true" Width="Stretched" Height="Fit" Margin="0"
+                       MouseEnter="{Background=Red}"
+                       MouseLeave="{Background=Transparent}"
+       />
+</Border>
+
diff --git a/Samples/ShowCase/ui/Interfaces/log.xml b/Samples/ShowCase/ui/Interfaces/log.xml
new file mode 100755 (executable)
index 0000000..1039f7b
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Container Name="topContainer" HorizontalAlignment="Center" VerticalAlignment="Top"
+       Margin="2"
+       Width="600" Height="-1">
+       <Border Margin="2" BorderWidth="1" Background="0,6;0,6;0,6;0,6" Height="-1">
+               <Group Width="0" Name="logs">
+                       <VerticalStack Name="VerticalStack" Width="0" Focusable="False">
+                               <Label Name="line1" Width="0" Text="Line1" Margin="0"/>
+                               <Label Name="line2" Width="0" Text="Line2" Margin="0"/>
+                               <Label Name="line3" Width="0" Text="Line3" Margin="0"/>
+                               <Label Name="line4" Width="0" Text="Line4" Margin="0"/>
+                       </VerticalStack>
+                       <Button Name="btOk" Background="Gray" Fit="True"
+                               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+                               MouseClick="BtOk_MouseClick">
+                               <Label Text="Ok" Margin="3" Foreground="White" />
+                       </Button>
+               </Group>
+       </Border>
+</Container>
+
diff --git a/Samples/ShowCase/ui/Interfaces/perfMsr.crow b/Samples/ShowCase/ui/Interfaces/perfMsr.crow
new file mode 100755 (executable)
index 0000000..22a62ea
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+       <VerticalStack Spacing="1" Height="Fit" Width="Stretched">
+               <HorizontalStack Background="DarkSlateGrey">
+                       <Label Text="{Name}" Width="Stretched" Font="doid bold, 10" Margin="2"/>
+                       <Button Caption="Reset" MouseClick="onResetClick" Height="Fit"/>
+               </HorizontalStack>
+               <HorizontalStack>
+                       <Label Text="Current:" Style="FpsLabel"/>
+                       <Label Text="{current}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack>
+                       <Label Text="Minimum:" Style="FpsLabel"/>
+                       <Label Text="{minimum}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack>
+                       <Label Text="Mean:" Style="FpsLabel"/>
+                       <Label Text="{mean}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack>
+                       <Label Text="Maximum:" Style="FpsLabel"/>
+                       <Label Text="{maximum}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <Border Foreground="White" Width="Stretched" Height="60">
+                       <Trend Background="Black" NewValue="{current}" Minimum="0" Maximum="100"/>
+               </Border>
+<!--           <HorizontalStack>
+                       <Label Text="Total:" Style="FpsLabel"/>
+                       <Label Text="{total}" Style="FpsDisp"/>
+               </HorizontalStack>
+               <HorizontalStack>
+                       <Label Text="Cpt:" Style="FpsLabel"/>
+                       <Label Text="{cptMeasures}" Style="FpsDisp"/>
+               </HorizontalStack>-->
+       </VerticalStack>
+
diff --git a/Samples/ShowCase/ui/Interfaces/testMeter.goml b/Samples/ShowCase/ui/Interfaces/testMeter.goml
new file mode 100755 (executable)
index 0000000..2c840a8
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<AnalogMeter Width="Fit" Height="Fit" Background="White" Foreground="Black"  Value="{fps}" Minimum="Stretched" Maximum="100"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/testWindow.goml.sav b/Samples/ShowCase/ui/Interfaces/testWindow.goml.sav
new file mode 100755 (executable)
index 0000000..42b4b74
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--<Group>-->
+<Window Name="window1" Left="10" Top="10" Title="Test window" 
+               Width="250" Height="300" >
+       <VerticalStack Name="contentVSStack" Margin="10" Spacing="10">
+               <Slider Name="slider" Height="10" Width="0"/>
+
+               <HorizontalStack Width="0" Height="-1" Margin="10" Background="BlueCrayola">
+                       <Checkbox Height="-1" Width="80"/>
+                       <GraphicObject Width="0"/>
+                       <Checkbox Height="-1" Width="80"/>
+               </HorizontalStack>
+               <Groupbox Text="test"  Height="-1" Width="-1" Margin="5">
+                       <VerticalStack  Height="-1" Width="0" >
+                               <RadioButton  Caption="Radio 1" Background="Red" />
+                               <RadioButton  Caption="Radio 2" IsChecked="true" />
+                               <RadioButton  Caption="Radio 3" />
+                       </VerticalStack>
+               </Groupbox>
+<!--           <Checkbox Height="-1" Width="-1" Background="Red" Margin="0" VerticalAlignment="Center" HorizontalAlignment="Right"/>-->
+       </VerticalStack>
+</Window>
+<!--</Group>-->
+<!--           <Label Text="{fps}"  Background="DarkRed"/>
+               <Label Text="{fpsMin}"  />
+               <Label Text="{fpsMax}"  />-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/Interfaces/tmpDirItem.goml b/Samples/ShowCase/ui/Interfaces/tmpDirItem.goml
new file mode 100755 (executable)
index 0000000..41665d1
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+       <HorizontalStack Width="Fit" Height="Fit" Focusable="true"
+                       HorizontalAlignment="Left"
+                       MouseEnter="{Background=RoyalBlue}"
+                       MouseLeave="{Background=Transparent}">
+               <Image Width="16" Height="16" Path="#Tests.image.folder1.svg" SvgSub="{Attributes}"/>
+               <Label Text="{Name}" Width="Fit" Height="Fit" Margin="0"/>
+               <Label Text="{Attributes}" Width="Fit" Height="Fit" Margin="0"/>
+               <Label Text="{Extension}" Width="Fit" Height="Fit" Margin="0"/>
+       </HorizontalStack>
+
diff --git a/Samples/ShowCase/ui/Interfaces/tmpMembers.goml b/Samples/ShowCase/ui/Interfaces/tmpMembers.goml
new file mode 100755 (executable)
index 0000000..f48d8d6
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+       <HorizontalStack Width="Stretched" Height="Fit" Focusable="true" 
+                       MouseEnter="{Background=SkyBlue}"
+                       MouseLeave="{Background=Transparent}">
+               <Image Width="8" Height="8" Path="#Crow.Images.Icons.member.svg" SvgSub="{GetIcon}"/>
+               <Label Text="{Name}" Width="Stretched" Height="Fit" Margin="1"/>
+               <Label Text="{MemberType}" Width="Fit" Height="Fit" Margin="0"/>
+       </HorizontalStack>
+
diff --git a/Samples/ShowCase/ui/Interfaces/treeList.crow b/Samples/ShowCase/ui/Interfaces/treeList.crow
new file mode 100755 (executable)
index 0000000..ca59c17
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<VerticalStack Height="Fit" Name="List"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/0.crow b/Samples/ShowCase/ui/divers/0.crow
new file mode 100755 (executable)
index 0000000..e7cf3e2
--- /dev/null
@@ -0,0 +1,162 @@
+<?xml version="1.0"?>
+<Window Caption="Showcase" Height="90%" Width="90%">
+       <HorizontalStack >
+               <VerticalStack Width="30%" Margin="5">
+                       <GroupBox Caption="Performance" Height="Fit">
+                               <VerticalStack DataSource="{drawingMeasure}" Width="90%" Height="Fit" Spacing="2" >
+                                       <HorizontalStack Height="Fit" Tooltip="Frame per second">
+                                               <Label Text="Fps:" Style="FpsLabel"/>
+                                               <Label Text="{minimum}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit" Tooltip="Minimum Frame per second">
+                                               <Label Text="Min:" Style="FpsLabel"/>
+                                               <Label Text="{fpsMin}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit" Tooltip="Maximum Frame per second">
+                                               <Label Text="Max:" Style="FpsLabel"/>
+                                               <Label Text="{fpsMax}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit" Tooltip="Update loop duration">
+                                               <Label Text="Update:" Style="FpsLabel"/>
+                                               <Label Text="{update}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit" Tooltip="Layouting process duration">
+                                               <Label Text="Layouting:" Style="FpsLabel"/>
+                                               <Label Text="{layouting}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit" Tooltip="Clipping duration">
+                                               <Label Text="Clipping:" Style="FpsLabel"/>
+                                               <Label Text="{clipping}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                                       <HorizontalStack Height="Fit">
+                                               <Label Text="Drawing:" Style="FpsLabel"/>
+                                               <Label Text="{drawing}" Style="FpsDisp"/>
+                                       </HorizontalStack>
+                               </VerticalStack>
+                       </GroupBox>
+                       <Label Width="Stretched" Margin="3" Background="DimGrey"/>
+                       <TextBox Text="TextBox" Multiline="true" Margin="3"/>
+                       <HorizontalStack Height="Fit" Margin="5" Background="DimGrey" CornerRadius="10">
+                               <VerticalStack Spacing="5" Width="50%">
+                                       <CheckBox Fit="true" Caption="test"/>
+                                       <CheckBox Fit="true"/>
+                                       <CheckBox Fit="true"/>
+                                       <CheckBox Fit="true" IsChecked="true"/>
+                               </VerticalStack>
+                               <VerticalStack Spacing="5" Width="50%">
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true" IsChecked="true"/>
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true"/>
+                               </VerticalStack>
+                       </HorizontalStack>
+                       <HorizontalStack Height="Fit" Margin="5">
+                               <Label Text="MouseEvents" Width="50%" Margin="3" Focusable="true"
+                                       Background="Jet"
+                                       Foreground="DimGrey"
+                                       TextAlignment="Center"
+                                       MouseEnter="{Foreground=White}"
+                                       MouseLeave="{Foreground=DimGrey}"
+                                       MouseDown="{Background=DarkRed}"
+                                       MouseClick="{Foreground=Green}"
+                                       MouseDoubleClick="{Foreground=Yellow}"
+                                       MouseUp="{Background=Jet}"/>
+                               <Label Text="MouseEvents" Width="50%" Margin="3"
+                                       Background="Jet"
+                                       Foreground="DimGrey"
+                                       TextAlignment="Center"
+                                       MouseClick="{Foreground=Green}"
+                                       MouseDoubleClick="{Foreground=Yellow}"
+                                       MouseEnter="{Foreground=White}"
+                                       MouseLeave="{Foreground=DimGrey}"
+                                       MouseDown="{Background=SeaGreen}"
+                                       MouseUp="{Background=DimGrey}"/>
+                       </HorizontalStack>
+                       <GroupBox Caption="Templated controls" Height="Fit" Margin="5">
+                               <HorizontalStack Height="Fit">
+                                       <VerticalStack Width="50%">
+                                               <CheckBox IsChecked="true" Style="CheckBox2"/>
+                                               <CheckBox Style="CheckBox2"/>
+                                               <CheckBox Style="CheckBox2"/>
+                                               <CheckBox Style="CheckBox2"/>
+                                       </VerticalStack>
+                                       <Splitter/>
+                                       <VerticalStack Width="50%">
+                                               <RadioButton Style="RadioButton2"/>
+                                               <RadioButton Style="RadioButton2"/>
+                                               <RadioButton Style="RadioButton2"/>
+                                               <RadioButton Style="RadioButton2"/>
+                                       </VerticalStack>
+                               </HorizontalStack>
+                       </GroupBox>
+                       <HorizontalStack Height="Fit">
+                               <Label Text="Spinner"/>
+                               <Spinner Fit="true"/>
+                       </HorizontalStack>
+                       <HorizontalStack Height="Fit">
+                               <Button Caption="Button"/>
+                               <Button Caption="Button" IsEnabled="false"/>
+                       </HorizontalStack>
+               </VerticalStack>
+               <Splitter/>
+               <VerticalStack Width="40%" Margin="5" Spacing="5">
+                       <Expandable>
+                               <Image Path="#Crow.Icons.crow.svg"/>
+                       </Expandable>
+                       <Popper>
+                               <Border Fit="True" Background="DimGrey" CornerRadius="0" BorderWidth="1">
+                                       <Image Path="#Crow.Icons.crow.svg" Width="100" Height="100" Margin="10"
+                                               MouseEnter="{Background=LightGrey}"
+                                               MouseLeave="{Background=Transparent}"/>
+                               </Border>
+                       </Popper>
+                       <Slider Height="10" Width="90%"/>
+                       <Container Height="Fit" Width="200" Background="DimGrey" Margin="2" CornerRadius="5">
+                               <ProgressBar Background="DimGrey" Height="10" Value="50"/>
+                       </Container>
+                       <Image Path="#Crow.Icons.crow.svg" Width="60" Height="60" Background="LightGrey" />
+<!--                   <TabView Name="tabview1"
+                               Height="120" Orientation="Horizontal" Spacing="15">
+                               <TabItem Name="TabItem1" Caption="Tab 1" Margin="0">
+                                       <VerticalStack Fit="true">
+                                               <CheckBox/>
+                                               <CheckBox/>
+                                               <CheckBox/>
+                                               <CheckBox/>
+                                       </VerticalStack>
+                               </TabItem>
+                               <TabItem Name="TabItem2" Caption="Tab 2" Background="Grey">
+                                       <VerticalStack Fit="true">
+                                               <RadioButton/>
+                                               <RadioButton/>
+                                               <RadioButton/>
+                                               <RadioButton/>
+                                       </VerticalStack>
+                               </TabItem>
+                               <TabItem Name="TabItem3" Caption="Tab 3" Background="Grey">
+                                       <Container Margin="5" CornerRadius="2">
+                                               <TextBox Height="Stretched" Margin="5" Multiline="true" TextAlignment="TopLeft"/>
+                                       </Container>
+                               </TabItem>
+                       </TabView>-->
+                       <MessageBox Movable="false"/>
+                       <ColorPicker SelectedColor="{²../go.Background}" Name="colorPicker" Margin="5" Fit="True" />
+                       <Widget Name="go" Width="100" Height="60" Background="{../../colorList.SelectedItem}"/>
+                       <Label Text="{../colorPicker.SelectedColor}"/>
+               </VerticalStack>
+               <Splitter/>
+               <VerticalStack Width="30%" Margin="5">
+<!--                   <Border Margin="5" Height="Fit">
+                               <Label Width="Stretched" Margin="1" Text="{../../dv.SelectedItem}"/>
+                       </Border>
+                       <Border Margin="5" Height="30%">
+                               <DirectoryView Name="dv" CurrentDirectory="/" Margin="1"/>
+                       </Border>
+                       <Splitter/>-->
+                       <ListBox Name="colorList" Data="{TestList}" Margin="5"
+                                        ItemTemplate="Interfaces/colorItem.crow"
+                                        Template="#Crow.ScrollingListBox.template"
+                                        />
+               </VerticalStack>
+       </HorizontalStack>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/2.crow b/Samples/ShowCase/ui/divers/2.crow
new file mode 100755 (executable)
index 0000000..b4a06b6
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+       <TextBox Font="droid, 20" Text="test text box" Width="Stretched"/>
+       <HorizontalStack Margin="5" Fit="true" MouseEnter="{Background=White}" MouseLeave="{Background=Transparent}">
+               <Label Text="centered" Width="80" Height="30" Background="DarkBlue" TextAlignment="Center"/>
+               <Label Text="top left" Width="80" Height="30" Background="DarkBlue" TextAlignment="TopLeft"/>
+               <Label Text="top right" Width="80" Height="30" Background="DarkBlue" TextAlignment="TopRight"/>
+               <Label Text="right center" Width="80" Height="30" Background="DarkBlue" TextAlignment="Right"/>
+               <Label Text="bottom left" Width="80" Height="30" Background="DarkBlue" TextAlignment="BottomLeft"/>
+               <Label Text="bottom center" Width="80" Height="30" Background="DarkBlue" TextAlignment="Bottom"/>
+               <Label Text="bottom right" Width="80" Height="30" Background="DarkBlue" TextAlignment="BottomRight"/>
+       </HorizontalStack>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/3.crow b/Samples/ShowCase/ui/divers/3.crow
new file mode 100755 (executable)
index 0000000..a1f5e95
--- /dev/null
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<HorizontalStack Fit="true">   
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <ProgressBar CornerRadius="5" Background="DimGrey" Margin="1" Maximum="1000" Value="{fps}" Width="200" Height="15"/>
+               <HorizontalStack Fit="true">
+                       <Label Text="Memory:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{memory}" Font="droid,12" TextAlignment="Center"
+                               Background="vgradient|0:RoyalBlue|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Layouting:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Drawing:" Width="50" TextAlignment="Right"/>
+                       <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                       <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" 
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+               <HorizontalStack Fit="true">
+                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                       <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+                               Background="vgradient|0:SeaGreen|1:Black"/>
+               </HorizontalStack>
+       </VerticalStack>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/4.crow b/Samples/ShowCase/ui/divers/4.crow
new file mode 100755 (executable)
index 0000000..ca69662
--- /dev/null
@@ -0,0 +1,1695 @@
+<?xml version="1.0"?>
+<HorizontalStack>      
+       <VerticalStack Width="15%">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="15%">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="15%">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="15%">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="15%">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="15%">
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Memory:" Style="labPerf" />
+                       <Label Text="{memory}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Update:" Style="labPerf" />
+                       <Label Text="{update}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Layouting:" Style="labPerf" />
+                       <Label Text="{layouting}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Drawing:" Style="labPerf" />
+                       <Label Text="{drawing}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Fps:" Style="labPerf" />
+                       <Label Text="{fps}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Min:" Style="labPerf" />
+                       <Label Text="{fpsMin}" Style="labPerfVal"/>
+               </HorizontalStack>
+               <HorizontalStack Height="Fit">
+                       <Label Text="Max:" Style="labPerf" />
+                       <Label Text="{fpsMax}" Style="labPerfVal"/>
+               </HorizontalStack>
+       </VerticalStack>
+</HorizontalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/5.crow b/Samples/ShowCase/ui/divers/5.crow
new file mode 100755 (executable)
index 0000000..7e3df06
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<HorizontalStack Fit="true" Margin="5">
+       <VerticalStack Fit="true" Margin="2" Spacing="2">
+               <TextRun Text="text run test"/>
+<!--           <Label Text="label test"/>
+               <TextBox Text="text box test"/>
+               <Button Caption="test button"/>-->
+<!--           <CheckBox Caption="test checkbox"/>
+               <RadioButton Caption="test radiobutton"/>
+               <ComboBox/>
+               <Popper Caption="test popper">
+                       <Label Text="label test"/>
+               </Popper>
+               <Expandable Caption="test expandable">
+                       <Label Text="label test"/>
+               </Expandable>
+               <Border >
+                       <Label Text="border test" Margin="3"/>
+               </Border>
+               <GroupBox Caption="Group box" >
+                       <Label Text="border test" Margin="3"/>
+               </GroupBox>
+               <Container Fit="true" Background="DimGrey" Margin="3">
+                       <Widget Width="20" Height="20" Background="LightGrey"/>
+               </Container>-->
+<!--           <ProgressBar Height="10" Width="150" Background="DimGrey" Value="50" />
+               <Slider Value="5" Width="150" Height="10"/>
+               <ScrollBar Orientation="Horizontal" Maximum="100" Value="50" Height="16" Width="150"/>
+               <Spinner Value="100"/>-->
+       </VerticalStack>
+<!--   <VerticalStack Width="150" Height="Fit" Margin="2" Spacing="2">
+               <TextRun Text="text run test" Width="Stretched"/>
+               <Label Text="label test" Width="Stretched"/>
+               <TextBox Text="text box test" Width="Stretched"/>
+               <Button Caption="test button" Width="Stretched"/>
+               <CheckBox Caption="test checkbox" Width="Stretched"/>
+               <RadioButton Caption="test radiobutton" Width="Stretched"/>
+               <ComboBox Width="Stretched"/>
+               <Popper Caption="test popper" Width="Stretched">
+                       <Label Text="label test"/>
+               </Popper>
+               <Expandable Caption="test expandable" Width="Stretched">
+                       <Label Text="label test"/>
+               </Expandable>
+               <Border  Width="Stretched">
+                       <Label Text="border test" Margin="3"/>
+               </Border>
+               <GroupBox Caption="Group box"  Width="Stretched">
+                       <Label Text="border test" Margin="3"/>
+               </GroupBox>
+               <Container Height="Fit"  Width="Stretched" Background="DimGrey" Margin="3">
+                       <Widget Width="20" Height="20" Background="LightGrey"/>
+               </Container>
+               <ProgressBar Height="10" Width="Stretched" Background="DimGrey" Value="50" />
+               <Slider Value="5" Width="Stretched" Height="10"/>
+               <ScrollBar Orientation="Horizontal" Maximum="100" Value="50" Height="16" Width="Stretched"/>
+               <Spinner Value="100"  Width="Stretched"/>
+       </VerticalStack>-->
+</HorizontalStack>
+<!--<HorizontalStack Fit="true" Background="RoyalBlue" Margin="5">
+       <Widget Background="Red" Width="30" Height="20"/>
+       <Spinner Maximum="10000000000" SmallIncrement="10" Value="0"/>
+       <Widget Background="Green" Width="30" Height="20"/>
+</HorizontalStack>-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/6.crow b/Samples/ShowCase/ui/divers/6.crow
new file mode 100755 (executable)
index 0000000..f537a71
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true" Background="DimGrey" Margin="5">
+<!--   <RadioButton/>-->
+       <Label Text="a" Width="Stretched" Background="Red"/>
+       <Label Text="{fps}" HorizontalAlignment="Right" Background="LimeGreen"/>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/divers/clip0.crow b/Samples/ShowCase/ui/divers/clip0.crow
new file mode 100755 (executable)
index 0000000..0dee2ef
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<Container Fit="true" Margin="50" Background="LimeGreen" CacheEnabled="false"
+               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+               MouseEnter="{Background=Grey}"
+               MouseLeave="{Background=LimeGreen}">
+       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="false"
+               MouseEnter="{Background=DimGrey}" Width="100"
+               MouseLeave="{Background=RoyalBlue}"
+               Margin="10" Text="{drawing}" Background="RoyalBlue"/>
+ </Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/clip1.crow b/Samples/ShowCase/ui/divers/clip1.crow
new file mode 100755 (executable)
index 0000000..bc4c927
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<Container Fit="true" Margin="20" Background="SkyBlue" CacheEnabled="false"
+               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+               MouseEnter="{Background=LightGrey}"
+               MouseLeave="{Background=SkyBlue}">
+               <Container Fit="true" Margin="20" Background="Red" CacheEnabled="true"
+                       HorizontalAlignment="Right" VerticalAlignment="Bottom"
+                       MouseEnter="{Background=White}"
+                       MouseLeave="{Background=Red}">
+                       <Container Fit="true" Margin="20" Background="Yellow" CacheEnabled="false"
+                               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+                               MouseEnter="{Background=Blue}"
+                               MouseLeave="{Background=Yellow}">
+                               <Container Margin="50" Background="LimeGreen" CacheEnabled="true"
+                                               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+                                               MouseEnter="{Background=Grey}"
+                                               MouseLeave="{Background=LimeGreen}">
+                                       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+                                               MouseEnter="{Background=DimGrey}"
+                                               MouseLeave="{Background=RoyalBlue}" 
+                                               Margin="1" Text="{drawing}" Background="RoyalBlue"/>
+                               </Container>
+                       </Container>
+               </Container>
+ </Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/clip2.crow b/Samples/ShowCase/ui/divers/clip2.crow
new file mode 100755 (executable)
index 0000000..9292150
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<Group Fit="true" Margin="50" Background="Yellow" CacheEnabled="true"
+               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+               MouseEnter="{Background=DimGrey}"
+               MouseLeave="{Background=Yellow}">
+<Group Width="300" Height="200" Margin="50" Background="LimeGreen" CacheEnabled="false"
+               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+               MouseEnter="{Background=Grey}"
+               MouseLeave="{Background=LimeGreen}">
+       <Label Left="10" HorizontalAlignment="Right" VerticalAlignment="Center" CacheEnabled="true"
+               MouseEnter="{Background=DimGrey}" Width="100"
+               MouseLeave="{Background=RoyalBlue}"
+               Margin="10" Text="{drawing}" Background="RoyalBlue"/>
+ </Group>
+ </Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/clip3.crow b/Samples/ShowCase/ui/divers/clip3.crow
new file mode 100755 (executable)
index 0000000..82a9888
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<Group Fit="true" Margin="50" Background="Yellow" CacheEnabled="true"
+               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+               MouseEnter="{Background=DimGrey}"
+               MouseLeave="{Background=Yellow}">
+       <HorizontalStack Fit="true">
+               <VerticalStack Fit="true" Margin="50" Background="LimeGreen" CacheEnabled="false"
+                               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+                               MouseEnter="{Background=Grey}"
+                               MouseLeave="{Background=LimeGreen}">
+                       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+                               MouseEnter="{Background=DimGrey}" Width="100"
+                               MouseLeave="{Background=RoyalBlue}"
+                               Margin="10" Text="{fps}" Background="RoyalBlue"/>
+                       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+                               MouseEnter="{Background=DimGrey}" Width="100"
+                               MouseLeave="{Background=RoyalBlue}"
+                               Margin="10" Text="{drawing}" Background="RoyalBlue"/>
+                </VerticalStack>
+               <VerticalStack Fit="true" Margin="50" Background="LimeGreen" CacheEnabled="false"
+                               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+                               MouseEnter="{Background=Grey}"
+                               MouseLeave="{Background=LimeGreen}">
+                       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+                               MouseEnter="{Background=DimGrey}" Width="100"
+                               MouseLeave="{Background=RoyalBlue}"
+                               Margin="10" Text="{fpsMax}" Background="RoyalBlue"/>
+                       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+                               MouseEnter="{Background=DimGrey}" Width="100"
+                               MouseLeave="{Background=RoyalBlue}"
+                               Margin="10" Text="{fpsMin}" Background="RoyalBlue"/>
+                </VerticalStack>
+       </HorizontalStack>
+ </Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/clip4.crow b/Samples/ShowCase/ui/divers/clip4.crow
new file mode 100755 (executable)
index 0000000..5caaf77
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<Border Fit="true" BorderWidth="2"  >
+<Scroller CornerRadius="2" Height="200" Width="300" Background="DimGrey" Margin="2">
+       <VerticalStack Margin="10" VerticalAlignment="Top" Fit="true" Background="vgradient|0:RoyalBlue|1:Black" >
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 1"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 2"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 3"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 4"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 5"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 6"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 7"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 8"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 9"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 10"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 11"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 12"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 13"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 14"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 15"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 16"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 17"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 18"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 19"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 20"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 21"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 22"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 23"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 24"/>
+                <Label MouseEnter="{Background=Grey}" MouseLeave="{Background=hgradient|0:DarkRed|1:Transparent}" Margin="5" Background="hgradient|0:DarkRed|1:Transparent" Font="droid,20" Text="label 25"/>
+       </VerticalStack>
+</Scroller>
+</Border>
+<!--<VerticalStack Fit="true" Margin="50" Background="LimeGreen" CacheEnabled="false"
+               HorizontalAlignment="Right" VerticalAlignment="Bottom"
+               MouseEnter="{Background=Grey}"
+               MouseLeave="{Background=LimeGreen}">
+
+               <CheckBox Margin="20" Background="RoyalBlue"/>
+               <CheckBox/>
+               <CheckBox/>
+               <CheckBox/>
+               <CheckBox/>
+               <RadioButton/>
+               <RadioButton/>
+               <RadioButton/>
+               <RadioButton/>
+               <RadioButton/>
+               <CheckBox/>
+
+       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+               MouseEnter="{Background=DimGrey}" Width="100"
+               MouseLeave="{Background=RoyalBlue}"
+               Margin="10" Text="{fps}" Background="RoyalBlue"/>
+       <Label HorizontalAlignment="Center" VerticalAlignment="Center" CacheEnabled="true"
+               MouseEnter="{Background=DimGrey}" Width="100"
+               MouseLeave="{Background=RoyalBlue}"
+               Margin="10" Text="{drawing}" Background="RoyalBlue"/>
+ </VerticalStack>-->
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/colorPicker.crow b/Samples/ShowCase/ui/divers/colorPicker.crow
new file mode 100755 (executable)
index 0000000..afdef14
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<VerticalStack>
+       <ColorPicker SelectedColor="{²../go.Background}" Name="colorPicker" Background="DimGrey" Margin="5" Fit="True" />
+       <Widget Name="go" Width="100" Height="60" Background="DarkBlue"/>
+       <Widget Name="go" Width="100" Height="60" Background="{../colorPicker.SelectedColor}"/>
+       <Label Text="{../colorPicker.SelectedColor}"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/fps.crow b/Samples/ShowCase/ui/divers/fps.crow
new file mode 100755 (executable)
index 0000000..1d515a1
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<Border Fit="true" CornerRadius="5" BorderWidth="1">
+       <Container Name="MainGrp" Background="0.5,0.5,0.5,0.4" Width="120" Fit="true"
+               Margin="10" Focusable="True" >
+                       <VerticalStack Fit="true" Name="vsFps"  Spacing="10" >
+                               <HorizontalStack Fit="true">
+                                       <Label Text="Update:" Width="50" TextAlignment="Right"/>
+                                       <Label Margin="5" Name="labUpdate" Text="{update}" Font="droid,12" Background="SeaGreen" Width="50" TextAlignment="Center"/>
+                               </HorizontalStack>
+                               <HorizontalStack Fit="true">
+                                       <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
+                                       <Label Margin="5" Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center" Background="SeaGreen"/>
+                               </HorizontalStack>
+                               <HorizontalStack Fit="true">
+                                       <Label Text="Min:" Width="50" TextAlignment="Right"/>
+                                       <Label Margin="5" Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center" Background="SeaGreen"/>
+                               </HorizontalStack>
+                               <HorizontalStack Fit="true">
+                                       <Label Text="Max:" Width="50" TextAlignment="Right"/>
+                                       <Label Margin="5" Text="{fpsMax}" Font="droid , 12" Background="SeaGreen" Width="50" TextAlignment="Center"/>
+                               </HorizontalStack>
+                       </VerticalStack>
+       </Container>
+</Border>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/perfMeasures.crow b/Samples/ShowCase/ui/divers/perfMeasures.crow
new file mode 100755 (executable)
index 0000000..d2d5138
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<Window Focusable="true" Caption="Measures" Width="30%" Height="300" MinimumSize="100,100">
+       <ListBox Data="{PerfMeasures}"
+               ItemTemplate="#ui.perfMsr.crow"/>
+</Window>
diff --git a/Samples/ShowCase/ui/divers/test1.1.crow b/Samples/ShowCase/ui/divers/test1.1.crow
new file mode 100755 (executable)
index 0000000..e6f8e2a
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<Group Name="TopGroup" Width="500" Height="400" Margin="5"
+       Focusable="True" Background="Yellow">
+       <Group Name="InnerGroup" Width="Fit" Height="Fit" Margin="50" 
+               VerticalAlignment="Top" HorizontalAlignment="Left"
+               Focusable="True" Background="Green">
+               <Image VerticalAlignment="Bottom"                       
+                       Name="PhaseOverlay1" Width="100" Height="100" Path="image/u.svg" Background="Red"/>
+               <Image Top="100"                
+                       Name="PhaseOverlay2" Width="100" Height="100" Path="image/u.svg" Background="Red"/>
+       </Group>
+       <Image VerticalAlignment="Center" HorizontalAlignment="Right"
+               Name="PhaseOverlay0" Width="100" Height="100" Path="image/u.svg" Background="Red"/>
+
+</Group>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/test1.2.crow b/Samples/ShowCase/ui/divers/test1.2.crow
new file mode 100755 (executable)
index 0000000..00fb7d2
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<Container Background="Green" Height="400" Width="400">
+<VerticalStack Margin="10" Background="DarkBlue" Height="Fit" Width="Stretched">
+       <Label Text="label11" Width="Stretched"/>
+       <Label Text="label21"/>
+       <HorizontalStack Width="Fit" Height="Fit" Margin="5"
+               Focusable="True" Background="Blue">
+               <Label Text="label12"/>
+               <Label Text="label22"/>
+               <Label Text="label32"/>
+               <Label Text="label42"/>
+               <Label Text="label52"/>
+       </HorizontalStack>
+       <Label Text="label33" Background="Green" Width="Stretched"/>
+       <Button/>
+       <Label Text="label43"/>
+       <Label Text="label53"/>
+
+</VerticalStack>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/test1.crow b/Samples/ShowCase/ui/divers/test1.crow
new file mode 100755 (executable)
index 0000000..74da472
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<Container Name="TopContainer" Width="400" Height="350"
+       Margin="20" Focusable="True" Background="Yellow">
+       <Container Name="MiddleContainer" Width="50%" Height="Stretched"
+               Margin="20" Focusable="True" Background="Green">
+                       <Image VerticalAlignment="Bottom"                       
+                               Name="PhaseOverlay" Width="100" Height="100" Path="image/u.svg" Background="Red"/>
+       </Container>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/test2WayBinding.crow b/Samples/ShowCase/ui/divers/test2WayBinding.crow
new file mode 100755 (executable)
index 0000000..cf76f72
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+       <CheckBox IsChecked="{²BoolVal}"/>
+       <CheckBox Caption="second" IsChecked="{²BoolVal}"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testBind0.crow b/Samples/ShowCase/ui/divers/testBind0.crow
new file mode 100755 (executable)
index 0000000..d8991c7
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+       <TextBox Text="{Datas}" Width="100" />
+       <Button Text="Set Text to Null" MouseClick="onSetDataToNull"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testCtxMenu.crow b/Samples/ShowCase/ui/divers/testCtxMenu.crow
new file mode 100755 (executable)
index 0000000..5fd6072
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<Widget Margin="10" Width="50%" Height="50%" Focusable="true"
+               Background="hgradient|0:Red|0.25:Blue|0.5:Green|0.75:Yellow|1:Red"
+               MinimumSize="50,50" ContextCommands="{Commands}"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testDisable.crow b/Samples/ShowCase/ui/divers/testDisable.crow
new file mode 100644 (file)
index 0000000..68d1ceb
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true" VerticalAlignment="Top" Background="0.7,0.7,0.7,0.5"
+       Margin="10" CornerRadius="10" ClipToClientRect="false">
+       <Label Font="20" Text="Enable / Disable test"/>
+       <Label Text="{fps}" IsEnabled="false" Font="30"/>
+       <Label Text="{fps}" IsEnabled="true" Font="30"/>
+               <Label Text="{fps}" IsEnabled="false" Font="30" Background="SeaGreen"/>
+       <Label Text="{fps}" IsEnabled="true" Font="30" Background="SeaGreen"/>
+       <Button Caption="Button" IsEnabled="true" Background="Grey"/>
+       <Button Caption="Button" IsEnabled="false" Background="Grey"/>
+       <Button Caption="Button" IsEnabled="true" />
+       <Button Caption="Button" IsEnabled="false" />
+       <Spinner Fit="true"/>
+       <Spinner IsEnabled="false" Fit="true"/>
+       <CheckBox/>
+       <CheckBox IsEnabled="false"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testFileDialog.crow b/Samples/ShowCase/ui/divers/testFileDialog.crow
new file mode 100644 (file)
index 0000000..868baf6
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<FileDialog Caption="Open File" CurrentDirectory="/" SearchPattern="*.*"/>
+
diff --git a/Samples/ShowCase/ui/divers/testFocus.crow b/Samples/ShowCase/ui/divers/testFocus.crow
new file mode 100755 (executable)
index 0000000..1f26263
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<VerticalStack>
+       <Menu>
+               <MenuItem Caption="File" Width="Fit">
+                       <MenuItem Command="{CMDTest}"/>
+                       <MenuItem Caption="Open"/>
+                       <MenuItem Caption="Save"/>
+                       <MenuItem Caption="Quit"/>
+               </MenuItem>
+               <MenuItem Caption="Edit" Name="edit" Width="Fit">
+                       <MenuItem Caption="Cut"/>
+                       <MenuItem Caption="Copy"/>
+                       <MenuItem Caption="Paste"/>
+                       <MenuItem Caption="Special" Name="special" Width="Fit">
+                               <MenuItem Caption="Cut"/>
+                               <MenuItem Caption="Copy"/>
+                               <MenuItem Caption="Paste"/>
+                       </MenuItem>
+                       <MenuItem Caption="Special2" Name="special" Width="Fit">
+                               <MenuItem Caption="Cut"/>
+                               <MenuItem Caption="Copy"/>
+                               <MenuItem Caption="Paste"/>
+                       </MenuItem>
+               </MenuItem>
+               <MenuItem Caption="Help" Width="Fit">
+                       <MenuItem Caption="About"/>
+                       <MenuItem Caption="Help"/>
+               </MenuItem>
+       </Menu>
+       <HorizontalStack Height="Fit">
+               <Label Text="Hover:" Width="50" Foreground="Grey"/>
+               <Label Text="{HoverWidget}"/>
+       </HorizontalStack>
+       <HorizontalStack Height="Fit">
+               <Label Text="Focus:" Width="50" Foreground="Grey"/>
+               <Label Text="{FocusedWidget}"/>
+       </HorizontalStack>
+       <HorizontalStack Height="Fit">
+               <Label Text="Active:" Width="50" Foreground="Grey"/>
+               <Label Text="{ActiveWidget}"/>
+       </HorizontalStack>
+       <Container Fit="true" Margin="50" Background="SlateGrey">
+               <Label Text="MouseEvents" Margin="3" Focusable="true" Fit="true"
+                       Background="Jet"
+                       Foreground="DimGrey"
+                       TextAlignment="Center"
+                       MouseEnter="{Foreground=White}"
+                       MouseLeave="{Foreground=DimGrey}"
+                       MouseDown="{Background=DarkRed}"
+                       MouseClick="{Foreground=Green}"
+                       MouseDoubleClick="{Foreground=Yellow}"
+                       MouseUp="{Background=Jet}"/>
+       </Container>
+       <TextBox Width="300" Margin="10"/>
+       <Slider Width="300" Height="12"/>
+       <ComboBox Data="{TestList}" Width="120">
+               <ItemTemplate DataType="Crow.Color">
+                       <HorizontalStack
+                                               HorizontalAlignment="Left"
+                                               Height="Fit" Width="200" Margin="1" Focusable="true"
+                                               MouseEnter="{Background=hgradient|0:DarkRed|1:Transparent}"
+                                               MouseLeave="{Background=Transparent}">
+                               <Widget Height="12" Width="20" Background="{}" Margin="0" CornerRadius="3"/>
+                               <Label Text="{}" Margin="0" Width="Stretched"/>
+                       </HorizontalStack>
+               </ItemTemplate>
+       </ComboBox>
+       <HorizontalStack Height="Fit" Margin="1" Background="DimGrey" Width="200">
+                               <VerticalStack Spacing="2" Width="50%">
+                                       <CheckBox Caption="test" MouseEnter="{Background=Blue}" MouseLeave="{Background=Transparent}"/>
+                                       <CheckBox />
+                                       <CheckBox />
+                                       <CheckBox IsChecked="true"/>
+                               </VerticalStack>
+                               <VerticalStack Spacing="2" Width="50%">
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true" IsChecked="true"/>
+                                       <RadioButton Fit="true"/>
+                                       <RadioButton Fit="true"/>
+                               </VerticalStack>
+                       </HorizontalStack>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/divers/testIMLContainer.crow b/Samples/ShowCase/ui/divers/testIMLContainer.crow
new file mode 100644 (file)
index 0000000..2ba5f2c
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<IMLContainer Path="Interfaces/Divers/colorPicker.crow"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testImage.crow b/Samples/ShowCase/ui/divers/testImage.crow
new file mode 100755 (executable)
index 0000000..ccdd87c
--- /dev/null
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+       <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Label Text="SCALED PROPORTIONNAL" Width="150"/>
+               <Image Width="10%" Height="Fit" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg"/>
+               <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
+               <Image Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+               <Image Margin="2" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+               <Image Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+               <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+               <Image Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+               <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+               <Image Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+               <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+       </HorizontalStack>
+       <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Label Text="SCALED NOT PROPORTIONNAL" Width="150"/>
+               <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Margin="2" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+               <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+       </HorizontalStack>
+       <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Label Text="UNSCALED" Width="150"/>
+               <Image Scaled="false" Background="Blue" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Margin="10" Background="Blue" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Background="Blue" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Background="Blue" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Background="Blue" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Background="Blue" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+               <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+       </HorizontalStack>
+       <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Label Text="SCALED PROPORTIONNAL" Width="150"/>
+               <Image Background="Blue" Path="#Crow.Icons.tetra.png"/>
+               <Image Margin="10" Background="Blue" Path="#Crow.Icons.tetra.png"/>
+               <Image Background="Blue" Width="20" Height="20" Path="#Crow.Icons.tetra.png"/>
+               <Image Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Icons.tetra.png"/>
+               <Image Background="Blue" Width="50" Height="100" Path="#Crow.Icons.tetra.png"/>
+               <Image Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Background="Blue" Width="100" Height="50" Path="#Crow.Icons.tetra.png"/>
+               <Image Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Icons.tetra.png"/>
+               <Image Background="Blue" Width="50" Height="Fit" Path="#Crow.Icons.tetra.png"/>
+               <Image Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Icons.tetra.png"/>
+       </HorizontalStack>
+       <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Label Text="SCALED NOT PROPORTIONNAL" Width="150"/>
+               <Image KeepProportions="false" Background="Blue" Path="#Crow.Icons.tetra.png"/>
+               <Image KeepProportions="false" Margin="10" Background="Blue" Path="#Crow.Icons.tetra.png"/>
+               <Image KeepProportions="false" Background="Blue" Width="20" Height="20" Path="#Crow.Icons.tetra.png"/>
+               <Image KeepProportions="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Icons.tetra.png"/>
+               <Image KeepProportions="false" Background="Blue" Width="50" Height="100" Path="#Crow.Icons.tetra.png"/>
+               <Image KeepProportions="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image KeepProportions="false" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image KeepProportions="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image KeepProportions="false" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image KeepProportions="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+       </HorizontalStack>
+       <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Label Text="UNSCALED" Width="150"/>
+               <Image Scaled="false" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+               <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+       </HorizontalStack>
+       <HorizontalStack Width="Fit" Height="100" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+               <Image Background="Blue" Path="#Tests.image.crow0.svg" />
+               <Image Margin="10" Background="White" Path="#Tests.image.crow0.svg" />
+               <Image Background="White" Width="20" Height="10" Path="#Tests.image.crow0.svg" />
+               <Image Margin="1" Background="White" Width="20" Height="10" Path="#Tests.image.crow0.svg" />
+       </HorizontalStack>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testMenu.crow b/Samples/ShowCase/ui/divers/testMenu.crow
new file mode 100755 (executable)
index 0000000..0882244
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<Menu>
+       <MenuItem Caption="File" Width="Fit">
+               <MenuItem Command="{CMDTest}"/>
+       </MenuItem>
+</Menu>
diff --git a/Samples/ShowCase/ui/divers/testOutOfClipUpdate.crow b/Samples/ShowCase/ui/divers/testOutOfClipUpdate.crow
new file mode 100755 (executable)
index 0000000..22523b8
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<Container Width="200" Height="100" Background="DimGrey" Margin="5">
+       <Container Width="Stretched" Height="800" Background="DarkBlue">
+               <Label Text="{fps}" Background="RoyalBlue" VerticalAlignment="Center"/>
+       </Container>
+</Container>
diff --git a/Samples/ShowCase/ui/divers/testPropLess.crow b/Samples/ShowCase/ui/divers/testPropLess.crow
new file mode 100755 (executable)
index 0000000..42282c1
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<Label Margin="50" MinimumSize="10,10" Background="DimGrey" Text="{PropertyLessBinding}"/>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testShape.crow b/Samples/ShowCase/ui/divers/testShape.crow
new file mode 100644 (file)
index 0000000..d1f9f3c
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<Container Fit="true" Background="Red" Tooltip="test tooltip" >
+       <Shape Foreground="Transparent" Background="DimGrey" Path="M 5.5,0.5 L 10.5,10.5 L 0.5,10.5 Z"
+               MouseEnter="{Background=hgradient|0:DimGrey|0.5:RoyalBlue|1:Black}"
+               MouseLeave="{Background=DimGrey}"/>
+</Container>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testStacks.crow b/Samples/ShowCase/ui/divers/testStacks.crow
new file mode 100755 (executable)
index 0000000..99279cd
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<Window Width="500" Height="300" MinimumSize="50,50">
+<HorizontalStack Margin="5" Background="DimGrey">
+       <VerticalStack Width="200" Margin="5" Background="Grey">
+               <VerticalStack Fit="true" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </VerticalStack>
+               <VerticalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue" Width="Stretched"/>
+                       <TextRun Background="SkyBlue" Height="Stretched"/>
+               </VerticalStack>
+               <HorizontalStack Fit="true" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+               <HorizontalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+                       <HorizontalStack Width="Stretched" Height="Stretched" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue" Width="Stretched"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="Stretched" Height="Stretched" Margin="5" Background="Grey">
+               <VerticalStack Fit="true" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </VerticalStack>
+               <VerticalStack Width="Stretched" Height="Stretched" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue" Width="Stretched"/>
+                       <TextRun TextAlignment="Center" Background="SkyBlue" Width="Stretched" Height="Stretched"/>
+               </VerticalStack>
+               <HorizontalStack Fit="true" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+               <HorizontalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+                       <HorizontalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue" Width="Stretched"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+       </VerticalStack>
+       <VerticalStack Width="Fit" Margin="5" Background="Grey">
+               <VerticalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue" HorizontalAlignment="Left"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </VerticalStack>
+               <VerticalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue" Width="Stretched"/>
+                       <TextRun Background="SkyBlue" Height="Stretched"/>
+               </VerticalStack>
+               <HorizontalStack Fit="true" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+               <HorizontalStack Width="Stretched" Height="Fit" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+                       <HorizontalStack Width="Stretched" Height="Stretched" Background="DimGrey" Margin="5">
+                       <TextRun Background="SkyBlue"/>
+                       <TextRun Background="SkyBlue" Width="Stretched"/>
+                       <TextRun Background="SkyBlue"/>
+               </HorizontalStack>
+       </VerticalStack>
+</HorizontalStack>
+</Window>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testTextBox.crow b/Samples/ShowCase/ui/divers/testTextBox.crow
new file mode 100755 (executable)
index 0000000..d0fe0af
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<VerticalStack Background="SteelBlue" Fit="true">
+       <HorizontalStack Fit="true">
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="TopLeft"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="Top"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="TopRight"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="Left"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="Center"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="Right"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="BottomLeft"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="Bottom"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" TextAlignment="BottomRight"/>
+       </HorizontalStack>
+       <HorizontalStack Fit="true">
+               <TextBox Background="DarkGrey" Height="30" Width="70" TextAlignment="Top" HorizontalStretch="true" Text="TopStretch"/>
+               <TextBox Background="DarkGrey" Height="30" Width="60" TextAlignment="Center" HorizontalStretch="true" Text="HorizontalStretch" />
+               <TextBox Background="DarkGrey" Height="30" Width="60" TextAlignment="Bottom" HorizontalStretch="true" Text="BottomStretch"/>
+               <TextBox Background="DarkGrey" Height="10" Width="70" TextAlignment="Left" VerticalStretch="true" Text="LeftStretch"/>
+               <TextBox Background="DarkGrey" Height="10" Width="70" TextAlignment="Center" VerticalStretch="true" Text="VerticalStretch"/>
+               <TextBox Background="DarkGrey" Height="10" Width="70" TextAlignment="Right" VerticalStretch="true" Text="RightStretch"/>
+               <TextBox Background="DarkGrey" Height="30" Width="50" HorizontalStretch="true" VerticalStretch="true" Text="Fit"/>
+       </HorizontalStack>      
+       <TextBox Name="tb" Multiline="true" Font="droid,16" Margin="5" Text="A\nBB\nCCC\nDDDD"/>
+       <TextBox Multiline="true" Font="droid,16" Name="tb5" Margin="5" Text="{../tb.SelectedText}"/>
+<!--   <TextBox Font="droid,10" Name="tb1" Margin="5" Text="this is a test of a text box"/>
+       <TextBox Width="300" Height="35" Text="this is a test of a text box"/>-->
+       <TextBox Font="droid,10" Name="tb2" Margin="0" Text="this is a test of a text box"/>
+       <TextBox Font="droid,10" Name="tb3" Margin="5" Text="this is a test of a text box"/>
+       <TextBox Font="droid,10" Name="tb4" Margin="5" Text="this is a test of a text box"/>
+       <TextBox Font="droid,10" Name="tb5" Margin="20" Text="this is a test of a text box"/>
+       <TextBox Multiline="true" Font="droid,10" Name="tb6" Margin="5" Text="this is a test of a text box\nthis is a test of a text box"/>
+       <TextBox Multiline="true" Font="droid,10" Name="tb7" Margin="1" TextAlignment="Center"
+               Text="this is a test of a text box\nthis is a test\nthis is a test when line are centered"/>
+       <TextBox Multiline="true" Font="droid,10" Name="tb8" Margin="1" TextAlignment="Center"
+               Text="this is a test of a text box\n\n\nthis is a test\nthis is a test when line are centered"/>
+</VerticalStack>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/divers/testVisibility.crow b/Samples/ShowCase/ui/divers/testVisibility.crow
new file mode 100755 (executable)
index 0000000..9f9464c
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<Container Margin="20" Background="Red" >
+       <Container Margin="20" Background="Green" MouseDown="{../go1.Visible=True}" >
+               <Widget Name="go1" Margin="20" Background="DimGrey" Visible="false" MouseDown="{Visible=false}"
+                       MouseEnter="{Background=Blue}"
+                       MouseLeave="{Background=DimGrey}"/>
+       </Container>
+</Container>
diff --git a/Samples/ShowCase/ui/divers/test_stack.crow b/Samples/ShowCase/ui/divers/test_stack.crow
new file mode 100755 (executable)
index 0000000..044fd7f
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<VerticalStack Background="DarkBlue" Height="300" Width="200">
+<!--   <Label Text="label11" Width="Stretched" Background="Green"/>
+       <Label Text="label21"/>-->
+       <HorizontalStack Width="Fit" Height="Fit" Margin="5"
+               Focusable="True" Background="Blue">
+
+               <Label Text="label12"/>
+               <VerticalStack Background="Red" Fit="true">
+                       <Label Text="label99"/>
+                       <Label Text="label999"/>
+               </VerticalStack>
+               <Label Text="label22"/>
+<!--           <Label Text="label32"/>
+               <Label Text="label42"/>
+               <Label Text="label52"/>-->
+       </HorizontalStack>
+<!--   <Label Text="label33" Background="Green" Width="Stretched"/>-->
+<!--   <Label Text="label43"/>-->
+<!--   <Border Margin="10">
+               <Label Text="label53" Background="Red" Height="Stretched" CornerRadius="10"/>
+       </Border>-->
+       <Label Text="label43"/>
+       <Label Text="label43"/>
+</VerticalStack>
diff --git a/Samples/ShowCase/ui/divers/welcome.crow b/Samples/ShowCase/ui/divers/welcome.crow
new file mode 100644 (file)
index 0000000..fa6da1e
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<Border BorderStyle="Sunken" Fit="true" Background="0.7,0.7,0.7,0.5" CornerRadius="10">
+       <VerticalStack Margin="20">
+               <Image Path="#Crow.Icons.crow.svg"/>
+<!--           <Label Font="Times bold, 60" Text="C.R.O.W"/>-->
+               <HorizontalStack Fit="true" DataSource="{CrowVersion}" Spacing="0">
+                       <Label Foreground="Black" Font="mono, 12" Text="version: "/>            
+                       <Label Foreground="Black" Font="mono, 12" Text="{Major}"/>              
+                       <Label Foreground="Black" Font="mono, 12" Text="."/>
+                       <Label Foreground="Black" Font="mono, 12" Text="{Minor}"/>
+                       <Label Foreground="Black" Font="mono, 12" Text="."/>
+                       <Label Foreground="DimGrey" Font="mono, 12" Text="{Build}"/>
+               </HorizontalStack>
+               <Widget Height="30"/>
+               <Label Font="20" Text="Press &lt;F2&gt; and &lt;F3&gt; to cycle into the examples"/>
+               <Label Font="20" Text="Those are basic tests used to validate changes,"/>
+               <Widget Height="30"/>
+               <Label Foreground="DimGrey" Font="20" Text="&lt;F5&gt; => File dialog example"/>
+               <Label Foreground="DimGrey" Font="20" Text="&lt;F6&gt; => Window example"/>
+       </VerticalStack>
+</Border>
\ No newline at end of file
diff --git a/Samples/ShowCase/ui/helloworld.crow b/Samples/ShowCase/ui/helloworld.crow
new file mode 100644 (file)
index 0000000..1d1a351
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<Window Caption="Hello World" Icon="#Crow.Icons.crow.svg" Width="40%" Height="40%" CornerRadius="5">
+    <VerticalStack>
+        <Label Text="Hello World" Font="mono, 20"/>
+        <Image Path="#Crow.Icons.crow.svg"/>
+    </VerticalStack>
+</Window>
+
diff --git a/Samples/ShowCase/ui/showcase.crow b/Samples/ShowCase/ui/showcase.crow
new file mode 100755 (executable)
index 0000000..f14e965
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<HorizontalStack Background="Jet" Margin="5">
+       <DirectoryView Name="dv" CurrentDirectory="Interfaces" Width="25%" SelectedItemChanged="Dv_SelectedItemChanged"/>
+       <Splitter Width="6"/>
+       <VerticalStack>
+               <Container Name="CrowContainer" Height="60%" Background="DimGrey"/>
+               <Splitter/>
+               <HorizontalStack>
+                       <Scroller Name="scroller1" Background="White"
+                                       Margin="2" ScrollY="{../scrollbar1.Value}"
+                                       ValueChanged="./_scroller_ValueChanged">
+                               <TextBox VerticalAlignment="Top" TextChanged="Tb_TextChanged"
+                                       Text="{source}" Multiline="true" TextAlignment="TopLeft"
+                                       Font="Courriernew 10"/>
+                       </Scroller>
+                       <ScrollBar Name="scrollbar1" Value="{../scroller1.ScrollY}"
+                               LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
+                               CursorSize="{../scroller1.ChildHeightRatio}"
+                               Maximum="{../scroller1.MaxScrollY}" Orientation="Vertical"
+                               Width="14" />
+               </HorizontalStack>
+               <Label Visible="{ShowError}" Text="{ErrorMessage}" Background="Red" Foreground="White" Width="Stretched" Margin="2"
+                       Multiline="true"/>
+       </VerticalStack>
+</HorizontalStack>
diff --git a/Samples/main.cs b/Samples/main.cs
new file mode 100644 (file)
index 0000000..46a8903
--- /dev/null
@@ -0,0 +1,564 @@
+using System;
+using System.Numerics;
+using System.Runtime.InteropServices;
+using Glfw;
+using VK;
+using CVKL;
+using System.Threading;
+
+namespace pbrSachaWillem {
+       class Program : VkWindow, Crow.IValueChange {
+               static void Main (string[] args) {
+                       using (Program vke = new Program ()) {
+                               vke.Run ();
+                       }
+               }
+               bool isRunning;
+
+               protected override void render () {
+                       int idx = swapChain.GetNextImage ();
+
+                       lock (crow.RenderMutex) {
+                               if (idx < 0) {
+                                       OnResize ();
+                                       return;
+                               }
+
+                               presentQueue.Submit (cmds[idx], swapChain.presentComplete, drawComplete[idx]);
+                               presentQueue.Present (swapChain, drawComplete[idx]);
+                               presentQueue.WaitIdle ();
+                       }
+               }
+
+               #region crow
+
+               void crow_thread_func () {
+                       vkvgDev = new vkvg.Device (instance.Handle, phy.Handle, dev.VkDev.Handle, presentQueue.qFamIndex,
+                               vkvg.SampleCount.Sample_4, presentQueue.index);
+
+                       crow = new Crow.Interface (vkvgDev, 800, 600);
+
+                       isRunning = true;
+                       //int frameCount = 0;
+
+                       while (isRunning) {
+                               crow.Update ();
+
+                               /*if (frameCount++ > 100) {
+                                       for (int i = 0; i < crow.PerfMeasures.Count; i++) 
+                                               crow.PerfMeasures[i].NotifyChanges ();
+                                       frameCount = 0;
+                               }*/
+
+                               Thread.Sleep (2);
+                       }
+                       dev.WaitIdle ();
+                       crow.Dispose ();
+                       vkvgDev.Dispose ();
+               }
+
+               #region IValueChange implementation
+               public event EventHandler<Crow.ValueChangeEventArgs> ValueChanged;
+               public virtual void NotifyValueChanged(string MemberName, object _value)
+               {
+                       if (ValueChanged != null)
+                               ValueChanged.Invoke(this, new Crow.ValueChangeEventArgs(MemberName, _value));
+               }
+               #endregion
+
+               public float Gamma {
+                       get { return pbrPipeline.matrices.gamma; }
+                       set {
+                               if (value == pbrPipeline.matrices.gamma)
+                                       return;
+                               pbrPipeline.matrices.gamma = value;
+                               NotifyValueChanged ("Gamma", value);
+                               updateViewRequested = true;
+                       }
+               }
+               public float Exposure {
+                       get { return pbrPipeline.matrices.exposure; }
+                       set {
+                               if (value == pbrPipeline.matrices.exposure)
+                                       return;
+                               pbrPipeline.matrices.exposure = value;
+                               NotifyValueChanged ("Exposure", value);
+                               updateViewRequested = true;
+                       }
+               }
+               Crow.Interface crow;
+               #endregion
+
+               protected override void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures features) {
+                       base.configureEnabledFeatures (available_features, ref features);
+#if PIPELINE_STATS
+                       features.pipelineStatisticsQuery = true;
+#endif
+                       features.samplerAnisotropy = true;
+               }
+
+               VkSampleCountFlags samples = VkSampleCountFlags.SampleCount4;
+
+               Framebuffer[] frameBuffers;
+               PBRPipeline pbrPipeline;
+
+               enum DebugView {
+                       none,
+                       color,
+                       normal,
+                       occlusion,
+                       emissive,
+                       metallic,
+                       roughness
+               }
+
+               DebugView currentDebugView = DebugView.none;
+
+#if PIPELINE_STATS
+               PipelineStatisticsQueryPool statPool;
+               TimestampQueryPool timestampQPool;
+               ulong[] results;
+#endif
+
+
+               bool queryUpdatePrefilCube, showDebugImg, showUI = true;
+
+
+               Image uiImage;
+
+               #region ui
+               //DescriptorSet dsDebugImg;
+               //void initDebugImg () {
+               //      dsDebugImg = descriptorPool.Allocate (descLayoutMain);
+               //      pbrPipeline.envCube.debugImg.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
+               //      DescriptorSetWrites uboUpdate = new DescriptorSetWrites (dsDebugImg, descLayoutMain);
+               //      uboUpdate.Write (dev, pbrPipeline.envCube.debugImg.Descriptor);
+               //}
+
+               vkvg.Device vkvgDev;
+
+               Pipeline uiPipeline;
+
+               void initUIPipeline () {
+                       GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, samples, false);
+                       cfg.RenderPass = pbrPipeline.RenderPass;
+                       cfg.Layout = pbrPipeline.Layout;
+                       cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv");
+                       cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv");
+                       cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true);
+
+                       uiPipeline = new GraphicPipeline (cfg);
+
+               }
+               void initUISurface () {
+                       lock (crow.UpdateMutex) {
+                               uiImage?.Dispose ();
+                               uiImage = new CVKL.Image (dev, new VkImage ((ulong)crow.surf.VkImage.ToInt64 ()), VkFormat.B8g8r8a8Unorm,
+                                       VkImageUsageFlags.Sampled, swapChain.Width, swapChain.Height);
+                               uiImage.SetName ("uiImage");
+                               uiImage.CreateView (VkImageViewType.ImageView2D, VkImageAspectFlags.Color);
+                               uiImage.CreateSampler (VkFilter.Nearest, VkFilter.Nearest, VkSamplerMipmapMode.Nearest, VkSamplerAddressMode.ClampToBorder);
+                               uiImage.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
+                       }
+               }
+
+
+               void recordDrawOverlay (CommandBuffer cmd) {
+                       uiPipeline.Bind (cmd);
+
+                       uiImage.SetLayout (cmd, VkImageAspectFlags.Color, VkImageLayout.ColorAttachmentOptimal, VkImageLayout.ShaderReadOnlyOptimal,
+                               VkPipelineStageFlags.ColorAttachmentOutput, VkPipelineStageFlags.FragmentShader);
+
+                       cmd.Draw (3, 1, 0, 0);
+
+                       uiImage.SetLayout (cmd, VkImageAspectFlags.Color, VkImageLayout.ShaderReadOnlyOptimal, VkImageLayout.ColorAttachmentOptimal,
+                               VkPipelineStageFlags.FragmentShader, VkPipelineStageFlags.BottomOfPipe);
+
+                       //if (!showDebugImg)
+                       //      return;
+                       //const uint debugImgSize = 256;
+                       //const uint debugImgMargin = 10;
+
+                       //cmd.BindDescriptorSet (uiPipeline.Layout, dsDebugImg);
+
+                       //cmd.SetViewport (debugImgSize, debugImgSize, debugImgMargin, swapChain.Height - debugImgSize - debugImgMargin);
+                       //cmd.SetScissor (debugImgSize, debugImgSize, (int)debugImgMargin, (int)(swapChain.Height - debugImgSize - debugImgMargin));
+
+                       //cmd.Draw (3, 1, 0, 0);
+               }
+               #endregion
+
+
+               Vector4 lightPos = new Vector4 (1, 0, 0, 0);
+               BoundingBox modelAABB;
+
+               Program () {            
+                       camera.SetPosition (0, 0, 5);
+
+                       Thread crowThread = new Thread (crow_thread_func);
+                       crowThread.IsBackground = true;
+                       crowThread.Start ();
+
+                       while (crow == null)
+                               Thread.Sleep (5);
+
+                       initUISurface ();
+
+                       pbrPipeline = new PBRPipeline (presentQueue,
+                               new RenderPass (dev, swapChain.ColorFormat, dev.GetSuitableDepthFormat (), samples), uiImage);
+
+                       initUIPipeline ();
+
+                       modelAABB = pbrPipeline.model.DefaultScene.AABB;
+
+                       crow.Load ("ui/fps.crow").DataSource = this;
+                       //crow.Load ("#vkvgCrowTest.perfMeasures.crow").DataSource = crow;
+
+                       //crow.LoadIMLFragment ("<Window Height='200' Width='200' CornerRadius='5'/>").DataSource=this;
+                       //crow.LoadIMLFragment ("<Window Height='200' Width='200'/>").DataSource = this;
+                       crow.LoadIMLFragment (@"<Image Margin='1' Path='/mnt/devel/gts/vk.net/crow/Images/crow.png' Width='100' Height='100' Background='White' MouseEnter='{Background=Blue}' MouseLeave='{Background=White}'/>");
+                       //crow.LoadIMLFragment ("<Window Height='200' Width='200'/>").DataSource = this;
+                       UpdateFrequency = 20;
+               }
+
+               void buildCommandBuffers () {
+                       for (int i = 0; i < swapChain.ImageCount; ++i) {
+                               cmds[i]?.Free ();
+                               cmds[i] = cmdPool.AllocateAndStart ();
+#if PIPELINE_STATS
+                               statPool.Begin (cmds[i]);
+                               recordDraw (cmds[i], frameBuffers[i]);
+                               statPool.End (cmds[i]);
+#else
+                               recordDraw (cmds[i], frameBuffers[i]);
+#endif
+
+                               cmds[i].End ();
+                       }
+               }
+               void recordDraw (CommandBuffer cmd, Framebuffer fb) {
+                       pbrPipeline.RenderPass.Begin (cmd, fb);
+
+                       cmd.SetViewport (fb.Width, fb.Height);
+                       cmd.SetScissor (fb.Width, fb.Height);
+
+                       pbrPipeline.RecordDraw (cmd);
+
+                       if (showUI)
+                               recordDrawOverlay (cmd);
+
+                       pbrPipeline.RenderPass.End (cmd);
+               }
+
+
+               #region update
+               public override void UpdateView () {
+                       camera.AspectRatio = (float)swapChain.Width / swapChain.Height;
+
+                       pbrPipeline.matrices.lightDir = lightPos;
+                       pbrPipeline.matrices.projection = camera.Projection;
+                       pbrPipeline.matrices.view = camera.View;
+                       pbrPipeline.matrices.model = camera.Model;
+
+
+                       pbrPipeline.matrices.camPos = new Vector4 (
+                               -camera.Position.Z * (float)Math.Sin (camera.Rotation.Y) * (float)Math.Cos (camera.Rotation.X),
+                                camera.Position.Z * (float)Math.Sin (camera.Rotation.X),
+                                camera.Position.Z * (float)Math.Cos (camera.Rotation.Y) * (float)Math.Cos (camera.Rotation.X),
+                                0
+                       );
+                       pbrPipeline.matrices.debugViewInputs = (float)currentDebugView;
+
+                       pbrPipeline.uboMats.Update (pbrPipeline.matrices, (uint)Marshal.SizeOf<PBRPipeline.Matrices> ());
+
+                       updateViewRequested = false;
+               }
+
+               int frameCount = 0;
+
+               public override void Update () {
+#if PIPELINE_STATS
+                       results = statPool.GetResults ();
+#endif
+                       camera.Model *= Matrix4x4.CreateRotationY(0.05f);
+                       updateViewRequested = true;
+
+                       if (rebuildBuffers) {
+                               buildCommandBuffers ();
+                               rebuildBuffers = false;
+                       }
+
+                       if (++frameCount > 20) {
+                               NotifyValueChanged ("fps", fps);
+                               frameCount = 0;
+                       }
+               }
+               #endregion
+
+
+               protected override void OnResize () {
+                       crow.ProcessResize (new Crow.Rectangle (0,0,(int)swapChain.Width, (int)swapChain.Height));
+
+                       initUISurface ();
+
+                       uiImage.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
+                       DescriptorSetWrites uboUpdate = new DescriptorSetWrites (pbrPipeline.dsMain, pbrPipeline.Layout.DescriptorSetLayouts[0].Bindings[5]);
+                       uboUpdate.Write (dev, uiImage.Descriptor);
+
+                       UpdateView ();
+
+                       if (frameBuffers != null)
+                               for (int i = 0; i < swapChain.ImageCount; ++i)
+                                       frameBuffers[i]?.Dispose ();
+
+                       frameBuffers = new Framebuffer[swapChain.ImageCount];
+
+                       for (int i = 0; i < swapChain.ImageCount; ++i) {
+                               frameBuffers[i] = new Framebuffer (pbrPipeline.RenderPass, swapChain.Width, swapChain.Height,
+                                       (pbrPipeline.RenderPass.Samples == VkSampleCountFlags.SampleCount1) ? new Image[] {
+                                               swapChain.images[i],
+                                               null
+                                       } : new Image[] {
+                                               null,
+                                               null,
+                                               swapChain.images[i]
+                                       });
+                       }
+
+                       buildCommandBuffers ();
+               }
+
+               #region Mouse and keyboard
+               protected override void onMouseMove (double xPos, double yPos) {
+                       if (crow.ProcessMouseMove ((int)xPos, (int)yPos))
+                               return;
+
+                       double diffX = lastMouseX - xPos;
+                       double diffY = lastMouseY - yPos;
+                       if (MouseButton[0]) {
+                               camera.Rotate ((float)-diffX, (float)-diffY);
+                       } else if (MouseButton[1]) {
+                               camera.SetZoom ((float)diffY);
+                       } else
+                               return;
+
+                       updateViewRequested = true;
+               }
+               protected override void onMouseButtonDown (Glfw.MouseButton button) {
+                       if (crow.ProcessMouseButtonDown ((Crow.MouseButton)button))
+                               return;
+                       base.onMouseButtonDown (button);
+               }
+               protected override void onMouseButtonUp (Glfw.MouseButton button) {
+                       if (crow.ProcessMouseButtonUp ((Crow.MouseButton)button))
+                               return;
+                       base.onMouseButtonUp (button);
+               }
+
+               protected override void onKeyDown (Key key, int scanCode, Modifier modifiers) {
+                       switch (key) {
+                               case Key.F:
+                                       if (modifiers.HasFlag (Modifier.Shift)) {
+                                               pbrPipeline.envCube.debugFace--;
+                                               if (pbrPipeline.envCube.debugFace < 0)
+                                                       pbrPipeline.envCube.debugFace = 5;
+                                       } else {
+                                               pbrPipeline.envCube.debugFace++;
+                                               if (pbrPipeline.envCube.debugFace > 5)
+                                                       pbrPipeline.envCube.debugFace = 0;
+                                       }
+                                       queryUpdatePrefilCube = updateViewRequested = true;
+                                       break;
+                               case Key.M:
+                                       if (modifiers.HasFlag (Modifier.Shift)) {
+                                               pbrPipeline.envCube.debugMip--;
+                                               if (pbrPipeline.envCube.debugMip < 0)
+                                                       pbrPipeline.envCube.debugMip = (int)pbrPipeline.envCube.prefilterCube.CreateInfo.mipLevels - 1;
+                                       } else {
+                                               pbrPipeline.envCube.debugMip++;
+                                               if (pbrPipeline.envCube.debugMip > pbrPipeline.envCube.prefilterCube.CreateInfo.mipLevels)
+                                                       pbrPipeline.envCube.debugMip = 0;
+                                       }
+                                       queryUpdatePrefilCube = updateViewRequested = true;
+                                       break;
+                               case Key.P:
+                                       showDebugImg = !showDebugImg;
+                                       queryUpdatePrefilCube = updateViewRequested = true;
+                                       break;
+                               case Key.Keypad0:
+                                       currentDebugView = DebugView.none;
+                                       break;
+                               case Key.Keypad1:
+                                       currentDebugView = DebugView.color;
+                                       break;
+                               case Key.Keypad2:
+                                       currentDebugView = DebugView.normal;
+                                       break;
+                               case Key.Keypad3:
+                                       currentDebugView = DebugView.occlusion;
+                                       break;
+                               case Key.Keypad4:
+                                       currentDebugView = DebugView.emissive;
+                                       break;
+                               case Key.Keypad5:
+                                       currentDebugView = DebugView.metallic;
+                                       break;
+                               case Key.Keypad6:
+                                       currentDebugView = DebugView.roughness;
+                                       break;
+                               case Key.Up:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               lightPos -= Vector4.UnitZ;
+                                       else
+                                               camera.Move (0, 0, 1);
+                                       break;
+                               case Key.Down:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               lightPos += Vector4.UnitZ;
+                                       else
+                                               camera.Move (0, 0, -1);
+                                       break;
+                               case Key.Left:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               lightPos -= Vector4.UnitX;
+                                       else
+                                               camera.Move (1, 0, 0);
+                                       break;
+                               case Key.Right:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               lightPos += Vector4.UnitX;
+                                       else
+                                               camera.Move (-1, 0, 0);
+                                       break;
+                               case Key.PageUp:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               lightPos += Vector4.UnitY;
+                                       else
+                                               camera.Move (0, 1, 0);
+                                       break;
+                               case Key.PageDown:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               lightPos -= Vector4.UnitY;
+                                       else
+                                               camera.Move (0, -1, 0);
+                                       break;
+                               case Key.F1:
+                                       showUI = !showUI;
+                                       rebuildBuffers = true;
+                                       break;
+                               case Key.F2:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               pbrPipeline.matrices.exposure -= 0.3f;
+                                       else
+                                               pbrPipeline.matrices.exposure += 0.3f;
+                                       break;
+                               case Key.F3:
+                                       if (modifiers.HasFlag (Modifier.Shift))
+                                               pbrPipeline.matrices.gamma -= 0.1f;
+                                       else
+                                               pbrPipeline.matrices.gamma += 0.1f;
+                                       break;
+                               case Key.F4:
+                                       if (camera.Type == Camera.CamType.FirstPerson)
+                                               camera.Type = Camera.CamType.LookAt;
+                                       else
+                                               camera.Type = Camera.CamType.FirstPerson;
+                                       Console.WriteLine ($"camera type = {camera.Type}");
+                                       break;
+                               default:
+                                       base.onKeyDown (key, scanCode, modifiers);
+                                       return;
+                       }
+                       updateViewRequested = true;
+               }
+               #endregion
+
+               #region dispose
+               protected override void Dispose (bool disposing) {
+                       if (disposing) {
+                               if (!isDisposed) {
+                                       dev.WaitIdle ();
+
+                                       isRunning = false;
+
+                                       for (int i = 0; i < swapChain.ImageCount; ++i)
+                                               frameBuffers[i]?.Dispose ();
+
+                                       pbrPipeline.Dispose ();
+
+                                       uiPipeline.Dispose ();
+
+                                       uiImage?.Dispose ();
+                               }
+                       }
+
+                       base.Dispose (disposing);
+               }
+               #endregion
+       }
+}
+
+
+
+
+
+
+
+//             protected override void onKeyDown (Glfw.Key key, int scanCode, Modifier modifiers) {
+//                     switch (key) {
+//                             case Glfw.Key.F1:
+//                                     if (modifiers.HasFlag (Modifier.Shift))
+//                                             pbrPipeline.matrices.exposure -= 0.3f;
+//                                     else
+//                                             pbrPipeline.matrices.exposure += 0.3f;
+//                                     break;
+//                             case Glfw.Key.F2:
+//                                     if (modifiers.HasFlag (Modifier.Shift))
+//                                             pbrPipeline.matrices.gamma -= 0.1f;
+//                                     else
+//                                             pbrPipeline.matrices.gamma += 0.1f;
+//                                     break;
+//                             case Glfw.Key.F3:
+//                                     if (camera.Type == Camera.CamType.FirstPerson)
+//                                             camera.Type = Camera.CamType.LookAt;
+//                                     else
+//                                             camera.Type = Camera.CamType.FirstPerson;
+//                                     Console.WriteLine ($"camera type = {camera.Type}");
+//                                     break;
+//                             default:
+//                                     base.onKeyDown (key, scanCode, modifiers);
+//                                     return;
+//                     }
+//                     updateViewRequested = true;
+//             }
+//             #endregion
+
+//             protected override void Dispose (bool disposing) {
+//                     if (disposing) {
+//                             if (!isDisposed) {
+//                                     dev.WaitIdle ();
+//                                     for (int i = 0; i < swapChain.ImageCount; ++i)
+//                                             frameBuffers[i]?.Dispose ();
+
+//                                     pbrPipeline.Dispose ();
+
+//                                     uiPipeline.Dispose ();
+//                                     descLayoutMain.Dispose ();
+//                                     descriptorPool.Dispose ();
+
+//                                     uiImage.Dispose ();
+
+//                                     crow.Dispose ();
+
+//                                     vkvgDev.Dispose ();
+
+
+//                             }
+//                     }
+
+//                     base.Dispose (disposing);
+//             }
+
+
+//     }
+//}
diff --git a/Tests/BasicTests.cs b/Tests/BasicTests.cs
deleted file mode 100644 (file)
index 662ad48..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-using Crow;
-using System.Threading;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.CompilerServices;
-
-namespace tests
-{
-       public class MainClass : Interface
-       {
-               [DllImport ("dl", CallingConvention=CallingConvention.Cdecl)]
-               static extern IntPtr dlopen (string file, dlmode mode);
-               [DllImport ("dl", CallingConvention=CallingConvention.Cdecl)]
-               static extern int dlclose (IntPtr handle);
-               //void *dlsym(void *restrict handle, const char *restrict name); [Option End]
-               [DllImport ("dl", CallingConvention=CallingConvention.Cdecl)]
-               static extern IntPtr dlsym (IntPtr libHnd, string funcName);
-               [DllImport ("mono-2.0", CallingConvention=CallingConvention.Cdecl)]
-               static extern void mono_add_internal_call (string signature, IntPtr funcPtr);
-
-               [DllImport ("__Internal", EntryPoint="cairo_stroke", CallingConvention=CallingConvention.Cdecl)]
-               public static extern void cairo_stroke_internal (IntPtr ctx);
-               [DllImport ("__Internal", EntryPoint="cairo_rectangle", CallingConvention=CallingConvention.Cdecl)]
-               public static extern void cairo_rect_internal (IntPtr ctx, double x, double y, double w, double h);
-               [DllImport ("__Internal", EntryPoint="cairo_set_source_rgba", CallingConvention=CallingConvention.Cdecl)]
-               public static extern void cairo_rgba_internal (IntPtr ctx, double r, double g, double b, double a);
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               public static extern void cairo_stroke (IntPtr ctx);
-
-               [Flags]
-               enum dlmode {
-                       RTLD_LOCAL = 0,
-                       RTLD_LAZY = 0x00001,        /* Lazy function call binding.  */
-                       RTLD_NOW = 0x00002,        /* Immediate function call binding.  */
-                       RTLD_BINDING_MASK = 0x3,        /* Mask of binding time value.  */
-                       RTLD_NOLOAD = 0x00004,        /* Do not load the object.  */
-                       RTLD_DEEPBIND = 0x00008,        /* Use deep binding.  */
-                       RTLD_GLOBAL = 0x00100,
-               }
-
-               const string cairoLibPath = @"/opt/cairo/lib/libcairo.so";
-               //static const string cairoLibPath = @"/opt/cairo/lib/libcairo.so.2.11513.0";
-
-               public delegate void Stroke(IntPtr ctx);
-               public delegate void Cairo4Doubles (IntPtr ctx, double x, double y, double z, double w);
-
-               public static Stroke cairo_stroke_func;
-               public static Cairo4Doubles cairo_rect_func;
-               public static Cairo4Doubles cairo_set_rgba_func;
-
-               /*[DllImport (cairoLibPath, EntryPoint="cairo_stroke")]
-               [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
-               public static extern void cairo_stroke_icall (IntPtr cr);*/
-               public string StringTest = "this is a string for testing";
-
-               static MainClass app;
-               public Command CMDTest;
-               public Measure TestWidth = 100;
-
-               public Crow.IML.Instantiator instFileDlg;
-
-               public string CurrentDirectory {
-                       get { return Crow.Configuration.Global.Get<string>("CurrentDirectory");}
-                       set {
-                               Crow.Configuration.Global.Set ("CurrentDirectory", value);
-                       }
-               }
-
-               IList<Color> testList = Color.ColorDic.Values.ToList();
-               public IList<Color> TestList {
-                       set{
-                               testList = value;
-                               NotifyValueChanged ("TestList", testList);
-                       }
-                       get { return testList; }
-               }
-               /*public List<KeyValuePair<DbgEvtType, Color>> ColorsKVPList {
-                       get {
-                               return DbgLogViewer.colors.ToList();
-                       }
-               }*/
-
-               protected override void InitBackend ()
-               {
-                       base.InitBackend ();
-                       //Keyboard.KeyDown += App_KeyboardKeyDown;
-               }
-               public static void Main(string[] args)
-               {
-            //IntPtr cairoLib = dlopen (cairoLibPath, dlmode.RTLD_LAZY);
-
-
-
-            //mono_add_internal_call ("tests.MainClass:cairo_stroke_icall(IntPtr cr)", strokeFuncPtr);
-
-            /*cairo_stroke_func = Marshal.GetDelegateForFunctionPointer<Stroke>(dlsym (cairoLib, "cairo_stroke"));
-                       cairo_rect_func = Marshal.GetDelegateForFunctionPointer<Cairo4Doubles>(dlsym (cairoLib, "cairo_rectangle"));
-                       cairo_set_rgba_func = Marshal.GetDelegateForFunctionPointer<Cairo4Doubles>(dlsym (cairoLib, "cairo_set_source_rgba"));
-*/
-            foreach (string s in System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceNames())
-            {
-                Console.WriteLine(s);
-            }
-            
-
-            using (app = new MainClass ()) {
-                               //                              XWindow win = new XWindow (app);
-                               //                              win.Show ();
-                               //app.LoadIMLFragment (@"<SimpleGauge Level='40' Margin='5' Background='Jet' Foreground='Grey' Width='30' Height='50%'/>");
-
-                               //app.CMDTest = new Command(new Action(() => app.AddWidget (app.instFileDlg.CreateInstance()).DataSource = app)) { Caption = "Test", Icon = new SvgPicture("#Tests.image.blank-file.svg"), CanExecute = true};
-                               //app.AddWidget (@"Interfaces/Divers/testFocus.crow").DataSource = app;
-                               //app.AddWidget (@"Interfaces/Divers/testMenu.crow").DataSource = app;
-                               //app.AddWidget (@"Interfaces/Divers/testVisibility.crow").DataSource = app;
-                               //app.Load (@"Interfaces/Divers/0.crow").DataSource = app;
-                               //app.AddWidget (@"Interfaces/Splitter/1.crow").DataSource = app;
-                               app.Load (@"Interfaces/GraphicObject/0.crow").DataSource = app;
-                               //app.AddWidget (@"Interfaces/TemplatedContainer/test_Listbox.crow").DataSource = app;
-
-                               /*app.instFileDlg = Crow.IML.Instantiator.CreateFromImlFragment
-                                       (app, "<FileDialog Caption='Open File' CurrentDirectory='{²CurrentDirectory}'/>");*/
-                               
-
-                               //app.AddWidget (@"Interfaces/Divers/colorPicker.crow").DataSource = app;
-                               //app.AddWidget ("Interfaces/Divers/perfMeasures.crow").DataSource = app;
-
-                               /*app.AddWidget ("#Tests.ui.dbgLog.crow").DataSource = app;
-
-                               GraphicObject go = app.AddWidget ("#Tests.ui.dbgLogColors.crow");
-                               go.DataSource = app;
-
-                               (go.FindByName("combo") as ComboBox).SelectedItemChanged += combo_selectedItemChanged;
-                               (go.FindByName("kvpList") as ListBox).SelectedItemChanged += kvpList_selectedItemChanged;*/
-
-                               //app.AddWidget (@"Interfaces/Experimental/testDock.crow").DataSource = app;
-
-                               /*app.LoadIMLFragment (@"<DockWindow Width='150' Height='150' Name='dock1'/>");
-                               app.LoadIMLFragment (@"<DockWindow Width='150' Height='150' Name='dock2'/>");
-                               app.LoadIMLFragment (@"<DockWindow Width='150' Height='150' Name='dock3'/>");
-
-                               app.LoadIMLFragment (@"<DockWindow Width='150' Height='150'/>");
-                               app.LoadIMLFragment (@"<DockWindow Width='150' Height='150'/>");
-                               app.LoadIMLFragment (@"<DockWindow Width='150' Height='150'/>");*/
-
-                               long cpt = 0;
-                               Measure testWidth = 100;
-                               int increment = 1;
-
-                               while (true) {
-                                       cpt++;
-                                       /*
-                                       testWidth += increment;
-
-                                       if (increment > 0) {
-                                               if (testWidth > 500)
-                                                       increment = -increment;
-                                       } else if (testWidth < 100) 
-                                               increment = -increment;                                 
-                                       app.NotifyValueChanged ("TestWidth", testWidth);
-*/
-
-                                       /*app.NotifyValueChanged ("CPT", cpt);
-
-                                       if (cpt % 2 == 0)
-                                               app.NotifyValueChanged ("TestColor", Color.Red);
-                                       else
-                                               app.NotifyValueChanged ("TestColor", Color.Blue);*/
-
-                                       /*#if MEASURE_TIME
-                                       foreach (PerformanceMeasure m in app.PerfMeasures)
-                                               m.NotifyChanges ();     
-                                       #endif*/
-                                       app.Update ();
-                                       app.ProcessEvents ();
-                                       //Thread.Sleep(1);
-                               }
-                       }
-                       /*using (Display disp = new Display())
-            {
-                Window win = new Window(disp);
-                bool running = true;
-
-                while (running) {
-                    IntPtr evt = disp.NextEvent;
-
-                    switch ((EventType)Marshal.ReadInt32(evt))
-                    {
-                        case EventType.KeyPress:
-                            running = false;
-                            break;
-                    }
-                }
-            }*/
-
-
-                       //dlclose (cairoLib);
-               }
-
-               /*void onColorUpdate (object sender, MouseButtonEventArgs e)
-               {
-                       DbgLogViewer.colorsConf.Set (selectedEvtType.ToString (), newColor);
-                       DbgLogViewer.colors [selectedEvtType] = newColor;
-                       NotifyValueChanged ("ColorsKVPList", ColorsKVPList);
-               }
-               //static DbgEvtType selectedEvtType;
-               static Color newColor;
-
-               static void kvpList_selectedItemChanged (object sender, SelectionChangeEventArgs e)
-               {
-                       if (e.NewValue == null)
-                               return;
-                       selectedEvtType = ((KeyValuePair<DbgEvtType, Color>)e.NewValue).Key;
-               }
-               static void combo_selectedItemChanged (object sender, SelectionChangeEventArgs e)
-               {
-                       newColor = (Color)e.NewValue;
-
-               }*/
-
-               void App_KeyboardKeyDown (object sender, KeyEventArgs e)
-               {
-                       Console.WriteLine((byte)e.Key);
-                       //#if DEBUG_LOG
-                       switch (e.Key) {
-                       case Key.F2:                            
-                               //DebugLog.save (app);
-                               break;
-                       case Key.F4:                            
-                               //app.NotifyValueChanged ("ColorsKVPList", app.ColorsKVPList);
-                               break;
-                       case Key.F6:
-                               app.LoadIMLFragment (@"<FileDialog Caption='Open File'/>");
-                               //saveDocking ();
-                               break;
-                       case Key.F7:                            
-                               //reloadDocking ();
-                               break;
-                       case Key.F8:                            
-                               app.LoadIMLFragment (@"<DockWindow Width='150' Height='150'/>");
-                               break;
-                       }
-                       //#endif
-               }
-
-               void saveDocking () {
-                       DockStack ds = FindByName ("mainDock") as DockStack;
-                       if (ds == null) {
-                               Console.WriteLine ("main dock not found in graphic tree");
-                               return;
-                       }
-                       string conf = ds.ExportConfig ();
-                       Console.WriteLine ("docking conf = " + conf);
-                       Configuration.Global.Set ("DockingTests", conf);
-               }
-               void reloadDocking () {
-                       DockStack ds = FindByName ("mainDock") as DockStack;
-                       if (ds == null) {
-                               Console.WriteLine ("main dock not found in graphic tree");
-                               return;
-                       }
-
-                       string conf = Configuration.Global.Get<string> ("DockingTests");
-                       if (string.IsNullOrEmpty (conf))
-                               return;
-
-
-                       ds.ImportConfig (conf);
-               }
-       }
-}
diff --git a/Tests/Showcase.cs b/Tests/Showcase.cs
deleted file mode 100644 (file)
index 237c65d..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-//
-// UIEditor.cs
-//
-// Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using Crow;
-using System.IO;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Linq;
-using System.Text;
-using Crow.IML;
-
-namespace tests
-{
-       class Showcase : Interface
-       {
-               public Container crowContainer;
-
-               [STAThread]
-               static void Main ()
-               {
-                       using (Showcase app = new Showcase ()) {
-                               //app.Keyboard.KeyDown += App_KeyboardKeyDown;
-
-                               Widget g = app.Load ("#Tests.ui.showcase.crow");
-                               g.DataSource = app;
-                               app.crowContainer = g.FindByName ("CrowContainer") as Container;
-                               //I set an empty object as datasource at this level to force update when new
-                               //widgets are added to the interface
-                               app.crowContainer.DataSource = new object ();
-                               app.hideError ();                
-                app.Run();
-
-                       }
-               }
-
-               static void App_KeyboardKeyDown (object sender, KeyEventArgs e)
-               {
-                       #if DEBUG_LOG
-                       switch (e.Key) {
-                       case Key.F2:
-                               DebugLog.save (sender as Interface);
-                               break;
-                       }
-                       #endif
-               }
-
-               public Showcase ()
-                       : base(1024, 800)
-               {
-               }
-
-
-               void Dv_SelectedItemChanged (object sender, SelectionChangeEventArgs e)
-               {
-                       FileSystemInfo fi = e.NewValue as FileSystemInfo;
-                       if (fi == null)
-                               return;
-                       if (fi is DirectoryInfo)
-                               return;
-                       hideError();
-                       lock (UpdateMutex) {
-                try
-                {
-                    Widget g = CreateInstance(fi.FullName);
-                    crowContainer.SetChild(g);
-                    g.DataSource = this;
-                }
-                catch (Exception ex)
-                {
-                    Console.WriteLine(ex.ToString());
-                    if (ex is InstantiatorException)
-                        showError((InstantiatorException)ex);
-                }
-            }
-
-            string source = "";
-                       using (Stream s = new FileStream (fi.FullName, FileMode.Open)) {
-                               using (StreamReader sr = new StreamReader (s)) {
-                                       source = sr.ReadToEnd ();
-                               }
-                       }
-                       NotifyValueChanged ("source", source);
-               }
-
-               void showError(InstantiatorException ex) {
-                       NotifyValueChanged ("ErrorMessage", ex.Path + ": " + ex.InnerException.Message);
-                       NotifyValueChanged ("ShowError", true);
-               }
-               void hideError () {
-                       NotifyValueChanged ("ShowError", false);
-               }
-
-               void Tb_TextChanged (object sender, TextChangeEventArgs e)
-               {
-                       hideError();
-                       Widget g = null;
-                       try {
-                               lock (UpdateMutex) {
-                                       Instantiator inst = null;
-                                       using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes (e.Text))){
-                                               inst = new Instantiator (this, ms);
-                                       }
-                                       g = inst.CreateInstance ();
-                                       crowContainer.SetChild (g);
-                                       g.DataSource = this;
-                               }
-                       } catch (Exception ex) {
-                               Console.WriteLine (ex.ToString ());
-                if (ex is InstantiatorException)
-                                   showError ((InstantiatorException)ex);
-                       }
-        }
-
-
-               #region Test values for Binding
-               public int intValue = 500;
-               DirectoryInfo curDir = new DirectoryInfo (Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
-               //DirectoryInfo curDir = new DirectoryInfo (@"/mnt/data/Images");
-               public FileSystemInfo[] CurDirectory {
-                       get { return curDir.GetFileSystemInfos (); }
-               }
-               public int IntValue {
-                       get {
-                               return intValue;
-                       }
-                       set {
-                               intValue = value;
-                               NotifyValueChanged ("IntValue", intValue);
-                       }
-               }
-               void onSpinnerValueChange(object sender, ValueChangeEventArgs e){
-                       if (e.MemberName != "Value")
-                               return;
-                       intValue = Convert.ToInt32(e.NewValue);
-               }
-               void change_alignment(object sender, EventArgs e){
-                       RadioButton rb = sender as RadioButton;
-                       if (rb == null)
-                               return;
-                       NotifyValueChanged ("alignment", Enum.Parse(typeof(Alignment), rb.Caption));
-               }
-               public IList<String> List2 = new List<string>(new string[]
-                       {
-                               "string1",
-                               "string2",
-                               "string3",
-                               //                              "string4",
-                               //                              "string5",
-                               //                              "string6",
-                               //                              "string7",
-                               //                              "string8",
-                               //                              "string8",
-                               //                              "string8",
-                               //                              "string8",
-                               //                              "string8",
-                               //                              "string8",
-                               //                              "string9"
-                       }
-               );
-               public IList<String> TestList2 {
-                       set{
-                               List2 = value;
-                               NotifyValueChanged ("TestList2", testList);
-                       }
-                       get { return List2; }
-               }
-               IList<Color> testList = Color.ColorDic.Values.ToList();
-               public IList<Color> TestList {
-                       set{
-                               testList = value;
-                               NotifyValueChanged ("TestList", testList);
-                       }
-                       get { return testList; }
-               }
-               string curSources = "";
-               public string CurSources {
-                       get { return curSources; }
-                       set {
-                               if (value == curSources)
-                                       return;
-                               curSources = value;
-                               NotifyValueChanged ("CurSources", curSources);
-                       }
-               }
-               bool boolVal = true;
-               public bool BoolVal {
-                       get { return boolVal; }
-                       set {
-                               if (boolVal == value)
-                                       return;
-                               boolVal = value;
-                               NotifyValueChanged ("BoolVal", boolVal);
-                       }
-               }
-
-               #endregion
-
-               void OnClear (object sender, MouseButtonEventArgs e) => TestList = null;
-
-               void OnLoadList (object sender, MouseButtonEventArgs e) => TestList = Color.ColorDic.Values.ToList();
-
-       }
-
-
-}
\ No newline at end of file
index 4f892d45f322985c2fe5a6d2d9c29e2f7cc76aec..3e9e2cbe013f89f35692fdcea86d2f098c4d2f2f 100644 (file)
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="Mono.Posix" />
     <Reference Include="System.AppContext">
       <HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath>
     </Reference>
-    <Reference Include="mscorlib" />
     <Reference Include="System.Core" />
     <Reference Include="System.Collections.Immutable">
       <HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
@@ -63,9 +59,6 @@
     <Reference Include="System.Diagnostics.StackTrace">
       <HintPath>..\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath>
     </Reference>
-    <Reference Include="System.IO.Compression">
-      <HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
-    </Reference>
     <Reference Include="System.IO.FileSystem.Primitives">
       <HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
     </Reference>
@@ -75,8 +68,6 @@
     <Reference Include="System.Reflection.Metadata">
       <HintPath>..\packages\System.Reflection.Metadata.1.6.0\lib\netstandard2.0\System.Reflection.Metadata.dll</HintPath>
     </Reference>
-    <Reference Include="System.ComponentModel.Composition" />
-    <Reference Include="System.Numerics" />
     <Reference Include="System.Security.Cryptography.Encoding">
       <HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
     </Reference>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
-    <Compile Include="BasicTests.cs" />
-    <Compile Include="Showcase.cs" />
     <Compile Include="GraphicObjects\ColorCircleSelector.cs" />
     <Compile Include="GraphicObjects\SimpleGauge.cs" />
     <Compile Include="GraphicObjects\HexaContainer.cs" />
     <Compile Include="GraphicObjects\TechBorder.cs" />
-    <Compile Include="keysyms.cs" />
     <Compile Include="GraphicObjects\LaggingGraphicObject.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="Interfaces\Wrapper\2.2.crow">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
-    <None Include="OpenTK.dll.config" />
     <None Include="Interfaces\Divers\testShape.crow">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
     <None Include="testClass.cs">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
-    <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Interfaces\" />
diff --git a/Tests/keysyms.cs b/Tests/keysyms.cs
deleted file mode 100644 (file)
index 412d06b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// keysyms.cs
-//
-// Author:
-//       Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.IO;
-
-namespace Tests
-{
-       static class keysyms
-       {
-               public static void Main(string[] args)
-               {
-                       using (StreamWriter sw = new StreamWriter ("test.cs")) {
-                               using (StreamReader r = new StreamReader ("/usr/include/xkbcommon/xkbcommon-keysyms.h")) {
-                                       bool skip = false;
-                                       int maxChar = 0;
-                                       sw.WriteLine ("/* autogenerated */");
-                                       sw.WriteLine ("using System;\n");
-                                       sw.WriteLine ("namespace Crow.XCB");
-                                       sw.WriteLine ("{");
-                                       sw.WriteLine ("\t[Flags]");
-                                       sw.WriteLine ("\tpublic enum KeySym");
-                                       sw.WriteLine ("\t{");
-                                       r.ReadLine ();
-                                       r.ReadLine ();
-                                       while (!r.EndOfStream) {
-                                               string s = r.ReadLine ().Trim();
-                                               if (skip) {
-                                                       if (s.EndsWith ("*/", StringComparison.Ordinal))
-                                                               skip = false;
-                                                       continue;
-                                               }
-                                               if (s.StartsWith ("/*", StringComparison.Ordinal)) {
-                                                       if (!s.EndsWith ("*/", StringComparison.Ordinal))
-                                                               skip = true;
-                                                       continue;                                                       
-                                               }
-                                               if (!s.StartsWith ("#define", StringComparison.Ordinal))
-                                                       continue;
-                                               string[] tmp = s.Split (new char[] {' ', '\t'}, StringSplitOptions.RemoveEmptyEntries);
-
-                                               string keyName = tmp [1].Substring (8);
-                                               if (char.IsDigit (keyName [0]))
-                                                       keyName = "key_" + keyName;
-
-                                               if (keyName.Length > maxChar)
-                                                       maxChar = keyName.Length;
-
-                                               int nbTab = keyName.Length / 4;
-                                               nbTab = 8 - nbTab;
-
-                                               sw.WriteLine ("\t\t{0}{1}= {2},", keyName, new String('\t',nbTab),  tmp[2]);
-                                       }
-                                       sw.WriteLine ("\t}");
-                                       sw.WriteLine ("}");
-                                       Console.WriteLine ("max char: " + maxChar.ToString ());
-                               }
-
-                       }
-               }
-       }
-}
-