示例#1
0
        public DataBindingApplication()
        {
            var services = new ServiceRegistry();
            // Needs to be declared before the D3D device manager as it hooks to
            // the D3D device creation event
            var d2dDeviceManager = new Direct2DDeviceManager(services);

            deviceManager = ToDispose(new SimpleDeviceManager(services)
            {
                HorizontalDpi             = 96.0f,
                VerticalDpi               = 96.0f,
                PreferredBackBufferWidth  = 1280,
                PreferredBackBufferHeight = 720,
                PreferredBackBufferFormat = Format.R8G8B8A8_UNorm,
                IsFullScreen              = false,
                IsStereo = false,
                PreferredGraphicsProfile  = new[] { FeatureLevel.Level_11_0, },
                PreferredMultiSampleCount = 1
            });
            form = new RenderForm("OdysseyUI Test")
            {
                ClientSize = new Size(deviceManager.PreferredBackBufferWidth, deviceManager.PreferredBackBufferHeight),
            };

            deviceManager.CreateDevice(form.Handle, DeviceCreationFlags.Debug | DeviceCreationFlags.BgraSupport);

            var content      = new ContentManager(services);
            var styleManager = new StyleManager(services);

            uiManager = new DesktopUserInterfaceManager(services);

            services.AddService(typeof(IStyleService), styleManager);
            services.AddService(typeof(IDirect2DService), d2dDeviceManager);
            services.AddService(typeof(IUserInterfaceState), uiManager);
            services.AddService(typeof(IWindowService), this);

            content.LoadAssetList("Assets/Assets.yaml");

            overlay = ToDispose(SampleOverlay.New(services));
            overlay.Initialize();
            uiManager.Initialize();
            uiManager.CurrentOverlay = overlay;
        }
 static async Task Main()
 {
     using var overlay = new SampleOverlay();
     await overlay.Run();
 }