private IntPtr GetDisplay(IntPtr dc) { IntPtr display = Egl.GetDisplay(dc); if (display == IntPtr.Zero) { display = Egl.GetDisplay(IntPtr.Zero); } return(display); }
public EglWindowInfo(IntPtr handle, IntPtr display, IntPtr surface) { Handle = handle; Surface = surface; if (display == IntPtr.Zero) { display = Egl.GetDisplay(IntPtr.Zero); } Display = display; int dummyMajor, dummyMinor; if (!Egl.Initialize(Display, out dummyMajor, out dummyMinor)) { throw new GraphicsContextException(String.Format("Failed to initialize EGL, error {0}.", Egl.GetError())); } }
public override IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { X11WindowInfo x11_win = (X11WindowInfo)window; EglWindowInfo egl_win = new osuTK.Platform.Egl.EglWindowInfo(x11_win.Handle, Egl.GetDisplay(x11_win.Display)); return(new EglUnixContext(handle, egl_win, shareContext, major, minor, flags)); }