Gdk.Cairo

Entities

Subprograms

Description

Interfacing between Gdk and Cairo.

<c_version>2.16.6</c_version> <group>Cairo</group>

Create

function Create (Window : Gdk.Gdk_Window) return Cairo_Context

Creates a Cairo context for drawing to Drawable.

Note that due to double-buffering, Cairo contexts created in a GTK+ expose event handler cannot be cached and reused between different expose events.

Returns a newly created Cairo context. The result should be freed with Cairo.Destroy.

Parameters
Window
Return Value

Create_From_Pixbuf

function Create_From_Pixbuf
   (Pixbuf  : Gdk_Pixbuf;
    Scale   : Gint;
    For_Window : Gdk.Gdk_Window := null) return Cairo_Surface

Creates an image surface with the same contents as the pixbuf. This is similar to the work done by Set_Source_Pixbuf, but allows you to specify the scale factor for the screen, i.e. adapt to high-dpi (Retina) screens. You can then use Gtk.Style_Context.Render_Icon_Surface to paint the surface onto a Cairo_Context, and then destroy the surface. See also the convenient wrapper Gtkada.Style.Draw_Pixbuf_With_Scale.

Parameters
Pixbuf
Scale
For_Window
Return Value

Set_Source_Color

procedure Set_Source_Color
  (Cr       : Cairo_Context;
   Color    : Gdk_Color)

Set the specified Color as the source of Cr.

Parameters
Cr
Color

Set_Source_Pixbuf

procedure Set_Source_Pixbuf
  (Cr       : Cairo_Context;
   Pixbuf   : Gdk_Pixbuf;
   Pixbuf_X : Gdouble;
   Pixbuf_Y : Gdouble)

Sets the given pixbuf as the source pattern for the Cairo context. The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of Pixbuf is Pixbuf_X, Pixbuf_Y

Parameters
Cr

a Cairo_Context

Pixbuf

a Gdk_Pixbuf

Pixbuf_X

X coordinate of location to place upper left corner of Pixbuf

Pixbuf_Y

Y coordinate of location to place upper left corner of Pixbuf

Set_Source_RGBA

procedure Set_Source_RGBA
  (Cr       : Cairo_Context;
   Color    : Gdk.RGBA.Gdk_RGBA)

Set the specified Color as the source of Cr.

Parameters
Cr
Color