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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? i18n-xom.c

?? 《Linux程序設計權威指南》源代碼
?? C
字號:
	/* File: i18n-xom.c */	#include <stdio.h>	#include <locale.h>	#include <X11/Xlib.h>	#include <X11/Xutil.h>	#include <X11/keysym.h>	#define DEFAULT_FONT_NAME       "7x14,-*-*-*-r-normal--*-140-*-*-*-*-*-*"	#define F_SIZE                  13	#define COL                     30	#define ROW                     10	#define W_WIDTH                 (F_SIZE * COL)	#define W_HEIGHT                (F_SIZE * (ROW+1))	main(int argc, char *argv[])	{		Display                 *display;		int                     screen;		GC                      gc;		Window                  window;		XWMHints                hints;		Atom                    protocols;		//XOM		XOM			om;		XOC			oc;		XOMCharSetList		cslist;		XOMOrientation		orientation;		Bool			direction;		Bool			contextdrawing;		char                    **missing_list;		int                     missing_count;		char                    *def_string;		XFontSetExtents         *fs_ext;		int                     dec;		//XIM		XIM                     im;		XIC                     ic;		XRectangle              s_rect;		XPoint                  spot;		XVaNestedList           preedit_attr, status_attr;		XEvent                  event;		unsigned long           mask, fevent;		int                     len = 128;		char                    string[128], s_tab[ROW][128];		int                     i, row = 0, col = 0;		KeySym                  keysym;		int                     count = 0;		Status                  status;		//初始化		display = XOpenDisplay("");		screen  = DefaultScreen(display);		gc = DefaultGC(display,screen);		//判斷 locale 的支持情況		if(setlocale(LC_CTYPE, "") == NULL){			fprintf(stderr, "Error : setlocale() !\n");			exit(0);		}		//打開 Outpu Method		om = XOpenOM(display, NULL, NULL, NULL);		if (om) {			printf("locale of XOM: %s\n", XLocaleOfOM(om));			XGetOMValues(om,			 	XNRequiredCharSet, &cslist,			 	XNQueryOrientation, &orientation,			 	XNDirectionalDependentDrawing, &direction,			 	XNContextualDrawing, &contextdrawing				);				for (i = 0; i < cslist.charset_count; i++) {				printf("needed charset[%d]: %s\n", 					i, cslist.charset_list[i]);			}			} else {			printf("XOpenOM error\n");			exit(1);		}		//建立 Output Context		oc = XCreateOC(om,			XNBaseFontName, DEFAULT_FONT_NAME,			NULL);		if (oc) {			XGetOCValues(oc, 				XNMissingCharSet, &missing_count,				XNRequiredCharSet, &missing_list,				XNDefaultString, &def_string,				NULL);			for (i = 0; i < missing_count; i++) {				printf("missing_list[%d]: %s\n", 					i, missing_list[i]);			}		} else {			printf("XCreateOC error\n");			exit(1);		}		//從 Output Context 獲得字體結構		fs_ext = XExtentsOfFontSet(oc);		dec = fs_ext->max_logical_extent.height-			(-fs_ext->max_logical_extent.y);		//建立窗口		window  = XCreateSimpleWindow(display, 			RootWindow(display, screen),		  	0, 0, W_WIDTH, W_HEIGHT, 2,		  	BlackPixel(display,screen), WhitePixel(display,screen));		XStoreName(display, window, "XIM demo - Over window");		hints.flags = InputHint;		hints.input = True;		XSetWMHints(display, window, &hints);		protocols = XInternAtom(display, "WM_DELETE_WINDOW", True);		XSetWMProtocols(display, window, &protocols, 1);		//XIM 部分		if((im = XOpenIM(display, NULL, NULL, NULL)) == NULL){			printf("Error : XOpenIM() !\n");			exit(0);		}			spot.x  =       F_SIZE/2 * col;		spot.y  =       F_SIZE * (row+1);		preedit_attr = XVaCreateNestedList(0,		   	XNSpotLocation, &spot,		   	XNFontSet, oc,			/*XNForeground, WhitePixel(display, screen),*/		   	XNForeground, 23,		   	XNBackground, BlackPixel(display, screen),		   	NULL);		s_rect.x =      F_SIZE * 0;		s_rect.y =      F_SIZE * ROW;		s_rect.width =  W_WIDTH;		s_rect.height = F_SIZE * 1;		status_attr = XVaCreateNestedList(0,		  	XNArea, &s_rect,		  	XNFontSet, oc,		  	NULL);			ic = XCreateIC(im,		   	XNInputStyle, XIMPreeditPosition | XIMStatusArea,		   	XNClientWindow, window,		   	XNPreeditAttributes, preedit_attr,		   	XNStatusAttributes, status_attr,		   	NULL);		if(ic == NULL){			printf("Error : XCreateIC() !\n");			XCloseIM(im);			exit(0);		}		XFree(preedit_attr);		XFree(status_attr);		XGetICValues(ic, XNFilterEvents, &fevent, NULL);		mask = ExposureMask | KeyPressMask | FocusChangeMask;		XSelectInput(display, window, mask|fevent);				for(i=0; i<ROW; i++)			s_tab[i][0] = 0;			XMapWindow(display, window);				for(;;){			XNextEvent(display, &event);			if(XFilterEvent(&event, (Window)0) == True)				continue;			switch(event.type){			case FocusIn :				XSetICFocus(ic);				break;			case FocusOut :				XUnsetICFocus(ic);				break;			case Expose :				for(i=0; i<ROW; i++)					XmbDrawString(display,window, oc, gc, 0,				  	F_SIZE*(i+1),s_tab[i],strlen(s_tab[i]));				break;			case KeyPress :				count = XmbLookupString(ic,					(XKeyPressedEvent*)&event,					string, len, &keysym, &status);				if(status == XLookupBoth&&keysym == XK_Return){					row = (++row)%ROW;					col = 0;					s_tab[row][0] = 0;					XClearArea(display, window, 						0, F_SIZE*row+dec,					   	W_WIDTH, F_SIZE, False);				}				else if(status == XLookupChars						|| status == XLookupBoth){					XmbDrawString(display, window, oc, gc,				  		F_SIZE/2*col, F_SIZE*(row+1),					  	string, count);					for(i=0; i<count; i++, col++)						s_tab[row][col] = string[i];					s_tab[row][col] = 0;				}				spot.x = F_SIZE/2 * col;				spot.y = F_SIZE * (row+1);				preedit_attr = XVaCreateNestedList(0,				   	XNSpotLocation, &spot,				   	NULL);				XSetICValues(ic,XNPreeditAttributes,preedit_attr,NULL);				XFree(preedit_attr);				break;			case ClientMessage :				if(event.xclient.data.l[0] == protocols){					XDestroyOC(oc);					XCloseOM(om);					XDestroyIC(ic);					XCloseIM(im);					XDestroyWindow(display, window);					XCloseDisplay(display);					exit(0);				}				break;			defaults:				break;			}		}	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕色av一区二区三区| 精品国产91洋老外米糕| 国产一区二区伦理| 美国av一区二区| 青青草97国产精品免费观看 | 亚洲欧洲三级电影| 国产精品天美传媒| 成人欧美一区二区三区在线播放| 国产精品久久久久久久久免费相片 | 在线观看日韩精品| 欧美自拍丝袜亚洲| 在线不卡中文字幕播放| 555夜色666亚洲国产免| 日韩欧美综合在线| 久久久久一区二区三区四区| 中文字幕久久午夜不卡| 一区二区激情视频| 美腿丝袜一区二区三区| 国产福利91精品一区二区三区| 成人激情图片网| 在线观看成人免费视频| 91麻豆精品国产无毒不卡在线观看| 日韩精品一区二区三区在线播放| 久久蜜桃香蕉精品一区二区三区| 中文字幕亚洲视频| 美女脱光内衣内裤视频久久影院| 国产一区二区福利视频| 色欧美乱欧美15图片| 欧美大片一区二区| 国产精品久久久久久久久免费桃花 | 国产精品久久久久天堂| 亚洲一区二区成人在线观看| 精品一二三四在线| 91久久精品一区二区二区| 日韩一区二区三区观看| 中文欧美字幕免费| 日本欧洲一区二区| av在线不卡观看免费观看| 7777女厕盗摄久久久| 国产欧美日本一区视频| 午夜av电影一区| av电影在线观看完整版一区二区| 91精品国产免费| 国产精品成人免费在线| 狠狠色丁香九九婷婷综合五月| 91无套直看片红桃| 精品国产乱子伦一区| 一区二区三区欧美在线观看| 国产精品资源在线| 欧美精品欧美精品系列| 国产精品第五页| 国产一区二区在线观看视频| 欧美怡红院视频| 日韩毛片视频在线看| 国内一区二区在线| 欧美一区二区三区免费观看视频| 一区二区在线看| 成人av动漫网站| 国产亚洲自拍一区| 毛片一区二区三区| 欧美精品粉嫩高潮一区二区| 一区在线观看免费| 成人性生交大片免费看在线播放| 日韩区在线观看| 天堂资源在线中文精品| 色综合久久精品| 亚洲日本va在线观看| 99国产精品久| 亚洲视频免费观看| 日本韩国一区二区| 国产精品人人做人人爽人人添| 国产一二三精品| 国产欧美一区二区精品性色超碰 | 欧美精品xxxxbbbb| 日韩精品高清不卡| 欧美一区二区黄色| 视频一区国产视频| 91.com视频| 看国产成人h片视频| 欧美一区二区三区白人| 青青草91视频| 久久综合色8888| 国产成人av一区二区| 欧美韩国一区二区| 93久久精品日日躁夜夜躁欧美| 亚洲欧洲日产国码二区| 日本韩国视频一区二区| 亚洲午夜电影在线观看| 日韩三级在线免费观看| 久久国产日韩欧美精品| 久久精品视频在线看| 成人18视频在线播放| ●精品国产综合乱码久久久久| 91麻豆精品在线观看| 亚洲午夜电影在线观看| 欧美成人激情免费网| 成人久久久精品乱码一区二区三区| 国产精品久久综合| 欧美视频完全免费看| 久久福利视频一区二区| 中日韩av电影| 欧美视频日韩视频在线观看| 精品午夜久久福利影院| 亚洲欧洲色图综合| 欧美一区二区三区四区高清| 国产成人av电影在线播放| 亚洲自拍偷拍欧美| 亚洲精品一区二区三区福利| 一本一道波多野结衣一区二区| 日韩avvvv在线播放| 中文字幕欧美一| 欧美不卡在线视频| 在线中文字幕不卡| 国产在线播放一区三区四| 一区二区三区中文字幕电影| 日韩精品一区二区三区在线观看| 91麻豆国产在线观看| 久久福利视频一区二区| 亚洲主播在线播放| 日本一二三不卡| 日韩写真欧美这视频| 色综合亚洲欧洲| 国产成人精品免费视频网站| 一个色妞综合视频在线观看| 26uuu精品一区二区| 欧美在线视频全部完| 成人av网站免费| 国产一区二区三区黄视频| 日韩综合一区二区| 亚洲激情网站免费观看| 国产片一区二区三区| 欧美刺激脚交jootjob| 中文幕一区二区三区久久蜜桃| 欧美一区二区三区思思人| 欧美在线视频不卡| 在线视频中文字幕一区二区| 成人黄色av网站在线| 国产一区二区三区免费看| 日韩成人午夜电影| 午夜精品影院在线观看| 亚洲激情中文1区| 亚洲精品乱码久久久久久日本蜜臀| 久久青草国产手机看片福利盒子| 日韩一区二区高清| 日韩精品一区二区三区视频播放| 欧美妇女性影城| 欧美久久婷婷综合色| 欧美精品一二三| 欧美一区二区三区不卡| 欧美二区在线观看| 欧美欧美午夜aⅴ在线观看| 欧美网站大全在线观看| 欧美日韩一区成人| 欧美日韩久久不卡| 欧美肥胖老妇做爰| 欧美一区二区大片| 日韩一区二区三免费高清| 欧美一区二区三区小说| 精品久久久久久最新网址| 精品1区2区在线观看| 久久蜜臀中文字幕| 中文字幕一区av| 亚洲图片一区二区| 视频在线在亚洲| 免费看欧美美女黄的网站| 国产一二精品视频| 97久久精品人人爽人人爽蜜臀| 波多野结衣的一区二区三区| 在线国产亚洲欧美| 欧美一区二区免费视频| 欧美一级日韩不卡播放免费| 精品免费国产二区三区| 中文字幕乱码久久午夜不卡| 亚洲久本草在线中文字幕| 日韩av一级片| 成人午夜电影网站| 欧洲一区二区三区在线| 欧美日韩视频专区在线播放| 精品奇米国产一区二区三区| 中文字幕在线播放不卡一区| 水蜜桃久久夜色精品一区的特点| 日韩av高清在线观看| 粗大黑人巨茎大战欧美成人| 欧洲在线/亚洲| 国产日韩av一区| 亚洲午夜久久久| 国产白丝网站精品污在线入口| 99在线精品观看| 欧美一级一级性生活免费录像| 国产精品麻豆欧美日韩ww| 偷拍与自拍一区| 日韩午夜中文字幕| 国产精品久久久久久久久免费相片| 午夜精品成人在线| eeuss鲁一区二区三区| 日韩欧美一区中文| 亚洲精品亚洲人成人网在线播放| 国产伦精品一区二区三区免费迷| 91成人网在线| 国产精品乱码一区二区三区软件 |