bool SupportsExtension (SDL2WindowInfo window, string e) { if (e == null) throw new ArgumentNullException ("e"); bool supported = false; lock (API.sdl_api_lock) { supported = API.GL_ExtensionSupported (e); } return supported; }
public SDL2GLNative(int x, int y, int width, int height, string title, GraphicsMode mode,GameWindowFlags options, DisplayDevice device) : this() { if (width <= 0) throw new ArgumentOutOfRangeException("width", "Must be higher than zero."); if (height <= 0) throw new ArgumentOutOfRangeException("height", "Must be higher than zero."); Debug.Indent(); IntPtr windowId; desiredSizeX = width; desiredSizeY = height; isFullscreen = options.HasFlag(GameWindowFlags.Fullscreen); if (isFullscreen) { FixupFullscreenRes(width,height,out width, out height); } lock (API.sdl_api_lock) { API.Init (API.INIT_VIDEO); API.VideoInit("",0); // NOTE: Seriously, letting the user set x and y coords is a _bad_ idea. We'll let the WM take care of it. windowId = API.CreateWindow(title, 0x1FFF0000, 0x1FFF0000, width, height, API.WindowFlags.OpenGL | ((isFullscreen)?API.WindowFlags.Fullscreen:0)); } window = new SDL2WindowInfo(windowId); inputDriver = new SDL2Input(window); Debug.Unindent(); }