65 lines
1.4 KiB
C#
65 lines
1.4 KiB
C#
|
using System.Windows;
|
||
|
using ANX.Framework;
|
||
|
using ANX.Framework.Graphics;
|
||
|
using System.Windows.Interop;
|
||
|
using System;
|
||
|
using System.Windows.Threading;
|
||
|
using System.Threading;
|
||
|
|
||
|
// This file is part of the ANX.Framework created by the
|
||
|
// "ANX.Framework developer group" and released under the Ms-PL license.
|
||
|
// For details see: http://anxframework.codeplex.com/license
|
||
|
|
||
|
namespace WpfEditor
|
||
|
{
|
||
|
public partial class MainWindow : Window
|
||
|
{
|
||
|
private GraphicsDevice device;
|
||
|
|
||
|
public MainWindow()
|
||
|
{
|
||
|
InitializeComponent();
|
||
|
}
|
||
|
|
||
|
protected override void OnActivated(EventArgs e)
|
||
|
{
|
||
|
base.OnActivated(e);
|
||
|
|
||
|
Initialize();
|
||
|
|
||
|
while (IsVisible)
|
||
|
{
|
||
|
if (Application.Current != null)
|
||
|
{
|
||
|
Application.Current.Dispatcher.Invoke(
|
||
|
DispatcherPriority.Background, new ThreadStart(delegate { }));
|
||
|
}
|
||
|
|
||
|
Tick();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void Initialize()
|
||
|
{
|
||
|
device = new GraphicsDevice(
|
||
|
GraphicsAdapter.DefaultAdapter,
|
||
|
GraphicsProfile.HiDef,
|
||
|
new PresentationParameters
|
||
|
{
|
||
|
BackBufferWidth = (int)GamePanel.Width,
|
||
|
BackBufferHeight = (int)GamePanel.Height,
|
||
|
BackBufferFormat = SurfaceFormat.Color,
|
||
|
DeviceWindowHandle = GamePanel.Handle,
|
||
|
PresentationInterval = PresentInterval.Default,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
public void Tick()
|
||
|
{
|
||
|
device.Clear(ClearOptions.Target, Color.CornflowerBlue, 0f, 0);
|
||
|
|
||
|
device.Present();
|
||
|
}
|
||
|
}
|
||
|
}
|