diff options
author | fenner <fenner@FreeBSD.org> | 1998-08-01 07:36:52 +0000 |
---|---|---|
committer | fenner <fenner@FreeBSD.org> | 1998-08-01 07:36:52 +0000 |
commit | e11363094c172bda34f2b985cee45ed6448b970c (patch) | |
tree | 54da7f4fdc34601f7502c0529b8a62c86dbff86a /math | |
parent | 555ea91e3d79cfedcab2e17267b89b61bfb15140 (diff) | |
download | FreeBSD-ports-e11363094c172bda34f2b985cee45ed6448b970c.zip FreeBSD-ports-e11363094c172bda34f2b985cee45ed6448b970c.tar.gz |
Make color plotting work.
Prompted by: Chris Timmons <skynyrd@opus.cts.cwu.edu>
Diffstat (limited to 'math')
-rw-r--r-- | math/xplot/files/patch-aa | 11 | ||||
-rw-r--r-- | math/xplot/files/patch-ab | 84 |
2 files changed, 84 insertions, 11 deletions
diff --git a/math/xplot/files/patch-aa b/math/xplot/files/patch-aa index b816568..4e324d4 100644 --- a/math/xplot/files/patch-aa +++ b/math/xplot/files/patch-aa @@ -53,14 +53,3 @@ #include "xplot.h" #include "coord.h" #include <stdio.h> ---- xplot.c.orig Wed Jan 22 09:38:48 1997 -+++ xplot.c Mon Mar 3 11:41:31 1997 -@@ -46,7 +46,7 @@ - #include <X11/cursorfont.h> - #include <math.h> - #include <ctype.h> --#include <malloc.h> -+#include <stdlib.h> - #include "xplot.h" - #include "coord.h" - diff --git a/math/xplot/files/patch-ab b/math/xplot/files/patch-ab new file mode 100644 index 0000000..8c35f0d --- /dev/null +++ b/math/xplot/files/patch-ab @@ -0,0 +1,84 @@ +--- xplot.c.orig Wed Jul 2 13:26:09 1997 ++++ xplot.c Sat Aug 1 00:12:42 1998 +@@ -46,7 +46,7 @@ + #include <X11/cursorfont.h> + #include <math.h> + #include <ctype.h> +-#include <malloc.h> ++#include <stdlib.h> + #include "xplot.h" + #include "coord.h" + +@@ -813,9 +813,7 @@ + static struct dpy_info { + unsigned long line_plane_mask; + Colormap clr_map; +- XColor clr; +- unsigned long pixel[NCOLORS]; +- int Colors[NCOLORS]; ++ unsigned long Colors[NCOLORS]; + int virgin; + Atom xplot_nagle_atom; + Display *saved_dpy; +@@ -842,38 +840,37 @@ + /* Allocate some color cells */ + + if (d_i[d].virgin ) { ++ int usewhite; ++ + d_i[d].virgin = 0; + + d_i[d].xplot_nagle_atom = XInternAtom(pl->dpy, "XPLOT_NAGLE", False); + + d_i[d].clr_map = DefaultColormap(pl->dpy, DefaultScreen(pl->dpy)); + +- if ( option_mono || +- +- ! XAllocColorCells(pl->dpy, +- d_i[d].clr_map, 0, +- &d_i[d].line_plane_mask, 1, +- d_i[d].pixel, NColors) ) +- { +- /* probably only one bit plane, or all the color cells are taken */ +-#if 1 +- if (! option_mono) +- fputs("XAllocColorCells failed, will only have one plot color\n", +- stderr); +-#endif +- for ( i = 0; i < NColors; i++) { +- d_i[d].Colors[i] = WhitePixelOfScreen(pl->screen); +- } +- } else { +- for (i = 0; i < NColors; i++) { +- XParseColor(pl->dpy, d_i[d].clr_map, ColorNames[i], &d_i[d].clr); +- d_i[d].clr.pixel = d_i[d].pixel[i]; +- XStoreColor (pl->dpy, d_i[d].clr_map, &d_i[d].clr); +- d_i[d].clr.pixel |= d_i[d].line_plane_mask; +- XStoreColor (pl->dpy, d_i[d].clr_map, &d_i[d].clr); +- d_i[d].Colors[i] = d_i[d].clr.pixel; ++ if ( option_mono ) { ++ usewhite = 1; ++ } else { ++ usewhite = 0; ++ ++ for (i = 0; i < NColors; i++) { ++ XColor alloc, exact; ++ ++ if (XAllocNamedColor(pl->dpy, d_i[d].clr_map, ColorNames[i], ++ &alloc, &exact) == 0) { ++ XFreeColors(pl->dpy, d_i[d].clr_map, d_i[d].Colors, i, NULL); ++ usewhite = 1; ++ fprintf(stderr, "unable to allocate color \"%s\", falling back to only one plot color\n", ColorNames[i]); ++ break; + } ++ d_i[d].Colors[i] = alloc.pixel; ++ } ++ } ++ if ( usewhite ) { ++ for ( i = 0; i < NColors; i++) { ++ d_i[d].Colors[i] = WhitePixelOfScreen(pl->screen); + } ++ } + } + + for (i = 0; i < NColors; i++) { |