Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XParGeom(XS) — OpenDesktop Software Development System 1.0.0d

Media Vault

Software Library

Restoration Projects

Artifacts Sought


     X Version 11 (1 September 1988)           XParseGeometry(XS)



     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:

               #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


     (printed 2/12/90) (1 September 1988)      XParseGeometry(XS)

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