home *** CD-ROM | disk | FTP | other *** search
/ gondwana.ecr.mu.oz.au/pub/ / Graphics.tar / Graphics / VOGLE.ZIP / EXAMPLES / SUNVIEW / SVBALLS.C < prev    next >
C/C++ Source or Header  |  1994-04-27  |  1KB  |  71 lines

  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <suntool/sunview.h>
  4. #include <suntool/canvas.h>
  5. #include <suntool/panel.h>
  6. #include "vogle.h"
  7.  
  8. #define SIZE    512
  9.  
  10. quit()
  11. {
  12.     vexit();
  13.     exit(0);
  14. }
  15.  
  16. resize(canvas, w, h)
  17.     Canvas    canvas;
  18.     int    w, h;
  19. {
  20.  
  21.     fprintf(stderr, "Resize proc\n");
  22.     vo_sunview_canvas(canvas, w, h);
  23.     draw_balls();
  24. }
  25.  
  26. main(ac, av)
  27.     int    ac;
  28.     char    **av;
  29. {
  30.     Frame        frame;
  31.     Canvas        canvas;
  32.     Panel        panel;
  33.     int        w, h;
  34.     Notify_value    drawscene();
  35.  
  36.     frame = window_create(
  37.             0, FRAME,
  38.             FRAME_LABEL, av[1],
  39.         0);
  40.  
  41.     canvas = window_create(
  42.             frame, CANVAS,
  43.             CANVAS_RESIZE_PROC, resize,
  44.             WIN_HEIGHT, SIZE,
  45.             WIN_WIDTH, SIZE,
  46.         0);
  47.  
  48.     panel = window_create(
  49.             frame, PANEL, 
  50.             WIN_BELOW, canvas,
  51.             WIN_X, 0,
  52.         0);
  53.  
  54.  
  55.     panel_create_item(
  56.         panel, PANEL_BUTTON,
  57.         PANEL_LABEL_IMAGE, panel_button_image(panel, " QUIT ", 0, 0),
  58.  
  59.         PANEL_NOTIFY_PROC, quit,
  60.     0);
  61.  
  62.     window_fit(panel);
  63.     window_fit(frame);
  64.     w = (int)window_get(canvas, WIN_WIDTH);
  65.     h = (int)window_get(canvas, WIN_HEIGHT);
  66.     vo_sunview_canvas(canvas, w, h);
  67.     vinit("sun");
  68.  
  69.     window_main_loop(frame);
  70. }
  71.