亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nanox.c

?? 可以在msdos下用bc3編譯通過的, 上面1中的代碼是無法編譯通過的, 在MSDOS下學習的可以下載這個版本, 可以省去不少在MSDOS編譯時的痛苦時光.
?? C
字號:
/* *  Copyright (C) 1997, 1998 Olivetti & Oracle Research Laboratory *  Portions Copyright (c) 2002 by Koninklijke Philips Electronics N.V. * *  This is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This software is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this software; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, *  USA. * *  Microwindows interface by George Harvey * *  07/03/00  GH	created nanox.c to replace x.c, development *			being done using Microwindows 0.88pre3 *  16/03/00  GH	try to match the VNC palette to the current *			palette using a lookup table *  06/05/00  GH	update for mwin 0.88pre7, use GrSetSystemPalette() *			instead of lookup table *  27/05/00  GH	update for mwin 0.88pre8 *  03/06/00  GH	remove colour lookup code *//* * nanox.c - functions to deal with nano-X display. */#include <vncviewer.h>#include <unistd.h>#define VW_WIDTH	1024	/* VNC window width */#define VW_HEIGHT	768	/* VNC window height */#define VW_X		0	/* VNC window origin */#define VW_Y		0	/* VNC window origin */#define SCROLLBAR_SIZE 10#define SCROLLBAR_BG_SIZE (SCROLLBAR_SIZE + 2)#define INVALID_PIXEL 0xffffffff#define COLORMAP_SIZE 256/* * global data */Colormap	cmap;Display		*dpy;Window		canvas;GR_GC_ID	gc;GR_GC_ID	srcGC;GR_GC_ID	dstGC;/* BGR233ToPixel array */unsigned long BGR233ToPixel[COLORMAP_SIZE] = { \	0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0xf7, 0xc7, 0x87, 0x47, 0x07, 0xc6, 0x86, 0x46, \	0x0c, 0x4c, 0x8c, 0xcc, 0x0d, 0x4d, 0x8d, 0xcd, \	0xcb, 0x80 \	};/* colour palette for 8-bit displays */static GR_PALETTE srv_pal;	/* VNC server palette *//* temporary keyboard mapping array *//* ^T = up, ^F = left, ^G = right, ^V = down */CARD32 kmap[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0xff51, 0xff53, \	0xff08, 0xff09, 0x0a, 0x0b, 0x0c, 0xff0d, 0x0e, 0x0f, \	0x10, 0x11, 0x12, 0x13, 0xff52, 0x15, 0xff54, 0x17, \	0x18, 0x19, 0x1a, 0xff1b, 0x1c, 0x1d, 0x1e, 0x1f, \	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, \	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, \	'0', '1', '2', '3', '4', '5', '6', '7', \	'8', '9', 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, \	0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G', \	'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', \	'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', \	'X', 'Y', 'Z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, \	0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g', \	'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', \	'p', 'q', 'r', 's', 't', 'u', 'v', 'w', \	'x', 'y', 'z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f };static Display		nx_dpy;static GR_WINDOW_ID	wid;static int		pixtype;	/* format of pixel value */static void CopyBGR233ToScreen(CARD8 *buf, int x, int y, int width, int height);extern MWPIXELVAL gr_foreground;	/* for debugging only *//* * Initialize graphics and open a window for the viewer */BoolCreateXWindow(void){	int fd;	GR_SIZE w, h;	GR_SCREEN_INFO si;	if ((fd = GrOpen()) < 0)		return(False);	nx_dpy.fd = fd;	dpy = &nx_dpy;	GrGetScreenInfo(&si);	/* pass screen details to RFB handler */	myFormat.bitsPerPixel = si.bpp;	myFormat.depth = si.bpp;	/* is this right? */	myFormat.bigEndian = 0;		/* how do I find this out? */	myFormat.trueColour = (myFormat.depth == 8 && !useBGR233) ? 0 : 1;	if (myFormat.trueColour) {		myFormat.redMax = myFormat.greenMax = 7;		myFormat.blueMax = 3;		myFormat.redShift = 0;		myFormat.greenShift = 3;		myFormat.blueShift = 6;	}	pixtype = si.pixtype;	/* get the initial server palette */	GrGetSystemPalette(&srv_pal);#if 0	/* DEBUG */	for (i = 0; i < srv_pal.count; i++) {		printf("0x%02x  %03d  %03d  %03d\n", i, \			srv_pal.palette[i].r, srv_pal.palette[i].g, \			srv_pal.palette[i].b );	}#endif	/* create the top-level window */	w = (VW_WIDTH > (si.cols - VW_X)) ? (si.cols - VW_X) : VW_WIDTH;	h = (VW_HEIGHT > (si.rows - VW_Y)) ? (si.rows - VW_Y) : VW_HEIGHT;	if ((wid = GrNewWindow(GR_ROOT_WINDOW_ID, VW_X, VW_Y, w, h,		2, LTGRAY, BLACK)) == 0) {		fprintf(stderr, "Unable to create top-level window\n");		GrClose();		return False;	}	/* select events to receive */	GrSelectEvents(wid, GR_EVENT_MASK_BUTTON_DOWN |		GR_EVENT_MASK_BUTTON_UP | GR_EVENT_MASK_KEY_DOWN |		GR_EVENT_MASK_KEY_UP | GR_EVENT_MASK_MOUSE_POSITION);	/* make thw window visible */	GrMapWindow(wid);	canvas = wid;	/* create the graphics contexts */	gc = GrNewGC();	srcGC = GrNewGC();	dstGC = GrNewGC();	return True;}/* * set the server palette to the requested colour * NOTE: this has only been tested for 8-bit colour! */intXStoreColor(Display *dpy, Colormap cmap, XColor *xc){	unsigned char ind;	ind = xc->pixel & 0xff;		/* colour map index */	/*	 * the colours are passed as 16-bit values so divide by 256 to	 * get 8-bit RGB values	 */	srv_pal.palette[0].r = (xc->red / 256) & 0xff;	srv_pal.palette[0].g = (xc->green / 256) & 0xff;	srv_pal.palette[0].b = (xc->blue / 256) & 0xff;	srv_pal.count = 1;#if 0	/* DEBUG */	printf("XStoreColor: ind=%d, r=%02x, g=%02x, b=%02x\n", ind, \		srv_pal.palette[0].r, srv_pal.palette[0].g, \		srv_pal.palette[0].b);#endif	GrSetSystemPalette(ind, &srv_pal);	return(0);}/* * Copy a rectangular block of pixels */intXCopyArea(Display *dpy, Window src, Window dst, GR_GC_ID gc,        int x1, int y1, int w, int h, int x2, int y2){/*	printf("XCopyArea: src=%d, dst=%d, w=%d, h=%d\n",src, dst, w, h); */	GrCopyArea(dst, gc, x2, y2, w, h, src, x1, y1, MWROP_SRCCOPY);	return(0);}/* * Fill a rectangular block */intXFillRectangle(Display *dpy, Window canvas, GR_GC_ID gc,        int x, int y, int w, int h){	GrFillRect(canvas, gc, x, y, w, h);/*	printf("XFillRectangle: gr_foreground=%08x\n", (int)gr_foreground); */	return(0);}/* * get the X display name */char *XDisplayName(char *display){	return((char *)NULL);}/* * Change the graphics context. * VNC only uses this to set the foreground colour. */intXChangeGC(Display *dpy, GR_GC_ID gc, unsigned long vmask, GR_GC_INFO *gcv){        /* all we need is the foreground colour *//*	printf("XChangeGC: foreground=%08x\n", gcv->foreground); */	if (pixtype == MWPF_PALETTE) {		/*		 * Pass the palette value as a pixel value directly.		 */		GrSetGCForegroundPixelVal(gc, gcv->foreground);	} else {		GrSetGCForeground(gc, gcv->foreground);	}        return(0);}/* * Ring the bell. */intXBell(Display *dpy, int pc){        return(0);}/* * */intXSync(Display *dpy, Bool disc){        return(0);}/* * */intXSelectInput(Display *dpy, Window win, long evmask){        return(0);}/* * */intXStoreBytes(Display *dpy, char *bytes, int nbytes){        return(0);}/* * */intXSetSelectionOwner(Display *dpy, Atom sel, Window own, Time t){        return(0);}/* * Copy raw pixel data to the screen */voidCopyDataToScreen(CARD8 *buf, int x, int y, int width, int height){#if 0	/* DEBUG */	printf("CDTS ");	fflush(stdout);#endif	if (rawDelay != 0) {#if 0		XFillRectangle(dpy, canvas, DefaultGC(dpy,DefaultScreen(dpy)),		       x, y, width, height);#endif		XSync(dpy,False);		usleep(rawDelay * 1000);	}	if (!useBGR233) {		GrArea(canvas, gc, x, y, width, height, buf, MWPF_PALETTE);	} else {		CopyBGR233ToScreen(buf, x, y, width, height);	}}/* * Copy BGR233 data to the screen. */static voidCopyBGR233ToScreen(CARD8 *buf, int x, int y, int width, int height){}/* * Handle all X events (keyboard and mouse). */BoolHandleXEvents(GR_EVENT *ev){	GR_BOOL ret = GR_TRUE;	int buttons;#if 0	printf("H");	fflush(stdout);#endif	switch (ev->type) {	case GR_EVENT_TYPE_NONE:		ret = GR_TRUE;		break;	case GR_EVENT_TYPE_MOUSE_POSITION:		buttons = (ev->mouse.buttons & GR_BUTTON_R) << 2;		buttons |= ev->mouse.buttons & GR_BUTTON_M;		buttons |= (ev->mouse.buttons & GR_BUTTON_L) >> 2;		ret = SendPointerEvent(ev->mouse.x, ev->mouse.y,			buttons);		break;	case GR_EVENT_TYPE_BUTTON_DOWN:	case GR_EVENT_TYPE_BUTTON_UP:		buttons = (ev->button.buttons & GR_BUTTON_R) << 2;		buttons |= ev->button.buttons & GR_BUTTON_M;		buttons |= (ev->button.buttons & GR_BUTTON_L) >> 2;		ret = SendPointerEvent(ev->button.x, ev->button.y,			buttons);		break;	case GR_EVENT_TYPE_KEY_DOWN:	case GR_EVENT_TYPE_KEY_UP:		ret = SendKeyEvent(kmap[ev->keystroke.ch & 0x7f],			(ev->type == GR_EVENT_TYPE_KEY_DOWN));		break;	default:		break;	}        return(ret);}/* * Close everything down before exiting. */voidShutdownX(void){	GrClose();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级在线播放| 欧美午夜一区二区三区| 一区二区欧美视频| 久久香蕉国产线看观看99| 91亚洲精华国产精华精华液| 日本伊人色综合网| 亚洲国产成人午夜在线一区| 欧美精品久久天天躁| 99久久精品国产导航| 国产永久精品大片wwwapp| 亚洲激情在线激情| 国产欧美一区二区精品仙草咪 | 日本高清不卡视频| 精品一区二区三区在线观看| 洋洋成人永久网站入口| 国产视频在线观看一区二区三区| 欧美久久久久久久久久| 99re6这里只有精品视频在线观看| 精品在线观看视频| 天天综合色天天综合色h| 国产精品美女一区二区| 精品噜噜噜噜久久久久久久久试看| 91福利视频网站| 成人免费视频视频在线观看免费| 美女视频黄 久久| 亚洲6080在线| 洋洋成人永久网站入口| 国产精品免费看片| 久久久噜噜噜久噜久久综合| 8x福利精品第一导航| 91蝌蚪porny成人天涯| 成人精品视频一区二区三区尤物| 国产毛片精品一区| 日本成人在线网站| 日韩黄色免费网站| 五月天视频一区| 亚洲国产精品久久久男人的天堂 | 玉足女爽爽91| ●精品国产综合乱码久久久久| 久久精品视频在线看| 欧美精品一区二区三区在线播放 | 成人性生交大片免费| 国产精品1024| 国产乱子轮精品视频| 久久精品国产999大香线蕉| 日韩成人精品视频| 蜜臀久久久99精品久久久久久| 婷婷激情综合网| 亚洲成在线观看| 日日摸夜夜添夜夜添国产精品| 亚洲国产精品一区二区www在线| 亚洲一区二区四区蜜桃| 亚洲高清不卡在线观看| 亚洲成年人网站在线观看| 亚洲成人黄色影院| 蜜桃久久精品一区二区| 国产一区在线视频| 粉嫩一区二区三区在线看| 成人激情午夜影院| 色综合久久中文字幕| 在线这里只有精品| 欧美精品丝袜久久久中文字幕| 欧美高清性hdvideosex| 欧美一区二区三区视频在线| 日韩欧美一级在线播放| 久久精品亚洲国产奇米99| 中文字幕一区二区5566日韩| 亚洲精品国产视频| 亚洲成在人线在线播放| 麻豆精品在线看| 国产999精品久久久久久| 99久久免费国产| 欧美日韩国产另类一区| 精品理论电影在线观看 | 亚洲四区在线观看| 午夜视频一区二区三区| 韩国一区二区三区| 97精品国产露脸对白| 欧美日韩国产综合草草| 337p粉嫩大胆噜噜噜噜噜91av| 久久久91精品国产一区二区三区| 亚洲精品五月天| 麻豆国产91在线播放| 不卡的电影网站| 欧美日韩亚洲另类| 久久精品一区二区| 亚洲一区二区三区激情| 国产揄拍国内精品对白| 色噜噜狠狠色综合中国| 日韩欧美综合在线| 亚洲丝袜精品丝袜在线| 老司机午夜精品| 95精品视频在线| 欧美成人性战久久| 亚洲伦在线观看| 韩国三级在线一区| 欧美丝袜丝交足nylons| 久久久.com| 日本网站在线观看一区二区三区 | 美女精品自拍一二三四| av电影在线观看一区| 日韩欧美国产一二三区| 一片黄亚洲嫩模| 国产传媒欧美日韩成人| 在线成人免费视频| 亚洲三级在线播放| 久草中文综合在线| 欧洲国产伦久久久久久久| 久久精品水蜜桃av综合天堂| 日韩精品91亚洲二区在线观看| 成人h动漫精品一区二区| 欧美一区二区高清| 亚洲综合久久久| 99re这里只有精品首页| 精品福利一二区| 日韩国产一二三区| 欧美性做爰猛烈叫床潮| 亚洲欧洲成人av每日更新| 狠狠久久亚洲欧美| 日韩一区二区三区在线观看| 亚洲精品成a人| 97久久超碰国产精品电影| 亚洲国产精品传媒在线观看| 国产一区二三区| 日韩欧美一区二区三区在线| 亚洲二区视频在线| 91高清视频免费看| 亚洲色图都市小说| 一本色道久久综合狠狠躁的推荐| 国产精品久久国产精麻豆99网站| 国产九九视频一区二区三区| 日韩免费福利电影在线观看| 日韩电影在线免费| 337p亚洲精品色噜噜狠狠| 亚洲一区二区三区不卡国产欧美| 色婷婷激情综合| 亚洲激情欧美激情| 欧洲另类一二三四区| 亚洲国产精品自拍| 欧美吻胸吃奶大尺度电影| 亚洲自拍偷拍网站| 欧亚一区二区三区| 亚洲一区二区三区四区在线免费观看 | 一区二区三区在线看| 成a人片国产精品| 亚洲欧洲精品一区二区精品久久久 | 欧美韩日一区二区三区四区| 国产成人免费高清| 中文av一区二区| 91在线观看一区二区| 亚洲欧洲日产国码二区| 91久久奴性调教| 香蕉加勒比综合久久| 91麻豆精品国产| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品久久久久久久人人人人传媒| 韩国v欧美v日本v亚洲v| 国产网站一区二区| 不卡的电影网站| 亚洲永久精品大片| 91精品国产91热久久久做人人| 青草国产精品久久久久久| 欧美精品一区二区不卡| 成人午夜视频免费看| 亚洲激情自拍偷拍| 制服丝袜成人动漫| 国产一区二区三区免费在线观看| 国产精品午夜春色av| 一本大道久久a久久精二百 | 美女视频黄 久久| 久久精品人人爽人人爽| 91亚洲精品一区二区乱码| 亚洲第一二三四区| 精品国产三级a在线观看| 成人晚上爱看视频| 亚洲午夜免费视频| 精品国产露脸精彩对白| 成人国产精品免费观看视频| 亚洲夂夂婷婷色拍ww47| 精品乱人伦一区二区三区| av电影天堂一区二区在线| 丝袜国产日韩另类美女| 久久久三级国产网站| 91精品办公室少妇高潮对白| 麻豆传媒一区二区三区| 亚洲三级在线看| 欧美sm极限捆绑bd| 91在线视频18| 精品一区二区免费| 一区二区视频在线| 欧美videossexotv100| a级精品国产片在线观看| 午夜精品福利久久久| 欧美国产成人在线| 在线电影院国产精品| 91视频xxxx| 韩国精品主播一区二区在线观看 | 精品久久久久久久久久久久包黑料 | 色综合久久天天综合网| 精品一区二区三区香蕉蜜桃|