Пример #1
0
/* Make space for a pallette & make a 332 color map, if possible */
static void
pallette_init()
{
    unsigned i, r, g, b;

#ifdef GRX
    if (GrNumColors() != 256) {
 	GrSetColor(0, 0, 0, 0);
 	GrSetColor(1, 255, 255, 255);
 	return;
    }
#else
    if (pallette == NULL) {
	pallette = malloc(sizeof(pallette_array));
	if (pallette == NULL) {
	    fprintf(stderr, "Failed to allocate pallette array\n");
	    exit(1);
	}
    }
#endif

    i = 0;
    for (r=0;r<8;r++)
	for (g=0;g<8;g++)
	    for (b=0;b<4;b++) {
#ifdef GRX
		GrSetColor(i, r << 5, g << 5, b << 6);
#else
		(*pallette)[i][0] = r << 3;
		(*pallette)[i][1] = g << 3;
		(*pallette)[i][2] = b << 4;
#endif
		i++;
	    }
#ifndef GRX
    setmany(*pallette, 0, 256);
#endif
}
/* Make space for a palette & make a 332 color map */
static void
palette_init()
{
    unsigned i, r, g, b;

    if (palette == NULL) {
	palette = malloc(sizeof(palette_array));
	if (palette == NULL) {
	    fprintf(stderr, "Failed to allocate palette array\n");
	    exit(1);
	}
    }

    i = 0;
    for (r=0;r<8;r++)
	for (g=0;g<8;g++)
	    for (b=0;b<4;b++) {
	       (*palette)[i][0] = r << 3;
	       (*palette)[i][1] = g << 3;
	       (*palette)[i][2] = b << 4;
	       i++;
	    }
    setmany(*palette, 0, 256);
}