dwww Home | Manual pages | Find package

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 rectan-
       gle 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 XkbComputeRow-
       Bounds.

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.4         XkbComputeShapeBounds(3)

Generated by dwww version 1.15 on Sun Jun 23 21:19:44 CEST 2024.