5.4 Controlling Coloring and Patterning
The first stage of the drawing process (pixel selection) results in a bitmap with bits set to one indicating the pixels to be drawn. However, a window on a color display (or a pixmap to be copied to a color display) must have multiple bits per pixel to represent colors. The second stage of the drawing process colors the pixels.
There are four ways of coloring the pixels, controlled by the
fill_style
member of the GC. One of them uses a
single color, and the other three apply patterns in different ways. You
can pattern anything you can draw, including text, although lines of
width 0 are not patterned.
We will begin by discussing the simple case, drawing with only the
foreground color using fill_style
of
FillSolid
. Then, to understand the effect of the
patterning values for the fill_style
, we must digress
into a short description of tiles and stipples, followed by a discussion
of the three styles of patterning.
5.4.1 Drawing in Foreground Only
Basic drawing is done using the foreground
member of the GC. The foreground
specifies the
pixel value to be applied to the pixels selected by the graphics
primitive, when the fill_style
is
FillSolid
.[13] The uses of the background color are restricted and are
described in 5.4.5 Drawing in Foreground and Background.
You can set the foreground
with
XSetForeground()
.
Figure 5-10 shows the use of
the foreground
pixel value when drawing a character
with XDrawString()
. We will contrast this later with a string drawn ...
Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.