XdbeSwapBuffers(3) X Version 11 XdbeSwapBuffers(3)

# [NAME](#NAME)

XdbeSwapBuffers - swaps front and back DBE buffers.

# [SYNOPSIS](#SYNOPSIS)

```
#include <X11/extensions/Xdbe.h>

Status XdbeSwapBuffers(


    Display      *dpy,


    XdbeSwapInfo *swap_info,


    int          num_windows)
```

# [DESCRIPTION](#DESCRIPTION)

This function swaps the front and back buffers for a list of windows. The argument *num\_windows* specifies how many windows are to have their buffers swapped; it is the number of elements in the *swap\_info* array. The argument *swap\_info* specifies the information needed per window to do the swap.

The *XdbeSwapInfo* structure has the following fields:

```


     Window            swap_window


     XdbeSwapAction    swap_action
```

*swap\_window* specifies the window for which to swap buffers. *swap\_action* specifies the swap action to use for this *swap\_window*.

*swap\_action* determines what will happen to the new back buffer of the *swap\_window* it is paired with in the list in addition to making the old back buffer become visible. The defined actions are as follows:

[XdbeUndefined](#XdbeUndefined)

The contents of the new back buffer become undefined. This may be the most efficient action since it allows the implementation to discard the contents of the buffer if it needs to.

[XdbeBackground](#XdbeBackground)

The unobscured region of the new back buffer will be tiled with the window background. The background action allows devices to use a fast clear capability during a swap.

[XdbeUntouched](#XdbeUntouched)

The unobscured region of the new back buffer will be unmodified by the swap.

[XdbeCopied](#XdbeCopied)

The unobscured region of the new back buffer will be the contents of the old back buffer.

# [ERRORS](#ERRORS)

[BadMatch](#BadMatch)

A non-double-buffered window was specified or a window was specified twice.

[BadWindow](#BadWindow)

An invalid window was specified.

[BadValue](#BadValue)

An invalid swap action was specified.

# [SEE ALSO](#SEE_ALSO)

[**DBE**(3)](/man/os/libxext/DBE.3), [**XdbeAllocateBackBufferName**(3)](/man/os/libxext/XdbeAllocateBackBufferName.3), [**XdbeBeginIdiom**(3)](/man/os/libxext/XdbeBeginIdiom.3), [**XdbeDeallocateBackBufferName**(3)](/man/os/libxext/XdbeDeallocateBackBufferName.3), [**XdbeEndIdiom**(3)](/man/os/libxext/XdbeEndIdiom.3), [**XdbeFreeVisualInfo**(3)](/man/os/libxext/XdbeFreeVisualInfo.3), [**XdbeGetBackBufferAttributes**(3)](/man/os/libxext/XdbeGetBackBufferAttributes.3), [**XdbeGetVisualInfo**(3)](/man/os/libxext/XdbeGetVisualInfo.3), [**XdbeQueryExtension**(3)](/man/os/libxext/XdbeQueryExtension.3).

1996-03-11 libXext 1.3.7

---

Document: XdbeSwapBuffers(3) from libxext 1.3.7-r3 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxext.git
