public AXHostApplication(AXWindowOptions windowOptions) { AXProfiler.Capture(() => { _host = AXHost.Create(windowOptions).Build(); _host.Start(); }); }
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>()); }
public static IHostBuilder Create(AXWindowOptions options) => Host.CreateDefaultBuilder() .ConfigureServices(services => services.AddAcidarX(options));
public static AXHostApplication Create(AXWindowOptions windowOptions) => new(windowOptions);