mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-29 18:47:38 +00:00
22e6f37c9c
One of the major requests by OpenGL users has been the ability to specify settings when creating a GL context, like the version to use or whether the debug support should be enabled. We have a couple of requirements in terms of API: • avoid, if at all possible, the "C arrays of integers with attribute, value pairs", which are hard to write and hard to bind in non-C languages. • allow failing in a recoverable way. • do not make the GL context creation API a mess of arguments. Looking at prior art, it seems that a common pattern is to split the construction phase in two: • a first phase that creates a GL context wrapper object and does preliminary checks on the environment. • a second phase that creates the backend-specific GL object. We adopted a similar pattern: • gdk_window_create_gl_context() creates a GdkGLContext • gdk_gl_context_realize() creates the underlying resources Calling gdk_gl_context_make_current() also realizes the context, so simple GL users do not need to care. Advanced users will want to call gdk_window_create_gl_context(), set up the optional requirements, and then call gdk_gl_context_realize(). If either of these two steps fails, it's possible to recover by changing the requirements, or simply creating a new GdkGLContext instance. https://bugzilla.gnome.org/show_bug.cgi?id=741946 |
||
---|---|---|
.. | ||
gdkapplaunchcontext-x11.c | ||
gdkasync.c | ||
gdkasync.h | ||
gdkcursor-x11.c | ||
gdkdevice-core-x11.c | ||
gdkdevice-xi2.c | ||
gdkdevicemanager-core-x11.c | ||
gdkdevicemanager-x11.c | ||
gdkdevicemanager-xi2.c | ||
gdkdevicemanagerprivate-core.h | ||
gdkdisplay-x11.c | ||
gdkdisplay-x11.h | ||
gdkdisplaymanager-x11.c | ||
gdkdnd-x11.c | ||
gdkeventsource.c | ||
gdkeventsource.h | ||
gdkeventtranslator.c | ||
gdkeventtranslator.h | ||
gdkgeometry-x11.c | ||
gdkglcontext-x11.c | ||
gdkglcontext-x11.h | ||
gdkkeys-x11.c | ||
gdkmain-x11.c | ||
gdkprivate-x11.h | ||
gdkproperty-x11.c | ||
gdkscreen-x11.c | ||
gdkscreen-x11.h | ||
gdkselection-x11.c | ||
gdksettings.c | ||
gdktestutils-x11.c | ||
gdkvisual-x11.c | ||
gdkwindow-x11.c | ||
gdkwindow-x11.h | ||
gdkx11applaunchcontext.h | ||
gdkx11cursor.h | ||
gdkx11device-core.h | ||
gdkx11device-xi2.h | ||
gdkx11device.h | ||
gdkx11devicemanager-core.h | ||
gdkx11devicemanager-xi2.h | ||
gdkx11devicemanager-xi.h | ||
gdkx11devicemanager.h | ||
gdkx11display.h | ||
gdkx11displaymanager.h | ||
gdkx11dnd.h | ||
gdkx11glcontext.h | ||
gdkx11keys.h | ||
gdkx11property.h | ||
gdkx11screen.h | ||
gdkx11selection.h | ||
gdkx11utils.h | ||
gdkx11visual.h | ||
gdkx11window.h | ||
gdkx-autocleanups.h | ||
gdkx.h | ||
gdkxftdefaults.c | ||
gdkxid.c | ||
Makefile.am | ||
MwmUtil.h | ||
xsettings-client.c | ||
xsettings-client.h |