Manpage of 'XkbComputeShapeBounds' on UHLU - BSD System Documentation,
Programming Reference, Manual Pages and Source Code
All manual pages         All RFC pages
Common page
for XkbComputeShapeBounds
Other pages
for XkbComputeShapeBounds
More pages
containing XkbComputeShapeBounds

Section 3 manual page or howto for 'XkbComputeShapeBounds'  

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

NAME - SYNOPSIS - ARGUMENTS - DESCRIPTION - STRUCTURES - SEE ALSO -  
All manual pages         All RFC pages
Common page
for XkbComputeShapeBounds
Other pages
for XkbComputeShapeBounds
More pages
containing XkbComputeShapeBounds
A random manual page         All manual pages        All RFC pages