public Application(string a_title, e_WindowFlags a_displayMode, e_ApplicationType a_applicationType = e_ApplicationType.Managed) { #if DEBUG_INFO Debug.Assert(Instance == null); #endif Instance = this; m_title = a_title; m_applicationType = a_applicationType; switch (m_applicationType) { case e_ApplicationType.Managed: { GameWindowFlags flags = GameWindowFlags.Default; switch (a_displayMode) { case e_WindowFlags.FixedWindow: { flags = GameWindowFlags.FixedWindow; break; } case e_WindowFlags.Fullscreen: { flags = GameWindowFlags.Fullscreen; break; } } m_internalApplication = new OpenTKApplication(this, a_title, flags); break; } case e_ApplicationType.Native: { m_internalApplication = new NativeApplication(this, a_title, a_displayMode); break; } } m_shutdown = false; Thread.CurrentThread.Priority = ThreadPriority.AboveNormal; m_input = new Input(this); }
public NativeApplication(Application a_application, string a_title, e_WindowFlags a_displayMode) { m_application = a_application; m_handle = ApplicationNew(a_title, (int)a_displayMode); }