MIDAS
Loading...
Searching...
No Matches
mgd.cxx File Reference
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <midas.h>
#include "mgd.h"
#include <ctype.h>
Include dependency graph for mgd.cxx:

Go to the source code of this file.

Macros

#define dashedSet
 
#define TRUE   1
 
#define FALSE   0
 
#define GIFBITS   12
 
#define HSIZE   5003 /* 80% occupancy */
 
#define ARGVAL()   (*++(*argv) || (--argc && *++argv))
 
#define MAXCODE(n_bits)   (((code_int) 1 << (n_bits)) - 1)
 
#define HashTabOf(i)   htab[i]
 
#define CodeTabOf(i)   codetab[i]
 
#define tab_prefixof(i)   CodeTabOf(i)
 
#define tab_suffixof(i)   ((char_type*)(htab))[i]
 
#define de_stack   ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
 
#define MAXCOLORMAPSIZE   256
 
#define TRUE   1
 
#define FALSE   0
 
#define CM_RED   0
 
#define CM_GREEN   1
 
#define CM_BLUE   2
 
#define MAX_LWZ_BITS   12
 
#define INTERLACE   0x40
 
#define LOCALCOLORMAP   0x80
 
#define BitSet(byte, bit)   (((byte) & (bit)) == (bit))
 
#define ReadOK(file, buffer, len)   (fread(buffer, len, 1, file) != 0)
 
#define LM_to_uint(a, b)   (((b)<<8)|(a))
 

Typedefs

typedef int code_int
 
typedef long int count_int
 
typedef unsigned char char_type
 

Functions

static void gdImageBrushApply (gdImagePtr im, int x, int y)
 
static void gdImageTileApply (gdImagePtr im, int x, int y)
 
gdImagePtr gdImageCreate (int sx, int sy)
 
void gdImageDestroy (gdImagePtr im)
 
int gdImageColorClosest (gdImagePtr im, int r, int g, int b)
 
int gdImageColorExact (gdImagePtr im, int r, int g, int b)
 
int gdImageColorAllocate (gdImagePtr im, int r, int g, int b)
 
void gdImageColorDeallocate (gdImagePtr im, int color)
 
void gdImageColorTransparent (gdImagePtr im, int color)
 
void gdImageSetPixel (gdImagePtr im, int x, int y, int color)
 
int gdImageGetPixel (gdImagePtr im, int x, int y)
 
void gdImageLine (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
 
void gdImageDashedLine (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
 
int gdImageBoundsSafe (gdImagePtr im, int x, int y)
 
void gdImageChar (gdImagePtr im, gdFontPtr f, int x, int y, int c, int color)
 
void gdImageCharUp (gdImagePtr im, gdFontPtr f, int x, int y, char c, int color)
 
void gdImageString (gdImagePtr im, gdFontPtr f, int x, int y, const char *s, int color)
 
void gdImageStringUp (gdImagePtr im, gdFontPtr f, int x, int y, const char *s, int color)
 
void gdImageFillToBorder (gdImagePtr im, int x, int y, int border, int color)
 
void gdImageFill (gdImagePtr im, int x, int y, int color)
 
static int colorstobpp (int colors)
 
static void BumpPixel (void)
 
static int GIFNextPixel (gdImagePtr im)
 
static void GIFEncode (gdGifBuffer *buffer, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
 
static void Putword (int w, gdGifBuffer *buffer)
 
static void compress (int init_bits, gdGifBuffer *buffer, gdImagePtr im)
 
static void output (code_int code)
 
static void cl_block (void)
 
static void cl_hash (count_int hsize)
 
static void char_init (void)
 
static void char_out (int c)
 
static void flush_char (void)
 
static void init_statics (void)
 
void gdImageGif (gdImagePtr im, gdGifBuffer *buffer)
 
void bputc (int c, gdGifBuffer *buffer)
 
static int ReadColorMap (FILE *fd, int number, unsigned char(*buffer)[256])
 
static int DoExtension (FILE *fd, int label, int *Transparent)
 
static int GetDataBlock (FILE *fd, unsigned char *buf)
 
static int GetCode (FILE *fd, int code_size, int flag)
 
static int LWZReadByte (FILE *fd, int flag, int input_code_size)
 
static void ReadImage (gdImagePtr im, FILE *fd, int len, int height, unsigned char(*cmap)[256], int interlace, int ignore)
 
gdImagePtr gdImageCreateFromGif (FILE *fd)
 
void gdImageRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
 
void gdImageFilledRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
 
void gdImageCopy (gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h)
 
void gdImageCopyResized (gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
 
void gdImagePolygon (gdImagePtr im, gdPointPtr p, int n, int c)
 
int gdCompareInt (const void *a, const void *b)
 
void gdImageFilledPolygon (gdImagePtr im, gdPointPtr p, int n, int c)
 
void gdImageSetStyle (gdImagePtr im, int *style, int noOfPixels)
 
void gdImageSetBrush (gdImagePtr im, gdImagePtr brush)
 
void gdImageInterlace (gdImagePtr im, int interlaceArg)
 

Variables

int gdFontGiantData []
 
int gdFontMediumBoldData []
 
int gdFontSmallData []
 
gdFont gdFontGiantRep
 
gdFont gdFontMediumBoldRep
 
gdFont gdFontSmallRep
 
gdFontPtr gdFontMediumBold = &gdFontMediumBoldRep
 
gdFontPtr gdFontGiant = &gdFontGiantRep
 
gdFontPtr gdFontSmall = &gdFontSmallRep
 
static char gif_buffer [500000]
 
static int Width
 
static int Height
 
static int curx
 
static int cury
 
static long CountDown
 
static int Pass = 0
 
static int Interlace
 
static int n_bits
 
static int maxbits = GIFBITS
 
static code_int maxcode
 
static code_int maxmaxcode = (code_int) 1 << GIFBITS
 
static count_int htab [HSIZE]
 
static unsigned short codetab [HSIZE]
 
static code_int hsize = HSIZE
 
static code_int free_ent = 0
 
static int clear_flg = 0
 
static int offset
 
static long int in_count = 1
 
static long int out_count = 0
 
static int g_init_bits
 
static gdGifBufferg_outbuffer
 
static int ClearCode
 
static int EOFCode
 
static unsigned long cur_accum = 0
 
static int cur_bits = 0
 
static unsigned long masks []
 
static int a_count
 
static char accum [256]
 
struct { 
 
   int   transparent 
 
   int   delayTime 
 
   int   inputFlag 
 
   int   disposal 
 
Gif89 
 
int ZeroDataBlock
 

Macro Definition Documentation

◆ ARGVAL

#define ARGVAL ( )    (*++(*argv) || (--argc && *++argv))

Definition at line 1461 of file mgd.cxx.

◆ BitSet

#define BitSet (   byte,
  bit 
)    (((byte) & (bit)) == (bit))

Definition at line 1851 of file mgd.cxx.

◆ CM_BLUE

#define CM_BLUE   2

Definition at line 1845 of file mgd.cxx.

◆ CM_GREEN

#define CM_GREEN   1

Definition at line 1844 of file mgd.cxx.

◆ CM_RED

#define CM_RED   0

Definition at line 1843 of file mgd.cxx.

◆ CodeTabOf

#define CodeTabOf (   i)    codetab[i]

Definition at line 1475 of file mgd.cxx.

◆ dashedSet

#define dashedSet
Value:
{ \
dashStep = 0; \
on = !on; \
} \
if (on) { \
} \
}
#define gdDashSize
Definition mgd.h:83
char color[][16]
Definition mchart.cxx:32
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24

Definition at line 726 of file mgd.cxx.

727 { \
728 dashStep++; \
729 if (dashStep == gdDashSize) { \
730 dashStep = 0; \
731 on = !on; \
732 } \
733 if (on) { \
734 gdImageSetPixel(im, x, y, color); \
735 } \
736 }

◆ de_stack

#define de_stack   ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))

Definition at line 1490 of file mgd.cxx.

◆ FALSE [1/2]

#define FALSE   0

Definition at line 1169 of file mgd.cxx.

◆ FALSE [2/2]

#define FALSE   0

Definition at line 1169 of file mgd.cxx.

◆ GIFBITS

#define GIFBITS   12

Definition at line 1435 of file mgd.cxx.

◆ HashTabOf

#define HashTabOf (   i)    htab[i]

Definition at line 1474 of file mgd.cxx.

◆ HSIZE

#define HSIZE   5003 /* 80% occupancy */

Definition at line 1437 of file mgd.cxx.

◆ INTERLACE

#define INTERLACE   0x40

Definition at line 1849 of file mgd.cxx.

◆ LM_to_uint

#define LM_to_uint (   a,
 
)    (((b)<<8)|(a))

Definition at line 1855 of file mgd.cxx.

◆ LOCALCOLORMAP

#define LOCALCOLORMAP   0x80

Definition at line 1850 of file mgd.cxx.

◆ MAX_LWZ_BITS

#define MAX_LWZ_BITS   12

Definition at line 1847 of file mgd.cxx.

◆ MAXCODE

#define MAXCODE (   n_bits)    (((code_int) 1 << (n_bits)) - 1)

Definition at line 1470 of file mgd.cxx.

◆ MAXCOLORMAPSIZE

#define MAXCOLORMAPSIZE   256

Definition at line 1838 of file mgd.cxx.

◆ ReadOK

#define ReadOK (   file,
  buffer,
  len 
)    (fread(buffer, len, 1, file) != 0)

Definition at line 1853 of file mgd.cxx.

◆ tab_prefixof

#define tab_prefixof (   i)    CodeTabOf(i)

Definition at line 1488 of file mgd.cxx.

◆ tab_suffixof

#define tab_suffixof (   i)    ((char_type*)(htab))[i]

Definition at line 1489 of file mgd.cxx.

◆ TRUE [1/2]

#define TRUE   1

Definition at line 1168 of file mgd.cxx.

◆ TRUE [2/2]

#define TRUE   1

Definition at line 1168 of file mgd.cxx.

Typedef Documentation

◆ char_type

Definition at line 1442 of file mgd.cxx.

◆ code_int

Definition at line 1090 of file mgd.cxx.

◆ count_int

Definition at line 1096 of file mgd.cxx.

Function Documentation

◆ bputc()

void bputc ( int  c,
gdGifBuffer buffer 
)

Definition at line 1253 of file mgd.cxx.

1254{
1255 buffer->data[buffer->size++] = (unsigned char) c;
1256}
char * data
Definition mgd.h:54
char c
Definition system.cxx:1310
Here is the call graph for this function:
Here is the caller graph for this function:

◆ BumpPixel()

static void BumpPixel ( void  )
static

Definition at line 1180 of file mgd.cxx.

1181{
1182 /*
1183 * Bump the current X position
1184 */
1185 ++curx;
1186
1187 /*
1188 * If we are at the end of a scan line, set curx back to the beginning
1189 * If we are interlaced, bump the cury to the appropriate spot,
1190 * otherwise, just increment it.
1191 */
1192 if (curx == Width) {
1193 curx = 0;
1194
1195 if (!Interlace)
1196 ++cury;
1197 else {
1198 switch (Pass) {
1199
1200 case 0:
1201 cury += 8;
1202 if (cury >= Height) {
1203 ++Pass;
1204 cury = 4;
1205 }
1206 break;
1207
1208 case 1:
1209 cury += 8;
1210 if (cury >= Height) {
1211 ++Pass;
1212 cury = 2;
1213 }
1214 break;
1215
1216 case 2:
1217 cury += 4;
1218 if (cury >= Height) {
1219 ++Pass;
1220 cury = 1;
1221 }
1222 break;
1223
1224 case 3:
1225 cury += 2;
1226 break;
1227 }
1228 }
1229 }
1230}
static int Interlace
Definition mgd.cxx:1175
static int Pass
Definition mgd.cxx:1174
static int cury
Definition mgd.cxx:1172
static int Height
Definition mgd.cxx:1171
static int Width
Definition mgd.cxx:1171
static int curx
Definition mgd.cxx:1172
Here is the caller graph for this function:

◆ char_init()

static void char_init ( void  )
static

Definition at line 1760 of file mgd.cxx.

1761{
1762 a_count = 0;
1763}
static int a_count
Definition mgd.cxx:1755
Here is the caller graph for this function:

◆ char_out()

static void char_out ( int  c)
static

Definition at line 1774 of file mgd.cxx.

1775{
1776 accum[a_count++] = c;
1777 if (a_count >= 254)
1778 flush_char();
1779}
static char accum[256]
Definition mgd.cxx:1768
static void flush_char(void)
Definition mgd.cxx:1784
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cl_block()

static void cl_block ( void  )
static

Definition at line 1703 of file mgd.cxx.

1704{ /* table clear for block compress */
1705
1707 free_ent = ClearCode + 2;
1708 clear_flg = 1;
1709
1711}
static int ClearCode
Definition mgd.cxx:1523
long int count_int
Definition mgd.cxx:1096
static code_int free_ent
Definition mgd.cxx:1492
static int clear_flg
Definition mgd.cxx:1498
static void cl_hash(count_int hsize)
Definition mgd.cxx:1713
static void output(code_int code)
Definition mgd.cxx:1647
static code_int hsize
Definition mgd.cxx:1477
int code_int
Definition mgd.cxx:1090
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cl_hash()

static void cl_hash ( count_int  hsize)
static

Definition at line 1713 of file mgd.cxx.

1714{ /* reset code table */
1715
1717
1718 long i;
1719 long m1 = -1;
1720
1721 i = hsize - 16;
1722 do { /* might use Sys V memset(3) here */
1723 *(htab_p - 16) = m1;
1724 *(htab_p - 15) = m1;
1725 *(htab_p - 14) = m1;
1726 *(htab_p - 13) = m1;
1727 *(htab_p - 12) = m1;
1728 *(htab_p - 11) = m1;
1729 *(htab_p - 10) = m1;
1730 *(htab_p - 9) = m1;
1731 *(htab_p - 8) = m1;
1732 *(htab_p - 7) = m1;
1733 *(htab_p - 6) = m1;
1734 *(htab_p - 5) = m1;
1735 *(htab_p - 4) = m1;
1736 *(htab_p - 3) = m1;
1737 *(htab_p - 2) = m1;
1738 *(htab_p - 1) = m1;
1739 htab_p -= 16;
1740 } while ((i -= 16) >= 0);
1741
1742 for (i += 16; i > 0; --i)
1743 *--htab_p = m1;
1744}
INT i
Definition mdump.cxx:32
static count_int htab[HSIZE]
Definition mgd.cxx:1472
Here is the call graph for this function:
Here is the caller graph for this function:

◆ colorstobpp()

static int colorstobpp ( int  colors)
static

Definition at line 1136 of file mgd.cxx.

1137{
1138 int bpp = 0;
1139
1140 if (colors <= 2)
1141 bpp = 1;
1142 else if (colors <= 4)
1143 bpp = 2;
1144 else if (colors <= 8)
1145 bpp = 3;
1146 else if (colors <= 16)
1147 bpp = 4;
1148 else if (colors <= 32)
1149 bpp = 5;
1150 else if (colors <= 64)
1151 bpp = 6;
1152 else if (colors <= 128)
1153 bpp = 7;
1154 else if (colors <= 256)
1155 bpp = 8;
1156 return bpp;
1157}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compress()

static void compress ( int  init_bits,
gdGifBuffer buffer,
gdImagePtr  im 
)
static

Definition at line 1526 of file mgd.cxx.

1527{
1528 long fcode;
1529 code_int i /* = 0 */ ;
1530 int c;
1531 code_int ent;
1532 code_int disp;
1534 int hshift;
1535
1536 /*
1537 * Set up the globals: g_init_bits - initial number of bits
1538 * g_outbuffer - pointer to output file
1539 */
1541 g_outbuffer = buffer;
1542
1543 /*
1544 * Set up the necessary values
1545 */
1546 offset = 0;
1547 out_count = 0;
1548 clear_flg = 0;
1549 in_count = 1;
1551
1552 ClearCode = (1 << (init_bits - 1));
1553 EOFCode = ClearCode + 1;
1554 free_ent = ClearCode + 2;
1555
1556 char_init();
1557
1558 ent = GIFNextPixel(im);
1559
1560 hshift = 0;
1561 for (fcode = (long) hsize; fcode < 65536L; fcode *= 2L)
1562 ++hshift;
1563 hshift = 8 - hshift; /* set hash code range bound */
1564
1565 hsize_reg = hsize;
1566 cl_hash((count_int) hsize_reg); /* clear hash table */
1567
1569
1570#ifdef SIGNED_COMPARE_SLOW
1571 while ((c = GIFNextPixel(im)) != (unsigned) EOF) {
1572#else /*SIGNED_COMPARE_SLOW */
1573 while ((c = GIFNextPixel(im)) != EOF) { /* } */
1574#endif /*SIGNED_COMPARE_SLOW */
1575
1576 ++in_count;
1577
1578 fcode = (long) (((long) c << maxbits) + ent);
1579 i = (((code_int) c << hshift) ^ ent); /* xor hashing */
1580
1581 if (HashTabOf(i) == fcode) {
1582 ent = CodeTabOf(i);
1583 continue;
1584 } else if ((long) HashTabOf(i) < 0) /* empty slot */
1585 goto nomatch;
1586 disp = hsize_reg - i; /* secondary hash (after G. Knott) */
1587 if (i == 0)
1588 disp = 1;
1589 probe:
1590 if ((i -= disp) < 0)
1591 i += hsize_reg;
1592
1593 if (HashTabOf(i) == fcode) {
1594 ent = CodeTabOf(i);
1595 continue;
1596 }
1597 if ((long) HashTabOf(i) > 0)
1598 goto probe;
1599 nomatch:
1600 output((code_int) ent);
1601 ++out_count;
1602 ent = c;
1603#ifdef SIGNED_COMPARE_SLOW
1604 if ((unsigned) free_ent < (unsigned) maxmaxcode) {
1605#else /*SIGNED_COMPARE_SLOW */
1606 if (free_ent < maxmaxcode) { /* } */
1607#endif /*SIGNED_COMPARE_SLOW */
1608 CodeTabOf(i) = free_ent++; /* code -> hashtable */
1609 HashTabOf(i) = fcode;
1610 } else
1611 cl_block();
1612 }
1613 /*
1614 * Put out the final code.
1615 */
1616 output((code_int) ent);
1617 ++out_count;
1619}
static int n_bits
Definition mgd.cxx:1463
static int maxbits
Definition mgd.cxx:1464
static void cl_block(void)
Definition mgd.cxx:1703
static code_int maxcode
Definition mgd.cxx:1465
static long int out_count
Definition mgd.cxx:1502
static code_int maxmaxcode
Definition mgd.cxx:1466
static void char_init(void)
Definition mgd.cxx:1760
#define CodeTabOf(i)
Definition mgd.cxx:1475
#define HashTabOf(i)
Definition mgd.cxx:1474
static int GIFNextPixel(gdImagePtr im)
Definition mgd.cxx:1235
#define MAXCODE(n_bits)
Definition mgd.cxx:1470
static int g_init_bits
Definition mgd.cxx:1520
static gdGifBuffer * g_outbuffer
Definition mgd.cxx:1521
static long int in_count
Definition mgd.cxx:1501
static int offset
Definition mgd.cxx:1500
static int EOFCode
Definition mgd.cxx:1524
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoExtension()

static int DoExtension ( FILE fd,
int  label,
int Transparent 
)
static

Definition at line 2023 of file mgd.cxx.

2024{
2025 static unsigned char buf[256];
2026
2027 switch (label) {
2028 case 0xf9: /* Graphic Control Extension */
2029 (void) GetDataBlock(fd, (unsigned char *) buf);
2030 Gif89.disposal = (buf[0] >> 2) & 0x7;
2031 Gif89.inputFlag = (buf[0] >> 1) & 0x1;
2032 Gif89.delayTime = LM_to_uint(buf[1], buf[2]);
2033 if ((buf[0] & 0x1) != 0)
2034 *Transparent = buf[3];
2035
2036 while (GetDataBlock(fd, (unsigned char *) buf) != 0);
2037 return FALSE;
2038 default:
2039 break;
2040 }
2041 while (GetDataBlock(fd, (unsigned char *) buf) != 0);
2042
2043 return FALSE;
2044}
#define LM_to_uint(a, b)
Definition mgd.cxx:1855
static struct @20 Gif89
#define FALSE
Definition mgd.cxx:1169
static int GetDataBlock(FILE *fd, unsigned char *buf)
Definition mgd.cxx:2046
Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush_char()

static void flush_char ( void  )
static

Definition at line 1784 of file mgd.cxx.

1785{
1786 if (a_count > 0) {
1790 a_count = 0;
1791 }
1792}
void bputc(int c, gdGifBuffer *buffer)
Definition mgd.cxx:1253
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gdCompareInt()

int gdCompareInt ( const void a,
const void b 
)

Definition at line 2579 of file mgd.cxx.

2580{
2581 return (*(const int *) a) - (*(const int *) b);
2582}
Here is the caller graph for this function:

◆ gdImageBrushApply()

static void gdImageBrushApply ( gdImagePtr  im,
int  x,
int  y 
)
static

Definition at line 579 of file mgd.cxx.

580{
581 int lx, ly;
582 int hy;
583 int hx;
584 int x1, y1, x2, y2;
585 int srcx, srcy;
586 if (!im->brush) {
587 return;
588 }
589 hy = gdImageSY(im->brush) / 2;
590 y1 = y - hy;
591 y2 = y1 + gdImageSY(im->brush);
592 hx = gdImageSX(im->brush) / 2;
593 x1 = x - hx;
594 x2 = x1 + gdImageSX(im->brush);
595 srcy = 0;
596 for (ly = y1; (ly < y2); ly++) {
597 srcx = 0;
598 for (lx = x1; (lx < x2); lx++) {
599 int p;
600 p = gdImageGetPixel(im->brush, srcx, srcy);
601 /* Allow for non-square brushes! */
602 if (p != gdImageGetTransparent(im->brush)) {
603 gdImageSetPixel(im, lx, ly, im->brushColorMap[p]);
604 }
605 srcx++;
606 }
607 srcy++;
608 }
609}
int gdImageGetPixel(gdImagePtr im, int x, int y)
Definition mgd.cxx:627
#define gdImageGetTransparent(im)
Definition mgd.h:154
#define gdImageSY(im)
Definition mgd.h:149
#define gdImageSX(im)
Definition mgd.h:148
void gdImageSetPixel(gdImagePtr im, int x, int y, int color)
Definition mgd.cxx:538
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gdImageTileApply()

static void gdImageTileApply ( gdImagePtr  im,
int  x,
int  y 
)
static

Definition at line 611 of file mgd.cxx.

612{
613 int srcx, srcy;
614 int p;
615 if (!im->tile) {
616 return;
617 }
618 srcx = x % gdImageSX(im->tile);
619 srcy = y % gdImageSY(im->tile);
620 p = gdImageGetPixel(im->tile, srcx, srcy);
621 /* Allow for transparency */
622 if (p != gdImageGetTransparent(im->tile)) {
623 gdImageSetPixel(im, x, y, im->tileColorMap[p]);
624 }
625}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCode()

static int GetCode ( FILE fd,
int  code_size,
int  flag 
)
static

Definition at line 2063 of file mgd.cxx.

2064{
2065 static unsigned char buf[280];
2066 static int curbit, lastbit, done, last_byte;
2067 int i, j, ret;
2068 unsigned char count;
2069
2070 if (flag) {
2071 curbit = 0;
2072 lastbit = 0;
2073 done = FALSE;
2074 return 0;
2075 }
2076
2077 if ((curbit + code_size) >= lastbit) {
2078 if (done) {
2079 if (curbit >= lastbit) {
2080 /* Oh well */
2081 }
2082 return -1;
2083 }
2084 buf[0] = buf[last_byte - 2];
2085 buf[1] = buf[last_byte - 1];
2086
2087 if ((count = GetDataBlock(fd, &buf[2])) == 0)
2088 done = TRUE;
2089
2090 last_byte = 2 + count;
2091 curbit = (curbit - lastbit) + 16;
2092 lastbit = (2 + count) * 8;
2093 }
2094
2095 ret = 0;
2096 for (i = curbit, j = 0; j < code_size; ++i, ++j)
2097 ret |= ((buf[i / 8] & (1 << (i % 8))) != 0) << j;
2098
2099 curbit += code_size;
2100
2101 return ret;
2102}
int done
double count
Definition mdump.cxx:33
#define TRUE
Definition mgd.cxx:1168
INT j
Definition odbhist.cxx:40
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDataBlock()

static int GetDataBlock ( FILE fd,
unsigned char buf 
)
static

Definition at line 2046 of file mgd.cxx.

2047{
2048 unsigned char count;
2049
2050 if (!ReadOK(fd, &count, 1)) {
2051 return -1;
2052 }
2053
2054 ZeroDataBlock = count == 0;
2055
2056 if ((count != 0) && (!ReadOK(fd, buf, count))) {
2057 return -1;
2058 }
2059
2060 return count;
2061}
int ZeroDataBlock
Definition mgd.cxx:1886
#define ReadOK(file, buffer, len)
Definition mgd.cxx:1853
Here is the caller graph for this function:

◆ GIFEncode()

static void GIFEncode ( gdGifBuffer buffer,
int  GWidth,
int  GHeight,
int  GInterlace,
int  Background,
int  Transparent,
int  BitsPerPixel,
int Red,
int Green,
int Blue,
gdImagePtr  im 
)
static

Definition at line 1259 of file mgd.cxx.

1262{
1263 int B;
1264 int RWidth, RHeight;
1265 int LeftOfs, TopOfs;
1266 int Resolution;
1267 int ColorMapSize;
1268 int InitCodeSize;
1269 int i;
1270
1272
1274
1275 RWidth = Width = GWidth;
1277 LeftOfs = TopOfs = 0;
1278
1280
1281 /*
1282 * Calculate number of bits we are expecting
1283 */
1284 CountDown = (long) Width *(long) Height;
1285
1286 /*
1287 * Indicate which pass we are on (if interlace)
1288 */
1289 Pass = 0;
1290
1291 /*
1292 * The initial code size
1293 */
1294 if (BitsPerPixel <= 1)
1295 InitCodeSize = 2;
1296 else
1298
1299 /*
1300 * Set up the current x and y position
1301 */
1302 curx = cury = 0;
1303
1304 /*
1305 * Write the Magic header
1306 */
1307 memcpy(buffer->data + buffer->size, Transparent < 0 ? "GIF87a" : "GIF89a", 6);
1308 buffer->size += 6;
1309
1310 /*
1311 * Write out the screen width and height
1312 */
1313 Putword(RWidth, buffer);
1314 Putword(RHeight, buffer);
1315
1316 /*
1317 * Indicate that there is a global color map
1318 */
1319 B = 0x80; /* Yes, there is a color map */
1320
1321 /*
1322 * OR in the resolution
1323 */
1324 B |= (Resolution - 1) << 5;
1325
1326 /*
1327 * OR in the Bits per Pixel
1328 */
1329 B |= (BitsPerPixel - 1);
1330
1331 /*
1332 * Write it out
1333 */
1334 bputc(B, buffer);
1335
1336 /*
1337 * Write out the Background color
1338 */
1339 bputc(Background, buffer);
1340
1341 /*
1342 * Byte of 0's (future expansion)
1343 */
1344 bputc(0, buffer);
1345
1346 /*
1347 * Write out the Global Color Map
1348 */
1349 for (i = 0; i < ColorMapSize; ++i) {
1350 bputc(Red[i], buffer);
1351 bputc(Green[i], buffer);
1352 bputc(Blue[i], buffer);
1353 }
1354
1355 /*
1356 * Write out extension for transparent color index, if necessary.
1357 */
1358 if (Transparent >= 0) {
1359 bputc('!', buffer);
1360 bputc(0xf9, buffer);
1361 bputc(4, buffer);
1362 bputc(1, buffer);
1363 bputc(0, buffer);
1364 bputc(0, buffer);
1365 bputc((unsigned char) Transparent, buffer);
1366 bputc(0, buffer);
1367 }
1368
1369 /*
1370 * Write an Image separator
1371 */
1372 bputc(',', buffer);
1373
1374 /*
1375 * Write the Image header
1376 */
1377
1378 Putword(LeftOfs, buffer);
1379 Putword(TopOfs, buffer);
1380 Putword(Width, buffer);
1381 Putword(Height, buffer);
1382
1383 /*
1384 * Write out whether or not the image is interlaced
1385 */
1386 if (Interlace)
1387 bputc(0x40, buffer);
1388 else
1389 bputc(0x00, buffer);
1390
1391 /*
1392 * Write out the initial code size
1393 */
1394 bputc(InitCodeSize, buffer);
1395
1396 /*
1397 * Go and actually compress the data
1398 */
1399 compress(InitCodeSize + 1, buffer, im);
1400
1401 /*
1402 * Write out a Zero-length packet (to end the series)
1403 */
1404 bputc(0, buffer);
1405
1406 /*
1407 * Write the GIF file terminator
1408 */
1409 bputc(';', buffer);
1410}
static long CountDown
Definition mgd.cxx:1173
static void Putword(int w, gdGifBuffer *buffer)
Definition mgd.cxx:1415
static void compress(int init_bits, gdGifBuffer *buffer, gdImagePtr im)
Definition mgd.cxx:1526
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GIFNextPixel()

static int GIFNextPixel ( gdImagePtr  im)
static

Definition at line 1235 of file mgd.cxx.

1236{
1237 int r;
1238
1239 if (CountDown == 0)
1240 return EOF;
1241
1242 --CountDown;
1243
1244 r = gdImageGetPixel(im, curx, cury);
1245
1246 BumpPixel();
1247
1248 return r;
1249}
static void BumpPixel(void)
Definition mgd.cxx:1180
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_statics()

static void init_statics ( void  )
static

Definition at line 1794 of file mgd.cxx.

1795{
1796 /* Some of these are properly initialized later. What I'm doing
1797 here is making sure code that depends on C's initialization
1798 of statics doesn't break when the code gets called more
1799 than once. */
1800 Width = 0;
1801 Height = 0;
1802 curx = 0;
1803 cury = 0;
1804 CountDown = 0;
1805 Pass = 0;
1806 Interlace = 0;
1807 a_count = 0;
1808 cur_accum = 0;
1809 cur_bits = 0;
1810 g_init_bits = 0;
1811 g_outbuffer = 0;
1812 ClearCode = 0;
1813 EOFCode = 0;
1814 free_ent = 0;
1815 clear_flg = 0;
1816 offset = 0;
1817 in_count = 1;
1818 out_count = 0;
1819 hsize = HSIZE;
1820 n_bits = 0;
1821 maxbits = GIFBITS;
1822 maxcode = 0;
1823 maxmaxcode = (code_int) 1 << GIFBITS;
1824}
static int cur_bits
Definition mgd.cxx:1639
static unsigned long cur_accum
Definition mgd.cxx:1638
#define GIFBITS
Definition mgd.cxx:1435
#define HSIZE
Definition mgd.cxx:1437
Here is the caller graph for this function:

◆ LWZReadByte()

static int LWZReadByte ( FILE fd,
int  flag,
int  input_code_size 
)
static

Definition at line 2104 of file mgd.cxx.

2105{
2106 static int fresh = FALSE;
2107 int code, incode;
2108 static int code_size, set_code_size;
2109 static int max_code, max_code_size;
2110 static int firstcode, oldcode;
2111 static int clear_code, end_code;
2112 static int table[2][(1 << MAX_LWZ_BITS)];
2113 static int stack[(1 << (MAX_LWZ_BITS)) * 2], *sp;
2114 int i;
2115
2116 if (flag) {
2120 end_code = clear_code + 1;
2122 max_code = clear_code + 2;
2123
2124 GetCode(fd, 0, TRUE);
2125
2126 fresh = TRUE;
2127
2128 for (i = 0; i < clear_code; ++i) {
2129 table[0][i] = 0;
2130 table[1][i] = i;
2131 }
2132 for (; i < (1 << MAX_LWZ_BITS); ++i)
2133 table[0][i] = table[1][0] = 0;
2134
2135 sp = stack;
2136
2137 return 0;
2138 } else if (fresh) {
2139 fresh = FALSE;
2140 do {
2142 } while (firstcode == clear_code);
2143 return firstcode;
2144 }
2145
2146 if (sp > stack)
2147 return *--sp;
2148
2149 while ((code = GetCode(fd, code_size, FALSE)) >= 0) {
2150 if (code == clear_code) {
2151 for (i = 0; i < clear_code; ++i) {
2152 table[0][i] = 0;
2153 table[1][i] = i;
2154 }
2155 for (; i < (1 << MAX_LWZ_BITS); ++i)
2156 table[0][i] = table[1][i] = 0;
2159 max_code = clear_code + 2;
2160 sp = stack;
2162 return firstcode;
2163 } else if (code == end_code) {
2164 int count;
2165 unsigned char buf[260];
2166
2167 if (ZeroDataBlock)
2168 return -2;
2169
2170 while ((count = GetDataBlock(fd, buf)) > 0);
2171
2172 if (count != 0)
2173 return -2;
2174 }
2175
2176 incode = code;
2177
2178 if (code >= max_code) {
2179 *sp++ = firstcode;
2180 code = oldcode;
2181 }
2182
2183 while (code >= clear_code) {
2184 *sp++ = table[1][code];
2185 if (code == table[0][code]) {
2186 /* Oh well */
2187 }
2188 code = table[0][code];
2189 }
2190
2191 *sp++ = firstcode = table[1][code];
2192
2193 if ((code = max_code) < (1 << MAX_LWZ_BITS)) {
2194 table[0][code] = oldcode;
2195 table[1][code] = firstcode;
2196 ++max_code;
2197 if ((max_code >= max_code_size) && (max_code_size < (1 << MAX_LWZ_BITS))) {
2198 max_code_size *= 2;
2199 ++code_size;
2200 }
2201 }
2202
2203 oldcode = incode;
2204
2205 if (sp > stack)
2206 return *--sp;
2207 }
2208 return code;
2209}
#define MAX_LWZ_BITS
Definition mgd.cxx:1847
static int GetCode(FILE *fd, int code_size, int flag)
Definition mgd.cxx:2063
Here is the call graph for this function:
Here is the caller graph for this function:

◆ output()

static void output ( code_int  code)
static

Definition at line 1647 of file mgd.cxx.

1648{
1650
1651 if (cur_bits > 0)
1652 cur_accum |= ((long) code << cur_bits);
1653 else
1654 cur_accum = code;
1655
1656 cur_bits += n_bits;
1657
1658 while (cur_bits >= 8) {
1659 char_out((unsigned int) (cur_accum & 0xff));
1660 cur_accum >>= 8;
1661 cur_bits -= 8;
1662 }
1663
1664 /*
1665 * If the next entry is going to be too big for the code size,
1666 * then increase it, if possible.
1667 */
1668 if (free_ent > maxcode || clear_flg) {
1669
1670 if (clear_flg) {
1671
1673 clear_flg = 0;
1674
1675 } else {
1676
1677 ++n_bits;
1678 if (n_bits == maxbits)
1680 else
1682 }
1683 }
1684
1685 if (code == EOFCode) {
1686 /*
1687 * At EOF, write the rest of the buffer.
1688 */
1689 while (cur_bits > 0) {
1690 char_out((unsigned int) (cur_accum & 0xff));
1691 cur_accum >>= 8;
1692 cur_bits -= 8;
1693 }
1694
1695 flush_char();
1696
1697 }
1698}
static unsigned long masks[]
Definition mgd.cxx:1641
static void char_out(int c)
Definition mgd.cxx:1774
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Putword()

static void Putword ( int  w,
gdGifBuffer buffer 
)
static

Definition at line 1415 of file mgd.cxx.

1416{
1417 buffer->data[buffer->size++] = (unsigned char) (w & 0xff);
1418 buffer->data[buffer->size++] = (unsigned char) ((w / 256) & 0xff);
1419}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadColorMap()

static int ReadColorMap ( FILE fd,
int  number,
unsigned char(*)  buffer[256] 
)
static

Definition at line 2004 of file mgd.cxx.

2005{
2006 int i;
2007 unsigned char rgb[3];
2008
2009
2010 for (i = 0; i < number; ++i) {
2011 if (!ReadOK(fd, rgb, sizeof(rgb))) {
2012 return TRUE;
2013 }
2014 buffer[CM_RED][i] = rgb[0];
2015 buffer[CM_GREEN][i] = rgb[1];
2016 buffer[CM_BLUE][i] = rgb[2];
2017 }
2018
2019
2020 return FALSE;
2021}
#define CM_RED
Definition mgd.cxx:1843
#define CM_BLUE
Definition mgd.cxx:1845
#define CM_GREEN
Definition mgd.cxx:1844
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadImage()

static void ReadImage ( gdImagePtr  im,
FILE fd,
int  len,
int  height,
unsigned char(*)  cmap[256],
int  interlace,
int  ignore 
)
static

Definition at line 2212 of file mgd.cxx.

2214{
2215 unsigned char c;
2216 int v;
2217 int xpos = 0, ypos = 0, pass = 0;
2218 int i;
2219 /* Stash the color map into the image */
2220 for (i = 0; (i < gdMaxColors); i++) {
2221 im->red[i] = cmap[CM_RED][i];
2222 im->green[i] = cmap[CM_GREEN][i];
2223 im->blue[i] = cmap[CM_BLUE][i];
2224 im->open[i] = 1;
2225 }
2226 /* Many (perhaps most) of these colors will remain marked open. */
2227 im->colorsTotal = gdMaxColors;
2228 /*
2229 ** Initialize the Compression routines
2230 */
2231 if (!ReadOK(fd, &c, 1)) {
2232 return;
2233 }
2234 if (LWZReadByte(fd, TRUE, c) < 0) {
2235 return;
2236 }
2237
2238 /*
2239 ** If this is an "uninteresting picture" ignore it.
2240 */
2241 if (ignore) {
2242 while (LWZReadByte(fd, FALSE, c) >= 0);
2243 return;
2244 }
2245
2246 while ((v = LWZReadByte(fd, FALSE, c)) >= 0) {
2247 /* This how we recognize which colors are actually used. */
2248 if (im->open[v]) {
2249 im->open[v] = 0;
2250 }
2252 ++xpos;
2253 if (xpos == len) {
2254 xpos = 0;
2255 if (interlace) {
2256 switch (pass) {
2257 case 0:
2258 case 1:
2259 ypos += 8;
2260 break;
2261 case 2:
2262 ypos += 4;
2263 break;
2264 case 3:
2265 ypos += 2;
2266 break;
2267 }
2268
2269 if (ypos >= height) {
2270 ++pass;
2271 switch (pass) {
2272 case 1:
2273 ypos = 4;
2274 break;
2275 case 2:
2276 ypos = 2;
2277 break;
2278 case 3:
2279 ypos = 1;
2280 break;
2281 default:
2282 goto fini;
2283 }
2284 }
2285 } else {
2286 ++ypos;
2287 }
2288 }
2289 if (ypos >= height)
2290 break;
2291 }
2292
2293 fini:
2294 if (LWZReadByte(fd, FALSE, c) >= 0) {
2295 /* Ignore extra */
2296 }
2297}
#define gdMaxColors
Definition mgd.h:22
static int LWZReadByte(FILE *fd, int flag, int input_code_size)
Definition mgd.cxx:2104
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ a_count

int a_count
static

Definition at line 1755 of file mgd.cxx.

◆ accum

char accum[256]
static

Definition at line 1768 of file mgd.cxx.

◆ clear_flg

int clear_flg = 0
static

Definition at line 1498 of file mgd.cxx.

◆ ClearCode

int ClearCode
static

Definition at line 1523 of file mgd.cxx.

◆ codetab

unsigned short codetab[HSIZE]
static

Definition at line 1473 of file mgd.cxx.

◆ CountDown

long CountDown
static

Definition at line 1173 of file mgd.cxx.

◆ cur_accum

unsigned long cur_accum = 0
static

Definition at line 1638 of file mgd.cxx.

◆ cur_bits

int cur_bits = 0
static

Definition at line 1639 of file mgd.cxx.

◆ curx

int curx
static

Definition at line 1172 of file mgd.cxx.

◆ cury

int cury
static

Definition at line 1172 of file mgd.cxx.

◆ delayTime

int delayTime

Definition at line 1872 of file mgd.cxx.

◆ disposal

int disposal

Definition at line 1874 of file mgd.cxx.

◆ EOFCode

int EOFCode
static

Definition at line 1524 of file mgd.cxx.

◆ free_ent

code_int free_ent = 0
static

Definition at line 1492 of file mgd.cxx.

◆ g_init_bits

int g_init_bits
static

Definition at line 1520 of file mgd.cxx.

◆ g_outbuffer

gdGifBuffer* g_outbuffer
static

Definition at line 1521 of file mgd.cxx.

◆ gdFontGiantData

int gdFontGiantData[]

Definition at line 32 of file mgd.cxx.

32 {
33 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 0, 0, 0, 48, 120, 252, 510, 252, 120, 48, 0, 0, 0,
35 0, 0, 0, 0, 0, 438, 204, 438, 204, 438, 204, 438, 0, 0, 0,
36 0, 0, 0, 102, 102, 126, 102, 102, 0, 504, 96, 96, 96, 96, 0,
37 0, 0, 0, 62, 6, 30, 6, 6, 0, 496, 48, 240, 48, 48, 0,
38 0, 0, 0, 124, 70, 6, 70, 124, 0, 248, 408, 248, 408, 408, 0,
39 0, 0, 0, 6, 6, 6, 6, 62, 0, 496, 48, 240, 48, 48, 0,
40 0, 0, 0, 0, 0, 120, 204, 204, 120, 0, 0, 0, 0, 0, 0,
41 0, 0, 48, 48, 48, 510, 510, 48, 48, 48, 0, 510, 510, 0, 0,
42 0, 0, 0, 102, 110, 126, 118, 102, 0, 48, 48, 48, 48, 496, 0,
43 0, 0, 0, 102, 102, 102, 60, 24, 0, 504, 96, 96, 96, 96, 0,
44 48, 48, 48, 48, 48, 48, 48, 63, 63, 0, 0, 0, 0, 0, 0,
45 0, 0, 0, 0, 0, 0, 0, 63, 63, 48, 48, 48, 48, 48, 48,
46 0, 0, 0, 0, 0, 0, 0, 496, 496, 48, 48, 48, 48, 48, 48,
47 48, 48, 48, 48, 48, 48, 48, 496, 496, 0, 0, 0, 0, 0, 0,
48 48, 48, 48, 48, 48, 48, 48, 511, 511, 48, 48, 48, 48, 48, 48,
49 0, 0, 0, 511, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
50 0, 0, 0, 0, 0, 511, 511, 0, 0, 0, 0, 0, 0, 0, 0,
51 0, 0, 0, 0, 0, 0, 0, 511, 511, 0, 0, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 511, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 511, 0, 0,
54 48, 48, 48, 48, 48, 48, 48, 496, 496, 48, 48, 48, 48, 48, 48,
55 48, 48, 48, 48, 48, 48, 48, 63, 63, 48, 48, 48, 48, 48, 48,
56 48, 48, 48, 48, 48, 48, 48, 511, 511, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 511, 511, 48, 48, 48, 48, 48, 48,
58 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
59 0, 0, 0, 448, 112, 28, 6, 28, 112, 448, 0, 510, 510, 0, 0,
60 0, 0, 0, 14, 56, 224, 384, 224, 56, 14, 0, 510, 510, 0, 0,
61 0, 0, 0, 0, 0, 510, 510, 200, 200, 200, 206, 206, 0, 0, 0,
62 0, 0, 0, 384, 192, 510, 510, 48, 510, 510, 12, 6, 0, 0, 0,
63 0, 0, 0, 240, 408, 24, 24, 252, 24, 24, 62, 506, 14, 0, 0,
64 0, 0, 0, 0, 0, 0, 0, 48, 48, 0, 0, 0, 0, 0, 0,
65 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
66 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 0, 0, 0,
67 0, 0, 216, 216, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 108, 108, 254, 108, 108, 254, 108, 108, 0, 0, 0, 0,
69 0, 0, 32, 248, 428, 44, 60, 248, 480, 416, 428, 248, 32, 0, 0,
70 0, 0, 396, 222, 222, 108, 48, 48, 216, 492, 492, 198, 0, 0, 0,
71 0, 0, 60, 102, 102, 102, 60, 102, 486, 198, 230, 444, 0, 0, 0,
72 0, 0, 240, 112, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 96, 48, 24, 24, 12, 12, 12, 12, 24, 24, 48, 96, 0, 0,
74 0, 12, 24, 48, 48, 96, 96, 96, 96, 48, 48, 24, 12, 0, 0,
75 0, 0, 0, 16, 214, 124, 56, 238, 56, 124, 214, 16, 0, 0, 0,
76 0, 0, 0, 0, 48, 48, 48, 510, 48, 48, 48, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 56, 12, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 120, 48, 0, 0,
80 0, 0, 384, 192, 192, 96, 48, 48, 24, 12, 12, 6, 0, 0, 0,
81 0, 0, 120, 204, 390, 390, 390, 390, 390, 390, 204, 120, 0, 0, 0,
82 0, 0, 48, 56, 60, 48, 48, 48, 48, 48, 48, 252, 0, 0, 0,
83 0, 0, 252, 390, 390, 384, 192, 96, 56, 12, 6, 510, 0, 0, 0,
84 0, 0, 510, 384, 192, 96, 240, 384, 384, 384, 390, 252, 0, 0, 0,
85 0, 0, 192, 224, 240, 216, 204, 198, 510, 192, 192, 192, 0, 0, 0,
86 0, 0, 510, 6, 6, 254, 398, 384, 384, 384, 390, 252, 0, 0, 0,
87 0, 0, 248, 12, 6, 6, 254, 398, 390, 390, 390, 252, 0, 0, 0,
88 0, 0, 510, 384, 384, 192, 96, 48, 24, 24, 12, 12, 0, 0, 0,
89 0, 0, 252, 390, 390, 390, 252, 390, 390, 390, 390, 252, 0, 0, 0,
90 0, 0, 252, 390, 390, 390, 454, 508, 384, 384, 192, 124, 0, 0, 0,
91 0, 0, 0, 0, 0, 48, 120, 48, 0, 0, 48, 120, 48, 0, 0,
92 0, 0, 0, 0, 0, 48, 120, 48, 0, 0, 120, 56, 12, 0, 0,
93 0, 0, 192, 96, 48, 24, 12, 12, 24, 48, 96, 192, 0, 0, 0,
94 0, 0, 0, 0, 0, 0, 510, 0, 0, 510, 0, 0, 0, 0, 0,
95 0, 0, 12, 24, 48, 96, 192, 192, 96, 48, 24, 12, 0, 0, 0,
96 0, 0, 252, 390, 390, 384, 192, 96, 48, 48, 0, 48, 0, 0, 0,
97 0, 0, 252, 390, 390, 502, 414, 478, 502, 6, 6, 252, 0, 0, 0,
98 0, 0, 48, 120, 204, 390, 390, 390, 510, 390, 390, 390, 0, 0, 0,
99 0, 0, 254, 396, 396, 396, 252, 396, 396, 396, 396, 254, 0, 0, 0,
100 0, 0, 252, 390, 6, 6, 6, 6, 6, 6, 390, 252, 0, 0, 0,
101 0, 0, 254, 396, 396, 396, 396, 396, 396, 396, 396, 254, 0, 0, 0,
102 0, 0, 510, 12, 12, 12, 124, 12, 12, 12, 12, 510, 0, 0, 0,
103 0, 0, 510, 12, 12, 12, 124, 12, 12, 12, 12, 12, 0, 0, 0,
104 0, 0, 252, 390, 6, 6, 6, 486, 390, 390, 390, 252, 0, 0, 0,
105 0, 0, 390, 390, 390, 390, 510, 390, 390, 390, 390, 390, 0, 0, 0,
106 0, 0, 252, 48, 48, 48, 48, 48, 48, 48, 48, 252, 0, 0, 0,
107 0, 0, 496, 192, 192, 192, 192, 192, 192, 192, 198, 124, 0, 0, 0,
108 0, 0, 390, 198, 102, 54, 30, 30, 54, 102, 198, 390, 0, 0, 0,
109 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 510, 0, 0, 0,
110 0, 0, 390, 390, 462, 510, 510, 438, 438, 390, 390, 390, 0, 0, 0,
111 0, 0, 390, 390, 398, 414, 438, 486, 454, 390, 390, 390, 0, 0, 0,
112 0, 0, 252, 390, 390, 390, 390, 390, 390, 390, 390, 252, 0, 0, 0,
113 0, 0, 254, 390, 390, 390, 254, 6, 6, 6, 6, 6, 0, 0, 0,
114 0, 0, 252, 390, 390, 390, 390, 390, 390, 438, 486, 252, 384, 0, 0,
115 0, 0, 254, 390, 390, 390, 254, 54, 102, 198, 390, 390, 0, 0, 0,
116 0, 0, 252, 390, 6, 6, 252, 384, 384, 384, 390, 252, 0, 0, 0,
117 0, 0, 510, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0,
118 0, 0, 390, 390, 390, 390, 390, 390, 390, 390, 390, 252, 0, 0, 0,
119 0, 0, 390, 390, 390, 204, 204, 204, 120, 120, 120, 48, 0, 0, 0,
120 0, 0, 390, 390, 390, 390, 438, 438, 438, 438, 510, 204, 0, 0, 0,
121 0, 0, 390, 390, 204, 120, 48, 48, 120, 204, 390, 390, 0, 0, 0,
122 0, 0, 390, 390, 204, 120, 48, 48, 48, 48, 48, 48, 0, 0, 0,
123 0, 0, 510, 384, 192, 96, 48, 24, 12, 6, 6, 510, 0, 0, 0,
124 0, 0, 248, 24, 24, 24, 24, 24, 24, 24, 24, 248, 0, 0, 0,
125 0, 0, 6, 12, 12, 24, 48, 48, 96, 192, 192, 384, 0, 0, 0,
126 0, 0, 124, 96, 96, 96, 96, 96, 96, 96, 96, 124, 0, 0, 0,
127 0, 0, 48, 120, 204, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 0, 0,
129 0, 0, 60, 56, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 252, 384, 384, 508, 390, 454, 508, 0, 0, 0,
131 0, 0, 6, 6, 6, 254, 398, 390, 390, 390, 398, 254, 0, 0, 0,
132 0, 0, 0, 0, 0, 252, 390, 6, 6, 6, 390, 252, 0, 0, 0,
133 0, 0, 384, 384, 384, 508, 454, 390, 390, 390, 454, 508, 0, 0, 0,
134 0, 0, 0, 0, 0, 252, 390, 390, 510, 6, 6, 252, 0, 0, 0,
135 0, 0, 240, 408, 408, 24, 24, 126, 24, 24, 24, 24, 0, 0, 0,
136 0, 0, 0, 0, 0, 508, 198, 198, 198, 124, 6, 252, 390, 390, 252,
137 0, 0, 6, 6, 6, 254, 398, 390, 390, 390, 390, 390, 0, 0, 0,
138 0, 0, 0, 48, 0, 56, 48, 48, 48, 48, 48, 252, 0, 0, 0,
139 0, 0, 0, 192, 0, 240, 192, 192, 192, 192, 192, 198, 198, 198, 124,
140 0, 0, 6, 6, 6, 390, 230, 62, 14, 62, 230, 390, 0, 0, 0,
141 0, 0, 56, 48, 48, 48, 48, 48, 48, 48, 48, 252, 0, 0, 0,
142 0, 0, 0, 0, 0, 254, 438, 438, 438, 438, 438, 390, 0, 0, 0,
143 0, 0, 0, 0, 0, 254, 398, 390, 390, 390, 390, 390, 0, 0, 0,
144 0, 0, 0, 0, 0, 252, 390, 390, 390, 390, 390, 252, 0, 0, 0,
145 0, 0, 0, 0, 0, 254, 398, 390, 390, 390, 398, 254, 6, 6, 6,
146 0, 0, 0, 0, 0, 508, 454, 390, 390, 390, 454, 508, 384, 384, 384,
147 0, 0, 0, 0, 0, 246, 412, 396, 12, 12, 12, 12, 0, 0, 0,
148 0, 0, 0, 0, 0, 252, 390, 6, 252, 384, 390, 252, 0, 0, 0,
149 0, 0, 0, 24, 24, 254, 24, 24, 24, 24, 408, 240, 0, 0, 0,
150 0, 0, 0, 0, 0, 198, 198, 198, 198, 198, 198, 508, 0, 0, 0,
151 0, 0, 0, 0, 0, 390, 390, 204, 204, 120, 120, 48, 0, 0, 0,
152 0, 0, 0, 0, 0, 390, 390, 438, 438, 438, 510, 204, 0, 0, 0,
153 0, 0, 0, 0, 0, 390, 204, 120, 48, 120, 204, 390, 0, 0, 0,
154 0, 0, 0, 0, 0, 198, 198, 198, 198, 198, 230, 252, 192, 198, 124,
155 0, 0, 0, 0, 0, 510, 192, 96, 48, 24, 12, 510, 0, 0, 0,
156 0, 0, 480, 48, 48, 96, 56, 56, 96, 48, 48, 480, 0, 0, 0,
157 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0,
158 0, 0, 30, 48, 48, 24, 112, 112, 24, 48, 48, 30, 0, 0, 0,
159 0, 0, 412, 438, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
161};

◆ gdFontGiantRep

gdFont gdFontGiantRep
Initial value:
= {
128, 0, 9, 15,
}
int gdFontGiantData[]
Definition mgd.cxx:32

Definition at line 393 of file mgd.cxx.

393 {
394 128, 0, 9, 15,
396};

◆ gdFontMediumBoldData

int gdFontMediumBoldData[]

Definition at line 163 of file mgd.cxx.

163 {
164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 12, 30, 63, 30, 12, 0, 0, 0,
166 0, 0, 0, 51, 51, 12, 51, 51, 12, 51, 51, 0, 0,
167 0, 27, 27, 31, 27, 27, 0, 60, 24, 24, 24, 24, 0,
168 0, 15, 3, 7, 3, 3, 0, 60, 12, 28, 12, 12, 0,
169 0, 14, 3, 3, 3, 14, 0, 28, 44, 28, 44, 44, 0,
170 0, 3, 3, 3, 3, 15, 0, 60, 12, 28, 12, 12, 0,
171 0, 0, 30, 51, 51, 30, 0, 0, 0, 0, 0, 0, 0,
172 0, 0, 12, 12, 63, 63, 12, 12, 0, 63, 63, 0, 0,
173 0, 51, 55, 63, 59, 51, 0, 12, 12, 12, 12, 60, 0,
174 0, 51, 51, 18, 30, 12, 0, 60, 24, 24, 24, 24, 0,
175 12, 12, 12, 12, 12, 12, 15, 15, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 0, 0, 15, 15, 12, 12, 12, 12, 12,
177 0, 0, 0, 0, 0, 0, 124, 124, 12, 12, 12, 12, 12,
178 12, 12, 12, 12, 12, 12, 124, 124, 0, 0, 0, 0, 0,
179 12, 12, 12, 12, 12, 12, 127, 127, 12, 12, 12, 12, 12,
180 0, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
181 0, 0, 0, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0,
182 0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 0, 0, 0,
183 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 0,
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0,
185 12, 12, 12, 12, 12, 12, 124, 124, 12, 12, 12, 12, 12,
186 12, 12, 12, 12, 12, 12, 15, 15, 12, 12, 12, 12, 12,
187 12, 12, 12, 12, 12, 12, 127, 127, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 127, 127, 12, 12, 12, 12, 12,
189 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
190 0, 0, 48, 24, 6, 3, 6, 24, 48, 63, 63, 0, 0,
191 0, 0, 3, 6, 24, 48, 24, 6, 3, 63, 63, 0, 0,
192 0, 0, 0, 0, 0, 63, 54, 54, 54, 55, 51, 0, 0,
193 0, 0, 32, 48, 63, 63, 12, 63, 63, 3, 1, 0, 0,
194 0, 0, 28, 54, 6, 6, 15, 6, 6, 54, 29, 0, 0,
195 0, 0, 0, 0, 0, 0, 12, 12, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197 0, 0, 12, 12, 12, 12, 12, 12, 0, 12, 12, 0, 0,
198 0, 0, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 20, 20, 62, 62, 20, 62, 62, 20, 20, 0, 0,
200 0, 0, 12, 30, 45, 13, 30, 44, 45, 30, 12, 0, 0,
201 0, 0, 39, 53, 23, 24, 12, 6, 58, 43, 57, 0, 0,
202 0, 0, 14, 27, 27, 27, 14, 43, 59, 27, 46, 0, 0,
203 0, 0, 28, 28, 12, 6, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 24, 12, 12, 6, 6, 6, 12, 12, 24, 0, 0,
205 0, 0, 6, 12, 12, 24, 24, 24, 12, 12, 6, 0, 0,
206 0, 0, 0, 0, 18, 12, 63, 63, 12, 18, 0, 0, 0,
207 0, 0, 0, 0, 12, 12, 63, 63, 12, 12, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 12, 6, 0,
209 0, 0, 0, 0, 0, 0, 63, 63, 0, 0, 0, 0, 0,
210 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 30, 12, 0,
211 0, 0, 48, 48, 24, 24, 12, 6, 6, 3, 3, 0, 0,
212 0, 0, 12, 18, 51, 51, 51, 51, 51, 18, 12, 0, 0,
213 0, 0, 12, 14, 13, 12, 12, 12, 12, 12, 63, 0, 0,
214 0, 0, 30, 51, 51, 48, 28, 6, 3, 3, 63, 0, 0,
215 0, 0, 30, 51, 48, 48, 28, 48, 48, 51, 30, 0, 0,
216 0, 0, 48, 56, 60, 54, 51, 51, 63, 48, 48, 0, 0,
217 0, 0, 63, 3, 3, 31, 51, 48, 48, 51, 30, 0, 0,
218 0, 0, 30, 51, 3, 3, 31, 51, 51, 51, 30, 0, 0,
219 0, 0, 63, 48, 48, 24, 24, 12, 12, 6, 6, 0, 0,
220 0, 0, 30, 51, 51, 51, 30, 51, 51, 51, 30, 0, 0,
221 0, 0, 30, 51, 51, 51, 62, 48, 48, 51, 30, 0, 0,
222 0, 0, 0, 0, 12, 30, 12, 0, 0, 12, 30, 12, 0,
223 0, 0, 0, 0, 12, 30, 12, 0, 28, 28, 12, 6, 0,
224 0, 0, 48, 24, 12, 6, 3, 6, 12, 24, 48, 0, 0,
225 0, 0, 0, 0, 63, 63, 0, 63, 63, 0, 0, 0, 0,
226 0, 0, 3, 6, 12, 24, 48, 24, 12, 6, 3, 0, 0,
227 0, 0, 30, 51, 51, 48, 28, 12, 0, 12, 12, 0, 0,
228 0, 0, 30, 49, 49, 61, 53, 61, 1, 49, 30, 0, 0,
229 0, 0, 30, 51, 51, 51, 63, 51, 51, 51, 51, 0, 0,
230 0, 0, 31, 51, 51, 51, 31, 51, 51, 51, 31, 0, 0,
231 0, 0, 30, 51, 3, 3, 3, 3, 3, 51, 30, 0, 0,
232 0, 0, 31, 51, 51, 51, 51, 51, 51, 51, 31, 0, 0,
233 0, 0, 63, 3, 3, 3, 31, 3, 3, 3, 63, 0, 0,
234 0, 0, 63, 3, 3, 3, 31, 3, 3, 3, 3, 0, 0,
235 0, 0, 30, 51, 3, 3, 59, 51, 51, 51, 62, 0, 0,
236 0, 0, 51, 51, 51, 51, 63, 51, 51, 51, 51, 0, 0,
237 0, 0, 63, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0,
238 0, 0, 48, 48, 48, 48, 48, 48, 48, 51, 30, 0, 0,
239 0, 0, 35, 51, 27, 15, 7, 15, 27, 51, 35, 0, 0,
240 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 63, 0, 0,
241 0, 0, 33, 51, 63, 63, 51, 51, 51, 51, 51, 0, 0,
242 0, 0, 51, 51, 55, 55, 63, 59, 59, 51, 51, 0, 0,
243 0, 0, 30, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0,
244 0, 0, 31, 51, 51, 51, 31, 3, 3, 3, 3, 0, 0,
245 0, 0, 30, 51, 51, 51, 51, 51, 55, 59, 30, 48, 0,
246 0, 0, 31, 51, 51, 51, 31, 15, 27, 51, 35, 0, 0,
247 0, 0, 30, 51, 3, 3, 30, 48, 48, 51, 30, 0, 0,
248 0, 0, 63, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0,
249 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 30, 0, 0,
250 0, 0, 51, 51, 51, 18, 18, 30, 12, 12, 12, 0, 0,
251 0, 0, 51, 51, 51, 51, 51, 63, 63, 51, 33, 0, 0,
252 0, 0, 33, 51, 18, 30, 12, 30, 18, 51, 33, 0, 0,
253 0, 0, 51, 51, 30, 30, 12, 12, 12, 12, 12, 0, 0,
254 0, 0, 63, 48, 48, 24, 12, 6, 3, 3, 63, 0, 0,
255 0, 0, 30, 6, 6, 6, 6, 6, 6, 6, 30, 0, 0,
256 0, 0, 3, 3, 6, 6, 12, 24, 24, 48, 48, 0, 0,
257 0, 0, 30, 24, 24, 24, 24, 24, 24, 24, 30, 0, 0,
258 0, 0, 12, 30, 51, 33, 0, 0, 0, 0, 0, 0, 0,
259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63, 0,
260 0, 0, 14, 14, 12, 24, 0, 0, 0, 0, 0, 0, 0,
261 0, 0, 0, 0, 0, 30, 48, 62, 51, 51, 62, 0, 0,
262 0, 0, 3, 3, 3, 31, 51, 51, 51, 51, 31, 0, 0,
263 0, 0, 0, 0, 0, 30, 51, 3, 3, 51, 30, 0, 0,
264 0, 0, 48, 48, 48, 62, 51, 51, 51, 51, 62, 0, 0,
265 0, 0, 0, 0, 0, 30, 51, 63, 3, 51, 30, 0, 0,
266 0, 0, 28, 54, 6, 6, 15, 6, 6, 6, 6, 0, 0,
267 0, 0, 0, 0, 0, 46, 51, 51, 30, 3, 30, 51, 30,
268 0, 0, 3, 3, 3, 31, 51, 51, 51, 51, 51, 0, 0,
269 0, 0, 12, 12, 0, 14, 12, 12, 12, 12, 63, 0, 0,
270 0, 0, 48, 48, 0, 48, 48, 48, 48, 48, 48, 51, 30,
271 0, 0, 3, 3, 3, 51, 27, 15, 15, 27, 51, 0, 0,
272 0, 0, 14, 12, 12, 12, 12, 12, 12, 12, 63, 0, 0,
273 0, 0, 0, 0, 0, 27, 63, 63, 51, 51, 51, 0, 0,
274 0, 0, 0, 0, 0, 31, 51, 51, 51, 51, 51, 0, 0,
275 0, 0, 0, 0, 0, 30, 51, 51, 51, 51, 30, 0, 0,
276 0, 0, 0, 0, 0, 31, 51, 51, 51, 31, 3, 3, 3,
277 0, 0, 0, 0, 0, 62, 51, 51, 51, 62, 48, 48, 48,
278 0, 0, 0, 0, 0, 31, 51, 3, 3, 3, 3, 0, 0,
279 0, 0, 0, 0, 0, 30, 51, 6, 24, 51, 30, 0, 0,
280 0, 0, 0, 3, 3, 15, 3, 3, 3, 51, 30, 0, 0,
281 0, 0, 0, 0, 0, 51, 51, 51, 51, 51, 62, 0, 0,
282 0, 0, 0, 0, 0, 51, 51, 51, 30, 30, 12, 0, 0,
283 0, 0, 0, 0, 0, 51, 51, 51, 63, 63, 18, 0, 0,
284 0, 0, 0, 0, 0, 51, 51, 30, 30, 51, 51, 0, 0,
285 0, 0, 0, 0, 0, 51, 51, 51, 51, 62, 48, 51, 30,
286 0, 0, 0, 0, 0, 63, 48, 24, 6, 3, 63, 0, 0,
287 0, 0, 28, 6, 6, 12, 6, 12, 6, 6, 28, 0, 0,
288 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0,
289 0, 0, 14, 24, 24, 12, 24, 12, 24, 24, 14, 0, 0,
290 0, 0, 38, 63, 25, 0, 0, 0, 0, 0, 0, 0, 0,
291 42, 20, 42, 20, 42, 20, 42, 20, 42, 20, 42, 20, 42,
292};

◆ gdFontMediumBoldRep

gdFont gdFontMediumBoldRep
Initial value:
= {
128, 0, 7, 13,
}
int gdFontMediumBoldData[]
Definition mgd.cxx:163

Definition at line 398 of file mgd.cxx.

398 {
399 128, 0, 7, 13,
401};

◆ gdFontSmallData

int gdFontSmallData[]

Definition at line 294 of file mgd.cxx.

294 {
295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
296 0, 0, 4, 4, 4, 4, 4, 0, 4, 0, 0, 0,
297 0, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0,
298 0, 0, 0, 10, 31, 10, 10, 31, 10, 0, 0, 0,
299 0, 4, 14, 21, 5, 14, 20, 21, 14, 4, 0, 0,
300 0, 0, 31, 19, 8, 4, 2, 25, 25, 0, 0, 0,
301 0, 0, 2, 5, 5, 2, 21, 9, 22, 0, 0, 0,
302 0, 6, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, 0, 16, 8, 4, 4, 4, 8, 16, 0, 0, 0,
304 0, 0, 1, 2, 4, 4, 4, 2, 1, 0, 0, 0,
305 0, 0, 4, 21, 14, 4, 14, 21, 4, 0, 0, 0,
306 0, 0, 0, 4, 4, 31, 4, 4, 0, 0, 0, 0,
307 0, 0, 0, 0, 0, 0, 0, 6, 6, 3, 0, 0,
308 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0,
310 0, 0, 0, 16, 8, 4, 2, 1, 0, 0, 0, 0,
311 0, 0, 14, 17, 25, 21, 19, 17, 14, 0, 0, 0,
312 0, 0, 4, 6, 4, 4, 4, 4, 14, 0, 0, 0,
313 0, 0, 14, 17, 16, 8, 4, 2, 31, 0, 0, 0,
314 0, 0, 14, 17, 16, 12, 16, 17, 14, 0, 0, 0,
315 0, 0, 8, 12, 10, 9, 31, 8, 8, 0, 0, 0,
316 0, 0, 31, 1, 15, 16, 16, 17, 14, 0, 0, 0,
317 0, 0, 12, 2, 1, 15, 17, 17, 14, 0, 0, 0,
318 0, 0, 31, 16, 8, 8, 4, 4, 4, 0, 0, 0,
319 0, 0, 14, 17, 17, 14, 17, 17, 14, 0, 0, 0,
320 0, 0, 14, 17, 17, 30, 16, 8, 6, 0, 0, 0,
321 0, 0, 0, 0, 6, 6, 0, 6, 6, 0, 0, 0,
322 0, 0, 0, 0, 6, 6, 0, 6, 6, 3, 0, 0,
323 0, 0, 0, 8, 4, 2, 4, 8, 0, 0, 0, 0,
324 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0,
325 0, 0, 0, 2, 4, 8, 4, 2, 0, 0, 0, 0,
326 0, 0, 14, 17, 8, 4, 4, 0, 4, 0, 0, 0,
327 0, 0, 14, 17, 29, 21, 29, 1, 14, 0, 0, 0,
328 0, 0, 14, 17, 17, 31, 17, 17, 17, 0, 0, 0,
329 0, 0, 15, 17, 17, 15, 17, 17, 15, 0, 0, 0,
330 0, 0, 14, 17, 1, 1, 1, 17, 14, 0, 0, 0,
331 0, 0, 15, 18, 18, 18, 18, 18, 15, 0, 0, 0,
332 0, 0, 31, 1, 1, 15, 1, 1, 31, 0, 0, 0,
333 0, 0, 31, 1, 1, 15, 1, 1, 1, 0, 0, 0,
334 0, 0, 14, 17, 1, 1, 25, 17, 14, 0, 0, 0,
335 0, 0, 17, 17, 17, 31, 17, 17, 17, 0, 0, 0,
336 0, 0, 14, 4, 4, 4, 4, 4, 14, 0, 0, 0,
337 0, 0, 16, 16, 16, 16, 16, 17, 14, 0, 0, 0,
338 0, 0, 17, 9, 5, 3, 5, 9, 17, 0, 0, 0,
339 0, 0, 1, 1, 1, 1, 1, 1, 31, 0, 0, 0,
340 0, 0, 17, 27, 21, 17, 17, 17, 17, 0, 0, 0,
341 0, 0, 17, 17, 19, 21, 25, 17, 17, 0, 0, 0,
342 0, 0, 14, 17, 17, 17, 17, 17, 14, 0, 0, 0,
343 0, 0, 15, 17, 17, 15, 1, 1, 1, 0, 0, 0,
344 0, 0, 14, 17, 17, 17, 21, 9, 22, 0, 0, 0,
345 0, 0, 15, 17, 17, 15, 5, 9, 17, 0, 0, 0,
346 0, 0, 14, 17, 1, 14, 16, 17, 14, 0, 0, 0,
347 0, 0, 31, 4, 4, 4, 4, 4, 4, 0, 0, 0,
348 0, 0, 17, 17, 17, 17, 17, 17, 14, 0, 0, 0,
349 0, 0, 17, 17, 17, 17, 10, 10, 4, 0, 0, 0,
350 0, 0, 17, 17, 17, 17, 21, 27, 17, 0, 0, 0,
351 0, 0, 17, 17, 10, 4, 10, 17, 17, 0, 0, 0,
352 0, 0, 17, 17, 10, 4, 4, 4, 4, 0, 0, 0,
353 0, 0, 31, 16, 8, 31, 2, 1, 31, 0, 0, 0,
354 0, 28, 4, 4, 4, 4, 4, 4, 4, 28, 0, 0,
355 0, 0, 0, 1, 2, 4, 8, 16, 0, 0, 0, 0,
356 0, 7, 4, 4, 4, 4, 4, 4, 4, 7, 0, 0,
357 0, 4, 10, 17, 0, 0, 0, 0, 0, 0, 0, 0,
358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
359 0, 12, 12, 24, 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 14, 16, 30, 17, 30, 0, 0, 0,
361 0, 0, 1, 1, 15, 17, 17, 17, 15, 0, 0, 0,
362 0, 0, 0, 0, 14, 17, 1, 1, 30, 0, 0, 0,
363 0, 0, 16, 16, 30, 17, 17, 17, 30, 0, 0, 0,
364 0, 0, 0, 0, 14, 17, 15, 1, 14, 0, 0, 0,
365 0, 0, 12, 18, 2, 7, 2, 2, 2, 0, 0, 0,
366 0, 0, 0, 0, 14, 17, 17, 17, 30, 16, 14, 0,
367 0, 0, 1, 1, 15, 17, 17, 17, 17, 0, 0, 0,
368 0, 0, 0, 4, 0, 4, 4, 4, 4, 0, 0, 0,
369 0, 0, 0, 16, 0, 16, 16, 16, 16, 17, 14, 0,
370 0, 0, 1, 1, 17, 9, 7, 9, 17, 0, 0, 0,
371 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0,
372 0, 0, 0, 0, 11, 21, 21, 21, 21, 0, 0, 0,
373 0, 0, 0, 0, 13, 19, 17, 17, 17, 0, 0, 0,
374 0, 0, 0, 0, 14, 17, 17, 17, 14, 0, 0, 0,
375 0, 0, 0, 0, 15, 17, 17, 17, 15, 1, 1, 0,
376 0, 0, 0, 0, 14, 17, 17, 17, 30, 16, 16, 0,
377 0, 0, 0, 0, 13, 19, 1, 1, 1, 0, 0, 0,
378 0, 0, 0, 0, 30, 1, 14, 16, 15, 0, 0, 0,
379 0, 0, 4, 4, 31, 4, 4, 4, 24, 0, 0, 0,
380 0, 0, 0, 0, 17, 17, 17, 17, 14, 0, 0, 0,
381 0, 0, 0, 0, 17, 17, 17, 10, 4, 0, 0, 0,
382 0, 0, 0, 0, 17, 17, 21, 21, 10, 0, 0, 0,
383 0, 0, 0, 0, 17, 10, 4, 10, 17, 0, 0, 0,
384 0, 0, 0, 0, 17, 17, 17, 10, 4, 2, 1, 0,
385 0, 0, 0, 0, 31, 8, 14, 2, 31, 0, 0, 0,
386 0, 16, 8, 8, 8, 4, 8, 8, 8, 16, 0, 0,
387 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0,
388 0, 1, 2, 2, 2, 4, 2, 2, 2, 1, 0, 0,
389 0, 22, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 1, 1, 15, 17, 17, 17, 15, 0, 0, 0,
391};

◆ gdFontSmallRep

gdFont gdFontSmallRep
Initial value:
= {
96, 32, 6, 12,
}
int gdFontSmallData[]
Definition mgd.cxx:294

Definition at line 403 of file mgd.cxx.

403 {
404 96, 32, 6, 12,
406};

◆ [struct]

struct { ... } Gif89
Initial value:
= {
-1, -1, -1, 0}

◆ gif_buffer

char gif_buffer[500000]
static

Definition at line 1116 of file mgd.cxx.

◆ Height

int Height
static

Definition at line 1171 of file mgd.cxx.

◆ hsize

code_int hsize = HSIZE
static

Definition at line 1477 of file mgd.cxx.

◆ htab

count_int htab[HSIZE]
static

Definition at line 1472 of file mgd.cxx.

◆ in_count

long int in_count = 1
static

Definition at line 1501 of file mgd.cxx.

◆ inputFlag

int inputFlag

Definition at line 1873 of file mgd.cxx.

◆ Interlace

int Interlace
static

Definition at line 1175 of file mgd.cxx.

◆ masks

unsigned long masks[]
static
Initial value:
= { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
0x001F, 0x003F, 0x007F, 0x00FF,
0x01FF, 0x03FF, 0x07FF, 0x0FFF,
0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF
}

Definition at line 1641 of file mgd.cxx.

1641 { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
1642 0x001F, 0x003F, 0x007F, 0x00FF,
1643 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
1644 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF
1645};

◆ maxbits

int maxbits = GIFBITS
static

Definition at line 1464 of file mgd.cxx.

◆ maxcode

code_int maxcode
static

Definition at line 1465 of file mgd.cxx.

◆ maxmaxcode

code_int maxmaxcode = (code_int) 1 << GIFBITS
static

Definition at line 1466 of file mgd.cxx.

◆ n_bits

int n_bits
static

Definition at line 1463 of file mgd.cxx.

◆ offset

int offset
static

Definition at line 1500 of file mgd.cxx.

◆ out_count

long int out_count = 0
static

Definition at line 1502 of file mgd.cxx.

◆ Pass

int Pass = 0
static

Definition at line 1174 of file mgd.cxx.

◆ transparent

int transparent

Definition at line 1871 of file mgd.cxx.

◆ Width

int Width
static

Definition at line 1171 of file mgd.cxx.

◆ ZeroDataBlock

int ZeroDataBlock

Definition at line 1886 of file mgd.cxx.