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:
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.
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.
The functions declared in <cdk_objs.h> are used in situations where the
expressions are too complex for a macro.
Remove storage for the widget's title.
Draw the widget's title.
This allows the user to use the cursor keys to adjust the
position of the widget.
Set the background color of the widget.
Set data for postprocessing.
Set data for preprocessing.
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.
Set the widget's title.
Returns true if a "new" was done on the object but no "destroy".