version 1.1, 2000/01/09 17:01:14 |
version 1.1.1.3, 2003/09/15 07:09:36 |
|
|
* |
* |
* size (in pixels) |
* size (in pixels) |
* |
* |
* font (small,medium,large) |
* font (tiny,small,medium,large,giant) |
* |
* |
* xrrggbb - sets the next color. x is the literal character 'x', |
* xrrggbb - sets the next color. x is the literal character 'x', |
* rrggbb are the red green and blue components in hex. For example |
* rrggbb are the red green and blue components in hex. For example |
|
|
* Alex Woo <woo@playfair.stanford.edu> |
* Alex Woo <woo@playfair.stanford.edu> |
* |
* |
* CONTRIBUTORS |
* CONTRIBUTORS |
* Alfred Reibenschuh <alfred.reibenschuh@cait.co.at> or <fredo@blackbox.at> |
* Alfred Reibenschuh <alfred.reibenschuh@it-austria.com> or <fredo@blackbox.at> |
|
* Ben Laurie <ben@algroup.co.uk> |
* |
* |
* send your comments or suggestions to: |
* send your comments or suggestions to: |
* info-gnuplot@cs.dartmouth.edu |
* info-gnuplot@cs.dartmouth.edu |
|
|
* |
* |
* find out about gd from http://www.boutell.com/gd/ |
* find out about gd from http://www.boutell.com/gd/ |
* |
* |
* [Update: as of version 1.3, gd does not use any more UNISYS licensed |
* We recommend to use gd library version 1.3 or 1.4 because it uses |
* code. The gnuplot team may decide to include this version some day.] |
* Run Length Encoding (RLE) instead of LZW compression. LZW compression |
|
* is licensed by UNISYS. |
* |
* |
|
* Gd library versions before 1.3, and gd library 1.5 are subject to |
|
* the Unisys license. Use at your own risk. From version 1.6 on, gd |
|
* library creates png files instead of gif. |
|
* |
*/ |
*/ |
|
|
#include "driver.h" |
#include "driver.h" |
Line 107 TERM_PUBLIC int GIF_text_angle __PROTO((int ang)); |
|
Line 113 TERM_PUBLIC int GIF_text_angle __PROTO((int ang)); |
|
TERM_PUBLIC void GIF_reset __PROTO((void)); |
TERM_PUBLIC void GIF_reset __PROTO((void)); |
|
|
#include "gd.h" |
#include "gd.h" |
|
|
extern gdFontPtr gdFontSmall; /* 6x12 */ |
extern gdFontPtr gdFontSmall; /* 6x12 */ |
extern gdFontPtr gdFontLarge; /* 8x16 */ |
extern gdFontPtr gdFontLarge; /* 8x16 */ |
extern gdFontPtr gdFontMediumBold; /* 7x13 */ |
extern gdFontPtr gdFontMediumBold; /* 7x13 */ |
|
extern gdFontPtr gdFontGiant; /* 9x15 */ |
|
extern gdFontPtr gdFontTiny; /* 5x8 */ |
|
|
|
|
#define GREG_XMAX 640 |
#define GREG_XMAX 640 |
#define GREG_YMAX 480 |
#define GREG_YMAX 480 |
|
|
|
|
int GIF_XMAX = GREG_XMAX; |
static int GIF_XMAX = GREG_XMAX; |
int GIF_YMAX = GREG_YMAX; |
static int GIF_YMAX = GREG_YMAX; |
|
|
|
|
#define GIF_FONT_SMALL 1 |
#define GIF_FONT_SMALL 1 |
|
|
#define GIF_USE_TRANSPARENT 1 |
#define GIF_USE_TRANSPARENT 1 |
#define GIF_USE_INTERLACE 2 |
#define GIF_USE_INTERLACE 2 |
|
|
static unsigned int gif_color_rgbs[] = |
|
{ |
|
0xffffff, /* background: white */ |
|
0x000000, /* borders: black */ |
|
0x404040, /* x & y axes: grey */ |
|
0xff0000, /* color 01: red */ |
|
0x00c000, /* color 02: dark green */ |
|
0x0080ff, /* color 03: dark blue */ |
|
0xc000ff, /* color 04: dark magenta */ |
|
0xc0ff40, /* color 05: yellow */ |
|
0xc04000, /* color 06: orange */ |
|
0x40ff80, /* color 07: sea green */ |
|
0x2020c0, /* color 08: royal blue */ |
|
0x8000c0, /* color 09: dark violet */ |
|
/* please note: these colors are optimized for web216 compatibility */ |
|
0x006080, /* DeepSkyBlue4 */ |
|
0x008000, /* green4 */ |
|
0x008040, /* SpringGreen4 */ |
|
0x008080, /* dark cyan, turquoise4 */ |
|
0x00c060, /* SpringGreen3 */ |
|
0x00c0c0, /* cyan3, turquoise3 */ |
|
0x00ff00, /* green */ |
|
0x208020, /* forest green */ |
|
0x306080, /* SteelBlue4 */ |
|
0x404040, /* grey25-31 */ |
|
0x408000, /* chartreuse4 */ |
|
0x000080, /* dark blue, navy blue */ |
|
0x806000, /* DarkGoldenrod4 */ |
|
0x806010, /* goldenrod4 */ |
|
0x806060, /* pink4 */ |
|
0x806080, /* plum4 */ |
|
0x0000c0, /* medium blue */ |
|
0x0000ff, /* blue */ |
|
0x006000, /* dark green */ |
|
0x40c080, /* SeaGreen3 */ |
|
0x60a0c0, /* SkyBlue3 */ |
|
0x60c000, /* chartreuse3 */ |
|
0x60c0a0, /* medium aquamarine */ |
|
0x800000, /* dark red */ |
|
0x800080, /* dark magenta */ |
|
0x602080, /* DarkOrchid4 */ |
|
0x606060, /* dim grey */ |
|
0x00ffff, /* cyan1, turquoise1 */ |
|
0x202020, /* grey13-18 */ |
|
0x204040, /* dark slate grey */ |
|
0x204080, /* RoyalBlue4 */ |
|
0x608020, /* olive drab */ |
|
0x608060, /* DarkSeaGreen4 */ |
|
0x608080, /* LightBlue4, PaleTurquoise4 */ |
|
0x808040, /* LightGoldenrod4, khaki4 */ |
|
0x808080, /* grey51-56 */ |
|
0xa0a0a0, /* dark grey, grey63-68 */ |
|
0xa0d0e0, /* light blue */ |
|
0xc02020, /* firebrick3 */ |
|
0xc06000, /* DarkOrange3 */ |
|
0x80c0e0, /* sky blue */ |
|
0xc060c0, /* orchid3 */ |
|
0xc08000, /* orange3 */ |
|
0xc08060, /* LightSalmon3 */ |
|
0xff4000, /* orange red */ |
|
0xff4040, /* brown1, tomato */ |
|
0x80c0ff, /* light sky blue */ |
|
0xff8060, /* salmon */ |
|
0xff8080, /* light coral */ |
|
0xc0a000, /* gold3 */ |
|
0xc0c0c0, /* grey76-81, honeydew3, ivory3, snow3 */ |
|
0xc0ffc0, /* DarkSeaGreen1 */ |
|
0xff0000, /* red */ |
|
0xff00ff, /* magenta */ |
|
0xff80a0, /* PaleVioletRed1 */ |
|
0xff80ff, /* orchid1 */ |
|
0xc0c0a0, /* LemonChiffon3 */ |
|
0xff6060, /* IndianRed1 */ |
|
0xff8000, /* dark orange */ |
|
0xffa000, /* orange */ |
|
0x80e0e0, /* CadetBlue2, DarkSlateGray2 */ |
|
0xa0e0e0, /* pale turquoise */ |
|
0xa0ff20, /* green yellow */ |
|
0xc00000, /* red3 */ |
|
0xc000c0, /* magenta3 */ |
|
0xa02020, /* brown */ |
|
0xa020ff, /* purple */ |
|
0x802000, /* OrangeRed4 */ |
|
0x802020, /* brown4 */ |
|
0x804000, /* DarkOrange4 */ |
|
0x804020, /* sienna4 */ |
|
0x804080, /* orchid4 */ |
|
0x8060c0, /* MediumPurple3 */ |
|
0x8060ff, /* SlateBlue1 */ |
|
0x808000, /* yellow4 */ |
|
0xa080ff, /* MediumPurple1 */ |
|
0xc06080, /* PaleVioletRed3 */ |
|
0xc0c000, /* yellow3 */ |
|
0xff8040, /* sienna1 */ |
|
0xffa040, /* tan1 */ |
|
0xffa060, /* sandy brown */ |
|
0xffa070, /* light salmon */ |
|
0xffc020, /* goldenrod1 */ |
|
0xffc0c0, /* RosyBrown1, pink */ |
|
0xffff00, /* yellow */ |
|
0xffff80, /* khaki1 */ |
|
0xffffc0 /* lemon chiffon */ |
|
}; |
|
#define GIF_N_DEFAULT_COLORS (sizeof(gif_color_rgbs)/sizeof(gif_color_rgbs[0])) |
|
|
|
/* |
/* |
* _options() Called when terminal type is selected. |
* _options() Called when terminal type is selected. |
* This procedure should parse options on the command line. A list of the |
* This procedure should parse options on the command line. A list of the |
Line 273 static unsigned int gif_color_rgbs[] = |
|
Line 177 static unsigned int gif_color_rgbs[] = |
|
* suitable for use with the set term command. term_options[] is used by |
* suitable for use with the set term command. term_options[] is used by |
* the save command. Use options_null() if no options are available. |
* the save command. Use options_null() if no options are available. |
*/ |
*/ |
TERM_PUBLIC void GIF_options() |
TERM_PUBLIC void |
|
GIF_options() |
{ |
{ |
|
struct value s; |
int gif_font, i; |
int gif_font, i; |
|
char *string; |
|
unsigned long color; |
|
|
term_options[0] = NUL; |
term_options[0] = NUL; |
gif_state.n_colors = 0; |
gif_state.n_colors = 0; |
gif_state.flags = 0; |
gif_state.flags = 0; |
Line 289 TERM_PUBLIC void GIF_options() |
|
Line 198 TERM_PUBLIC void GIF_options() |
|
} else if (almost_equals(c_token, "i$nterlace")) { |
} else if (almost_equals(c_token, "i$nterlace")) { |
gif_state.flags |= GIF_USE_INTERLACE; |
gif_state.flags |= GIF_USE_INTERLACE; |
++c_token; |
++c_token; |
|
} else if (almost_equals(c_token, "ti$ny")) { |
|
GIF_font=gdFontTiny; |
|
gif_font = 0; |
|
term->v_char = (unsigned int)(8); |
|
term->h_char = (unsigned int)(5); |
|
++c_token; |
} else if (almost_equals(c_token, "s$mall")) { |
} else if (almost_equals(c_token, "s$mall")) { |
GIF_font = gdFontSmall; |
GIF_font = gdFontSmall; |
gif_font = 1; |
gif_font = 1; |
Line 307 TERM_PUBLIC void GIF_options() |
|
Line 222 TERM_PUBLIC void GIF_options() |
|
term->v_char = (unsigned int) (16); |
term->v_char = (unsigned int) (16); |
term->h_char = (unsigned int) (8); |
term->h_char = (unsigned int) (8); |
++c_token; |
++c_token; |
|
} else if (almost_equals(c_token, "g$iant")) { |
|
GIF_font=gdFontGiant; |
|
gif_font = 4; |
|
term->v_char = (unsigned int)(15); |
|
term->h_char = (unsigned int)(9); |
|
++c_token; |
} else if (almost_equals(c_token, "si$ze")) { |
} else if (almost_equals(c_token, "si$ze")) { |
struct value s; |
|
c_token++; |
c_token++; |
if (END_OF_COMMAND) { |
if (END_OF_COMMAND) { |
GIF_XMAX = GREG_XMAX; |
GIF_XMAX = GREG_XMAX; |
Line 326 TERM_PUBLIC void GIF_options() |
|
Line 246 TERM_PUBLIC void GIF_options() |
|
term->xmax = GIF_XMAX; |
term->xmax = GIF_XMAX; |
} |
} |
} |
} |
} else { /* not "size" */ |
} else { /* not "size" */ |
char *string = input_line + token[c_token].start_index; |
string = input_line + token[c_token].start_index; |
unsigned long color; |
|
if (sscanf(string, "x%lx", &color) != 1) { |
if (sscanf(string, "x%lx", &color) != 1) { |
int_error("invalid color spec, must be xRRGGBB", c_token); |
int_error("invalid color spec, must be xRRGGBB",c_token); |
} else if (gif_state.n_colors == GIF_MAX_COLORS) { |
} else if (gif_state.n_colors == GIF_MAX_COLORS) { |
int_warn("too many colors, ingoring", c_token); |
int_warn("too many colors, ignoring", c_token); |
++c_token; |
++c_token; |
} else { |
} else { |
gif_state.rgb_table[gif_state.n_colors++] = color; |
gif_state.rgb_table[gif_state.n_colors++] = color; |
Line 351 TERM_PUBLIC void GIF_options() |
|
Line 270 TERM_PUBLIC void GIF_options() |
|
strcat(term_options, "interlace "); |
strcat(term_options, "interlace "); |
} |
} |
switch (gif_font) { |
switch (gif_font) { |
|
case 0: |
|
strcat(term_options,"tiny "); |
|
break; |
case 1: |
case 1: |
strcat(term_options, "small "); |
strcat(term_options, "small "); |
break; |
break; |
Line 360 TERM_PUBLIC void GIF_options() |
|
Line 282 TERM_PUBLIC void GIF_options() |
|
case 3: |
case 3: |
strcat(term_options, "large "); |
strcat(term_options, "large "); |
break; |
break; |
|
case 4: |
|
strcat(term_options,"giant "); |
|
break; |
} |
} |
sprintf(term_options + strlen(term_options), |
sprintf(term_options + strlen(term_options), |
"size %d,%d ", GIF_XMAX, GIF_YMAX); |
"size %d,%d ", GIF_XMAX, GIF_YMAX); |
|
|
for (i = 0; i < gif_state.n_colors; i++) { |
for (i = 0; strlen(term_options) + 9 < MAX_LINE_LEN && |
|
i < gif_state.n_colors; i++) { |
sprintf(term_options + strlen(term_options), |
sprintf(term_options + strlen(term_options), |
"x%06x ", gif_state.rgb_table[i]); |
"x%06x ", gif_state.rgb_table[i]); |
} |
} |
Line 376 TERM_PUBLIC void GIF_options() |
|
Line 302 TERM_PUBLIC void GIF_options() |
|
* should set up things that only need to be set once, like handshaking and |
* should set up things that only need to be set once, like handshaking and |
* character sets etc... |
* character sets etc... |
*/ |
*/ |
TERM_PUBLIC void GIF_init() |
TERM_PUBLIC void |
|
GIF_init() |
{ |
{ |
gif_state.linetype = 0; |
gif_state.linetype = 0; |
} |
} |
Line 386 TERM_PUBLIC void GIF_init() |
|
Line 313 TERM_PUBLIC void GIF_init() |
|
* the terminal type changed. This procedure should reset the device, |
* the terminal type changed. This procedure should reset the device, |
* possibly flushing a buffer somewhere or generating a form feed. |
* possibly flushing a buffer somewhere or generating a form feed. |
*/ |
*/ |
TERM_PUBLIC void GIF_reset() |
TERM_PUBLIC void |
|
GIF_reset() |
{ |
{ |
} |
} |
|
|
Line 396 TERM_PUBLIC void GIF_reset() |
|
Line 324 TERM_PUBLIC void GIF_reset() |
|
* be used as terminals (like plotters) will probably be in graphics mode |
* be used as terminals (like plotters) will probably be in graphics mode |
* always and therefore won't need this. |
* always and therefore won't need this. |
*/ |
*/ |
TERM_PUBLIC void GIF_graphics() |
TERM_PUBLIC void |
|
GIF_graphics() |
{ |
{ |
int i; |
int i; |
unsigned int rgb; |
unsigned int rgb; |
Line 404 TERM_PUBLIC void GIF_graphics() |
|
Line 333 TERM_PUBLIC void GIF_graphics() |
|
gif_state.color = 0; |
gif_state.color = 0; |
gif_state.image = gdImageCreate((int) (xsize * GIF_XMAX), |
gif_state.image = gdImageCreate((int) (xsize * GIF_XMAX), |
(int) (ysize * GIF_YMAX)); |
(int) (ysize * GIF_YMAX)); |
gif_state.height = (int) (ysize * GIF_YMAX); |
gif_state.height = (int) (ysize * GIF_YMAX - 1); |
gif_state.charw = term->h_char; /* gif_state.font->w; */ |
gif_state.charw = term->h_char; /* gif_state.font->w; */ |
gif_state.charh = term->v_char; /* gif_state.font->h; */ |
gif_state.charh = term->v_char; /* gif_state.font->h; */ |
for (i = gif_state.n_colors; i < GIF_N_DEFAULT_COLORS; i++) |
for (i = gif_state.n_colors; i < WEB_N_COLORS; i++) |
gif_state.rgb_table[i] = gif_color_rgbs[i]; |
gif_state.rgb_table[i] = |
if (gif_state.n_colors < GIF_N_DEFAULT_COLORS) |
(web_color_rgbs[i].r << 16) | |
gif_state.n_colors = GIF_N_DEFAULT_COLORS; |
(web_color_rgbs[i].g << 8) | |
|
web_color_rgbs[i].b; |
|
if (gif_state.n_colors < WEB_N_COLORS) |
|
gif_state.n_colors = WEB_N_COLORS; |
for (i = 0; i < gif_state.n_colors; i++) { |
for (i = 0; i < gif_state.n_colors; i++) { |
rgb = gif_state.rgb_table[i]; |
rgb = gif_state.rgb_table[i]; |
gif_state.color_table[i] = |
gif_state.color_table[i] = |
Line 430 TERM_PUBLIC void GIF_graphics() |
|
Line 362 TERM_PUBLIC void GIF_graphics() |
|
* that commands can be seen as they're typed. Again, this will probably |
* that commands can be seen as they're typed. Again, this will probably |
* do nothing if the device can't be used as a terminal. |
* do nothing if the device can't be used as a terminal. |
*/ |
*/ |
TERM_PUBLIC void GIF_text() |
TERM_PUBLIC void |
|
GIF_text() |
{ |
{ |
if (gif_state.flags & GIF_USE_INTERLACE) |
if (gif_state.flags & GIF_USE_INTERLACE) |
gdImageInterlace(gif_state.image, 1); |
gdImageInterlace(gif_state.image, 1); |
Line 441 TERM_PUBLIC void GIF_text() |
|
Line 374 TERM_PUBLIC void GIF_text() |
|
/* _move(x,y) Called at the start of a line. The cursor should move to the |
/* _move(x,y) Called at the start of a line. The cursor should move to the |
* (x,y) position without drawing. |
* (x,y) position without drawing. |
*/ |
*/ |
TERM_PUBLIC void GIF_move(unsigned int x, unsigned int y) |
TERM_PUBLIC void |
|
GIF_move(unsigned int x, unsigned int y) |
{ |
{ |
gif_state.x = x; |
gif_state.x = x; |
gif_state.y = y; |
gif_state.y = y; |
Line 451 TERM_PUBLIC void GIF_move(unsigned int x, unsigned int |
|
Line 385 TERM_PUBLIC void GIF_move(unsigned int x, unsigned int |
|
* from the last (x,y) position given by _move() or _vector() to this new (x,y) |
* from the last (x,y) position given by _move() or _vector() to this new (x,y) |
* position. |
* position. |
*/ |
*/ |
TERM_PUBLIC void GIF_vector(unsigned int x, unsigned int y) |
TERM_PUBLIC void |
|
GIF_vector(unsigned int x, unsigned int y) |
{ |
{ |
int gif_linetype_dotted[5]; |
int gif_linetype_dotted[5]; |
|
|
Line 484 TERM_PUBLIC void GIF_vector(unsigned int x, unsigned i |
|
Line 419 TERM_PUBLIC void GIF_vector(unsigned int x, unsigned i |
|
* it should map it to one of the available line types. |
* it should map it to one of the available line types. |
* Most drivers provide 9 different linetypes (lt is 0 to 8). |
* Most drivers provide 9 different linetypes (lt is 0 to 8). |
*/ |
*/ |
TERM_PUBLIC void GIF_linetype(int type) |
TERM_PUBLIC void |
|
GIF_linetype(int type) |
{ |
{ |
if (type >= (gif_state.n_colors - 3)) |
if (type >= (gif_state.n_colors - 3)) |
type %= (gif_state.n_colors - 3); |
type %= (gif_state.n_colors - 3); |
Line 499 TERM_PUBLIC void GIF_linetype(int type) |
|
Line 435 TERM_PUBLIC void GIF_linetype(int type) |
|
* to _text_angle and then horizontally (with respect to the text) |
* to _text_angle and then horizontally (with respect to the text) |
* justified according to _justify_text. |
* justified according to _justify_text. |
*/ |
*/ |
TERM_PUBLIC void GIF_put_text(unsigned int x, unsigned int y, char *string) |
TERM_PUBLIC void |
|
GIF_put_text(unsigned int x, unsigned int y, char *string) |
{ |
{ |
if (gif_state.angle == 1) { |
if (gif_state.angle == 1) { |
x -= gif_state.charh / 2; |
x -= gif_state.charh / 2; |
Line 518 TERM_PUBLIC void GIF_put_text(unsigned int x, unsigned |
|
Line 455 TERM_PUBLIC void GIF_put_text(unsigned int x, unsigned |
|
* If ang = 0 then text is horizontal. If ang = 1 then text is vertically |
* If ang = 0 then text is horizontal. If ang = 1 then text is vertically |
* upwards. Returns TRUE if text can be rotated, FALSE otherwise. |
* upwards. Returns TRUE if text can be rotated, FALSE otherwise. |
*/ |
*/ |
TERM_PUBLIC int GIF_text_angle(int ang) |
TERM_PUBLIC int |
|
GIF_text_angle(int ang) |
{ |
{ |
gif_state.angle = ang; |
gif_state.angle = ang; |
return TRUE; |
return TRUE; |
} |
} |
|
|
/* |
TERM_PUBLIC int |
* Local Variables: |
GIF_set_font(char *fontname) |
* mode:C |
{ |
* End: |
char name[32]; |
*/ |
int sep; |
|
gdFontPtr font; |
|
|
|
sep = strcspn(fontname,","); |
|
strncpy(name,fontname,sep); |
|
name[sep] = NUL; |
|
|
|
if (!strcmp(fontname,"small")) |
|
font = gdFontSmall; |
|
else if (!strcmp(fontname,"medium")) |
|
font = gdFontMediumBold; |
|
else if(!strcmp(fontname,"large")) |
|
font = gdFontLarge; |
|
else if(!strcmp(fontname,"giant")) |
|
font = gdFontGiant; |
|
else if(!strcmp(fontname,"tiny")) |
|
font = gdFontTiny; |
|
else |
|
font = GIF_font; |
|
|
|
gif_state.charw = font->w; |
|
gif_state.charh = font->h; |
|
|
|
gif_state.font = font; |
|
|
|
return TRUE; |
|
} |
|
|
#endif /* TERM_BODY */ |
#endif /* TERM_BODY */ |
#ifdef TERM_TABLE |
#ifdef TERM_TABLE |
|
|
Line 539 TERM_TABLE_START(gif_driver) |
|
Line 503 TERM_TABLE_START(gif_driver) |
|
GIF_VTIC, GIF_HTIC, GIF_options, GIF_init, GIF_reset, |
GIF_VTIC, GIF_HTIC, GIF_options, GIF_init, GIF_reset, |
GIF_text, null_scale, GIF_graphics, GIF_move, GIF_vector, |
GIF_text, null_scale, GIF_graphics, GIF_move, GIF_vector, |
GIF_linetype, GIF_put_text, GIF_text_angle, |
GIF_linetype, GIF_put_text, GIF_text_angle, |
null_justify_text, do_point, do_arrow, set_font_null, |
null_justify_text, do_point, do_arrow, GIF_set_font, |
0, /* pointsize */ |
0, /* pointsize */ |
TERM_CAN_MULTIPLOT | TERM_BINARY |
TERM_CAN_MULTIPLOT | TERM_BINARY |
TERM_TABLE_END(gif_driver) |
TERM_TABLE_END(gif_driver) |
|
|
" The `gif` terminal driver generates output in GIF format. It uses Thomas", |
" The `gif` terminal driver generates output in GIF format. It uses Thomas", |
" Boutell's gd library, which is available from http://www.boutell.com/gd/", |
" Boutell's gd library, which is available from http://www.boutell.com/gd/", |
"", |
"", |
|
" By default, the `gif` terminal driver uses a shared Web-friendy palette." |
|
"", |
" Syntax:", |
" Syntax:", |
" set terminal gif {transparent} {interlace}", |
" set terminal gif {transparent} {interlace}", |
" {small | medium | large}", |
" {tiny | small | medium | large | giant}", |
" {size <x>,<y>}", |
" {size <x>,<y>}", |
" {<color0> <color1> <color2> ...}", |
" {<color0> <color1> <color2> ...}", |
"", |
"", |
|
|
"", |
"", |
" `interlace` instructs the driver to generate interlaced GIFs.", |
" `interlace` instructs the driver to generate interlaced GIFs.", |
"", |
"", |
" The choice of fonts is `small` (6x12 pixels), `medium` (7x13 Bold) or `large`", |
" The choice of fonts is `tiny` (5x8 pixels), `small` (6x12 pixels), `medium`", |
" (8x16).", |
" (7x13 Bold), `large` (8x16) or `giant` (9x15 pixels)", |
"", |
"", |
" The size <x,y> is given in pixels---it defaults to 640x480. The number of", |
" The size <x,y> is given in pixels---it defaults to 640x480. The number of", |
" pixels can be also modified by scaling with the `set size` command.", |
" pixels can be also modified by scaling with the `set size` command.", |
|
|
"", |
"", |
" set terminal gif transparent xffffff \\", |
" set terminal gif transparent xffffff \\", |
" x000000 x202020 x404040 x606060 \\", |
" x000000 x202020 x404040 x606060 \\", |
" x808080 xA0A0A0 xC0C0C0 xE0E0E0 \\", |
" x808080 xA0A0A0 xC0C0C0 xE0E0E0", |
|
"", |
" which uses white for the transparent background, black for borders, dark", |
" which uses white for the transparent background, black for borders, dark", |
" gray for axes, and a gray-scale for the six plotting colors.", |
" gray for axes, and a gray-scale for the six plotting colors.", |
"", |
"", |
|
|
" The current version of the `gif` driver does not support animated GIFs." |
" The current version of the `gif` driver does not support animated GIFs." |
END_HELP(gif) |
END_HELP(gif) |
#endif /* TERM_HELP */ |
#endif /* TERM_HELP */ |
|
|
|
/* |
|
* Local Variables: |
|
* mode:C |
|
* End: |
|
*/ |