forked from AuroraMiddleware/gtk
fc3cd85675
1999-08-28 Damon Chaplin <damon@karuna.freeserve.co.uk> * gtk/tmpl/gtkbbox.sgml: new section from Lee Mallabone. * gdk/gdk-sections.txt: rearranged rgb, regions, and drawing sections. * gdk/tmpl/rgb.sgml: new section from Raph Levien, with a few changes by me, including a little example app. * gdk/tmpl/regions.sgml: * gdk/tmpl/event_structs.sgml: * gdk/tmpl/drawing.sgml: my first attempt. * gdk/tmpl/cursors.sgml: tiny changes.
321 lines
9.8 KiB
Plaintext
321 lines
9.8 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
Drawing Primitives
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
functions for drawing points, lines, arcs, and text.
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
These functions provide support for drawing points, lines, arcs and text
|
|
onto what are called 'drawables'. Drawables, as the name suggests, are things
|
|
which support drawing onto them, and are either #GdkWindow or #GdkPixmap
|
|
objects.
|
|
</para>
|
|
<para>
|
|
Many of the drawing operations take a #GdkGC argument, which represents a
|
|
graphics context. This #GdkGC contains a number of drawing attributes such
|
|
as foreground color, background color and line width, and is used to reduce
|
|
the number of arguments needed for each drawing operation. See the
|
|
<link linkend="gdk-Graphics-Contexts">Graphics Contexts</link> section for
|
|
more information.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### ENUM GdkFill ##### -->
|
|
<para>
|
|
Used to specify the way in which drawing operations are performed.
|
|
See gdk_gc_set_fill().
|
|
</para>
|
|
|
|
@GDK_SOLID: graphics are drawn in a solid color, usually the foreground color
|
|
of the #GdkGC.
|
|
@GDK_TILED: graphics are drawn using a tile pixmap. See gdk_gc_set_tile().
|
|
@GDK_STIPPLED: graphics are drawn with a stipple (a pixmap with a depth of 1).
|
|
Bits set in the stipple are drawn in the foreground color. Bits not set in the
|
|
stipple are left as they are. See gdk_gc_set_stipple().
|
|
@GDK_OPAQUE_STIPPLED: graphics are drawn with a stipple, as in @GDK_STIPPLED,
|
|
except that the bits not set in the stipple are drawn in the background color
|
|
instead of being left as they are. See gdk_gc_set_stipple().
|
|
|
|
<!-- ##### ENUM GdkFillRule ##### -->
|
|
<para>
|
|
The method for determining which pixels are included in a region, when
|
|
creating a #GdkRegion from a polygon.
|
|
The fill rule is only relevant for polygons which overlap themselves.
|
|
</para>
|
|
|
|
@GDK_EVEN_ODD_RULE: areas which are overlapped an odd number of times are
|
|
included in the region, while areas overlapped an even number of times are not.
|
|
@GDK_WINDING_RULE: overlapping areas are always included.
|
|
|
|
|
|
<!-- ##### ENUM GdkLineStyle ##### -->
|
|
<para>
|
|
Used to specify how lines are drawn. See gdk_gc_set_line_attributes().
|
|
</para>
|
|
|
|
@GDK_LINE_SOLID: lines are drawn in a solid color, the foreground color.
|
|
@GDK_LINE_ON_OFF_DASH: dashed lines are drawn, with the pixels between the
|
|
dashes left as they are. The #GdkCapStyle is applied to each end of the dashes.
|
|
@GDK_LINE_DOUBLE_DASH: dashed lines are drawn, alternating between the
|
|
foreground and background colors. The %GDK_CAP_BUTT style is used where
|
|
dashes and gaps meet.
|
|
|
|
<!-- ##### ENUM GdkCapStyle ##### -->
|
|
<para>
|
|
Used to specify how the ends of lines and dashes are drawn.
|
|
See gdk_gc_set_line_attributes().
|
|
</para>
|
|
|
|
@GDK_CAP_NOT_LAST: this is equivalent to %GDK_CAP_BUTT, except that for a line
|
|
width of 0 the final endpoint is not drawn.
|
|
@GDK_CAP_BUTT: the ends of the line are square with no projection beyond the
|
|
endpoint.
|
|
@GDK_CAP_ROUND: the ends of the line are rounded using a circular arc centered
|
|
on the endpoint. This is equivalent to %GDK_CAP_BUTT when the line width is 0.
|
|
@GDK_CAP_PROJECTING: the ends of the line are square, but project beyond the
|
|
endpoint to a distance of half the line width.
|
|
This is equivalent to %GDK_CAP_BUTT when the line width is 0.
|
|
|
|
<!-- ##### ENUM GdkJoinStyle ##### -->
|
|
<para>
|
|
Used to specify how the the joins between lines are drawn.
|
|
See gdk_gc_set_line_attributes().
|
|
</para>
|
|
|
|
@GDK_JOIN_MITER: the ends of the lines are extended to meet at a point.
|
|
If the angle between the lines is less than 11 degrees, %GDK_JOIN_BEVEL is
|
|
used instead.
|
|
@GDK_JOIN_ROUND: the ends of the lines are rounded with a circular arc
|
|
centered on the joinpoint, with a diameter equal to the line width.
|
|
@GDK_JOIN_BEVEL: the lines have %GDK_CAP_BUTT cap styles, with the triangular
|
|
notch filled.
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### 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, similar to @angle1.
|
|
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### 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.
|
|
q@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.
|
|
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_draw_pixmap ##### -->
|
|
<para>
|
|
Draws a pixmap, or a part of a pixmap, onto another drawable.
|
|
</para>
|
|
|
|
@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.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_draw_bitmap ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
|
@gc:
|
|
@src:
|
|
@xsrc:
|
|
@ysrc:
|
|
@xdest:
|
|
@ydest:
|
|
@width:
|
|
@height:
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_draw_image ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
|
@gc:
|
|
@image:
|
|
@xsrc:
|
|
@ysrc:
|
|
@xdest:
|
|
@ydest:
|
|
@width:
|
|
@height:
|
|
|
|
|
|
<!-- ##### 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.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_draw_segments ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
|
@gc:
|
|
@segs:
|
|
@nsegs:
|
|
|
|
|
|
<!-- ##### STRUCT GdkSegment ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@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
|
|
lines.
|
|
@npoints: the number of endpoints.
|
|
|
|
|