antiright-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Antiright-devel] antiright/lib drawing.c


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright/lib drawing.c
Date: Sun, 03 Oct 2004 13:28:15 -0400

CVSROOT:        /cvsroot/antiright
Module name:    antiright
Branch:         
Changes by:     Jeffrey Bedard <address@hidden> 04/10/03 17:21:41

Modified files:
        lib            : drawing.c 

Log message:
        Refactored some code.  Defined the convenience parameter macro XDRAWP.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/drawing.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: antiright/lib/drawing.c
diff -u antiright/lib/drawing.c:1.2 antiright/lib/drawing.c:1.3
--- antiright/lib/drawing.c:1.2 Sat Aug  7 17:13:41 2004
+++ antiright/lib/drawing.c     Sun Oct  3 17:21:41 2004
@@ -25,6 +25,12 @@
 
 #include "library.h"
 
+/* This is a convenience macro for specifying xlib drawing function
+   prototypes.  */
+#ifndef XDRAWP
+#define XDRAWP drawing->display, drawing->window, drawing->gc
+#endif /* XDRAWP  */
+
 void
 antiright_drawing_initialize(Widget drawing_widget, 
                             struct antiright_drawing_structure *drawing)
@@ -51,12 +57,9 @@
 
 void
 antiright_draw_line(struct antiright_drawing_structure *drawing,
-                   int x1, int y1,
-                   int x2, int y2)
+                   int x1, int y1, int x2, int y2)
 {
-  XDrawLine(drawing->display, drawing->window, drawing->gc, 
-           x1, y1, 
-           x2, y2);
+  XDrawLine(XDRAWP, x1, y1, x2, y2);
 }
 
 void
@@ -64,10 +67,7 @@
                      int x, int y,
                      char *string)
 {
-  XDrawString(drawing->display, drawing->window, drawing->gc, 
-             x, y,
-             string, 
-             strlen(string));
+  XDrawString(XDRAWP, x, y, string, strlen(string));
 }
 
 void
@@ -88,10 +88,7 @@
                   unsigned int width, unsigned int height,
                   int angle1, int angle2)
 {
-  XDrawArc(drawing->display, drawing->window, drawing->gc, 
-          x, y, 
-          width, height, 
-          angle1, angle2);
+  XDrawArc(XDRAWP, x, y, width, height, angle1, angle2);
 }
 
 void
@@ -100,13 +97,20 @@
                          unsigned int width, unsigned int height,
                          int angle1, int angle2)
 {
-  XFillArc(drawing->display, drawing->window, drawing->gc, 
-          x, y, 
-          width, height, 
-          angle1, angle2);
+  XFillArc(XDRAWP, x, y, width, height, angle1, angle2);
 }
 
 void
+antiright_draw_set_all_color_flags(XColor *color)
+{
+  color->flags=DoRed|DoGreen|DoBlue;
+}
+void
+antiright_setup_default_colormap(Display *display, Colormap *colormap)
+{
+  (*colormap)=DefaultColormap(display, DefaultScreen(display));
+}
+void
 antiright_draw_allocate_color(struct antiright_drawing_structure *drawing,
                              XColor *color)
 {
@@ -114,20 +118,26 @@
   
   /* These options are set often enough, so set them in this generic
      function.  */
-  color->flags=DoRed|DoGreen|DoBlue;
-  colormap=DefaultColormap(drawing->display, DefaultScreen(drawing->display));
+  antiright_draw_set_all_color_flags(color);
+  antiright_setup_default_colormap(drawing->display, &colormap);
   XAllocColor(drawing->display, colormap, color);
 }
 
 void
+antiright_multiply_colors(XColor *color,
+                         int red_int, int green_int, int blue_int)
+{
+  color->red=red_int*256;
+  color->green=green_int*256;
+  color->blue=blue_int*256;
+}
+
+void
 antiright_draw_foreground(struct antiright_drawing_structure *drawing,
                          int red_int, int green_int, int blue_int)
 {
   XColor color;
-
-  color.red=red_int*256;
-  color.green=green_int*256;
-  color.blue=blue_int*256;
+  antiright_multiply_colors(&color, red_int, green_int, blue_int);
   antiright_draw_allocate_color(drawing, &color);
   XSetForeground(drawing->display, drawing->gc, color.pixel);
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]