init
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
using Hi.Disp;
|
||||
using Hi.Licenses;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace Hi.Wpf.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Window for 3D rendering.
|
||||
/// </summary>
|
||||
public class RenderingWindow : Window, IGetDispEngine
|
||||
{
|
||||
public RenderingCanvas RenderingCanvas => Content as RenderingCanvas;
|
||||
|
||||
/// <summary>
|
||||
/// Ctor.
|
||||
/// </summary>
|
||||
public RenderingWindow()
|
||||
{
|
||||
Title = nameof(RenderingWindow);
|
||||
Height = 450;
|
||||
Width = 800;
|
||||
StateChanged += RenderingWind_StateChanged;
|
||||
Content = new RenderingCanvas()
|
||||
{
|
||||
BorderThickness = new Thickness(1),
|
||||
BorderBrush = Brushes.Black
|
||||
};
|
||||
}
|
||||
private void RenderingWind_StateChanged(object sender, EventArgs e)
|
||||
{
|
||||
RenderingCanvas.DispEngine.IsVisible = WindowState != WindowState.Minimized;
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public DispEngine GetDispEngine() => RenderingCanvas.DispEngine;
|
||||
/// <summary>
|
||||
/// Run a simple <see cref="RenderingWindow"/> application with given <paramref name="displayees"/>.
|
||||
/// </summary>
|
||||
/// <param name="title">Title</param>
|
||||
/// <param name="displayees">displayees</param>
|
||||
/// <returns>return value of <see cref="Application"/>.<see cref="Application.Run(Window)"/></returns>
|
||||
public static int RunApplication(string title, params IDisplayee[] displayees)
|
||||
{
|
||||
License.LogInAll();
|
||||
DispEngine.Init();
|
||||
|
||||
Application app = new Application
|
||||
{
|
||||
ShutdownMode = ShutdownMode.OnMainWindowClose
|
||||
};
|
||||
app.Exit += (o, e) =>
|
||||
{
|
||||
DispEngine.FinishDisp();
|
||||
License.LogOutAll();
|
||||
};
|
||||
RenderingWindow window = new RenderingWindow() { Title = title };
|
||||
window.RenderingCanvas.DispEngine.Displayee = new DispList(displayees);
|
||||
window.RenderingCanvas.DispEngine.SetViewToHomeView();
|
||||
return app.Run(window);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user