REF XExtent                                       A.Schoter, August 1991

        COPYRIGHT University of Sussex 1991. All Rights Reserved.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<                             >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<            X EXTENT         >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<                             >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

The procedures  described in  this REF  file shadow  their  equivalent C
functions for extent handling and related functions.



---------------------
1  List of procedures
---------------------

The procedures below are made available by doing:

        uses xlib, XExtent;

For details see:

                     Xlib - C Language X Interface,
                       MIT X Consortium Standard,
                         X Version 11, Release 4

        Copyright (C) 1985, 1986, 1987, 1988, 1989 Massachusetts
        Institute of Technology,  Cambridge, Massachusetts,  and
        Digital Equipment Corporation, Maynard, Massachusetts.


XSizeHints                                                     [typedef]
        This data structure provides information on the raster size.

            typedef struct {
                long flags;
                int x, y;
                int width, height;
                int min_width, min_height;
                int max_width, max_height;
                int width_inc, height_inc;
                struct {
                    int x;
                    int y;
                } min_aspect, max_aspect;
            } XSizeHints;

        flags marks which fields in this structure are defined; x  and y
        within  the  substructure  are  the  numerator  and  denominator
        respectively.


XCharStruct                                                    [typedef]
        This data structure provides  information on the character  font
        metric.

            typedef struct {
                short   lbearing;
                short   rbearing;
                short   width;
                short   ascent;
                short   descent;
                unsigned short attributes;
            } XCharStruct;

        lbearing and rbearing are the origin to the left edge and origin
        to the  right edge  of  the raster  respectively; width  is  the
        amount to advance  to the  next character's  origin; ascent  and
        descent are the  baseline to the  top edge and  baseline to  the
        bottom edge  of the  raster  repectively; attributes  allow  for
        flags to be assigned per character.


XFontProp                                                      [typedef]
        This  structure  allows   for  the   association  of   arbitrary
        information with fonts.

            typedef struct {
                Atom name;
                unsigned long card32;
            } XFontProp;


XFontStruct                                                    [typedef]
        This structure contains information about a font.

            typedef struct {
                XExtData *ext_data;
                Font        fid;
                unsigned    direction;
                unsigned    min_char_or_byte2;
                unsigned    max_char_or_byte2;
                unsigned    min_byte1;
                unsigned    max_byte1;
                Bool        all_chars_exist;
                unsigned    default_char;
                int         n_properties;
                XFontProp *properties;
                XCharStruct min_bounds;
                XCharStruct max_bounds;
                XCharStruct *per_char;
                int         ascent;
                int         descent;
            } XFontStruct;

        ext_data is a hook to hang extension data on; fid is the font ID
        for  the  given  font;  direction  provides  a  hint  about  the
        direction   the   font   is   painted;   min_char_or_byte2   and
        max_char_or_byte2 are the first and last character respectively;
        min_byte1 and max_byte1 are  the first and  last row that  exist
        respectively; all_chars_exist is a  flag indicating whether  all
        characters have non-zero size; default_char is the character  to
        print for undefined characters; n_properties  is a count of  the
        number of additional properties, and properties is a pointer  to
        an array of additional properties; min_bounds and max_bounds are
        the minimum  and maximum  bounds  over all  existing  characters
        respectively;  per_char   provides  first   character  to   last
        character information;  ascent and  descent provide  information
        about the extent above and below the baseline for spacing.




--- C.x/x/pop/ref/XExtent
--- Copyright University of Sussex 1991. All rights reserved.
