home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / xgalaga-2_0_tar.gz / xgalaga-2_0_tar / xgalaga-2.0 / libsprite / circle.c < prev    next >
C/C++ Source or Header  |  1998-04-12  |  1KB  |  47 lines

  1. #include "allincludes.h"
  2.  
  3. void
  4. W_DrawCircle(window, centerx, centery, diameter, color)
  5.     W_Window window;
  6.     unsigned int diameter;
  7.     int centerx, centery;
  8.     W_Color color;
  9. {
  10.     XDrawArc(W_Display, W_Void2Window(window)->drawable, 
  11.              colortable[color].contexts[0], 
  12.          (int)(centerx - diameter / 2), 
  13.          (int)(centery - diameter / 2), 
  14.          diameter - 1, diameter - 1, 0, 360 * 64);
  15. }
  16.    
  17. /* needed by newstats.c [BDyess] */
  18. void
  19. W_WriteArc(filled, window, x, y, width, height, angle1, angle2, color)
  20.     int      filled;
  21.     W_Window window;
  22.     int      x, y;
  23.     int      width, height;
  24.     int      angle1, angle2;
  25.     W_Color  color;
  26. {
  27.     static GC pen = 0;
  28.     struct window *win;
  29.     unsigned long valuemask = 0;    /* Ignore XGCvalues and use defaults */
  30.     XGCValues values;
  31.  
  32.     win = W_Void2Window(window);
  33.  
  34.     if(pen == 0) pen = XCreateGC(W_Display, W_Root, valuemask, &values);
  35.     XSetForeground(W_Display, pen, colortable[color].pixelValue);
  36.     if (filled) {
  37.        XFillArc(W_Display, win->window, pen, x - (int)(width/2),
  38.              y - (int)(height/2), width, height, angle1 * 64, angle2 * 64);
  39.     } else {
  40.        XDrawArc(W_Display, win->window, pen, x - (int)(width/2),
  41.              y - (int)(height/2), width, height, angle1 * 64, angle2 * 64);
  42.     }
  43.  
  44.     return;
  45. }
  46.  
  47.