MirBSD manpage: XDrawLine(3), XDrawLines(3), XDrawSegments(3), XSegment(3)


XDrawLine(3X11)          XLIB FUNCTIONS           XDrawLine(3X11)

NAME

     XDrawLine, XDrawLines, XDrawSegments, XSegment - draw lines,
     polygons, and line structure

SYNTAX

     int XDrawLine(Display *display, Drawable d, GC gc, int x1,
          int y1, int x2, int y2);

     int XDrawLines(Display *display, Drawable d, GC gc, XPoint
          *points, int npoints, int mode);

     int XDrawSegments(Display *display, Drawable d, GC gc, XSeg-
          ment *segments, int nsegments);

ARGUMENTS

     d         Specifies the drawable.

     display   Specifies the connection to the X server.

     gc        Specifies the GC.

     mode      Specifies the coordinate mode. You can pass Coord-
               ModeOrigin or CoordModePrevious.

     npoints   Specifies the number of points in the array.

     nsegments Specifies the number of segments in the array.

     points    Specifies an array of points.

     segments  Specifies an array of segments.

     x1
     y1
     x2
     y2        Specify the points (x1, y1) and (x2, y2) to be
               connected.

DESCRIPTION

     The XDrawLine function uses the components of the specified
     GC to draw a line between the specified set of points (x1,
     y1) and (x2, y2). It does not perform joining at coincident
     endpoints. For any given line, XDrawLine does not draw a
     pixel more than once. If lines intersect, the intersecting
     pixels are drawn multiple times.

     The XDrawLines function uses the components of the specified
     GC to draw npoints-1 lines between each pair of points
     (point[i], point[i+1]) in the array of XPoint structures. It
     draws the lines in the order listed in the array. The lines
     join correctly at all intermediate points, and if the first
     and last points coincide, the first and last lines also join

XFree86                   Version 4.5.0                         1

XDrawLine(3X11)          XLIB FUNCTIONS           XDrawLine(3X11)

     correctly. For any given line, XDrawLines does not draw a
     pixel more than once. If thin (zero line-width) lines inter-
     sect, the intersecting pixels are drawn multiple times. If
     wide lines intersect, the intersecting pixels are drawn only
     once, as though the entire PolyLine protocol request were a
     single, filled shape. CoordModeOrigin treats all coordinates
     as relative to the origin, and CoordModePrevious treats all
     coordinates after the first as relative to the previous
     point.

     The XDrawSegments function draws multiple, unconnected
     lines. For each segment, XDrawSegments draws a line between
     (x1, y1) and (x2, y2). It draws the lines in the order
     listed in the array of XSegment structures and does not per-
     form joining at coincident endpoints. For any given line,
     XDrawSegments does not draw a pixel more than once. If lines
     intersect, the intersecting pixels are drawn multiple times.

     All three functions use these GC components: function,
     plane-mask, line-width, line-style, cap-style, fill-style,
     subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
     The XDrawLines function also uses the join-style GC com-
     ponent. All three functions also use these GC mode-dependent
     components: foreground, background, tile, stipple, tile-
     stipple-x-origin, tile-stipple-y-origin, dash-offset, and
     dash-list.

     XDrawLine, XDrawLines, and XDrawSegments can generate Bad-
     Drawable, BadGC, and BadMatch errors. XDrawLines can also
     generate a BadValue error.

STRUCTURES

     The XSegment structure contains:

     typedef struct {
          short x1, y1, x2, y2;
     } XSegment;

     All x and y members are signed integers. The width and
     height members are 16-bit unsigned integers. You should be
     careful not to generate coordinates and sizes out of the
     16-bit ranges, because the protocol only has 16-bit fields
     for these values.

DIAGNOSTICS

     BadDrawable
               A value for a Drawable argument does not name a
               defined Window or Pixmap.

     BadGC     A value for a GContext argument does not name a
               defined GContext.

XFree86                   Version 4.5.0                         2

XDrawLine(3X11)          XLIB FUNCTIONS           XDrawLine(3X11)

     BadMatch  An InputOnly window is used as a Drawable.

     BadMatch  Some argument or pair of arguments has the correct
               type and range but fails to match in some other
               way required by the request.

     BadValue  Some numeric value falls outside the range of
               values accepted by the request. Unless a specific
               range is specified for an argument, the full range
               defined by the argument's type is accepted.  Any
               argument defined as a set of alternatives can gen-
               erate this error.

SEE ALSO

     XDrawArc(3X11), XDrawPoint(3X11), XDrawRectangle(3X11)
     Xlib - C Language X Interface

XFree86                   Version 4.5.0                         3

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.