manpagez: man pages & more
man XkbComputeShapeBounds(3)
Home | html | info | man
XkbComputeShapeBounds(3)          XKB FUNCTIONS         XkbComputeShapeBounds(3)




NAME

       XkbComputeShapeBounds - Updates the bounding box of a shape


SYNOPSIS

       Bool XkbComputeShapeBounds (XkbShapePtr shape);


ARGUMENTS

       shape  shape to be examined


DESCRIPTION

       Xkb provides a number of convenience functions to help use a keyboard
       geometry. These include functions to return the bounding box of a shape's
       top surface and to update the bounding box of a shape row or section.

       A shape is made up of a number of outlines. Each outline is a polygon
       made up of a number of points. The bounding box of a shape is a rectangle
       that contains all the outlines of that shape.

       A ShapeRec contains a BoundsRec that describes the bounds of the shape.
       If you add or delete an outline to or from a shape, the bounding box must
       be updated.

       XkbComputeShapeBounds updates the BoundsRec contained in the shape by
       examining all the outlines of the shape and setting the BoundsRec to the
       minimum x and minimum y, and maximum x and maximum y values found in
       those outlines.  XkbComputeShapeBounds returns False if shape is NULL or
       if there are no outlines for the shape; otherwise, it returns True.

       If you add or delete a key to or from a row, or if you update the shape
       of one of the keys in that row, you may need to update the bounding box
       of that row. To update the bounding box of a row, use
       XkbComputeRowBounds.


STRUCTURES


       typedef struct _XkbShape {
           Atom           name;         /* shape's name */
           unsigned short num_outlines; /* number of outlines for the shape */
           unsigned short sz_outlines;  /* size of the outlines array */
           XkbOutlinePtr  outlines;     /* array of outlines for the shape */
           XkbOutlinePtr  approx;       /* pointer into the array to the approximating outline */
           XkbOutlinePtr  primary;      /* pointer into the array to the primary outline */
           XkbBoundsRec   bounds;       /* bounding box for the shape; encompasses all outlines */
       } XkbShapeRec, *XkbShapePtr;

       typedef struct _XkbBounds {
           short x1,y1;    /* upper left corner of the bounds, in mm/10 */
           short x2,y2;    /* lower right corner of the bounds, in mm/10 */
       } XkbBoundsRec, *XkbBoundsPtr;



SEE ALSO

       XkbComputeRowBounds(3)




X Version 11                      libX11 1.8.2          XkbComputeShapeBounds(3)

xorg-libX11 1.8.2 - Generated Wed Nov 16 19:30:46 CST 2022
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.