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 + -
显示快捷键?