www.pudn.com > Microwindows与相关开发代码实例.rar > XtoNX.h
#ifndef __XTONX_H #define __XTONX_H /* * Copyright (c) 2001 by Greg Haerr* * 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! */ extern "C" { #define MWINCLUDECOLORS #include "nano-X.h" typedef struct _display Display; typedef GR_WINDOW_ID Window; typedef GR_WINDOW_ID Pixmap; typedef GR_GC_ID GC; typedef GR_FONT_ID Font; typedef MWCURSOR Cursor; typedef unsigned long Time; /* change to GR_TIME*/ typedef GR_EVENT XEvent; typedef GR_FONT_INFO XFontStruct; typedef GR_POINT XPoint; // kluge structs #define XCharStruct char #define RootWindow(d,s) GR_ROOT_WINDOW_ID #define DefaultScreen(d) 0 #define DefaultDepth(d,s) 16 #define BlackPixel(d,s) BLACK #define WhitePixel(d,s) WHITE #define False 0 #define True 1 // 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 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 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 XCreatePixmapFromBitmapData(d,w,bm,W,H,f,b,depth) \ GrNewPixmapFromData(W,H,f,b,(void *)bm, \ GR_BMDATA_BYTEREVERSE|GR_BMDATA_BYTESWAP) #define XDestroyWindow(d,w) GrDestroyWindow(w) #define XReparentWindow(d,w,p,x,y) /* FIXME GrReparentWindow(w,p,x,y)*/ #define XMapWindow(d,w) GrMapWindow(w) #define XUnmapWindow(d,w) GrUnmapWindow(w) #define XClearWindow(d,w) GrClearWindow(w,0) #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) /* nyi*/ #define XUndefineCursor(d,w) /* nyi*/ } // extern "C" #endif /* __XTONX_H*/