gtkmm 4.16.0
|
Drawing context base class. More...
#include <gdkmm/drawcontext.h>
Public Member Functions | |
DrawContext (DrawContext &&src) noexcept | |
DrawContext & | operator= (DrawContext &&src) noexcept |
~DrawContext () noexcept override | |
GdkDrawContext * | gobj () |
Provides access to the underlying C GObject. | |
const GdkDrawContext * | gobj () const |
Provides access to the underlying C GObject. | |
GdkDrawContext * | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
Glib::RefPtr< Display > | get_display () |
Retrieves the Gdk::Display the context is created for. | |
Glib::RefPtr< const Display > | get_display () const |
Retrieves the Gdk::Display the context is created for. | |
Glib::RefPtr< Surface > | get_surface () |
Retrieves the surface that context is bound to. | |
Glib::RefPtr< const Surface > | get_surface () const |
Retrieves the surface that context is bound to. | |
void | begin_frame (const ::Cairo::RefPtr< const ::Cairo::Region > ®ion) |
Indicates that you are beginning the process of redrawing region on the context's surface. | |
void | end_frame () |
Ends a drawing operation started with begin_frame(). | |
bool | is_in_frame () const |
Returns true if context is in the process of drawing to its surface. | |
::Cairo::RefPtr< const ::Cairo::Region > | get_frame_region () const |
Retrieves the region that is currently being repainted. | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Display > > | property_display () const |
The Gdk::Display used to create the Gdk::DrawContext . | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Surface > > | property_surface () const |
The Gdk::Surface the context is bound to. | |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. | |
Protected Member Functions | |
DrawContext () | |
This constructor is protected because only derived classes shall be instantiated. | |
Related Symbols | |
(Note that these are not member symbols.) | |
Glib::RefPtr< Gdk::DrawContext > | wrap (GdkDrawContext *object, bool take_copy=false) |
A Glib::wrap() method for this object. | |
Drawing context base class.
Gdk::DrawContext is the base object used by contexts implementing different rendering methods, such as GLContext or VulkanContext. It provides shared functionality between those contexts.
You will always interact with one of those subclasses.
|
noexcept |
|
overridenoexcept |
|
protected |
This constructor is protected because only derived classes shall be instantiated.
Indicates that you are beginning the process of redrawing region on the context's surface.
Calling this function begins a drawing operation using context on the surface that context was created from. The actual requirements and guarantees for the drawing operation vary for different implementations of drawing, so a Gdk::CairoContext and a Gdk::GLContext need to be treated differently.
A call to this function is a requirement for drawing and must be followed by a call to end_frame(), which will complete the drawing operation and ensure the contents become visible on screen.
Note that the region passed to this function is the minimum region that needs to be drawn and depending on implementation, windowing system and hardware in use, it might be necessary to draw a larger region. Drawing implementation must use get_frame_region() to query the region that must be drawn.
When using GTK, the widget system automatically places calls to begin_frame() and end_frame() via the use of GskRenderers, so application code does not need to call these functions explicitly.
Deprecated: 4.16: Drawing directly to the surface is no longer recommended. Use Gsk::RenderNode
and Gsk::Renderer
.
region | Minimum region that should be drawn. |
void Gdk::DrawContext::end_frame | ( | ) |
Ends a drawing operation started with begin_frame().
This makes the drawing available on screen. See begin_frame() for more details about drawing.
When using a Gdk::GLContext, this function may call glFlush()
implicitly before returning; it is not recommended to call glFlush()
explicitly before calling this function.
Deprecated: 4.16: Drawing directly to the surface is no longer recommended. Use Gsk::RenderNode
and Gsk::Renderer
.
Glib::RefPtr< Display > Gdk::DrawContext::get_display | ( | ) |
Retrieves the Gdk::Display
the context is created for.
Gdk::Display
. Retrieves the Gdk::Display
the context is created for.
Gdk::Display
. ::Cairo::RefPtr< const ::Cairo::Region > Gdk::DrawContext::get_frame_region | ( | ) | const |
Retrieves the region that is currently being repainted.
After a call to begin_frame() this function will return a union of the region passed to that function and the area of the surface that the context determined needs to be repainted.
If context is not in between calls to begin_frame() and end_frame(), nullptr
will be returned.
Deprecated: 4.16: Drawing directly to the surface is no longer recommended. Use Gsk::RenderNode
and Gsk::Renderer
.
Glib::RefPtr< Surface > Gdk::DrawContext::get_surface | ( | ) |
Retrieves the surface that context is bound to.
Gdk::Surface
. Retrieves the surface that context is bound to.
Gdk::Surface
.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
GdkDrawContext * Gdk::DrawContext::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::DrawContext::is_in_frame | ( | ) | const |
Returns true
if context is in the process of drawing to its surface.
This is the case between calls to begin_frame() and end_frame(). In this situation, drawing commands may be effecting the contents of the context's surface.
Deprecated: 4.16: Drawing directly to the surface is no longer recommended. Use Gsk::RenderNode
and Gsk::Renderer
.
true
if the context is between begin_frame() and end_frame() calls.
|
noexcept |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Display > > Gdk::DrawContext::property_display | ( | ) | const |
The Gdk::Display
used to create the Gdk::DrawContext
.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Surface > > Gdk::DrawContext::property_surface | ( | ) | const |
The Gdk::Surface
the context is bound to.
|
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. |