---
name: "XGraphicsExposeEvent"
section: "3"
platform: "linux"
package: "libx11"
version: "1.8.14-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XGraphicsExposeEvent"
---

# XGraphicsExposeEvent(3)

GraphicsExpose and NoExpose event structures

## NAME

XGraphicsExposeEvent, XNoExposeEvent - GraphicsExpose and NoExpose event structures

## STRUCTURES

The structures for **GraphicsExpose** and **NoExpose** events contain:

```
typedef struct {
        int type;       /* GraphicsExpose */
        unsigned long serial;   /* # of last request processed by server */
        Bool send_event;        /* true if this came from a SendEvent request */
        Display *display;       /* Display the event was read from */
        Drawable drawable;
        int x, y;
        int width, height;
        int count;      /* if nonzero, at least this many more */
        int major_code; /* core is CopyArea or CopyPlane */
        int minor_code; /* not defined in the core */
} XGraphicsExposeEvent;
```

```
typedef struct {
        int type;       /* NoExpose */
        unsigned long serial;   /* # of last request processed by server */
        Bool send_event;        /* true if this came from a SendEvent request */
        Display *display;       /* Display the event was read from */
        Drawable drawable;
        int major_code; /* core is CopyArea or CopyPlane */
        int minor_code; /* not defined in the core */
} XNoExposeEvent;
```

When you receive these events, their structure members are set as follows.

The type member is set to the event type constant name that uniquely identifies it. For example, when the X server reports a **GraphicsExpose** event to a client application, it sends an **XGraphicsExposeEvent** structure with the type member set to **GraphicsExpose**. The display member is set to a pointer to the display the event was read on. The send\_event member is set to **True** if the event came from a **SendEvent** protocol request. The serial member is set from the serial number reported in the protocol but expanded from the 16-bit least-significant bits to a full 32-bit value. The window member is set to the window that is most useful to toolkit dispatchers.

Both structures have these common members: drawable, major\_code, and minor\_code. The drawable member is set to the drawable of the destination region on which the graphics request was to be performed. The major\_code member is set to the graphics request initiated by the client and can be either **X\_CopyArea** or **X\_CopyPlane**. If it is **X\_CopyArea**, a call to **XCopyArea** initiated the request. If it is **X\_CopyPlane**, a call to **XCopyPlane** initiated the request. These constants are defined in **X11/Xproto.h**. The minor\_code member, like the major\_code member, indicates which graphics request was initiated by the client. However, the minor\_code member is not defined by the core X protocol and will be zero in these cases, although it may be used by an extension.

The **XGraphicsExposeEvent** structure has these additional members: x, y, width, height, and count. The x and y members are set to the coordinates relative to the drawable's origin and indicate the upper-left corner of the rectangle. The width and height members are set to the size (extent) of the rectangle. The count member is set to the number of **GraphicsExpose** events to follow. If count is zero, no more **GraphicsExpose** events follow for this window. However, if count is nonzero, at least that number of **GraphicsExpose** events (and possibly more) are to follow for this window.

## SEE ALSO

[**XAnyEvent**(3)](/XAnyEvent/3.md), [**XButtonEvent**(3)](/XButtonEvent/3.md), [**XCreateWindowEvent**(3)](/XCreateWindowEvent/3.md), [**XCirculateEvent**(3)](/XCirculateEvent/3.md), [**XCirculateRequestEvent**(3)](/XCirculateRequestEvent/3.md), [**XColormapEvent**(3)](/XColormapEvent/3.md), [**XConfigureEvent**(3)](/XConfigureEvent/3.md), [**XConfigureRequestEvent**(3)](/XConfigureRequestEvent/3.md), [**XCopyArea**(3)](/XCopyArea/3.md), [**XCrossingEvent**(3)](/XCrossingEvent/3.md), [**XDestroyWindowEvent**(3)](/XDestroyWindowEvent/3.md), [**XErrorEvent**(3)](/XErrorEvent/3.md), [**XExposeEvent**(3)](/XExposeEvent/3.md), [**XFocusChangeEvent**(3)](/XFocusChangeEvent/3.md), [**XGravityEvent**(3)](/XGravityEvent/3.md), [**XKeymapEvent**(3)](/XKeymapEvent/3.md), [**XMapEvent**(3)](/XMapEvent/3.md), [**XMapRequestEvent**(3)](/XMapRequestEvent/3.md), [**XPropertyEvent**(3)](/XPropertyEvent/3.md), [**XReparentEvent**(3)](/XReparentEvent/3.md), [**XResizeRequestEvent**(3)](/XResizeRequestEvent/3.md), [**XSelectionClearEvent**(3)](/XSelectionClearEvent/3.md), [**XSelectionEvent**(3)](/XSelectionEvent/3.md), [**XSelectionRequestEvent**(3)](/XSelectionRequestEvent/3.md), [**XUnmapEvent**(3)](/XUnmapEvent/3.md), [**XVisibilityEvent**(3)](/XVisibilityEvent/3.md)\
 *Xlib - C Language X Interface*
