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

Generated by dwww version 1.16 on Sat Oct 3 04:26:05 CEST 2026.