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)