XkbComputeShapeBounds(3) XKB FUNCTIONS XkbComputeShapeBounds(3)
NAME
XkbComputeShapeBounds - Updates the bounding box of a shape
SYNOPSIS
Bool XkbComputeShapeBounds ( shape )
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 maxi-
mum 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.1.5 XkbComputeShapeBounds(3)
Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-25 13:13 @38.107.179.237 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)