https://invisible-island.net/cdk/manpage/


cdk_objs 3 2024-03-28 Library calls

cdk_objs(3)                     Library calls                    cdk_objs(3)

NAME

       cdk_objs - Cdk object-support functions

SYNOPSIS

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

       void cleanCdkTitle (
                      CDKOBJS *obj);

       void drawCdkTitle (
                      WINDOW *window,
                      CDKOBJS *object);

       char * getCdkTitle (
                      CDKOBJS *obj);

       void positionCDKObject (
                      CDKOBJS *object,
                      WINDOW *win);

       void setCDKObjectBackgroundColor (
                      CDKOBJS *object,
                      const 3char *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,
                      const 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 com-
                 piled into each widget's  C  code  (see  the  DeclareCDKOb-
                 jects()  and  DeclareSetXXchar()  macros.   The  widget in-
                 stances 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.

       getCdkTitle
            Returns the widget's title as a string.  Colors are  encoded  as
            described  in cdk_display(3).  The lines of text in a multi-line
            title are separated by "<#10>" markers (an encoded newline).

       positionCDKObject
            This allows the user to use the cursor keys to adjust the  posi-
            tion 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_display(3), cdk_process(3).

                                 2024-03-28                      cdk_objs(3)