Beispiel #1
0
 public AXHostApplication(AXWindowOptions windowOptions)
 {
     AXProfiler.Capture(() =>
     {
         _host = AXHost.Create(windowOptions).Build();
         _host.Start();
     });
 }
Beispiel #2
0
 public static IServiceCollection AddAcidarX
     (this IServiceCollection serviceCollection, AXWindowOptions axWindowOptions)
 {
     // TODO: fix disposal order
     return(serviceCollection
            .AddSingleton <LayerStack>()
            .AddSingleton(axWindowOptions)
            .AddSingleton <AXWindow>()
            .AddSingleton(provider => provider.GetRequiredService <AXWindow>().NativeWindow)
            .AddSingleton(provider => GL.GetApi(provider.GetRequiredService <IWindow>()))
            .AddSingleton <RendererAPI>(provider => new OpenGLRendererAPI(provider.GetRequiredService <GL>()))
            .AddSingleton <RenderCommandDispatcher>()
            .AddSingleton <GraphicsFactory>()
            .AddSingleton <AssetManager>()
            // .AddSingleton<AXRenderer>()
            .AddSingleton <AXRenderer2D>()
            .AddSingleton <LayerStack>()
            .AddSingleton <LayerFactory>()
            .AddSingleton <AXApplication>());
 }
Beispiel #3
0
 public static IHostBuilder Create(AXWindowOptions options) => Host.CreateDefaultBuilder()
 .ConfigureServices(services => services.AddAcidarX(options));
Beispiel #4
0
 public static AXHostApplication Create(AXWindowOptions windowOptions) => new(windowOptions);