---
name: "cdk_screen"
section: "3"
platform: "linux"
package: "libcdk5-dev"
version: "5.0.20250116-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cdk_screen"
---

# cdk\_screen(3)

Cdk screen and widget manipulation functions

## NAME

cdk\_screen - *Cdk* screen and widget manipulation functions

## SYNOPSIS

**cc** \[ *flag* ... \] *file* ... **-lcdk** \[ *library* ... \]

\#include \<cdk.h\>

```

```

- **void destroyCDKScreen(**

  **CDKSCREEN \****screen***);**

- **void endCDK(void) ;**

  - **void eraseCDKScreen(**

  **CDKSCREEN \****screen***);**

- **void initCDKColor (void) ;**

  - **CDKSCREEN \*initCDKScreen (**

  **WINDOW \****cursesWindow***);**

- **void lowerCDKObject(**

  **EObjectType** *widgetType***,** **void \****object***);**

- **void raiseCDKObject(**

  **EObjectType** *widgetType***,** **void \****object***);**

- **void refreshCDKScreen(**

  **CDKSCREEN \****screen***);**

- **void registerCDKObject (**

  **CDKSCREEN \****screen***,** **EObjectType** *widgetType***,** **void \****object***);**

- **void unregisterCDKObject(**

  **EObjectType** *widgetType***,** **void \****object***);**

## DESCRIPTION

Cdk manages all of the widgets for you. These functions perform some of the management of the widgets in a screen.

## AVAILABLE FUNCTIONS

- **destroyCDKScreen**

  frees any memory allocated by the Cdk screen pointer.

- **endCDK**

  cleans up any memory created by starting Cdk and shuts down curses.

- **eraseCDKScreen**

  erases all of the widgets which are currently associated to the given screen. This does **NOT** destroy the widgets.

- **initCDKColor**

  starts the Cdk color capabilities. It defines 64 color pairs each of which is accessible using the COLOR\_PAIR macro. If you do not have color support, this function call makes no difference.

- **initCDKScreen**

  takes a **WINDOW\*** parameter *cursesWindow* and returns a pointer to a **CDKSCREEN**.

-

  Since all of the widgets take a **CDKSCREEN** pointer as a first argument, this is one of the first calls made.

-

  If the *cursesWindow* parameter is a null pointer, **initCDKScreen** initializes curses and replaces the parameter with **stdscr**. Otherwise, it assumes that your application has already initialized the locale and then called **initscr**

-

  In either case, the (possibly updated) *cursesWindow* parameter is used as the window for the **CDKSCREEN** result.

- **lowerCDKObject**

  has the opposite effect of the **raiseCDKObject** function call.

- **raiseCDKObject**

  raises the widget to the top of the screen. If there are any widgets which overlap the given object when a refresh is done, calling this function has the effect of raiding the object so no other widgets obstruct it.

  - •

    The *widgetType* parameter states what Cdk widget type this object is.

  - •

    The *object* parameter is a void pointer to the object.

- **refreshCDKScreen**

  redraws all of the widgets which are currently associated to the given screen.

- **registerCDKObject**

  is called automatically when a widget is created. If for some reason an object does get unregistered, by calling **unregisterCDKObject**, the widget can be registered again by calling this function.

  - •

    The *widgetType* parameter states what Cdk widget type this object is.

  - •

    The *object* parameter is a void pointer to the object.

- **unregisterCDKObject**

  removes the widget from the screen. This does **NOT** destroy the object, it removes the widget from any further refreshes by the function **refreshCDKScreen**.

  - •

    The *widgetType* parameter states what Cdk widget type this object is.

  - •

    The *object* parameter is a void pointer to the object.

## SEE ALSO

[**cdk**(3)](/cdk/3.md), [**cdk\_binding**(3)](/cdk_binding/3.md), [**cdk\_display**(3)](/cdk_display/3.md)
