# 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
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
{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
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
<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.
Minimum = "0";
Maximum = "255";
SmallIncrement = "1";
+ Width="50";
}
HSVSpinner {
Minimum = "0";
Value = "0";
Height = "12";
Width = "Stretched";
+}
+EnumSelector {
+ Orientation = "Vertical";
+ Height = "Fit";
+ Spacing = "0";
}
\ No newline at end of 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>
<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
</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
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>
<?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
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);
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);
--- /dev/null
+//
+// 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
+
+ }
+}
+
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();
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;
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 ())
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)
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");
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) {
paintDisabled (ctx, Slot + Parent.ClientRectangle.Position);
} else {
Rectangle rb = Slot + Parent.ClientRectangle.Position;
- //ctx.Save ();
+ ctx.Save ();
ctx.Translate (rb.X, rb.Y);
if (!isEnabled)
paintDisabled (ctx, Slot);
- ctx.Translate (-rb.X, -rb.Y);
- //ctx.Restore ();
+ //ctx.Translate (-rb.X, -rb.Y);
+ ctx.Restore ();
}
LastPaintedSlot = Slot;
}
/// </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
{
if (disposing)
{
+ ClearInterface ();
surf?.Dispose ();
}
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)
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 {
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;
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 ();
}
--- /dev/null
+{
+ "version": 1,
+ "dgSpecHash": "JR3Npq+qOMR4zqncbQZsp/9dSn2NHwuEQPHQrZBIcsWprf3vSAuB7kmnfnBox0NfgAlDwyqly5A6+chqHs1DDA==",
+ "success": true
+}
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+{
+ "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
--- /dev/null
+<?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>
--- /dev/null
+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
--- /dev/null
+<?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
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
--- /dev/null
+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
--- /dev/null
+<?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
--- /dev/null
+<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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?xml version="1.0"?>
+
+ <Button CornerRadius="0" Background="Red"/>
+
--- /dev/null
+<?xml version="1.0"?>
+<Widget Margin="10" Width="150" Height="150" Background="SeaGreen"
+ MinimumSize="50,50"/>
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
--- /dev/null
+<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
--- /dev/null
+<?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>
--- /dev/null
+<?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>-->
--- /dev/null
+<?xml version="1.0"?>
+<MessageBox Caption="message" Message="this is a message box"/>
+<!-- Ok="onMsgBoxOk"
+ Cancel="onMsgBoxCancel"/>-->
\ No newline at end of file
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?xml version="1.0"?>
+<Border Margin="5" Height="90%" Width="50%">
+ <DirectoryView Name="dv" CurrentDirectory="/" Margin="1"/>
+</Border>
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?xml version="1.0"?>
+<Container Background="DimGrey" Width="300">
+ <ComboBox Data="{TestList}" ItemTemplate="#Tests.Interfaces.colorItem.crow"/>
+</Container>
\ No newline at end of file
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?xml version="1.0"?>
+<Menu>
+ <MenuItem Caption="File">
+ <MenuItem Caption="New"/>
+ <MenuItem Caption="Open"/>
+ <MenuItem Caption="Save"/>
+ <MenuItem Caption="Quit"/>
+ </MenuItem>
+</Menu>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
+
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
+
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack Height="Fit" Name="List"/>
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?xml version="1.0"?>
+<Window Focusable="true" Caption="Measures" Width="30%" Height="300" MinimumSize="100,100">
+ <ListBox Data="{PerfMeasures}"
+ ItemTemplate="#ui.perfMsr.crow"/>
+</Window>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+ <CheckBox IsChecked="{²BoolVal}"/>
+ <CheckBox Caption="second" IsChecked="{²BoolVal}"/>
+</VerticalStack>
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?xml version="1.0"?>
+<FileDialog Caption="Open File" CurrentDirectory="/" SearchPattern="*.*"/>
+
--- /dev/null
+<?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>
--- /dev/null
+<?xml version="1.0"?>
+<IMLContainer Path="Interfaces/Divers/colorPicker.crow"/>
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?xml version="1.0"?>
+<Menu>
+ <MenuItem Caption="File" Width="Fit">
+ <MenuItem Command="{CMDTest}"/>
+ </MenuItem>
+</Menu>
--- /dev/null
+<?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>
--- /dev/null
+<?xml version="1.0"?>
+<Label Margin="50" MinimumSize="10,10" Background="DimGrey" Text="{PropertyLessBinding}"/>
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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 <F2> and <F3> 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="<F5> => File dialog example"/>
+ <Label Foreground="DimGrey" Font="20" Text="<F6> => Window example"/>
+ </VerticalStack>
+</Border>
\ No newline at end of file
--- /dev/null
+<?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>
+
--- /dev/null
+<?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>
--- /dev/null
+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);
+// }
+
+
+// }
+//}
+++ /dev/null
-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);
- }
- }
-}
+++ /dev/null
-//
-// 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
<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>
<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>
<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\" />
+++ /dev/null
-//
-// 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 ());
- }
-
- }
- }
- }
-}
-