#include "cdk.h" #ifdef HAVE_XCURSES char *XCursesProgramName="label_ex"; #endif int main (int argc, char **argv) { /* Declare variables. */ CDKSCREEN *cdkscreen = (CDKSCREEN *)NULL; CDKLABEL *demo = (CDKLABEL *)NULL; WINDOW *cursesWin = (WINDOW *)NULL; int boxLabel = 0; char *mesg[4], temp[256]; struct tm *currentTime; time_t clck; int ret; /* Parse up the command line. */ while (1) { ret = getopt (argc, argv, "b"); if (ret == -1) { break; } switch (ret) { case 'b' : boxLabel = 1; } } /* Set up CDK */ cursesWin = initscr(); cdkscreen = initCDKScreen (cursesWin); /* Start CDK Colors */ initCDKColor(); /* Set the labels up. */ mesg[0] = "HH:MM:SS"; /* Declare the labels. */ demo = newCDKLabel (cdkscreen, CENTER, CENTER, mesg, 1, boxLabel, FALSE); /* 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?\n"); exit (1); } /* Do this for-ever... */ for (;;) { /* Get the current time. */ time(&clck); currentTime = localtime (&clck); /* Put the current time in a string. */ sprintf (temp, "%02d:%02d:%02d", currentTime->tm_hour, currentTime->tm_min, currentTime->tm_sec); mesg[0] = copyChar (temp); /* Set the label contents. */ setCDKLabel (demo, mesg, 1, demo->box); /* Clean up the memory used. */ freeChar (mesg[0]); /* Draw the label, and sleep. */ drawCDKLabel (demo, demo->box); sleep (1); } /* Clean up */ destroyCDKLabel (demo); destroyCDKScreen (cdkscreen); delwin (cursesWin); endCDK(); exit (0); }