class Gdk::DrawContext
- Gdk::DrawContext
- GObject::Object
- Reference
- Object
Overview
Base class for objects implementing different rendering methods.
Gdk::DrawContext
is the base object used by contexts implementing different
rendering methods, such as Gdk::CairoContext
or Gdk::GLContext
.
It provides shared functionality between those contexts.
You will always interact with one of those subclasses.
A Gdk::DrawContext
is always associated with a single toplevel surface.
Direct Known Subclasses
Defined in:
lib/gi-crystal/src/auto/gdk-4.0/draw_context.crConstructors
-
.new
Initialize a new
DrawContext
. - .new(*, display : Gdk::Display? = nil, surface : Gdk::Surface? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#begin_frame(region : Cairo::Region) : Nil
Indicates that you are beginning the process of redrawing @region on the @context's surface.
-
#display : Gdk::Display?
Retrieves the
Gdk::Display
the @context is created for - #display=(value : Gdk::Display?) : Gdk::Display?
-
#end_frame : Nil
Ends a drawing operation started with gdk_draw_context_begin_frame().
-
#frame_region : Cairo::Region?
Retrieves the region that is currently being repainted.
-
#is_in_frame : Bool
Returns
true
if @context is in the process of drawing to its surface. -
#surface : Gdk::Surface?
Retrieves the surface that @context is bound to.
- #surface=(value : Gdk::Surface?) : Gdk::Surface?
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Class Method Detail
Instance Method Detail
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 Gdk::DrawContext#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 Gdk::DrawContext#frame_region
to
query the region that must be drawn.
When using GTK, the widget system automatically places calls to
gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() via the
use of Gsk::Renderer
s, so application code does not need to call
these functions explicitly.
Ends a drawing operation started with gdk_draw_context_begin_frame().
This makes the drawing available on screen.
See Gdk::DrawContext#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.
Retrieves the region that is currently being repainted.
After a call to Gdk::DrawContext#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 Gdk::DrawContext#begin_frame
and Gdk::DrawContext#end_frame
, nil
will be returned.
Returns true
if @context is in the process of drawing to its surface.
This is the case between calls to Gdk::DrawContext#begin_frame
and Gdk::DrawContext#end_frame
. In this situation, drawing commands
may be effecting the contents of the @context's surface.