⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x.c

📁 图形学分形演示程序
💻 C
字号:
#include <stdlib.h>#include "x.h"void init_X(int scr_w, int scr_h, char title[64]){	XSizeHints size_hints;	XFontStruct *font;	Colormap cmap;		if ((dpy=XOpenDisplay(NULL)) == NULL)		perror("Can't connect to X server");	d = XCreateSimpleWindow			(dpy,DefaultRootWindow(dpy),0,0,scr_w,scr_h,5,0,0);		size_hints.flags = PSize | PMinSize | PMaxSize;		size_hints.min_width = scr_w;		size_hints.min_height = scr_h;		size_hints.max_width = scr_w;		size_hints.max_height = scr_h;		XSetStandardProperties(dpy,d,title,title,None,0,0,&size_hints);								cmap = DefaultColormap(dpy, XDefaultScreen(dpy) );		XSetWindowColormap(dpy, d, cmap);		gc = XCreateGC(dpy,d,0,NULL);		gc1 = XCreateGC(dpy,d,0,NULL);		XMapWindow(dpy, d);		XFlush(dpy);			buffer = XCreatePixmap(dpy, d, scr_w, scr_h,							DefaultDepth(dpy,DefaultScreen(dpy)) );			XSetForeground(dpy,gc,0);			XFillRectangle (dpy,buffer,gc,0,0,scr_w,scr_h);			XSelectInput			(				dpy, d,				ExposureMask | KeyPressMask |				ButtonPressMask | ButtonReleaseMask | Button1MotionMask |				Button2MotionMask | StructureNotifyMask			);		delWin = XInternAtom(dpy, "WM_DELETE_WINDOW", False);		XSetWMProtocols(dpy, d, &delWin, 1);		if ((font=XLoadQueryFont(dpy,"fixed"))==NULL)			perror("XLoadQueryFont");		else			XSetFont(dpy,gc,font->fid);}void draw_buffer(int scr_x,int scr_y,int scr_w, int scr_h){	XSetTile (dpy, gc1, buffer);	XSetFillStyle (dpy, gc1, FillTiled);	XFillRectangle (dpy, d, gc1, scr_x, scr_y, scr_w, scr_h);}void clear_buffer(int scr_x,int scr_y,int scr_w, int scr_h){   XSetForeground(dpy,gc,0);	XFillRectangle(dpy,buffer,gc,scr_x,scr_y,scr_w,scr_h);}void close_X(int i){	XFreePixmap(dpy,buffer);	XFreeGC(dpy, gc);	XFreeGC(dpy, gc1);	XCloseDisplay(dpy);		if(i) exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -