querycolor.c
来自「Nxlib,一个模拟xlib的程序。使用microwindows的库来运行需要x」· C语言 代码 · 共 69 行
C
69 行
#include "nxlib.h"/* convert an X11 pixelval to Microwindows colorval*/GR_COLOR_nxColorvalFromPixelval(Display *dpy, unsigned long pixelval){ XColor c; /* convert pixelval to colorval*/ c.pixel = pixelval; XQueryColor(dpy, _nxDefaultColormap(dpy), &c); return GR_RGB(c.red >> 8, c.green >> 8, c.blue >> 8);}static intqueryColor(Display * display, nxColormap * local, XColor * def){ if (def->pixel >= local->cur_color) return 0; _nxPixel2RGB(display, local->colorval[def->pixel].value, &def->red, &def->green, &def->blue); def->flags |= (DoRed | DoGreen | DoBlue); return 1;}intXQueryColor(Display * display, Colormap colormap, XColor * def){ nxColormap *local; if (XDefaultVisual(display, 0)->class == TrueColor) { _nxPixel2RGB(display, def->pixel, &def->red, &def->green, &def->blue); return 1; } if (!(local = _nxFindColormap(colormap))) return 0; return queryColor(display, local, def);}intXQueryColors(Display * display, Colormap colormap, XColor * def_in, int ncolors){ nxColormap *local; int i; if (XDefaultVisual(display, 0)->class == TrueColor) { for (i = 0; i < ncolors; i++) _nxPixel2RGB(display, def_in[i].pixel, &def_in[i].red, &def_in[i].green, &def_in[i].blue); return 1; } if (!(local = _nxFindColormap(colormap))) return 0; for (i = 0; i < ncolors; i++) queryColor(display, local, &def_in[i]); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?