📄 palette.c
字号:
/* 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);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -