📄 crpfbdata.c
字号:
#define MWINCLUDECOLORS#include "nxlib.h"/* * XCreatePixmapFromBitmapData: Routine to make a pixmap from * user supplied bitmap data. * * D is any drawable on the same screen that the pixmap will be used in. * Data is a pointer to the bit data, and * width & height give the size in bits of the pixmap. * Fg and Bg are the pixel values to use for the two colors. * Depth is the depth of the pixmap to create. * * The following format is assumed for data: * * format=XYPixmap * bit_order=LSBFirst * byte_order=LSBFirst * padding=8 * bitmap_unit=8 * xoffset=0 * no extra bytes per line */ PixmapXCreatePixmapFromBitmapData(Display *display, Drawable d, char *data, unsigned int width, unsigned int height, unsigned long fg, unsigned long bg, unsigned int depth){ GR_COLOR fc, bc; // FIXME depth 1 bitmaps don't work, must store just 1 or 0 if (depth == 1) { /* NOTE: colors reversed in mono bitmaps...*/ fc = bg? WHITE: BLACK; bc = fg? WHITE: BLACK; //FIXME sunclock -fg/bg doesn't work... //fc = _nxColorvalFromPixelval(display, bg); //bc = _nxColorvalFromPixelval(display, fg); } else { fc = _nxColorvalFromPixelval(display, fg); bc = _nxColorvalFromPixelval(display, bg); }printf("XCreatePixmapFromBitmapData %x,%x\n", fc, bc); return GrNewPixmapFromData(width, height, fc, bc, (void *)data, GR_BMDATA_BYTEREVERSE|GR_BMDATA_BYTESWAP);#if 0 XImage ximage; GC gc; XGCValues gcv; Pixmap pix; pix = XCreatePixmap(display, d, width, height, depth); gcv.foreground = fg; gcv.background = bg; if (! (gc = XCreateGC(display, pix, GCForeground|GCBackground, &gcv))) return (Pixmap) NULL; ximage.height = height; ximage.width = width; ximage.depth = 1; ximage.bits_per_pixel = 1; ximage.xoffset = 0; ximage.format = XYBitmap; ximage.data = data; ximage.byte_order = LSBFirst; ximage.bitmap_unit = 8; ximage.bitmap_bit_order = LSBFirst; ximage.bitmap_pad = 8; ximage.bytes_per_line = (width+7)/8; XPutImage(display, pix, gc, &ximage, 0, 0, 0, 0, width, height); XFreeGC(display, gc); return(pix);#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -