gtkmm
4.2.0
|
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 () noexcept override | |
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 display the context is created for. More... | |
Glib::RefPtr< const Display > | get_display () const |
Retrieves the display the context is created for. More... | |
Glib::RefPtr< Surface > | get_surface () |
Retrieves the surface used by the context. More... | |
Glib::RefPtr< const Surface > | get_surface () const |
Retrieves the surface used by the context. More... | |
Glib::RefPtr< GLContext > | get_shared_context () |
Retrieves the GdkGLContext that this context share data with. More... | |
Glib::RefPtr< const GLContext > | get_shared_context () const |
Retrieves the GdkGLContext 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 GdkGLContext is in legacy mode or not. More... | |
void | get_required_version (int& major, int& minor) const |
Retrieves required OpenGL 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 whether the context is doing extra validations and runtime checking. More... | |
void | set_debug_enabled (bool enabled=true) |
Sets whether the GdkGLContext should perform extra validations and runtime checking. More... | |
bool | get_forward_compatible () const |
Retrieves whether the context is forward-compatible. More... | |
void | set_forward_compatible (bool compatible=true) |
Sets whether the GdkGLContext should be forward-compatible. More... | |
void | set_use_es (bool use_es=true) |
Requests that GDK create an OpenGL ES context instead of an OpenGL one, if the platform and windowing system allows it. More... | |
void | unset_use_es () |
Undo a previous call to set_use_es(). More... | |
bool | get_use_es () const |
Checks whether the context is using an OpenGL or OpenGL ES profile. More... | |
bool | realize () |
Realizes the given GdkGLContext . More... | |
void | make_current () |
Makes the context the current one. More... | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< GLContext > > | property_shared_context () const |
The GdkGLContext that this context is sharing data with, or nullptr More... | |
![]() | |
DrawContext (DrawContext&& src) noexcept | |
DrawContext& | operator= (DrawContext&& src) noexcept |
~DrawContext () noexcept override | |
GdkDrawContext* | gobj () |
Provides access to the underlying C GObject. More... | |
const GdkDrawContext* | gobj () const |
Provides access to the underlying C GObject. More... | |
GdkDrawContext* | 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 GdkDisplay the context is created for. More... | |
Glib::RefPtr< const Display > | get_display () const |
Retrieves the GdkDisplay the context is created for. More... | |
Glib::RefPtr< Surface > | get_surface () |
Retrieves the surface that context is bound to. More... | |
Glib::RefPtr< const Surface > | get_surface () const |
Retrieves the surface that context is bound to. More... | |
void | begin_frame (const ::Cairo::RefPtr< const ::Cairo::Region >& region) |
Indicates that you are beginning the process of redrawing region on the context's surface. More... | |
void | end_frame () |
Ends a drawing operation started with begin_frame(). More... | |
bool | is_in_frame () const |
Returns true if context is in the process of drawing to its surface. More... | |
::Cairo::RefPtr< const ::Cairo::Region > | get_frame_region () const |
Retrieves the region that is currently being repainted. More... | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Display > > | property_display () const |
The GdkDisplay used to create the GdkDrawContext . More... | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Surface > > | property_surface () const |
The GdkSurface the 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 |
PropertyType | get_property (const Glib::ustring &property_name) const |
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot) |
sigc::connection | connect_property_changed (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 |
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 GdkGLContext . More... | |
static void | clear_current () |
Clears the current GdkGLContext . More... | |
![]() | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
Protected Member Functions | |
GLContext () | |
![]() | |
DrawContext () | |
This constructor is protected because only derived classes shall be instantiated. More... | |
![]() | |
Object () | |
Object (const Glib::ConstructParams &construct_params) | |
Object (GObject *castitem) | |
~Object () noexcept override | |
![]() | |
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... | |
![]() | |
Glib::RefPtr< Gdk::DrawContext > | wrap (GdkDrawContext* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
Additional Inherited Members | |
![]() | |
typedef void(*)(gpointer data | DestroyNotify) |
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.
|
noexcept |
|
overridenoexcept |
|
protected |
|
static |
Clears the current GdkGLContext
.
Any OpenGL call after this function returns will be ignored until [method Gdk.GLContext.make_current] is called.
|
static |
bool Gdk::GLContext::get_debug_enabled | ( | ) | const |
Retrieves whether the context is doing extra validations and runtime checking.
See [method Gdk.GLContext.set_debug_enabled].
true
if debugging is enabled. Glib::RefPtr<Display> Gdk::GLContext::get_display | ( | ) |
Glib::RefPtr<const Display> Gdk::GLContext::get_display | ( | ) | const |
bool Gdk::GLContext::get_forward_compatible | ( | ) | const |
Retrieves whether the context is forward-compatible.
See [method Gdk.GLContext.set_forward_compatible].
true
if the context should be forward-compatible. void Gdk::GLContext::get_required_version | ( | int & | major, |
int & | minor | ||
) | const |
Retrieves required OpenGL version.
See [method Gdk.GLContext.set_required_version].
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 GdkGLContext
that this context share data with.
GdkGLContext
or nullptr
. Glib::RefPtr<const GLContext> Gdk::GLContext::get_shared_context | ( | ) | const |
Retrieves the GdkGLContext
that this context share data with.
GdkGLContext
or nullptr
. Glib::RefPtr<Surface> Gdk::GLContext::get_surface | ( | ) |
Glib::RefPtr<const Surface> Gdk::GLContext::get_surface | ( | ) | const |
|
static |
Get the GType for this class, for use with the underlying GObject type system.
bool Gdk::GLContext::get_use_es | ( | ) | const |
Checks whether the context is using an OpenGL or OpenGL ES profile.
true
if the GdkGLContext
is using an OpenGL ES profile. 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.
major | Return location for the major version. |
minor | Return location for the minor version. |
|
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 GdkGLContext
is in legacy mode or not.
The GdkGLContext
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.
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<GLContext> > Gdk::GLContext::property_shared_context | ( | ) | const |
The GdkGLContext
that this context is sharing data with, or nullptr
bool Gdk::GLContext::realize | ( | ) |
Realizes the given GdkGLContext
.
It is safe to call this function on a realized GdkGLContext
.
true
if the context is realized.Glib::Error |
void Gdk::GLContext::set_debug_enabled | ( | bool | enabled = true | ) |
Sets whether the GdkGLContext
should perform extra validations and runtime checking.
This is useful during development, but has additional overhead.
The GdkGLContext
must not be realized or made current prior to calling this function.
enabled | Whether to enable debugging in the context. |
void Gdk::GLContext::set_forward_compatible | ( | bool | compatible = true | ) |
Sets whether the GdkGLContext
should be forward-compatible.
Forward-compatible 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 GdkGLContext
must not be realized or made current prior to calling this function.
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 GdkGLContext
must not be realized or made current prior to calling this function.
major | The major version to request. |
minor | The minor version to request. |
void Gdk::GLContext::set_use_es | ( | bool | use_es = true | ) |
Requests that GDK create an OpenGL ES context instead of an OpenGL one, if the platform and windowing system allows it.
The GLContext must not have been realized.
By default, GDK will attempt to automatically detect whether the underlying GL implementation is OpenGL or OpenGL ES once the GLContext is realized.
You should check the return value of get_use_es() after calling realize() to decide whether to use the OpenGL or OpenGL ES API, extensions, or shaders.
use_es | Whether the context should use OpenGL ES instead of OpenGL. |
void Gdk::GLContext::unset_use_es | ( | ) |
Undo a previous call to set_use_es().
GDK will attempt to automatically detect whether the underlying GL implementation is OpenGL or OpenGL ES once the GLContext is realized.
|
related |
A Glib::wrap() method for this object.
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. |