Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ DrawSegs(3X) — DeltaWindows 1.3.3 Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

 

NAME

XDrawSegments — draw multiple disjoint lines. 

SYNOPSIS

XDrawSegments(display, drawable, gc, segments, nsegments) Display ∗display;  Drawable drawable;  GC gc;  XSegment ∗segments;  int nsegments;

ARGUMENTS

displaySpecifies a connection to an X server; returned from XOpenDisplay(). 

drawableSpecifies the drawable. 

gcSpecifies the graphics context. 

segmentsSpecifies a pointer to an array of line segments. 

nsegmentsSpecifies the number of segments in the array. 

DESCRIPTION

XDrawSegments() draws multiple line segments into the specified drawable.  Each line is specified by a pair of points, so the line may be connected or disjoint. 

For each segment, XDrawSegments() draws a line between (x1, y1) and (x2, y2).  The lines are drawn in the order listed in segments.  For any given line, no pixel is drawn more than once.  If lines intersect, pixels will be drawn multiple times.  The lines will be drawn separately, without regard to the join_style. 

In R4 and earlier there is a limit to the number of rectangles that can be drawn in a single XDrawSegments() call, based on the maximum request size, which varies according to the server.  In R5, Xlib chops your call into as many protocol requests as required.  To determine how many rectangles you can draw in a single call in R4, find out your server’s maximum request size using XMaxRequestSize().  Subtract three and divide by two.  This is the maximum number of segments you can draw in a single XDrawSegments() call. 

XDrawSegments() uses these graphics context components:  function, plane_mask, line_width, line_style, cap_style, fill_style, subwindow_mode, clip_ x_origin, clip_y_origin, and clip_mask.  XDrawSegments() also uses these graphics context mode-dependent components: foreground, background, tile, stipple, ts_x_origin, ts_y_origin, dash_offset, and dashes. 

For more information, see Volume One, Chapter 6, Drawing Graphics and Text, and Chapter 5, The Graphics Context. 

STRUCTURES

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

ERRORS

BadDrawable
Specified drawable is invalid.

BadGCSpecified GC is invalid, or does not match the depth of drawable. 

BadMatchSpecified drawable is an InputOnly window. 

SEE ALSO

XClearArea(), XClearWindow(), XCopyArea(), XCopyPlane(), XDraw, XDrawArc(), XDrawArcs(), XDrawFilled(), XDrawLine(), XDrawLines(), XDrawPoint(), XDrawPoints(), XDrawRectangle(), XDrawRectangles(), XFillArc(), XFillArcs(), XFillPolygon(), XFillRectangle(), XFillRectangles(). 

Xlib Reference Manual

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026