Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2013
1,256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.48 KB | None | 0 0
  1. /* $Id: histogram_ex.c,v 1.9 2005/12/26 22:04:35 tom Exp $ */
  2.  
  3. #include <cdk_test.h>
  4.  
  5. #ifdef HAVE_XCURSES
  6. char *XCursesProgramName = "histogram_ex";
  7. #endif
  8.  
  9. int main(int argc, char **argv)
  10. {
  11.    /* Declare vars. */
  12.    CDKSCREEN *cdkscreen = 0;
  13.    CDKHISTOGRAM *volume = 0;
  14.    CDKHISTOGRAM *bass   = 0;
  15.    CDKHISTOGRAM *treble = 0;
  16.    WINDOW *cursesWin    = 0;
  17.    char *volumeTitle    = "<C></5>Volume<!5>";
  18.    char *bassTitle  = "<C></5>Bass  <!5>";
  19.    char *trebleTitle    = "<C></5>Treble<!5>";
  20.  
  21.    CDK_PARAMS params;
  22.    boolean Box;
  23.  
  24.    CDKparseParams(argc, argv, &params, CDK_CLI_PARAMS);
  25.    Box = CDKparamValue(&params, 'N', TRUE);
  26.  
  27.    /* Set up CDK. */
  28.    cursesWin = initscr();
  29.    cdkscreen = initCDKScreen (cursesWin);
  30.  
  31.    /* Start CDK Color. */
  32.    initCDKColor();
  33.  
  34.    /* Create the histogram objects. */
  35.    volume = newCDKHistogram (cdkscreen,
  36.                  CDKparamValue(&params, 'X', 10),
  37.                  CDKparamValue(&params, 'Y', 10),
  38.                  CDKparamValue(&params, 'H', 1),
  39.                  CDKparamValue(&params, 'W', -2),
  40.                  VERTICAL, volumeTitle,
  41.                  Box,
  42.                  CDKparamValue(&params, 'S', FALSE));
  43.    if (volume == 0)
  44.    {
  45.       /* Exit CDK. */
  46.       destroyCDKScreen (cdkscreen);
  47.       endCDK();
  48.  
  49.       /* Print out a message and exit. */
  50.       printf ("Oops. Can not make volume histogram. Is the window big enough??\n");
  51.       ExitProgram (EXIT_FAILURE);
  52.    }
  53.  
  54.    bass = newCDKHistogram (cdkscreen,
  55.                CDKparamValue(&params, 'X', 10),
  56.                CDKparamValue(&params, 'Y', 14),
  57.                CDKparamValue(&params, 'H', 1),
  58.                CDKparamValue(&params, 'W', -2),
  59.                VERTICAL, bassTitle,
  60.                Box,
  61.                CDKparamValue(&params, 'S', FALSE));
  62.    if (bass == 0)
  63.    {
  64.       /* Exit CDK. */
  65.       destroyCDKHistogram (volume);
  66.       destroyCDKScreen (cdkscreen);
  67.       endCDK();
  68.  
  69.       /* Print out a message and exit. */
  70.       printf ("Oops. Can not make bass histogram. Is the window big enough??\n");
  71.       ExitProgram (EXIT_FAILURE);
  72.    }
  73.  
  74.    treble = newCDKHistogram (cdkscreen,
  75.                  CDKparamValue(&params, 'X', 10),
  76.                  CDKparamValue(&params, 'Y', 18),
  77.                  CDKparamValue(&params, 'H', 1),
  78.                  CDKparamValue(&params, 'W', -2),
  79.                  VERTICAL, trebleTitle,
  80.                  Box,
  81.                  CDKparamValue(&params, 'S', FALSE));
  82.    if (treble == 0)
  83.    {
  84.       /* Exit CDK. */
  85.       destroyCDKHistogram (volume);
  86.       destroyCDKHistogram (bass);
  87.       destroyCDKScreen (cdkscreen);
  88.       endCDK();
  89.  
  90.       /* Print out a message and exit. */
  91.       printf ("Oops. Can not make treble histogram. Is the window big enough??\n");
  92.       ExitProgram (EXIT_FAILURE);
  93.    }
  94.  
  95. #define BAR(a,b,c) A_BOLD, a, b, c, ' '|A_REVERSE|COLOR_PAIR(3), Box
  96.  
  97.    /* Set the histogram values. */
  98.    setCDKHistogram (volume, vPERCENT, CENTER, BAR(0, 10, 6));
  99.    setCDKHistogram (bass  , vPERCENT, CENTER, BAR(0, 10, 3));
  100.    setCDKHistogram (treble, vPERCENT, CENTER, BAR(0, 10, 7));
  101.    refreshCDKScreen (cdkscreen);
  102.    sleep (4);
  103.  
  104.    /* Set the histogram values. */
  105.    setCDKHistogram (volume, vPERCENT, CENTER, BAR(0, 10, 8));
  106.    setCDKHistogram (bass  , vPERCENT, CENTER, BAR(0, 10, 1));
  107.    setCDKHistogram (treble, vPERCENT, CENTER, BAR(0, 10, 9));
  108.    refreshCDKScreen (cdkscreen);
  109.    sleep (4);
  110.  
  111.    /* Set the histogram values. */
  112.    setCDKHistogram (volume, vPERCENT, CENTER, BAR(0, 10, 10));
  113.    setCDKHistogram (bass  , vPERCENT, CENTER, BAR(0, 10, 7));
  114.    setCDKHistogram (treble, vPERCENT, CENTER, BAR(0, 10, 10));
  115.    refreshCDKScreen (cdkscreen);
  116.    sleep (4);
  117.  
  118.    /* Set the histogram values. */
  119.    setCDKHistogram (volume, vPERCENT, CENTER, BAR(0, 10, 1));
  120.    setCDKHistogram (bass  , vPERCENT, CENTER, BAR(0, 10, 8));
  121.    setCDKHistogram (treble, vPERCENT, CENTER, BAR(0, 10, 3));
  122.    refreshCDKScreen (cdkscreen);
  123.    sleep (4);
  124.  
  125.    /* Set the histogram values. */
  126.    setCDKHistogram (volume, vPERCENT, CENTER, BAR(0, 10, 3));
  127.    setCDKHistogram (bass  , vPERCENT, CENTER, BAR(0, 10, 3));
  128.    setCDKHistogram (treble, vPERCENT, CENTER, BAR(0, 10, 3));
  129.    refreshCDKScreen (cdkscreen);
  130.    sleep (4);
  131.  
  132.    /* Set the histogram values. */
  133.    setCDKHistogram (volume, vPERCENT, CENTER, BAR(0, 10, 10));
  134.    setCDKHistogram (bass  , vPERCENT, CENTER, BAR(0, 10, 10));
  135.    setCDKHistogram (treble, vPERCENT, CENTER, BAR(0, 10, 10));
  136.    refreshCDKScreen (cdkscreen);
  137.    sleep (4);
  138.  
  139.    /* Clean up. */
  140.    destroyCDKHistogram (volume);
  141.    destroyCDKHistogram (bass);
  142.    destroyCDKHistogram (treble);
  143.    destroyCDKScreen (cdkscreen);
  144.    endCDK();
  145.    ExitProgram (EXIT_SUCCESS);
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement