XkbComputeShapeTop(3) XKB FUNCTIONS XkbComputeShapeTop(3)

# [NAME](#NAME)

XkbComputeShapeTop - Determines the bounding box of the top surface of a shape

# [SYNOPSIS](#SYNOPSIS)

**Bool XkbComputeShapeTop** **(XkbShapePtr shape,** **XkbBoundsPtr bounds\_rtrn);**

# [ARGUMENTS](#ARGUMENTS)

[*shape*](#shape)

shape to be examined

[*bounds\_rtrn*](#bounds_rtrn)

backfilled with the bounding box for the shape

# [DESCRIPTION](#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.

*XkbComputeShapeTop* returns a BoundsRec that contains two x and y coordinates. These coordinates describe the corners of a rectangle that contains the outline that describes the top surface of the shape. The top surface is defined to be the approximating outline if the *approx* field of *shape* is not NULL. If *approx* is NULL, the top surface is defined as the last outline in the *shape's* array of outlines. *XkbComputeShapeTop* returns False if *shape* is NULL or if there are no outlines for the shape; otherwise, it returns True.

# [STRUCTURES](#STRUCTURES)

```
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;
```

libX11 1.8.14 X Version 11

---

Document: XkbComputeShapeTop(3) from libx11 1.8.14-r0 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
