---
name: "XQueryBestSize"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XQueryBestSize/3x"
---

# XQueryBestSize(3x)

determine efficient sizes

## NAME

XQueryBestSize, XQueryBestTile, XQueryBestStipple - determine efficient sizes

## SYNTAX

Status XQueryBestSize(Display \**display*, int *class*, Drawable *which\_screen*, unsigned int *width*, unsigned int *height*, unsigned int \**width\_return*, unsigned int \**height\_return*);

Status XQueryBestTile(Display \**display*, Drawable *which\_screen*, unsigned int *width*, unsigned int *height*, unsigned int \**width\_return*, unsigned int \**height\_return*);

Status XQueryBestStipple(Display \**display*, Drawable *which\_screen*, unsigned int *width*, unsigned int *height*, unsigned int \**width\_return*, unsigned int \**height\_return*);

## ARGUMENTS

- *class*

  Specifies the class that you are interested in. You can pass  *TileShape*, *CursorShape*, or  *StippleShape*.

- *display*

  Specifies the connection to the X server.

- *width*

  - *height*

  Specify the width and height.

- *which\_screen*

  Specifies any drawable on the screen.

- *width\_return*

  - *height\_return*

  Return the width and height of the object best supported  by the display hardware.

## DESCRIPTION

The *XQueryBestSize* function returns the best or closest size to the specified size. For  *CursorShape*, this is the largest size that can be fully displayed on the screen specified by which\_screen. For  *TileShape*, this is the size that can be tiled fastest. For  *StippleShape*, this is the size that can be stippled fastest. For  *CursorShape*, the drawable indicates the desired screen. For  *TileShape* and  *StippleShape*, the drawable indicates the screen and possibly the window class and depth. An  *InputOnly* window cannot be used as the drawable for  *TileShape* or  *StippleShape*, or a *BadMatch* error results.

*XQueryBestSize* can generate *BadDrawable*, *BadMatch*, and *BadValue* errors.

The *XQueryBestTile* function returns the best or closest size, that is, the size that can be tiled fastest on the screen specified by which\_screen. The drawable indicates the screen and possibly the window class and depth. If an  *InputOnly* window is used as the drawable, a  *BadMatch* error results.

*XQueryBestTile* can generate *BadDrawable* and *BadMatch* errors.

The *XQueryBestStipple* function returns the best or closest size, that is, the size that can be stippled fastest on the screen specified by which\_screen. The drawable indicates the screen and possibly the window class and depth. If an *InputOnly* window is used as the drawable, a *BadMatch* error results.

*XQueryBestStipple* can generate *BadDrawable* and *BadMatch* errors.

## DIAGNOSTICS

- *BadMatch*

  An *InputOnly* window is used as a Drawable.

- *BadDrawable*

  A value for a Drawable argument does not name a defined Window or Pixmap.

- *BadMatch*

  The values do not exist for an *InputOnly* window.

- *BadValue*

  Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted.  Any argument defined as a set of alternatives can generate this error.

## SEE ALSO

XCreateGC(3X11), XSetArcMode(3X11), XSetClipOrigin(3X11), XSetFillStyle(3X11), XSetFont(3X11), XSetLineAttributes(3X11), XSetState(3X11), XSetTile(3X11)\
 *Xlib - C Language X Interface*
