Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XParseGeometry.3X11(3X11) — sys5 — Apollo Domain/OS SR10.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XParseGeometry(3X11)                 SysV                 XParseGeometry(3X11)



NAME
     XParseGeometry, XGeometry, XParseColor - parse window geometry and color

SYNTAX
     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
               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.

     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, 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 - C Language X Interface

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