Much of the behavior of the drawing commands described in pxl-prim is determined by the graphics attributes of the destination drawable (or of the gc, if one is supplied as argument). Following is a list of the graphics attributes and their meaning.
function(V)
clear, and,
and_reverse, copy, and_inverted,
noop, xor, or, nor,
equiv, invert, or_reverse,
copy_inverted, or_inverted,
nand, and set. Default is copy.
plane_mask(V)
foreground(V)
background(V)
line_width(V)
line_style(V)
solid,
double_dash, or on_off_dash.
Default is solid.
cap_style(V)
not_last, butt,
round, and projecting. Default is
butt.
join_style(V)
miter,
round, and bevel. Default is
miter.
fill_style(V)
solid, tiled,
opaque_stippled, and stippled.
Default is solid.
fill_rule(V)
odd_even_rule or winding_rule.
Default is odd_even_rule.
arc_mode(V)
pie_slice or chord. Default is
pie_slice.
tile(V)
file_style(tiled) is selected.
Default is a pixmap of unspecified size
filled with the foreground color.
stipple(V)
file_style(opaque_stippled) or
file_style(stippled) is selected. The
default is a bitmap of unspecified size
filled with 0.
ts_x_origin(V)
ts_y_origin(V)
ts_origin(X, Y)
ts_x_origin(X), ts_y_origin(Y).
font(V)
subwindow_mode(V)
clip_by_children and
include_inferiors. Default is
clip_by_children.
graphics_exposures(V)
true and false.
Default is true.
clip_x_origin(V)
clip_y_origin(V)
clip_origin(X, Y)
clip_x_origin(X), clip_y_origin(Y).
clip(V)
none, a bitmap, or a list of
rectangle(X, Y, Width, Height) terms.
If it is a bitmap, only pixels in the
destination corresponding to 1 bits in
the bitmap will be affected by drawing.
If a list of rectangle/4 terms, only
pixels in the destination that fall
within one of the rectangles will be
affected. Default is none.
clip(List, Order)
clip(List), except that
List must be
a list of rectangle(X, Y, Width, Height) terms, and
further, Order describes the order of
the terms in the list. Possible values
are unsorted, y_sorted,
y_x_sorted, and y_x_banded. The
default is that this attribute doesn't
apply, since by default there is no
clipping.
dashes(V)
line_style(double_dash) or
line_style(on_off_dash) are selected.
Default value is [4, 4] (which is the same as
[4] since the list is used cyclically).
dash_offset(V)
dashes(V)
list to begin drawing. Default is 0.
For more detailed information on particular attributes, see any good book on programming the X Window System. There are several good references on Xlib, the C interface to the X Window System.
If you are still confused about graphics attributes, the easiest, and often most effective, way to understand them is to experiment. ProXL makes this very easy. Simply open a window and use the drawing commands to draw into it. Then experiment with changing graphics attributes until you get the effect you want.