---
name: "SDL_EGLIntArrayCallback"
section: "3type"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_EGLIntArrayCallback"
---

# SDL\_EGLIntArrayCallback(3type)

EGL surface/context attribute initialization callback types.

## NAME

SDL\_EGLIntArrayCallback - EGL surface/context attribute initialization callback types.

## HEADER FILE

Defined in SDL3/SDL\_video.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**typedef SDL\_EGLint \*(SDLCALL \*SDL\_EGLIntArrayCallback)(void \*userdata, SDL\_EGLDisplay display, SDL\_EGLConfig config);**

## DESCRIPTION

This is called when SDL is attempting to create an EGL surface, to let the app add extra attributes to its eglCreateWindowSurface() or eglCreateContext calls.

For convenience, the EGLDisplay and EGLConfig to use are provided to the callback.

The callback should return a pointer to an EGL attribute array terminated with **EGL\_NONE** . If this function returns NULL, the

**SDL\_CreateWindow**\
  process will fail gracefully.

The returned pointer should be allocated with  **SDL\_malloc** () and will be passed to  **SDL\_free** ().

The arrays returned by each callback will be appended to the existing attribute arrays defined by SDL.

## FUNCTION PARAMETERS

- *userdata*

  an app-controlled pointer that is passed to the callback.

- *display*

  the EGL display to be used.

- *config*

  the EGL config to be used.

## RETURN VALUE

Returns a newly-allocated array of attributes, terminated with **EGL\_NONE** .

## AVAILABILITY

This datatype is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_EGL\_SetAttributeCallbacks**(3)](/SDL_EGL_SetAttributeCallbacks/3.md)
