Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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.6.5	      XkbComputeShapeBounds(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | STRUCTURES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XkbComputeShapeBounds&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help