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.