XParseGeometry(3X) XParseGeometry(3X)
NAME
XParseGeometry, XGeometry, XParseColor - parse window
geometry and color
SYNOPSIS
int XParseGeometry(parsestring, x_return, y_return,
width_return, height_return)
char *parsestring;
int *x_return, *y_return;
int *width_return, *height_return;
int XGeometry(display, screen, position,
default_position, bwidth, fwidth, fheight, xadder,
yadder, x_return, y_return,
width_return, height_return)
Display *display;
int screen;
char *position, *default_position;
unsigned int bwidth;
unsigned int fwidth, fheight;
int xadder, yadder;
int *x_return, *y_return;
int *width_return, *height_return;
Status XParseColor(display, colormap, spec,
exact_def_return)
Display *display;
Colormap colormap;
char *spec;
XColor *exact_def_return;
ARGUMENTS
bwidth Specifies the border width.
colormap Specifies the colormap.
position
default_position
Specify the geometry specifications.
display Specifies the connection to the X server.
exact_def_return
Returns the exact color value for later use
and sets the DoRed, DoGreen, and DoBlue
flags.
fheight
fwidth Specify the font height and width in pixels
(increment size).
parsestring
- 1 -
XParseGeometry(3X) XParseGeometry(3X)
Specifies the string you want to parse.
screen Specifies the screen.
spec Specifies the color name string; case is
ignored.
width_return
height_return
Return the width and height determined.
xadder
yadder Specify additional interior padding needed in
the window.
x_return
y_return Return the x and y offsets.
DESCRIPTION
By convention, X applications use a standard string to
indicate window size and placement. XParseGeometry
makes it easier to conform to this standard because it
allows you to parse the standard window geometry.
Specifically, this function lets you parse strings of
the form:
[=][<width>x<height>][{+-}<xoffset>{+-}<yoffset>]
The items in this form map into the arguments
associated with this function. (Items enclosed in <>
are integers, items in [] are optional, and items
enclosed in {} indicate ``choose one of''. Note that
the brackets should not appear in the actual string.)
The XParseGeometry function returns a bitmask that
indicates which of the four values (width, height,
xoffset, and yoffset) were actually found in the string
and whether the x and y values are negative. By
convention, -0 is not equal to +0, because the user
needs to be able to say ``position the window relative
to the right or bottom edge.'' For each value found,
the corresponding argument is updated. For each value
not found, the argument is left unchanged. The bits
are represented by XValue, YValue, WidthValue,
HeightValue, XNegative, or YNegative and are defined in
<X11/Xutil.h>. They will be set whenever one of the
values is defined or one of the signs is set.
If the function returns either the XValue or YValue
flag, you should place the window at the requested
position.
- 2 -
XParseGeometry(3X) XParseGeometry(3X)
You pass in the border width (bwidth), size of the
increments fwidth and fheight (typically font width and
height), and any additional interior space (xadder and
yadder) to make it easy to compute the resulting size.
The XGeometry function returns the position the window
should be placed given a position and a default
position. XGeometry determines the placement of a
window using a geometry specification as specified by
XParseGeometry and the additional information about the
window. Given a fully qualified default geometry
specification and an incomplete geometry specification,
XParseGeometry returns a bitmask value as defined above
in the XParseGeometry call, by using the position
argument.
The returned width and height will be the width and
height specified by default_position as overridden by
any user-specified position. They are not affected by
fwidth, fheight, xadder, or yadder. The x and y
coordinates are computed by using the border width, the
screen width and height, padding as specified by xadder
and yadder, and the fheight and fwidth times the width
and height from the geometry specifications.
The XParseColor function provides a simple way to
create a standard user interface to color. It takes a
string specification of a color, typically from a
command line or XGetDefault option, and returns the
corresponding red, green, and blue values that are
suitable for a subsequent call to XAllocColor or
XStoreColor. The color can be specified either as a
color name (as in XAllocNamedColor) or as an initial
sharp sign character followed by a numeric
specification, in one of the following formats:
(Reg.) #RGB(4 bits each)
#RRGGBB (8 bits each)
#RRRGGGBBB (12 bits each)
#RRRRGGGGBBBB (16 bits each)
The R, G, and B represent single hexadecimal digits
(both uppercase and lowercase). When fewer than 16
bits each are specified, they represent the most-
significant bits of the value. For example, #3a7 is
the same as #3000a0007000. The colormap is used only
to determine which screen to look up the color on. For
example, you can use the screen's default colormap.
If the initial character is a sharp sign but the string
otherwise fails to fit the above formats or if the
initial character is not a sharp sign and the named
color does not exist in the server's database,
- 3 -
XParseGeometry(3X) XParseGeometry(3X)
XParseColor fails and returns zero.
XParseColor can generate a BadColor error.
DIAGNOSTICS
BadColor A value for a Colormap argument does not name
a defined Colormap.
SEE ALSO
Xlib Programming Manual
- 4 -