[Top][All Lists]
[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);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Antiright-devel] antiright/lib drawing.c,
Jeffrey Bedard <=