*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> cdk_display (3)              
Title
Content
Arch
Section
 

cdk_display(3)

Contents


NAME    [Toc]    [Back]

          Cdk - Curses Development Kit Display Capabilities.

SYNOPSIS    [Toc]    [Back]

       Cdk  has  a number of pre-defined display types which need
       explaining. This manual page will explain all of the  display
  types and how to use them. The following lists which
       display types will be outlined in this manual page.

       o How To Use Colors

       o How To Use Different Character Attributes

       o How To Justify Strings

       o How To Use Special Drawing Characters

DESCRIPTION    [Toc]    [Back]

       Cdk has special formatting commands which can be  included
       in any string which add highlights, justification, or even
       colors to a basic string. This manual  page  outlines  and
       demonstrates how they work.

       How To Use Colors
          Cdk  has  the  capability  to  display colors in almost
          every string type displayed in a Cdk widget. To turn on
          colors,  the  function  initCDKColor  has to be called.
          When this function is called 64 color  pairs  are  created.
  Normally  the  color  pairs are accessed via the
          COLOR_PAIR macro. You can still do this, but creating a
          string  with  multiple  colors gets terribly difficult.
          That is why the color commands were created. The  color
          setting  are stored directly in the string and when the
          widget is created or activated, the string is converted
          to  take advantage of any color commands in the string.
          To turn on a color pair insert </XX> into  the  string;
          where XX is a numeric value from 0 to 64.  Color pair 0
          is the standard default color pair for the  screen.  To
          turn  off  a  color  pair  use the format command <!XX>
          where XX is a numeric value from 0 to 64. The following
          code  segment  demonstrates  the  use of the color commands.


                 ----------------------------------------
          #include <cdk.h>

          void main()
          {
             CDKSCREEN   *cdkscreen;
             CDKLABEL    *demo;
             WINDOW      *screen;
             char        *mesg[4];

             /* Initialize the Cdk screen.   */
             screen = initscr();
             cdkscreen = initCDKScreen (screen);

             /* Set the labels up.      */
             mesg[0] = "</1>This line should have a yellow foreground and a blue background.<!1>";
             mesg[1] = "</2>This line should have a white  foreground and a blue background.<!2>";
             mesg[2] = "</3>This line should have a yellow foreground and a red  background.<!3>";
             mesg[3] = "<C>This line should be set to whatever the screen default is.";

             /* Declare the labels.     */
             demo   = newCDKLabel (cdkscreen, CENTER, CENTER, mesg, 4, TRUE, TRUE);

             /* Draw the label          */
             drawCDKLabel (demo, TRUE);
             waitCDKLabel (demo, ' ');

             /* Clean up           */
             destroyCDKLabel (demo);
             destroyCDKScreen (cdkscreen);
             endCDK();
             exit (0);
          }
                 ----------------------------------------
          This example uses the color pair 5 (which is  white  on
          blue) for the label to the entry widget.

       How To Use Different Character Attributes
          Cdk  also  provides attribute commands which allow different
 character attributes to be displayed  in  a  Cdk
          widget. To use a character attribute the format command
          is </X> where X is one of several  command  characters.
          To  turn a attribute off use the command <!X>. The following
 table outlines the command characters  and  what
          they mean.

             Command_Character      Character_Attribute
             B                      Bold
             U                      Underline
             K                      Blink
             R                      Reverse
             S                      Standout
             D                      Dim
             N                      Normal

          The  following  code  segment  demonstrates  the use of
          character display attributes.
                 ----------------------------------------
          #include <cdk.h>

          void main()
          {
             CDKSCREEN   *cdkscreen;
             CDKLABEL    *demo;
             WINDOW *screen;
             char        *mesg[4];

             /* Initialize the Cdk screen.   */
             screen = initscr();
             cdkscreen = initCDKScreen (screen);

             /* Set the labels up.      */
             mesg[0] = "</B/1>This line should have a yellow foreground and a blue background.<!1>";
             mesg[1] = "</U/2>This line should have a white  foreground and a blue background.<!2>";
             mesg[2] = "</K/3>This line should have a yellow foreground and a red  background.<!3>";
             mesg[3] = "<C>This line should be set to whatever the screen default is.";

             /* Declare the labels.     */
             demo   = newCDKLabel (cdkscreen, CENTER, CENTER, mesg, 4, TRUE, TRUE);

             /* Draw the label          */
             drawCDKLabel (demo, TRUE);
             waitCDKLabel (demo, ' ');

             /* Clean up           */
             destroyCDKLabel (demo);
             destroyCDKScreen (cdkscreen);
             endCDK();
             exit (0);
          }
                 ----------------------------------------
          Notice that color commands and format commands  can  be
          mixed  inside the same format marker. The above example
          underlines the label marker, which also sets color pair
          number 5.

       How To Justify Strings
          Justification commands can left justify, right justify,
          or center a string of text. To use a justification format
  in a string the command <X> is used. The following
          table lists all of the format commands available.

             Justification_Command    Action.
             <L>                      Left Justified. Default if not stated.
             <C>                      Centered text.
             <R>                      Right justified.
             <I=X>                    Indent the line X characters.
             <B=X>                    Bullet. X is the bullet string to use.
             <F=X>                    Links in a file where X is the filename.
                                      Currently only works with the viewer
                                      widget.

          The following code segment demonstrates how to use  the
          justification commands in a Cdk widget.
                 ----------------------------------------
          #include <cdk.h>

          void main()
          {
             CDKSCREEN   *cdkscreen;
             CDKLABEL    *demo;
             WINDOW *screen;
             char        *mesg[4];

             /* Initialize the Cdk screen.   */
             screen = initscr();
             cdkscreen = initCDKScreen (screen);

             /* Set the labels up.      */
             mesg[0] = "<R></B/1>This line should have a yellow foreground and a blue background.<!1>";
             mesg[1] = "</U/2>This line should have a white  foreground and a blue background.<!2>";
             mesg[2] = "<B=+>This is a bullet.";
             mesg[3] = "<I=10>This is indented 10 characters.";
             mesg[4] = "<C>This line should be set to whatever the screen default is.";

             /* Declare the labels.     */
             demo   = newCDKLabel (cdkscreen, CENTER, CENTER, mesg, 5, TRUE, TRUE);

             /* Draw the label          */
             drawCDKLabel (demo, TRUE);
             waitCDKLabel (demo, ' ');

             /* Clean up           */
             destroyCDKLabel (demo);
             destroyCDKScreen (cdkscreen);
             endCDK();
             exit (0);
          }
                 ----------------------------------------
          The  bullet  format  command  can  take either a single
          character or a string.  The bullet  in  the  the  above
          example would look like
             + This is a bullet.
          but if we were to use the following command instead
                         <B=***>This is a bullet.
          it would look like
             *** This is a bullet.

          The  only restriction that a format command has is that
          it must be at the beginning of the string.

       How To Use Special Drawing Characters
          Cdk has a set of special drawing characters  which  can
          be inserted into any ASCII file. In order to use a special
 character the format command <#XXX> is  used.  The
          following table lists all of the special character commands
 available.

             Special_Character   Character
             <#UL>               Upper Left Corner
             <#UR>               Upper Right Corner
             <#LL>               Lower Left Corner
             <#LR>               Lower Right Corner
             <#LT>               Left Tee
             <#RT>               Right Tee
             <#TT>               Top Tee
             <#BT>               Bottom Tee
             <#HL>               Horizontal Line
             <#VL>               Vertical Line
             <#PL>               Plus Sign
             <#PM>               Plus/Minus Sign
             <#DG>               Degree Sign
             <#CB>               Checker Board
             <#DI>               Diamond
             <#BU>               Bullet

          The character formats can be repeated using an optional
          numeric  repeat value.  To repeat a character add (XXX)
          to the end of the character format. The following example,
 draws 10 horizontal lines.

          <#HL(10)>

          The  following  code segment draws a box within a label
          window.
                 ----------------------------------------
          #include "cdk.h"

          void main()
          {
             /* Declare variables. */
             CDKSCREEN   *cdkscreen;
             CDKLABEL    *demo;
             WINDOW      *cursesWin;
             char        *mesg[4];

             /* Set up CDK         */
             cursesWin = initscr();
             cdkscreen = initCDKScreen (cursesWin);

             /* Start CDK Colors        */
             initCDKColor();

             /* Set the labels up. */
             mesg[0] = "<C><#UL><#HL(25)><#UR>";
             mesg[1] = "<C><#VL></R>This text should be boxed.<!R><#VL>";
             mesg[2] = "<C><#LL><#HL(25)><#LR>";
             mesg[3] = "<C>While this is not.";

             /* Declare the labels.     */
             demo   = newCDKLabel (cdkscreen, CENTER, CENTER, mesg, 4, TRUE, TRUE);

             /* Is the label NULL???    */
             if (demo == (CDKLABEL *)NULL)
             {
                /* Clean up the memory. */
                destroyCDKScreen (cdkscreen);

                /* End curses...        */
                endCDK();

                /* Spit out a message.  */
                printf ("Oops. Can't seem to create the label. Is the window too small?0);
                exit (1);
             }

             /* Draw the CDK screen.    */
             refreshCDKScreen (cdkscreen);
             waitCDKLabel (demo, ' ');

             /* Clean up           */
             destroyCDKLabel (demo);
             destroyCDKScreen (cdkscreen);
             delwin (cursesWin);
             endCDK();
             exit (0);
          }
                 ----------------------------------------

          Notice that drawn text can also be justified.

SEE ALSO    [Toc]    [Back]

      
      
       cdk(3), cdk_binding(3), cdk_screen(3)

NOTES    [Toc]    [Back]

       The header file <cdk.h> automatically includes the  header
       files   <curses.h>,   <stdlib.h>,  <string.h>,  <ctype.h>,
       <unistd.h>,  <dirent.h>,  <time.h>,  <errno.h>,   <pwd.h>,
       <grp.h>,  <sys/stat.h>, and <sys/types.h>.  The <curses.h>
       header file includes <stdio.h> and <unctrl.h>.



                           05 Dec 1995             cdk_display(3)
[ Back ]
 Similar pages
Name OS Title
cdk_binding NetBSD Curses Development Kit Character Binding Capabilities.
cdk_cdk NetBSD Curses Development Kit
cdk NetBSD Curses Development Kit
cdk_misc NetBSD Curses Development Kit Miscellaneous Routines
tgetnum Tru64 Curses interfaces that support termcap capabilities
tgetstr Tru64 Curses interfaces that support termcap capabilities
tgoto Tru64 Curses interfaces that support termcap capabilities
tgetent Tru64 Curses interfaces that support termcap capabilities
tgetflag Tru64 Curses interfaces that support termcap capabilities
curs_termcap Tru64 Curses interfaces that support termcap capabilities
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service