NAME
cdk_objs - Cdk object-support functions
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/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".
SEE ALSO
cdk_binding (3) cdk_process (3)
cdk_objs(3)