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

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

?? display-x11.c

?? 絕對好的源碼
?? C
字號:
/***************************************************************************** * x264: h264 encoder ***************************************************************************** * Copyright (C) 2005 x264 project * * Author: Tuukka Toivonen <tuukkat@ee.oulu.fi> * * This program 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 program 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 program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA. *****************************************************************************/#include <X11/Xlib.h>#include <X11/Xutil.h>#include <stdio.h>#include <string.h>#include "display.h"static long event_mask = ConfigureNotify|ExposureMask|KeyPressMask|ButtonPressMask|StructureNotifyMask|ResizeRedirectMask;static Display *disp_display = NULL;static struct disp_window {	int init;	Window window;} disp_window[10];static inline void disp_chkerror(int cond, char *e) {	if (!cond) return;	fprintf(stderr, "error: %s\n", e ? e : "?");	abort();}static void disp_init_display(void) {	Visual *visual;	int dpy_class;	int screen;	int dpy_depth;	if (disp_display != NULL) return;	memset(&disp_window, 0, sizeof(disp_window));	disp_display = XOpenDisplay("");	disp_chkerror(!disp_display, "no display");	screen = DefaultScreen(disp_display);	visual = DefaultVisual(disp_display, screen);	dpy_class = visual->class;	dpy_depth = DefaultDepth(disp_display, screen);	disp_chkerror(!((dpy_class == TrueColor && dpy_depth == 32)		|| (dpy_class == TrueColor && dpy_depth == 24)		|| (dpy_class == TrueColor && dpy_depth == 16)		|| (dpy_class == PseudoColor && dpy_depth == 8)),		"requires 8 bit PseudoColor or 16/24/32 bit TrueColor display");}static void disp_init_window(int num, int width, int height, const unsigned char *tit) {	XSizeHints *shint;	XSetWindowAttributes xswa;	XEvent xev;	int screen = DefaultScreen(disp_display);	Visual *visual = DefaultVisual (disp_display, screen);	unsigned int fg, bg;	unsigned int mask;	char title[200];	Window window;	int dpy_depth;	if (tit) {		snprintf(title, 200, "%s: %i/disp", tit, num);	} else {		snprintf(title, 200, "%i/disp", num);	}	shint = XAllocSizeHints();	disp_chkerror(!shint, "memerror");	shint->min_width = shint->max_width = shint->width = width;	shint->min_height = shint->max_height = shint->height = height;	shint->flags = PSize | PMinSize | PMaxSize;	disp_chkerror(num<0 || num>=10, "bad win num");	if (!disp_window[num].init) {		disp_window[num].init = 1;		bg = WhitePixel(disp_display, screen);		fg = BlackPixel(disp_display, screen);		dpy_depth = DefaultDepth(disp_display, screen);		if (dpy_depth==32 || dpy_depth==24 || dpy_depth==16) {			mask |= CWColormap;			xswa.colormap = XCreateColormap(disp_display, DefaultRootWindow(disp_display), visual, AllocNone);		}		xswa.background_pixel = bg;		xswa.border_pixel = fg;		xswa.backing_store = Always;		xswa.backing_planes = -1;		xswa.bit_gravity = NorthWestGravity;		mask = CWBackPixel | CWBorderPixel | CWBackingStore | CWBackingPlanes | CWBitGravity;		window = XCreateWindow(disp_display, DefaultRootWindow(disp_display),				shint->x, shint->y, shint->width, shint->height,				1, dpy_depth, InputOutput, visual, mask, &xswa);		disp_window[num].window = window;		XSelectInput(disp_display, window, event_mask);		XSetStandardProperties(disp_display, window, title, title, None, NULL, 0, shint);	/* Tell other applications about this window */		XMapWindow(disp_display, window);							/* Map window. */		do {											/* Wait for map. */			XNextEvent(disp_display, &xev);		} while (xev.type!=MapNotify || xev.xmap.event!=window);		//XSelectInput(disp_display, window, KeyPressMask);					/*  XSelectInput(display, window, NoEventMask);*/	}	window = disp_window[num].window;	XSetStandardProperties(disp_display, window, title, title, None, NULL, 0, shint);		/* Tell other applications about this window */	XResizeWindow(disp_display, window, width, height);	XSync(disp_display, 1);	XFree(shint);}void disp_sync(void) {	XSync(disp_display, 1);}void disp_setcolor(unsigned char *name) {	int screen;	GC gc;	XColor c_exact, c_nearest;	Colormap cm;	Status st;	screen = DefaultScreen(disp_display);	gc = DefaultGC(disp_display, screen);		/* allocate colors */	cm = DefaultColormap(disp_display, screen);	st = XAllocNamedColor(disp_display, cm, name, &c_nearest, &c_exact);	disp_chkerror(st!=1, "XAllocNamedColor error");	XSetForeground(disp_display, gc, c_nearest.pixel);}void disp_gray(int num, char *data, int width, int height, int stride, const unsigned char *tit) {	Visual *visual;	XImage *ximage;	unsigned char *image;	int y,x,pixelsize;	char dummy;	int t = 1;	int dpy_depth;	int screen;	GC gc;	//XEvent xev;	disp_init_display();	disp_init_window(num, width, height, tit);	screen = DefaultScreen(disp_display);	visual = DefaultVisual(disp_display, screen);	dpy_depth = DefaultDepth(disp_display, screen);	ximage = XCreateImage(disp_display, visual, dpy_depth, ZPixmap, 0, &dummy, width, height, 8, 0);	disp_chkerror(!ximage, "no ximage");	if (*(char *)&t == 1) {		ximage->byte_order = LSBFirst;		ximage->bitmap_bit_order = LSBFirst;	} else {		ximage->byte_order = MSBFirst;		ximage->bitmap_bit_order = MSBFirst;	}	pixelsize = dpy_depth>8 ? sizeof(int) : sizeof(unsigned char);	image = malloc(width * height * pixelsize);	disp_chkerror(!image, "malloc failed");	for (y=0; y<height; y++) for (x=0; x<width; x++) {		memset(&image[(width*y + x)*pixelsize], data[y*stride+x], pixelsize);	}	ximage->data = image;	gc = DefaultGC(disp_display, screen);	/* allocate colors *///	XUnmapWindow(disp_display, disp_window[num].window);							/* Map window. *///	XMapWindow(disp_display, disp_window[num].window);							/* Map window. */	XPutImage(disp_display, disp_window[num].window, gc, ximage, 0, 0, 0, 0, width, height);//		do {											/* Wait for map. *///			XNextEvent(disp_display, &xev);//		} while (xev.type!=MapNotify || xev.xmap.event!=disp_window[num].window);	XPutImage(disp_display, disp_window[num].window, gc, ximage, 0, 0, 0, 0, width, height);	XDestroyImage(ximage);	XSync(disp_display, 1);}void disp_gray_zoom(int num, char *data, int width, int height, int stride, const unsigned char *tit, int zoom) {	unsigned char *dataz;	int y,x,y0,x0;	dataz = malloc(width*zoom * height*zoom);	disp_chkerror(!dataz, "malloc");	for (y=0; y<height; y++) for (x=0; x<width; x++) {		for (y0=0; y0<zoom; y0++) for (x0=0; x0<zoom; x0++) {			dataz[(y*zoom + y0)*width*zoom + x*zoom + x0] = data[y*stride+x];		}	}	disp_gray(num, dataz, width*zoom, height*zoom, width*zoom, tit);	free(dataz);}void disp_point(int num, int x1, int y1) {	int screen;	GC gc;	screen = DefaultScreen(disp_display);	gc = DefaultGC(disp_display, screen);		/* allocate colors */	XDrawPoint(disp_display, disp_window[num].window, gc, x1, y1);//	XSync(disp_display, 1);}void disp_line(int num, int x1, int y1, int x2, int y2) {	int screen;	GC gc;	screen = DefaultScreen(disp_display);	gc = DefaultGC(disp_display, screen);		/* allocate colors */	XDrawLine(disp_display, disp_window[num].window, gc, x1, y1, x2, y2);//	XSync(disp_display, 1);}void disp_rect(int num, int x1, int y1, int x2, int y2) {	int screen;	GC gc;	screen = DefaultScreen(disp_display);	gc = DefaultGC(disp_display, screen);		/* allocate colors */	XDrawRectangle(disp_display, disp_window[num].window, gc, x1, y1, x2-x1, y2-y1);//	XSync(disp_display, 1);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲久草在线视频| 国产一区美女在线| 亚洲美女少妇撒尿| 伊人色综合久久天天人手人婷| 最新热久久免费视频| 国产精品久久久久影院亚瑟| 国产精品美女久久久久aⅴ| 国产精品色在线| 最新日韩在线视频| 亚洲一区二区三区四区中文字幕| 亚洲资源中文字幕| 日韩不卡在线观看日韩不卡视频| 琪琪久久久久日韩精品| 国产一区二区视频在线播放| 国产精品白丝jk黑袜喷水| 国产99精品在线观看| 99精品久久99久久久久| 欧美视频自拍偷拍| 欧美一区二区三区四区久久 | 日韩三级.com| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产精品福利在线播放| 国产精品成人一区二区三区夜夜夜| 亚洲欧洲av另类| 亚洲午夜免费电影| 久久er99热精品一区二区| 国产精品99久久不卡二区| 成人午夜激情影院| 欧美一a一片一级一片| 国产精品嫩草99a| 亚洲三级在线看| 爽好多水快深点欧美视频| 极品瑜伽女神91| 99re视频精品| 欧美一二三四在线| 亚洲国产精品成人综合| 亚洲国产另类精品专区| 国产一区二区视频在线播放| 一本大道综合伊人精品热热| 91精品久久久久久久99蜜桃 | 中文字幕日韩av资源站| 舔着乳尖日韩一区| 国产99久久久精品| 欧美精品九九99久久| 久久久久国产一区二区三区四区| 亚洲黄色小视频| 狠狠v欧美v日韩v亚洲ⅴ| 97成人超碰视| 精品国产乱子伦一区| 最新国产成人在线观看| 美女网站视频久久| 91捆绑美女网站| 26uuu另类欧美亚洲曰本| 亚洲自拍偷拍欧美| 国产91丝袜在线播放九色| 欧美精品一卡两卡| 日韩毛片一二三区| 国产精品综合在线视频| 欧美日韩国产小视频| 国产精品色哟哟| 麻豆精品在线观看| 欧美三级电影网| 日本一区二区三区久久久久久久久不 | 成人丝袜高跟foot| 欧美一卡二卡三卡| 亚洲精品你懂的| 国产91对白在线观看九色| 欧美疯狂做受xxxx富婆| 一区二区三区四区不卡在线 | 天天综合色天天| 99re8在线精品视频免费播放| 精品久久久久久久久久久久久久久| 亚洲黄色尤物视频| 99久久免费视频.com| 久久蜜桃一区二区| 蜜桃视频第一区免费观看| 欧美色精品在线视频| 中文字幕在线一区| 国产美女视频一区| 精品久久久久久久久久久久久久久 | 久久精品国产成人一区二区三区| 欧美在线观看视频在线| 最新国产の精品合集bt伙计| 国产mv日韩mv欧美| 国产亚洲成av人在线观看导航| 青青草国产精品97视觉盛宴| 欧美日韩高清在线| 亚洲一区二区欧美| 91激情五月电影| 一区二区三区日韩在线观看| 99re在线视频这里只有精品| 国产精品全国免费观看高清| 粉嫩av亚洲一区二区图片| 久久久久久97三级| 国产成人av资源| 国产亚洲欧洲997久久综合| 国产乱码精品一品二品| 精品精品欲导航| 久久国产日韩欧美精品| 精品久久五月天| 韩国成人在线视频| 久久久91精品国产一区二区精品| 精久久久久久久久久久| 久久久久久久久久电影| 经典一区二区三区| 国产欧美日韩三级| 成人性生交大片免费看在线播放| 中文子幕无线码一区tr| 99久久免费精品| 亚洲一区电影777| 在线播放一区二区三区| 精品一区二区三区免费视频| 久久久久久麻豆| 成人黄色网址在线观看| 亚洲激情一二三区| 欧美亚一区二区| 美女视频黄a大片欧美| 精品成人私密视频| 成人伦理片在线| 一区二区久久久久久| 欧美精品第1页| 国产一区二区三区香蕉| 国产清纯美女被跳蛋高潮一区二区久久w | 91精品久久久久久久久99蜜臂 | 日韩三级在线免费观看| 精品一二三四在线| 中文字幕在线观看不卡视频| 色偷偷88欧美精品久久久| 天天色综合天天| 久久午夜老司机| 99久久婷婷国产综合精品电影| 亚洲综合免费观看高清完整版在线| 欧美另类videos死尸| 国内外精品视频| 亚洲男同1069视频| 日韩欧美电影在线| 波多野结衣一区二区三区| 亚洲一二三级电影| 精品99一区二区三区| 91小宝寻花一区二区三区| 五月激情丁香一区二区三区| 久久综合九色综合久久久精品综合 | 91免费视频大全| 日韩黄色片在线观看| 国产网红主播福利一区二区| 欧美最猛黑人xxxxx猛交| 国产自产视频一区二区三区| 亚洲美女免费在线| 久久综合九色综合久久久精品综合 | 国产在线视频不卡二| 一区二区三区在线看| 久久夜色精品国产噜噜av| 91福利资源站| 国产成人av电影在线播放| 日日欢夜夜爽一区| 综合网在线视频| 日韩女优制服丝袜电影| 91网上在线视频| 国产一区二区剧情av在线| 亚洲444eee在线观看| 国产精品亲子乱子伦xxxx裸| 7777精品伊人久久久大香线蕉完整版 | 97精品国产97久久久久久久久久久久| 丝袜亚洲另类欧美| 国产精品嫩草影院com| 欧美成人一区二区三区片免费| 91丨porny丨首页| 国产一区二区在线影院| 日韩精品每日更新| 亚洲免费看黄网站| 国产精品免费视频网站| 亚洲精品在线观看网站| 欧美日韩久久一区| 菠萝蜜视频在线观看一区| 狠狠色狠狠色综合系列| 视频一区二区中文字幕| 亚洲天堂中文字幕| 国产欧美精品一区aⅴ影院| 欧美成人精品福利| 欧美丰满美乳xxx高潮www| 色婷婷av久久久久久久| 成人精品高清在线| 国产精品一二三四五| 美女看a上一区| 日韩二区三区四区| 亚洲va中文字幕| 亚洲一区二区三区在线播放| 亚洲免费av观看| 中文字幕一区二区三区蜜月| 久久久99久久| 久久精品视频免费| 精品久久久久一区二区国产| 欧美精品在线视频| 欧美精品一二三四| 欧美日韩国产在线播放网站| 欧美主播一区二区三区| 欧美亚洲高清一区二区三区不卡| kk眼镜猥琐国模调教系列一区二区| 成人网在线免费视频| 成人午夜电影小说|