Initial. Don't... just don't ask.
This commit is contained in:
commit
00bae13bba
586 changed files with 129057 additions and 0 deletions
71
gl/palette.c
Normal file
71
gl/palette.c
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/* Framebuffer Graphics Libary for Linux, Copyright 1993 Harm Hanemaayer */
|
||||
/* palette.c Palette functions (wrapper over vgalib) */
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <vga.h>
|
||||
|
||||
#include "vgagl.h"
|
||||
#include "def.h"
|
||||
|
||||
|
||||
/* 256-color palette functions */
|
||||
|
||||
/* There was a horrible bug here in 0.8x -- green and blue were swapped... */
|
||||
void gl_getpalettecolor(int c, int *r, int *g, int *b)
|
||||
{
|
||||
vga_getpalette(c, r, g, b);
|
||||
}
|
||||
|
||||
void gl_setpalettecolor(int c, int r, int g, int b)
|
||||
{
|
||||
vga_setpalette(c, r, g, b);
|
||||
}
|
||||
|
||||
void gl_setpalettecolors(int s, int n, void *_dp)
|
||||
{
|
||||
uchar *dp = _dp;
|
||||
int i;
|
||||
for (i = s; i < s + n; i++) {
|
||||
unsigned char r, g, b;
|
||||
r = *(dp++);
|
||||
g = *(dp++);
|
||||
b = *(dp++);
|
||||
vga_setpalette(i, r, g, b);
|
||||
}
|
||||
}
|
||||
|
||||
void gl_getpalettecolors(int s, int n, void *_dp)
|
||||
{
|
||||
uchar *dp = _dp;
|
||||
int i;
|
||||
for (i = s; i < s + n; i++) {
|
||||
int r, g, b;
|
||||
vga_getpalette(i, &r, &g, &b);
|
||||
*(dp++) = (unsigned char) r;
|
||||
*(dp++) = (unsigned char) g;
|
||||
*(dp++) = (unsigned char) b;
|
||||
}
|
||||
}
|
||||
|
||||
void gl_getpalette(void *p)
|
||||
{
|
||||
gl_getpalettecolors(0, 256, p);
|
||||
}
|
||||
|
||||
void gl_setpalette(void *p)
|
||||
{
|
||||
gl_setpalettecolors(0, 256, p);
|
||||
}
|
||||
|
||||
void gl_setrgbpalette()
|
||||
{
|
||||
int i;
|
||||
Palette pal;
|
||||
for (i = 0; i < 256; i++) {
|
||||
pal.color[i].blue = (i & 7) * (64 / 8); /* 3 bits */
|
||||
pal.color[i].green = ((i & 56) >> 3) * (64 / 8); /* 3 bits */
|
||||
pal.color[i].red = ((i & 192) >> 6) * (64 / 4); /* 2 bits */
|
||||
}
|
||||
gl_setpalette(&pal);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue