Drawing Primitives
<!-- ##### SECTION Short_Description ##### -->
-functions for drawing points, lines, arcs, and text.
+Functions for drawing points, lines, arcs, and text
<!-- ##### SECTION Long_Description ##### -->
<para>
<link linkend="gdk-Graphics-Contexts">Graphics Contexts</link> section for
more information.
</para>
+<para id="pango-data-structures">
+Some of the drawing operations take Pango data structures like #PangoContext,
+#PangoLayout or #PangoLayoutLine as arguments. If you're using GTK+, the ususal
+way to obtain these structures is via gtk_widget_create_pango_context() or
+gtk_widget_create_pango_layout().
+</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
-<!-- ##### STRUCT GdkDrawable ##### -->
-<para>
+<!-- ##### SECTION Stability_Level ##### -->
-</para>
-@user_data:
+<!-- ##### SECTION Image ##### -->
-<!-- ##### STRUCT GdkDrawableClass ##### -->
-<para>
+<!-- ##### STRUCT GdkDrawable ##### -->
+<para>
+An opaque structure representing an object that can be
+drawn onto. This can be a #GdkPixmap, a #GdkBitmap,
+or a #GdkWindow.
</para>
@Returns:
+<!-- ##### FUNCTION gdk_drawable_get_display ##### -->
+<para>
+
+</para>
+
+@drawable:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_drawable_get_screen ##### -->
+<para>
+
+</para>
+
+@drawable:
+@Returns:
+
+
<!-- ##### FUNCTION gdk_drawable_get_visual ##### -->
<para>
@height:
+<!-- ##### FUNCTION gdk_drawable_get_clip_region ##### -->
+<para>
+
+</para>
+
+@drawable:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_drawable_get_visible_region ##### -->
+<para>
+
+</para>
+
+@drawable:
+@Returns:
+
+
<!-- ##### FUNCTION gdk_draw_point ##### -->
<para>
-Draws a point, using the foreground color and other attributes of the #GdkGC.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@x: the x coordinate of the point.
-@y: the y coordinate of the point.
+@drawable:
+@gc:
+@x:
+@y:
<!-- ##### FUNCTION gdk_draw_points ##### -->
<para>
-Draws a number of points, using the foreground color and other attributes of
-the #GdkGC.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@points: an array of #GdkPoint structures.
-@npoints: the number of points to be drawn.
+@drawable:
+@gc:
+@points:
+@n_points:
<!-- ##### FUNCTION gdk_draw_line ##### -->
<para>
-Draws a line, using the foreground color and other attributes of the #GdkGC.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@x1: the x coordinate of the start point.
-@y1: the y coordinate of the start point.
-@x2: the x coordinate of the end point.
-@y2: the y coordinate of the end point.
+@drawable:
+@gc:
+@x1_:
+@y1_:
+@x2_:
+@y2_:
<!-- ##### FUNCTION gdk_draw_lines ##### -->
<para>
-Draws a series of lines connecting the given points.
-The way in which joins between lines are draw is determined by the
-#GdkCapStyle value in the #GdkGC. This can be set with
-gdk_gc_set_line_attributes().
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@points: an array of #GdkPoint structures specifying the endpoints of the
+@drawable:
+@gc:
+@points:
lines.
-@npoints: the size of the @points array.
+@n_points:
+
+
+<!-- ##### FUNCTION gdk_draw_pixbuf ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@pixbuf:
+@src_x:
+@src_y:
+@dest_x:
+@dest_y:
+@width:
+@height:
+@dither:
+@x_dither:
+@y_dither:
<!-- ##### FUNCTION gdk_draw_segments ##### -->
<para>
-Draws a number of unconnected lines.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@segs: an array of #GdkSegment structures specifying the start and end points
-of the lines to be drawn,
-@nsegs: the number of line segments to draw, i.e. the size of the @segs array.
+@drawable:
+@gc:
+@segs:
+@n_segs:
<!-- ##### STRUCT GdkSegment ##### -->
<!-- ##### FUNCTION gdk_draw_rectangle ##### -->
<para>
-Draws a rectangular outline or filled rectangle, using the foreground color
-and other attributes of the #GdkGC.
</para>
<note>
<para>
-A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle
-outlined. Calling gdk_draw_rectangle (window, gc, TRUE, 0, 0, 20, 20) results
-in a filled rectangle 20 pixels wide and 20 pixels high. Calling
-gdk_draw_rectangle (window, gc, FALSE, 0, 0, 20, 20) results in an outlined
-rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which
-makes it 21 pixels wide and 21 pixels high.
</para>
</note>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@filled: TRUE if the rectangle should be filled.
-@x: the x coordinate of the left edge of the rectangle.
-@y: the y coordinate of the top edge of the rectangle.
-@width: the width of the rectangle.
-@height: the height of the rectangle.
+@drawable:
+@gc:
+@filled:
+@x:
+@y:
+@width:
+@height:
<!-- ##### FUNCTION gdk_draw_arc ##### -->
<para>
-Draws an arc or a filled 'pie slice'. The arc is defined by the bounding
-rectangle of the entire ellipse, and the start and end angles of the part of
-the ellipse to be drawn.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@filled: TRUE if the arc should be filled, producing a 'pie slice'.
-@x: the x coordinate of the left edge of the bounding rectangle.
-@y: the y coordinate of the top edge of the bounding rectangle.
-@width: the width of the bounding rectangle.
-@height: the height of the bounding rectangle.
-@angle1: the start angle of the arc, relative to the 3 o'clock position,
-counter-clockwise, in 1/64ths of a degree.
-@angle2: the end angle of the arc, relative to @angle1, in 1/64ths of a degree.
+@drawable:
+@gc:
+@filled:
+@x:
+@y:
+@width:
+@height:
+@angle1:
+@angle2:
<!-- ##### FUNCTION gdk_draw_polygon ##### -->
<para>
-Draws an outlined or filled polygon.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@filled: TRUE if the polygon should be filled. The polygon is closed
-automatically, connecting the last point to the first point if necessary.
-@points: an array of #GdkPoint structures specifying the points making up the
-polygon.
-@npoints: the number of points.
+@drawable:
+@gc:
+@filled:
+@points:
+@n_points:
+
+
+<!-- ##### FUNCTION gdk_draw_trapezoids ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@trapezoids:
+@n_trapezoids:
+
+
+<!-- ##### STRUCT GdkTrapezoid ##### -->
+<para>
+Specifies a trapezpoid for use by the gdk_draw_trapezoids().
+The trapezoids used here have parallel, horizontal top and
+bottom edges.
+</para>
+@y1: the y coordinate of the start point.
+@x11: the x coordinate of the top left corner
+@x21: the x coordinate of the top right corner
+@y2: the y coordinate of the end point.
+@x12: the x coordinate of the bottom left corner
+@x22: the x coordinate of the bottom right corner
<!-- ##### FUNCTION gdk_draw_glyphs ##### -->
<para>
@glyphs:
+<!-- ##### FUNCTION gdk_draw_glyphs_transformed ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@matrix:
+@font:
+@x:
+@y:
+@glyphs:
+
+
<!-- ##### FUNCTION gdk_draw_layout_line ##### -->
<para>
@line:
+<!-- ##### FUNCTION gdk_draw_layout_line_with_colors ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@line:
+@foreground:
+@background:
+
+
<!-- ##### FUNCTION gdk_draw_layout ##### -->
<para>
@layout:
+<!-- ##### FUNCTION gdk_draw_layout_with_colors ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@layout:
+@foreground:
+@background:
+
+
<!-- ##### FUNCTION gdk_draw_string ##### -->
<para>
-Draws a string of characters in the given font or fontset.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@font: a #GdkFont.
-@gc: a #GdkGC.
-@x: the x coordinate of the left edge of the text.
-@y: the y coordinate of the baseline of the text.
-@string: the string of characters to draw.
+@drawable:
+@font:
+@gc:
+@x:
+@y:
+@string:
<!-- ##### FUNCTION gdk_draw_text ##### -->
<para>
-Draws a number of characters in the given font or fontset.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@font: a #GdkFont.
-@gc: a #GdkGC.
-@x: the x coordinate of the left edge of the text.
-@y: the y coordinate of the baseline of the text.
-@text: the characters to draw.
-@text_length: the number of characters of @text to draw.
+@drawable:
+@font:
+@gc:
+@x:
+@y:
+@text:
+@text_length:
<!-- ##### FUNCTION gdk_draw_text_wc ##### -->
<para>
-Draws a number of wide characters using the given font of fontset.
-If the font is a 1-byte font, the string is converted into 1-byte characters
-(discarding the high bytes) before output.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@font: a #GdkFont.
-@gc: a #GdkGC.
-@x: the x coordinate of the left edge of the text.
-@y: the y coordinate of the baseline of the text.
-@text: the wide characters to draw.
-@text_length: the number of characters to draw.
+@drawable:
+@font:
+@gc:
+@x:
+@y:
+@text:
+@text_length:
<!-- ##### MACRO gdk_draw_pixmap ##### -->
Draws a pixmap, or a part of a pixmap, onto another drawable.
</para>
-<!-- # Unused Parameters # -->
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@src: the source #GdkPixmap to draw.
-@xsrc: the left edge of the source rectangle within @src.
-@ysrc: the top of the source rectangle within @src.
-@xdest: the x coordinate of the destination within @drawable.
-@ydest: the y coordinate of the destination within @drawable.
-@width: the width of the area to be copied, or -1 to make the area extend to
-the right edge of the source pixmap.
-@height: the height of the area to be copied, or -1 to make the area extend
-to the bottom edge of the source pixmap.
+@Deprecated: Use gdk_draw_drawable() instead.
<!-- ##### FUNCTION gdk_draw_drawable ##### -->
<!-- ##### FUNCTION gdk_draw_image ##### -->
<para>
-Draws a #GdkImage onto a drawable.
-The depth of the #GdkImage must match the depth of the #GdkDrawable.
</para>
-@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
-@gc: a #GdkGC.
-@image: the #GdkImage to draw.
-@xsrc: the left edge of the source rectangle within @image.
-@ysrc: the top of the source rectangle within @image.
-@xdest: the x coordinate of the destination within @drawable.
-@ydest: the y coordinate of the destination within @drawable.
-@width: the width of the area to be copied, or -1 to make the area extend to
-the right edge of @image.
-@height: the height of the area to be copied, or -1 to make the area extend
-to the bottom edge of @image.
+@drawable:
+@gc:
+@image:
+@xsrc:
+@ysrc:
+@xdest:
+@ydest:
+@width:
+@height:
<!-- ##### FUNCTION gdk_drawable_get_image ##### -->
@Returns:
+<!-- ##### FUNCTION gdk_drawable_copy_to_image ##### -->
+<para>
+
+</para>
+
+@drawable:
+@image:
+@src_x:
+@src_y:
+@dest_x:
+@dest_y:
+@width:
+@height:
+@Returns:
+
+