<?xml version="1.0"?>\r
<HorizontalStack Margin="0" Spacing="1" Focusable="false">\r
- <Image Name="Image" Width="16" Height="16" Path="#go.Images.Icons.radiobutton.svg"/>\r
+ <Image Name="Image" Width="12" Height="12" Path="#go.Images.Icons.radiobutton.svg"/>\r
<Label Name="Caption"/>\r
</HorizontalStack>
\ No newline at end of file
c.Top += e.YDelta;\r
c.registerForGraphicUpdate ();\r
}\r
- protected override void OnRenderFrame (FrameEventArgs e)\r
- {\r
- GL.Clear (ClearBufferMask.ColorBufferBit);\r
- base.OnRenderFrame (e);\r
- SwapBuffers ();\r
- }\r
+\r
private int frameCpt = 0;\r
protected override void OnUpdateFrame (FrameEventArgs e)\r
{\r
{\r
class GOLIBTest_Window : OpenTKGameWindow , IValueChange\r
{\r
+ #region IValueChange implementation\r
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;\r
+ #endregion\r
+\r
#region FPS\r
int _fps = 0;\r
\r
#endregion\r
\r
public GOLIBTest_Window ()\r
- : base(600, 400,"test")\r
+ : base(800, 600,"test")\r
{}\r
\r
Window g;\r
// LoadInterface("Interfaces/testWindow.goml", out g);\r
// LoadInterface("Interfaces/testWindow.goml", out g);\r
// LoadInterface("Interfaces/testWindow.goml", out g);\r
-\r
- }\r
- protected override void OnRenderFrame (FrameEventArgs e)\r
- {\r
- GL.Clear (ClearBufferMask.ColorBufferBit);\r
- base.OnRenderFrame (e);\r
- SwapBuffers ();\r
+ CursorVisible = true;\r
}\r
\r
+\r
private int frameCpt = 0;\r
protected override void OnUpdateFrame (FrameEventArgs e)\r
{\r
frameCpt++;\r
}\r
\r
- #region IValueChange implementation\r
-\r
- public event EventHandler<ValueChangeEventArgs> ValueChanged;\r
-\r
- #endregion\r
+ protected override void OnKeyDown (KeyboardKeyEventArgs e)\r
+ {\r
+ base.OnKeyDown (e);\r
+ this.Quit ();\r
+ }\r
\r
[STAThread]\r
static void Main ()\r
fpsMin = _fps;\r
ValueChanged.Raise(this, new ValueChangeEventArgs ("fpsMin", fpsMin));\r
}\r
-\r
- if (ValueChanged != null)\r
- ValueChanged.Raise(this, new ValueChangeEventArgs ("fps", _fps));\r
+ \r
+ ValueChanged.Raise(this, new ValueChangeEventArgs ("fps", _fps));\r
+ ValueChanged.Raise (this, new ValueChangeEventArgs ("update",\r
+ this.updateTime.ElapsedMilliseconds.ToString () + " ms"));\r
}\r
}\r
\r
}\r
#endregion\r
\r
+ public string update = "";\r
+\r
string name = "testName";\r
\r
public string Name {\r
\r
public GOLIBTest_fps ()\r
: base(600, 400,"test")\r
- {}\r
-\r
- Container g;\r
- Label labFps, labFpsMin, labFpsMax, labUpdate;\r
+ {\r
+ VSync = VSyncMode.Off;\r
+ }\r
\r
protected override void OnLoad (EventArgs e)\r
{\r
base.OnLoad (e);\r
- LoadInterface("Interfaces/fps.goml", out g);\r
+ LoadInterface("Interfaces/fps.goml");\r
\r
- labFps = g.FindByName ("labFps") as Label;\r
- labFpsMin = g.FindByName ("labFpsMin") as Label;\r
- labFpsMax = g.FindByName ("labFpsMax") as Label;\r
- labUpdate = g.FindByName ("labUpdate") as Label;\r
\r
//ValueChanged += (object sender, ValueChangeEventArgs vce) => labFps.Text = vce.NewValue.ToString ();\r
\r
\r
}\r
- protected override void OnRenderFrame (FrameEventArgs e)\r
- {\r
- GL.Clear (ClearBufferMask.ColorBufferBit);\r
- base.OnRenderFrame (e);\r
- SwapBuffers ();\r
- }\r
\r
private int frameCpt = 0;\r
protected override void OnUpdateFrame (FrameEventArgs e)\r
\r
fps = (int)RenderFrequency;\r
\r
- //labFps.Text = fps.ToString();\r
- //labUpdate.Text = this.updateTime.ElapsedMilliseconds.ToString() + " ms";\r
\r
if (frameCpt > 200) {\r
-// labFpsMin.Text = fpsMin.ToString();\r
-// labFpsMax.Text = fpsMax.ToString();\r
resetFps ();\r
frameCpt = 0;\r
-\r
}\r
frameCpt++;\r
}\r
<?xml version="1.0"?>\r
-<Container Name="MainGrp"\r
- \r
- Margin="10" Focusable="True" Fit="True">\r
- <Expandable Width="150" Background="Green" Margin="2">\r
-<!-- HorizontalAlignment="Right" VerticalAlignment="Bottom"-->\r
-<!-- <VerticalStack Fit="True" BorderWidth="1" Margin="5" WidgetSpacing="4">-->\r
-<!-- <HorizontalStack>\r
- <Label Text="Update:" FontColor="White" VerticalAlignment="Center" />\r
- <Label Name="labUpdate" Text="xxxx" FontSize="12" Width="60" TextAlignment="Center" Background="DarkGreen"/>\r
- </HorizontalStack>-->\r
+<Container Name="MainGrp" Background="0,5;0,5;0,5;0,5"\r
+ HorizontalAlignment="Left" VerticalAlignment="Top"\r
+ Margin="10" Width="-1" Height="-1" Focusable="True" >\r
+\r
+ <VerticalStack Name="vsFps" BorderWidth="1" Margin="5" Spacing="4">\r
<HorizontalStack>\r
- <Label Text="Fps:" Width = "30" VerticalAlignment="Center" TextAlignment="LeftCenter"/>\r
- <Label Name="labFps" Text="{fps}" Font="droid bold, 12"\r
- TextAlignment="Center" Background="AoEnglish"/>\r
+ <Label Text="Update:" FontColor="White" />\r
+ <Label Name="labUpdate" Text="{update}" FontSize="12" Background="DarkGreen"/>\r
</HorizontalStack>\r
-<!-- <HorizontalStack>\r
+ <HorizontalStack Name="hsFps" Background="Red" >\r
+ <Label Name="captionFps" Text="Fps:" />\r
+ <Label Name="valueFps" Text="{fps}" Font="droid bold, 12" TextAlignment="Center" Background="AoEnglish"/>\r
+ </HorizontalStack>\r
+ <HorizontalStack Background="Red">\r
<Label Text="Min:" Width = "30" />\r
- <Label Name="labFpsMin" Text="{fpsMin}" Font="droid bold, 12"\r
- TextAlignment="Center" Background="AoEnglish"/>\r
+ <Label Text="{fpsMin}" Font="droid bold, 12" TextAlignment="Center" Background="AoEnglish"/>\r
</HorizontalStack>\r
- <HorizontalStack>\r
+ <HorizontalStack Background="Red" >\r
<Label Text="Max:" Width = "30"/>\r
- <Label Name="labFpsMax" Text="{fpsMax}" Font="droid bold, 12"\r
- TextAlignment="Center" Background="AoEnglish"/>\r
- </HorizontalStack>-->\r
-<!-- </VerticalStack>-->\r
- </Expandable>\r
+ <Label Text="{fpsMax}" Font="droid bold, 12" TextAlignment="Center" Background="AoEnglish"/>\r
+ </HorizontalStack>\r
+\r
+ </VerticalStack> \r
</Container>
\ No newline at end of file
<!--<Group>-->\r
<Window Name="window1" Left="10" Top="10" Title="Test window" Width="200" Height="200" Background="0,5;0,5;0,5;0,5" \r
Focusable="True">\r
- <VerticalStack Name="contentVSStack" Height="0" Width="0" Margin="1" Spacing="10">\r
- <Slider Name="slider" Height="20" Width="0"/>\r
+ <VerticalStack Name="contentVSStack" Height="0" Width="0" Margin="10" Spacing="10">\r
+ <Slider Name="slider" Height="10" Width="0"/>\r
\r
- <HorizontalStack Width="0" Height="-1" Margin="0" Background="Red">\r
+ <HorizontalStack Width="-1" Height="-1" Margin="0" Background="Red">\r
<Checkbox Height="-1" Width="-1"/>\r
<Checkbox Height="-1" Width="-1"/>\r
</HorizontalStack>\r
<RadioButton Caption="Radio 1"/>\r
<RadioButton Caption="Radio 2" IsChecked="true"/>\r
<RadioButton Caption="Radio 3"/>\r
- <RadioButton Caption="Radio 4"/>\r
- <RadioButton Caption="Radio 5"/>\r
- <RadioButton Caption="Radio 6"/>\r
- <RadioButton Caption="Radio 7"/>\r
</VerticalStack>\r
</GroupBox>\r
<!-- <Checkbox Height="-1" Width="-1" Background="Red" Margin="0" VerticalAlignment="Center" HorizontalAlignment="Right"/>-->\r
<OutputType>Exe</OutputType>
<RootNamespace>Tests</RootNamespace>
<AssemblyName>Tests</AssemblyName>
- <StartupObject>test.GOLIBTest_4</StartupObject>
+ <StartupObject>test.GOLIBTest_Window</StartupObject>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<OutputPath>..\bin\$(configuration)</OutputPath>
<IntermediateOutputPath>obj\$(configuration)</IntermediateOutputPath>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Drawing" />
<Reference Include="OpenTK">
- <HintPath>..\opentk\Binaries\OpenTK\Release\OpenTK.dll</HintPath>
+ <HintPath>..\..\opentk\Binaries\OpenTK\Release\OpenTK.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
// 3,0,OpenTK.Graphics.GraphicsContextFlags.Default)\r
public OpenTKGameWindow(int _width, int _height, string _title="golib")\r
: base(_width, _height, new OpenTK.Graphics.GraphicsMode(32, 24, 0, 8), \r
- _title,GameWindowFlags.Default,DisplayDevice.Default,\r
+ _title,GameWindowFlags.Default,DisplayDevice.GetDisplay(DisplayIndex.Second),\r
3,2,OpenTK.Graphics.GraphicsContextFlags.Debug|OpenTK.Graphics.GraphicsContextFlags.ForwardCompatible)\r
// public OpenTKGameWindow(int _width, int _height, string _title="golib")\r
// : base(_width, _height, new OpenTK.Graphics.GraphicsMode(32, 24, 0, 8), _title)\r
XCursor.SW = XCursorFile.Load("#go.Images.Icons.Cursors.bottom_left_corner").Cursors[0];\r
XCursor.SE = XCursorFile.Load("#go.Images.Icons.Cursors.bottom_right_corner").Cursors[0];\r
\r
-\r
} \r
#endregion\r
\r
GraphicObjects.CopyTo (invGOList,0);\r
invGOList = invGOList.Reverse ().ToArray ();\r
\r
+ //Debug.WriteLine ("======= Layouting queue start =======");\r
while (Interface.LayoutingQueue.Count > 0) {\r
LayoutingQueueItem lqi = Interface.LayoutingQueue.Dequeue ();\r
lqi.ProcessLayouting ();\r
return tmp;\r
}\r
#endregion\r
+\r
public virtual void OnRender(FrameEventArgs e)\r
{\r
}\r
+ public virtual void GLClear()\r
+ {\r
+ GL.Clear (ClearBufferMask.ColorBufferBit);\r
+ }\r
#region Game win overrides\r
protected override void OnUpdateFrame(FrameEventArgs e)\r
{ \r
}\r
protected override void OnRenderFrame(FrameEventArgs e)\r
{\r
- GL.Clear (ClearBufferMask.ColorBufferBit);\r
+ GLClear ();\r
+\r
\r
base.OnRenderFrame(e);\r
\r
- OpenGLDraw ();\r
OnRender (e);\r
+ OpenGLDraw ();\r
+\r
\r
SwapBuffers ();\r
}\r