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

📄 xtonx.h

📁 eCos操作系统源码
💻 H
字号:
#ifndef __XTONX_H#define __XTONX_H/* * Copyright (c) 2001 by Greg Haerr <greg@centurysoftware.com> * * XtoNX.h - X to Nano-X macro conversion header file * * Yes, this is a vain attempt at making things easier when * porting Xlib programs to Nano-X! */#ifdef __cplusplusextern "C" {#endif#define MWINCLUDECOLORS#include "nano-X.h"typedef GR_WINDOW_ID		Window;typedef GR_WINDOW_ID		Pixmap;typedef GR_GC_ID		GC;typedef GR_FONT_ID		Font;typedef GR_CURSOR_ID		Cursor;typedef GR_REGION_ID		Region;typedef unsigned long		Time;		/* change to GR_TIME*/typedef GR_EVENT		XEvent;typedef GR_FONT_INFO		XFontStruct;typedef GR_POINT		XPoint;typedef GR_RECT			XRectangle;/* static display structed initialized by XOpenDisplay()*/typedef struct { 	GR_COORD display_width;	GR_COORD display_height;	int	display_bpp;} Display;/* kluge structs*/#define XCharStruct		char#define DisplayWidth(d,s)	(_display.display_width)#define DisplayHeight(d,s)	(_display.display_height)#define DefaultDepth(d,s)	(_display.display_bpp)#define DefaultScreen(d)	0#define RootWindow(d,s)		GR_ROOT_WINDOW_ID#define BlackPixel(d,s)		BLACK#define WhitePixel(d,s)		WHITE#define False			0#define True			1#define None			0#define RectangleOut		MWRECT_OUT#define RectangleIn		MWRECT_ALLIN#define RectanglePart		MWRECT_PARTIN/* events*/#define EnterWindowMask		GR_EVENT_MASK_MOUSE_ENTER#define LeaveWindowMask		GR_EVENT_MASK_MOUSE_EXIT#define ButtonPressMask		GR_EVENT_MASK_BUTTON_DOWN#define ButtonReleaseMask	GR_EVENT_MASK_BUTTON_UP#define KeyPressMask		GR_EVENT_MASK_KEY_DOWN#define KeyReleaseMask		GR_EVENT_MASK_KEY_UP#define ExposureMask		GR_EVENT_MASK_EXPOSURE#define SubstructureNotifyMask	GR_EVENT_MASK_CHLD_UPDATE#define EnterNotify		GR_EVENT_TYPE_MOUSE_ENTER#define LeaveNotify		GR_EVENT_TYPE_MOUSE_EXIT#define ButtonPress		GR_EVENT_TYPE_BUTTON_DOWN#define ButtonRelease		GR_EVENT_TYPE_BUTTON_UP#define KeyPress		GR_EVENT_TYPE_KEY_DOWN#define KeyRelease		GR_EVENT_TYPE_KEY_UP#define Expose			GR_EVENT_TYPE_EXPOSURE#define ConfigureNotify		GR_EVENT_TYPE_CHLD_UPDATE#define XCloseDisplay(d)			GrClose()#define XNextEvent(d,ep)			GrGetNextEvent(ep)#define XSelectInput(d,w,m)			GrSelectEvents(w,m)#define XFlush(d)				GrFlush()#define XSync(d,f)				GrFlush()/* graphics functions*/#define XCreateSimpleWindow(d,p,x,y,w,h,bw,bordc,backc) \			GrNewWindow(p,x,y,w,h,bw,backc,bordc)#define XCreateWindow(d,p,x,y,w,h,bw,depth,cl,vis,vm,attr) \			GrNewWindow(p,x,y,w,h,bw,WHITE,BLACK)#define XCreatePixmapFromBitmapData(d,w,bm,W,H,f,b,depth) \			GrNewPixmapFromData(W,H,f,b,(void *)bm, \				GR_BMDATA_BYTEREVERSE|GR_BMDATA_BYTESWAP)#define XCreateBitmapFromData(d,w,bm,W,H) \			GrNewPixmapFromData(W,H,WHITE,BLACK,(void *)bm, \				GR_BMDATA_BYTEREVERSE|GR_BMDATA_BYTESWAP)#define XDestroyWindow(d,w)			GrDestroyWindow(w)#define XReparentWindow(d,w,p,x,y) 		GrReparentWindow(w,p,x,y)#define XMapWindow(d,w)				GrMapWindow(w)#define XUnmapWindow(d,w)			GrUnmapWindow(w)#define XClearWindow(d,w)			GrClearArea(w,0,0,0,0,GR_FALSE)#define XClearArea(d,w,X,Y,W,H,e)		GrClearArea(w,X,Y,W,H,e)#define XRaiseWindow(d,w)			GrRaiseWindow(w)#define XLowerWindow(d,w)			GrLowerWindow(w)#define XMoveWindow(d,w,x,y)			GrMoveWindow(w,x,y)#define XResizeWindow(d,w,W,H)			GrResizeWindow(w,W,H)#define XCreateGC(d,a,b,c)			GrNewGC()#define XSetFunction(d,g,f)			GrSetGCMode(g,f)#define GXxor		GR_MODE_XOR#define XSetForeground(d,g,c)			GrSetGCForeground(g,c)#define XSetWindowBackgroundPixmap(d,w,p) \			GrSetBackgroundPixmap(w,p,GR_BACKGROUND_TILE)#define XSetWindowBackground(d,w,c)		GrSetWindowBackgroundColor(w,c)#define XSetWindowBorderWidth(d,w,bw)		GrSetWindowBorderSize(w,bw)#define XSetWindowBorder(d,w,c)			GrSetWindowBorderColor(w,c)#define XStoreName(d,w,n) 			GrSetWindowTitle(w,n)#define XSetIconName(d,w,n)	/* nyi*/#define XDrawLines(d,w,g,ar,cnt,B)		GrDrawLines(w,g,ar,cnt)#define XFillRectangle(d,w,g,x,y,W,H)		GrFillRect(w,g,x,y,W,H)#define XDrawString(d,w,g,x,y,s,c)	GrText(w,g,x,y,(void *)s,c,GR_TFASCII)#define XSetFont(d,g,f)				GrSetGCFont(g,f)#define XLoadFont(d,f)				GrCreateFont(0, 0, 0)#define XDefineCursor(d,w,c)			GrSetWindowCursor(w,c)#define XUndefineCursor(d,w)			GrSetWindowCursor(w,0)#define XCreateRegion()				GrNewRegion()#define XUnionRectWithRegion(rect,sr,dr)	GrUnionRectWithRegion(dr,rect)	/* FIXME*/#define XRectInRegion(r,x,y,w,h)		GrRectInRegion(r,x,y,w,h)#define XSubtractRegion(sra,srb,dr)		GrSubtractRegion(dr,sra,srb)#define XDestroyRegion(r)			GrDestroyRegion(r)#define XQueryTree(d,w,r,p,c,nc)		GrQueryTree(w,p,c,nc)#define XFree(p)				free(p)/* client-statically declared functions*/#define STATIC_FUNCTIONS			\static Display	_display; 			\						\Display *					\XOpenDisplay(char *name)			\{						\	GR_SCREEN_INFO	sinfo;			\						\	if (GrOpen() < 0)			\		return NULL;			\						\	GrGetScreenInfo(&sinfo);		\	_display.display_width = sinfo.cols;	\	_display.display_height = sinfo.rows;	\	_display.display_bpp = sinfo.bpp;	\						\	return &_display;			\}						\						\int						\XPending(Display *d)				\{						\	GR_EVENT ev;				\						\	GrFlush();				\	return GrPeekEvent(&ev);		\}#ifdef __cplusplus} /* extern "C"*/#endif#endif /* __XTONX_H*/

⌨️ 快捷键说明

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