XDrawPoint(3) XLIB FUNCTIONS XDrawPoint(3)

# [NAME](#NAME)

XDrawPoint, XDrawPoints, XPoint - draw points and points structure

# [SYNTAX](#SYNTAX)

int XDrawPoint(Display \**display*, Drawable *d*, GC *gc*, int *x*, int *y*);

int XDrawPoints(Display \**display*, Drawable *d*, GC *gc*, XPoint \**points*, int *npoints*, int *mode*);

# [ARGUMENTS](#ARGUMENTS)

[*d*](#d)

Specifies the drawable.

[*display*](#display)

Specifies the connection to the X server.

[*gc*](#gc)

Specifies the GC.

[*mode*](#mode)

Specifies the coordinate mode. You can pass **CoordModeOrigin** or **CoordModePrevious**.

[*npoints*](#npoints)

Specifies the number of points in the array.

[*points*](#points)

Specifies an array of points.

[*x*](#x)

[*y*](#y)

Specify the x and y coordinates where you want the point drawn.

# [DESCRIPTION](#DESCRIPTION)

The **XDrawPoint** function uses the foreground pixel and function components of the GC to draw a single point into the specified drawable; **XDrawPoints** draws multiple points this way. **CoordModeOrigin** treats all coordinates as relative to the origin, and **CoordModePrevious** treats all coordinates after the first as relative to the previous point. **XDrawPoints** draws the points in the order listed in the array.

Both functions use these GC components: function, plane-mask, foreground, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.

**XDrawPoint** can generate **BadDrawable**, **BadGC**, and **BadMatch** errors. **XDrawPoints** can generate **BadDrawable**, **BadGC**, **BadMatch**, and **BadValue** errors.

# [STRUCTURES](#STRUCTURES)

The **XPoint** structure contains:

```
typedef struct {


        short x, y;
} XPoint;
```

All x and y members are signed integers. The width and height members are 16-bit unsigned integers. You should be careful not to generate coordinates and sizes out of the 16-bit ranges, because the protocol only has 16-bit fields for these values.

# [DIAGNOSTICS](#DIAGNOSTICS)

[**BadDrawable**](#BadDrawable)

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

[**BadGC**](#BadGC)

A value for a GContext argument does not name a defined GContext.

[**BadMatch**](#BadMatch)

An **InputOnly** window is used as a Drawable.

[**BadMatch**](#BadMatch~2)

Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.

[**BadValue**](#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](#SEE_ALSO)

[**XDrawArc**(3)](/man/os/libx11/XDrawArc.3), [**XDrawLine**(3)](/man/os/libx11/XDrawLine.3), [**XDrawRectangle**(3)](/man/os/libx11/XDrawRectangle.3)  
*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

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