public override FormDrawer CreateDrawer(VideoModes videoModes, DrawerSettings drawerSettings) { switch(videoModes) { case VideoModes.DirectX: return new DirectXFormDrawer(GetDirectXScene(), drawerSettings); case VideoModes.Winforms: return new WinformsDrawer(_root, drawerSettings); case VideoModes.No: return null; default: throw new Exception("Video mode not supported"); } }
public override FormDrawer CreateDrawer(VideoModes videoModes, DrawerSettings drawerSettings) { switch (videoModes) { case VideoModes.DirectX: return(new DirectXFormDrawer(GetDirectXScene(), drawerSettings)); case VideoModes.Winforms: return(new WinformsDrawer(_root, drawerSettings)); case VideoModes.No: return(null); default: throw new Exception("Video mode not supported"); } }
public DrawerControl CreateAndRunDrawerInStandaloneForm(VideoModes videoMode, DrawerSettings drawerSettings, Func<Form> formFactory) { FormDrawer drawer = CreateDrawer(videoMode, drawerSettings); DrawerControl drawerControl = null; var localsync = new ManualResetEventSlim(); var t = new Thread(() => { var form = formFactory(); drawerControl = new DrawerControl(drawer) { Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom }; form.Controls.Add(drawerControl); form.Shown += (o, e) => localsync.Set(); Application.Run(form); }); t.SetApartmentState(ApartmentState.STA); t.Start(); localsync.Wait(); if (drawer!=null) drawer.WaitForInitialization(); return drawerControl; }
public DrawerControl CreateAndRunDrawerInStandaloneForm(VideoModes videoMode, DrawerSettings drawerSettings, Func <Form> formFactory) { FormDrawer drawer = CreateDrawer(videoMode, drawerSettings); DrawerControl drawerControl = null; var localsync = new ManualResetEventSlim(); var t = new Thread(() => { var form = formFactory(); drawerControl = new DrawerControl(drawer) { Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom }; form.Controls.Add(drawerControl); form.Shown += (o, e) => localsync.Set(); Application.Run(form); }); t.SetApartmentState(ApartmentState.STA); t.Start(); localsync.Wait(); if (drawer != null) { drawer.WaitForInitialization(); } return(drawerControl); }
public abstract FormDrawer CreateDrawer(VideoModes videoModes, DrawerSettings drawerSettings);
public DrawerControl CreateAndRunDrawerInStandaloneForm(VideoModes videoMode, DrawerSettings drawerSettings) { return(CreateAndRunDrawerInStandaloneForm(videoMode, drawerSettings, EmptyFormFactory)); }
public DrawerControl CreateAndRunDrawerInStandaloneForm(VideoModes videoMode, DrawerSettings drawerSettings) { return CreateAndRunDrawerInStandaloneForm(videoMode, drawerSettings, EmptyFormFactory); }