gtkmm: Gdk::GLContext Class Reference
A Gdk::GLContext is an OpenGL context abstraction. More...
#include <gdkmm/glcontext.h>

Public Member Functions |
|
GLContext ( GLContext && src) noexcept | |
GLContext & | operator= ( GLContext && src) noexcept |
~GLContext () noexceptoverride | |
GdkGLContext* | gobj () |
Provides access to the underlying C GObject.
More...
|
|
const GdkGLContext* | gobj () const |
Provides access to the underlying C GObject.
More...
|
|
GdkGLContext* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
More...
|
|
Glib::RefPtr < Display > | get_display () |
Retrieves the
Gdk::Display
the
context
is created for.
More...
|
|
Glib::RefPtr < const Display > | get_display () const |
Retrieves the
Gdk::Display
the
context
is created for.
More...
|
|
Glib::RefPtr < Window > | get_window () |
Retrieves the
Gdk::Window
used by the
context
.
More...
|
|
Glib::RefPtr < const Window > | get_window () const |
Retrieves the
Gdk::Window
used by the
context
.
More...
|
|
Glib::RefPtr < GLContext > | get_shared_context () |
Retrieves the
Gdk::GLContext
that this
context
share data with.
More...
|
|
Glib::RefPtr < const GLContext > | get_shared_context () const |
Retrieves the
Gdk::GLContext
that this
context
share data with.
More...
|
|
void | get_version (int& major, int& minor) const |
Retrieves the OpenGL version of the
context
.
More...
|
|
bool | is_legacy () const |
Whether the
Gdk::GLContext
is in legacy mode or not.
More...
|
|
void | get_required_version (int& major, int& minor) const |
Retrieves the major and minor version requested by calling gdk_gl_context_set_required_version().
More...
|
|
void | set_required_version (int major, int minor) |
Sets the major and minor version of OpenGL to request.
More...
|
|
bool | get_debug_enabled () const |
Retrieves the value set using gdk_gl_context_set_debug_enabled().
More...
|
|
void | set_debug_enabled (bool enabled=true) |
Sets whether the
Gdk::GLContext
should perform extra validations and run time checking.
More...
|
|
bool | get_forward_compatible () const |
Retrieves the value set using gdk_gl_context_set_forward_compatible().
More...
|
|
void | set_forward_compatible (bool compatible=true) |
Sets whether the
Gdk::GLContext
should be forward compatible.
More...
|
|
bool | realize () |
Realizes the given
Gdk::GLContext
.
More...
|
|
void | make_current () |
Makes the
context
the current one.
More...
|
|
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < Display > > | property_display () const |
The
Gdk::Display
used to create the
Gdk::GLContext
.
More...
|
|
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < GLContext > > | property_shared_context () const |
The
Gdk::GLContext
that this context is sharing data with, or #
nullptr
More...
|
|
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < Window > > | property_window () const |
The
Gdk::Window
the gl context is bound to.
More...
|
|
![]() |
|
Object (const Object &)=delete | |
Object & | operator= (const Object &)=delete |
Object ( Object &&src) noexcept | |
Object & | operator= ( Object &&src) noexcept |
void * | get_data (const QueryQuark &key) |
void | set_data (const Quark &key, void *data) |
void | set_data (const Quark &key, void *data, DestroyNotify notify) |
void | remove_data (const QueryQuark &quark) |
void * | steal_data (const QueryQuark &quark) |
Glib::RefPtr < Glib::Object > | wrap (GObject *object, bool take_copy=false) |
![]() |
|
ObjectBase (const ObjectBase &)=delete | |
ObjectBase & | operator= (const ObjectBase &)=delete |
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value) |
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const |
void | set_property (const Glib::ustring &property_name, const PropertyType &value) |
void | get_property (const Glib::ustring &property_name, PropertyType &value) const |
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot < void > &slot) |
void | connect_property_changed (const Glib::ustring &property_name, sigc::slot < void > &&slot) |
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot < void > &slot) |
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot < void > &&slot) |
void | freeze_notify () |
void | thaw_notify () |
virtual void | reference () const |
virtual void | unreference () const |
GObject * | gobj () |
const GObject * | gobj () const |
GObject * | gobj_copy () const |
![]() |
|
trackable () noexcept | |
trackable (const trackable &src) noexcept | |
trackable ( trackable &&src) | |
~trackable () | |
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const |
void | notify_callbacks () |
trackable & | operator= (const trackable &src) |
trackable & | operator= ( trackable &&src) |
void | remove_destroy_notify_callback (void *data) const |
Static Public Member Functions |
|
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system.
More...
|
|
static Glib::RefPtr < GLContext > | get_current () |
Retrieves the current
Gdk::GLContext
.
More...
|
|
static void | clear_current () |
Clears the current
Gdk::GLContext
.
More...
|
|
Protected Member Functions |
|
GLContext () | |
![]() |
|
Object () | |
Object (const Glib::ConstructParams &construct_params) | |
Object (GObject *castitem) | |
~Object () noexceptoverride | |
![]() |
|
ObjectBase () | |
ObjectBase (const char *custom_type_name) | |
ObjectBase (const std::type_info &custom_type_info) | |
ObjectBase ( ObjectBase &&src) noexcept | |
ObjectBase & | operator= ( ObjectBase &&src) noexcept |
virtual | ~ObjectBase () noexcept=0 |
void | initialize (GObject *castitem) |
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper) |
Related Functions |
|
(Note that these are not member functions.) |
|
Glib::RefPtr < Gdk::GLContext > | wrap (GdkGLContext* object, bool take_copy=false) |
A
Glib::wrap()
method for this object.
More...
|
|
Additional Inherited Members |
|
![]() |
|
typedef void(*)(gpointer data | DestroyNotify ) |
![]() |
|
typedef internal::func_destroy_notify | func_destroy_notify |
Detailed Description
A Gdk::GLContext is an OpenGL context abstraction.
It's a low-level object, used to implement high-level objects such as Gtk::GLArea on the GTK+ level.
Constructor & Destructor Documentation
|
noexcept |
|
override noexcept |
|
protected |
Member Function Documentation
|
static |
Clears the current Gdk::GLContext .
Any OpenGL call after this function returns will be ignored until gdk_gl_context_make_current() is called.
|
static |
Retrieves the current Gdk::GLContext .
- Returns
-
The current
Gdk::GLContext
, or
nullptr
.
bool Gdk::GLContext::get_debug_enabled | ( | ) | const |
Retrieves the value set using gdk_gl_context_set_debug_enabled().
- Returns
-
true
if debugging is enabled.
Glib::RefPtr < Display > Gdk::GLContext::get_display | ( | ) |
Retrieves the Gdk::Display the context is created for.
- Returns
-
A
Gdk::Display
or
nullptr
.
Glib::RefPtr <const Display > Gdk::GLContext::get_display | ( | ) | const |
Retrieves the Gdk::Display the context is created for.
- Returns
-
A
Gdk::Display
or
nullptr
.
bool Gdk::GLContext::get_forward_compatible | ( | ) | const |
Retrieves the value set using gdk_gl_context_set_forward_compatible().
- Returns
-
true
if the context should be forward compatible.
void Gdk::GLContext::get_required_version | ( | int & | major , |
int & | minor | ||
) | const |
Retrieves the major and minor version requested by calling gdk_gl_context_set_required_version().
- Parameters
-
major Return location for the major version to request. minor Return location for the minor version to request.
Glib::RefPtr < GLContext > Gdk::GLContext::get_shared_context | ( | ) |
Retrieves the Gdk::GLContext that this context share data with.
- Returns
-
A
Gdk::GLContext
or
nullptr
.
Glib::RefPtr <const GLContext > Gdk::GLContext::get_shared_context | ( | ) | const |
Retrieves the Gdk::GLContext that this context share data with.
- Returns
-
A
Gdk::GLContext
or
nullptr
.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
void Gdk::GLContext::get_version | ( | int & | major , |
int & | minor | ||
) | const |
Retrieves the OpenGL version of the context .
The context must be realized prior to calling this function.
- Parameters
-
major Return location for the major version. minor Return location for the minor version.
Glib::RefPtr < Window > Gdk::GLContext::get_window | ( | ) |
Retrieves the Gdk::Window used by the context .
- Returns
-
A
Gdk::Window
or
nullptr
.
Glib::RefPtr <const Window > Gdk::GLContext::get_window | ( | ) | const |
Retrieves the Gdk::Window used by the context .
- Returns
-
A
Gdk::Window
or
nullptr
.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
GdkGLContext* Gdk::GLContext::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool Gdk::GLContext::is_legacy | ( | ) | const |
Whether the Gdk::GLContext is in legacy mode or not.
The Gdk::GLContext must be realized before calling this function.
When realizing a GL context, GDK will try to use the OpenGL 3.2 core profile; this profile removes all the OpenGL API that was deprecated prior to the 3.2 version of the specification. If the realization is successful, this function will return
false
.
If the underlying OpenGL implementation does not support core profiles, GDK will fall back to a pre-3.2 compatibility profile, and this function will return
true
.
You can use the value returned by this function to decide which kind of OpenGL API to use, or whether to do extension discovery, or what kind of shader programs to load.
- Returns
-
true
if the GL context is in legacy mode.
void Gdk::GLContext::make_current | ( | ) |
Makes the context the current one.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < Display > > Gdk::GLContext::property_display | ( | ) | const |
The Gdk::Display used to create the Gdk::GLContext .
- Returns
- A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < GLContext > > Gdk::GLContext::property_shared_context | ( | ) | const |
The
Gdk::GLContext
that this context is sharing data with, or #
nullptr
- Returns
- A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < Window > > Gdk::GLContext::property_window | ( | ) | const |
The Gdk::Window the gl context is bound to.
- Returns
- A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
bool Gdk::GLContext::realize | ( | ) |
Realizes the given Gdk::GLContext .
It is safe to call this function on a realized Gdk::GLContext .
- Returns
-
true
if the context is realized.
void Gdk::GLContext::set_debug_enabled | ( | bool |
enabled
=
true
|
) |
Sets whether the Gdk::GLContext should perform extra validations and run time checking.
This is useful during development, but has additional overhead.
The Gdk::GLContext must not be realized or made current prior to calling this function.
- Parameters
-
enabled Whether to enable debugging in the context.
void Gdk::GLContext::set_forward_compatible | ( | bool |
compatible
=
true
|
) |
Sets whether the Gdk::GLContext should be forward compatible.
Forward compatibile contexts must not support OpenGL functionality that has been marked as deprecated in the requested version; non-forward compatible contexts, on the other hand, must support both deprecated and non deprecated functionality.
The Gdk::GLContext must not be realized or made current prior to calling this function.
- Parameters
-
compatible Whether the context should be forward compatible.
void Gdk::GLContext::set_required_version | ( | int | major , |
int | minor | ||
) |
Sets the major and minor version of OpenGL to request.
Setting major and minor to zero will use the default values.
The Gdk::GLContext must not be realized or made current prior to calling this function.
- Parameters
-
major The major version to request. minor The minor version to request.
Friends And Related Function Documentation
|
related |
A Glib::wrap() method for this object.
- Parameters
-
object The C instance. take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- Returns
- A C++ instance that wraps this C instance.