SYNOPSIS

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

void cleanCdkTitle (
CDKOBJS *obj);
void drawCdkTitle (
WINDOW *window,
CDKOBJS *object);
void positionCDKObject (
CDKOBJS *object,
WINDOW *win);
void setCDKObjectBackgroundColor (
CDKOBJS *object,
char *color);
void setCDKObjectPostProcess (
CDKOBJS *object,
PROCESSFN func,
void *data);
void setCDKObjectPreProcess (
CDKOBJS *object,
PROCESSFN func,
void *data);
void setCdkExitType(
CDKOBJS *obj,
EExitType *type,
chtyp ch);
int setCdkTitle (
CDKOBJS *obj,
char *title,
int boxWidth);
bool validCDKObject (
CDKOBJS *obj);

DESCRIPTION

Cdk is written in ANSI C, which has "no" object support. Most of the object support in Cdk is done using macros and a small number of types which hold object information:

CDKFUNCS

contains the function pointers for common methods of the widgets. It is separate from CDKOBJS because it is compiled into each widget's C code (see the DeclareCDKObjects() and DeclareSetXXchar() macros. The widget instances point to a single copy of CDKFUNCS for each widget.

CDKOBJS

Holds data common to all objects (widget instances). It appears first in each widget's struct to allow Cdk to use generic functions in binding.c, cdkscreen.c, position.c, etc.

AVAILABLE FUNCTIONS

The functions declared in <cdk_objs.h> are used in situations where the expressions are too complex for a macro.

cleanCdkTitle

Remove storage for the widget's title.

drawCdkTitle,

Draw the widget's title.

positionCDKObject

This allows the user to use the cursor keys to adjust the position of the widget.

setCDKObjectBackgroundColor

Set the background color of the widget.

setCDKObjectPostProcess

Set data for postprocessing.

setCDKObjectPreProcess

Set data for preprocessing.

setCdkExitType

Set the object's exit-type based on the input. The .exitType field should have been part of the CDKOBJS struct, but it is used too pervasively in Cdk4 applications to move.

setCdkTitle

Set the widget's title.

validCDKObject

Returns true if a "new" was done on the object but no "destroy".

RELATED TO validCDKObject…

cdk_binding (3) cdk_process (3)