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

📄 nano-x.h

📁 一个linux下的根文件系统的源码
💻 H
📖 第 1 页 / 共 3 页
字号:
        extern char *nxErrorStrings[];/* Public graphics routines. */void		GrFlush(void);int		GrOpen(void);void		GrClose(void);void		GrDelay(GR_TIMEOUT msecs);void		GrGetScreenInfo(GR_SCREEN_INFO *sip);GR_COLOR	GrGetSysColor(int index);GR_WINDOW_ID	GrNewWindow(GR_WINDOW_ID parent, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height, GR_SIZE bordersize,			GR_COLOR background, GR_COLOR bordercolor);GR_WINDOW_ID    GrNewPixmap(GR_SIZE width, GR_SIZE height, void *pixels);GR_WINDOW_ID	GrNewInputWindow(GR_WINDOW_ID parent, GR_COORD x, GR_COORD y,				GR_SIZE width, GR_SIZE height);void		GrDestroyWindow(GR_WINDOW_ID wid);GR_GC_ID	GrNewGC(void);GR_GC_ID	GrCopyGC(GR_GC_ID gc);void		GrGetGCInfo(GR_GC_ID gc, GR_GC_INFO *gcip);void		GrDestroyGC(GR_GC_ID gc);GR_REGION_ID	GrNewRegion(void);GR_REGION_ID	GrNewBitmapRegion(GR_BITMAP *bitmap, GR_SIZE width,			GR_SIZE height);GR_REGION_ID	GrNewPolygonRegion(int mode, GR_COUNT count, GR_POINT *points);void		GrDestroyRegion(GR_REGION_ID region);void		GrUnionRectWithRegion(GR_REGION_ID region, GR_RECT *rect);void		GrUnionRegion(GR_REGION_ID dst_rgn, GR_REGION_ID src_rgn1,			GR_REGION_ID src_rgn2);void		GrIntersectRegion(GR_REGION_ID dst_rgn, GR_REGION_ID src_rgn1,			GR_REGION_ID src_rgn2);void		GrSubtractRegion(GR_REGION_ID dst_rgn, GR_REGION_ID src_rgn1,			GR_REGION_ID src_rgn2);void		GrXorRegion(GR_REGION_ID dst_rgn, GR_REGION_ID src_rgn1,			GR_REGION_ID src_rgn2);void		GrSetGCRegion(GR_GC_ID gc, GR_REGION_ID region);void		GrSetGCClipOrigin(GR_GC_ID gc, int x, int y);GR_BOOL		GrPointInRegion(GR_REGION_ID region, GR_COORD x, GR_COORD y);int		GrRectInRegion(GR_REGION_ID region, GR_COORD x, GR_COORD y,			GR_COORD w, GR_COORD h);GR_BOOL		GrEmptyRegion(GR_REGION_ID region);GR_BOOL		GrEqualRegion(GR_REGION_ID rgn1, GR_REGION_ID rgn2);void		GrOffsetRegion(GR_REGION_ID region, GR_SIZE dx, GR_SIZE dy);int		GrGetRegionBox(GR_REGION_ID region, GR_RECT *rect);void		GrMapWindow(GR_WINDOW_ID wid);void		GrUnmapWindow(GR_WINDOW_ID wid);void		GrRaiseWindow(GR_WINDOW_ID wid);void		GrLowerWindow(GR_WINDOW_ID wid);void		GrMoveWindow(GR_WINDOW_ID wid, GR_COORD x, GR_COORD y);void		GrResizeWindow(GR_WINDOW_ID wid, GR_SIZE width, GR_SIZE height);void		GrReparentWindow(GR_WINDOW_ID wid, GR_WINDOW_ID pwid,			GR_COORD x, GR_COORD y);void		GrGetWindowInfo(GR_WINDOW_ID wid, GR_WINDOW_INFO *infoptr);void		GrSetWMProperties(GR_WINDOW_ID wid, GR_WM_PROPERTIES *props);void		GrGetWMProperties(GR_WINDOW_ID wid, GR_WM_PROPERTIES *props);GR_FONT_ID	GrCreateFont(GR_CHAR *name, GR_COORD height,			GR_LOGFONT *plogfont);GR_FONT_ID	GrCreateFontFromBuffer(const void *buffer, unsigned length,			const char *format, GR_COORD height);GR_FONT_ID	GrCopyFont(GR_FONT_ID fontid, GR_COORD height);void		GrGetFontList(GR_FONTLIST ***fonts, int *numfonts);void		GrFreeFontList(GR_FONTLIST ***fonts, int numfonts);void		GrSetFontSize(GR_FONT_ID fontid, GR_COORD size);void		GrSetFontRotation(GR_FONT_ID fontid, int tenthsdegrees);void		GrSetFontAttr(GR_FONT_ID fontid, int setflags, int clrflags);void		GrDestroyFont(GR_FONT_ID fontid);void		GrGetFontInfo(GR_FONT_ID font, GR_FONT_INFO *fip);GR_WINDOW_ID	GrGetFocus(void);void		GrSetFocus(GR_WINDOW_ID wid);void		GrClearArea(GR_WINDOW_ID wid, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height, GR_BOOL exposeflag);void		GrSelectEvents(GR_WINDOW_ID wid, GR_EVENT_MASK eventmask);void		GrGetNextEvent(GR_EVENT *ep);int             GrGetTypedEvent(GR_WINDOW_ID wid, GR_EVENT_MASK mask, 			GR_UPDATE_TYPE update, GR_EVENT *ep, GR_BOOL block);typedef GR_BOOL (*GR_TYPED_EVENT_CALLBACK)(GR_WINDOW_ID, GR_EVENT_MASK,			GR_UPDATE_TYPE, GR_EVENT *, void *);int             GrGetTypedEventPred(GR_WINDOW_ID wid, GR_EVENT_MASK mask, 			GR_UPDATE_TYPE update, GR_EVENT * ep, GR_BOOL block, 			GR_TYPED_EVENT_CALLBACK matchfn, void *arg);void		GrGetNextEventTimeout(GR_EVENT *ep, GR_TIMEOUT timeout);void		GrCheckNextEvent(GR_EVENT *ep);int		GrPeekEvent(GR_EVENT *ep);void		GrPeekWaitEvent(GR_EVENT *ep);void		GrLine(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x1, GR_COORD y1,			GR_COORD x2, GR_COORD y2);void		GrPoint(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y);void		GrPoints(GR_DRAW_ID id, GR_GC_ID gc, GR_COUNT count,			GR_POINT *pointtable);void		GrRect(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height);void		GrFillRect(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height);void		GrPoly(GR_DRAW_ID id, GR_GC_ID gc, GR_COUNT count,			GR_POINT *pointtable);void		GrFillPoly(GR_DRAW_ID id, GR_GC_ID gc, GR_COUNT count,			GR_POINT *pointtable);void		GrEllipse(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE rx, GR_SIZE ry);void		GrFillEllipse(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x,			GR_COORD y, GR_SIZE rx, GR_SIZE ry);void		GrArc(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE rx, GR_SIZE ry, GR_COORD ax, GR_COORD ay,			GR_COORD bx, GR_COORD by, int type);void		GrArcAngle(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE rx, GR_SIZE ry, GR_COORD angle1,			GR_COORD angle2, int type); /* floating point required*/void		GrSetGCForeground(GR_GC_ID gc, GR_COLOR foreground);void		GrSetGCForegroundPixelVal(GR_GC_ID gc, GR_PIXELVAL foreground);void		GrSetGCBackground(GR_GC_ID gc, GR_COLOR background);void		GrSetGCBackgroundPixelVal(GR_GC_ID gc, GR_PIXELVAL background);void		GrSetGCUseBackground(GR_GC_ID gc, GR_BOOL flag);void		GrSetGCMode(GR_GC_ID gc, int mode);void            GrSetGCLineAttributes(GR_GC_ID, int);void            GrSetGCDash(GR_GC_ID, char *, int);void            GrSetGCFillMode(GR_GC_ID, int);void            GrSetGCStipple(GR_GC_ID, GR_BITMAP *, GR_SIZE, GR_SIZE);void            GrSetGCTile(GR_GC_ID, GR_WINDOW_ID, GR_SIZE, GR_SIZE);void            GrSetGCTSOffset(GR_GC_ID, GR_COORD, GR_COORD);void            GrSetGCGraphicsExposure(GR_GC_ID gc, GR_BOOL exposure);void		GrSetGCFont(GR_GC_ID gc, GR_FONT_ID font);void		GrGetGCTextSize(GR_GC_ID gc, void *str, int count,			GR_TEXTFLAGS flags, GR_SIZE *retwidth,			GR_SIZE *retheight,GR_SIZE *retbase);void		GrReadArea(GR_DRAW_ID id, GR_COORD x, GR_COORD y, GR_SIZE width,			GR_SIZE height, GR_PIXELVAL *pixels);void		GrArea(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE width,GR_SIZE height,void *pixels,int pixtype);void            GrCopyArea(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height, GR_DRAW_ID srcid,			GR_COORD srcx, GR_COORD srcy, unsigned long op);void		GrStretchArea(GR_DRAW_ID dstid, GR_GC_ID gc, GR_COORD dx1,			GR_COORD dy1, GR_COORD dx2, GR_COORD dy2,			GR_DRAW_ID srcid, GR_COORD sx1, GR_COORD sy1,			GR_COORD sx2, GR_COORD sy2, unsigned long op);void		GrBitmap(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height, GR_BITMAP *imagebits);void		GrDrawImageBits(GR_DRAW_ID id,GR_GC_ID gc,GR_COORD x,GR_COORD y,			GR_IMAGE_HDR *pimage);void		GrDrawImageFromFile(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x,			GR_COORD y, GR_SIZE width, GR_SIZE height,			char *path, int flags);GR_IMAGE_ID	GrLoadImageFromFile(char *path, int flags);void		GrDrawImageFromBuffer(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x,			GR_COORD y, GR_SIZE width, GR_SIZE height,			void *buffer, int size, int flags);GR_IMAGE_ID	GrLoadImageFromBuffer(void *buffer, int size, int flags);void		GrDrawImageToFit(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x,			GR_COORD y, GR_SIZE width, GR_SIZE height,			GR_IMAGE_ID imageid);void		GrFreeImage(GR_IMAGE_ID id);void		GrGetImageInfo(GR_IMAGE_ID id, GR_IMAGE_INFO *iip);void		GrText(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,			void *str, GR_COUNT count, GR_TEXTFLAGS flags);GR_CURSOR_ID	GrNewCursor(GR_SIZE width, GR_SIZE height, GR_COORD hotx,			GR_COORD hoty, GR_COLOR foreground, GR_COLOR background,			GR_BITMAP *fgbitmap, GR_BITMAP *bgbitmap);void		GrDestroyCursor(GR_CURSOR_ID cid);void		GrSetWindowCursor(GR_WINDOW_ID wid, GR_CURSOR_ID cid);void		GrSetWindowRegion(GR_WINDOW_ID wid, GR_REGION_ID rid, int type);void		GrMoveCursor(GR_COORD x, GR_COORD y);void		GrGetSystemPalette(GR_PALETTE *pal);void		GrSetSystemPalette(GR_COUNT first, GR_PALETTE *pal);void		GrFindColor(GR_COLOR c, GR_PIXELVAL *retpixel);void		GrReqShmCmds(long shmsize);void		GrInjectPointerEvent(MWCOORD x, MWCOORD y,			int button, int visible);void		GrInjectKeyboardEvent(GR_WINDOW_ID wid, GR_KEY keyvalue,			GR_KEYMOD modifiers, GR_SCANCODE scancode,			GR_BOOL pressed);void		GrCloseWindow(GR_WINDOW_ID wid);void		GrKillWindow(GR_WINDOW_ID wid);void		GrSetScreenSaverTimeout(GR_TIMEOUT timeout);void		GrSetSelectionOwner(GR_WINDOW_ID wid, GR_CHAR *typelist);GR_WINDOW_ID	GrGetSelectionOwner(GR_CHAR **typelist);void		GrRequestClientData(GR_WINDOW_ID wid, GR_WINDOW_ID rid,			GR_SERIALNO serial, GR_MIMETYPE mimetype);void		GrSendClientData(GR_WINDOW_ID wid, GR_WINDOW_ID did,			GR_SERIALNO serial, GR_LENGTH len, GR_LENGTH thislen,			void *data);void		GrBell(void);void		GrSetBackgroundPixmap(GR_WINDOW_ID wid, GR_WINDOW_ID pixmap,			int flags);void		GrQueryPointer(GR_WINDOW_ID *mwin, GR_COORD *x, GR_COORD *y,			GR_BUTTON *bmask);void		GrQueryTree(GR_WINDOW_ID wid, GR_WINDOW_ID *parentid,			GR_WINDOW_ID **children, GR_COUNT *nchildren);GR_BOOL         GrGrabKey(GR_WINDOW_ID wid, GR_KEY key, int type);void            GrUngrabKey(GR_WINDOW_ID wid, GR_KEY key);GR_TIMER_ID	GrCreateTimer(GR_WINDOW_ID wid, GR_TIMEOUT period);void		GrDestroyTimer(GR_TIMER_ID tid);void		GrSetPortraitMode(int portraitmode);void		GrRegisterInput(int fd);void		GrUnregisterInput(int fd);void		GrMainLoop(GR_FNCALLBACKEVENT fncb);GR_FNCALLBACKEVENT GrSetErrorHandler(GR_FNCALLBACKEVENT fncb);void		GrDefaultErrorHandler(GR_EVENT *ep);/* passive library entry points - available with client/server only*/void		GrPrepareSelect(int *maxfd,void *rfdset);void		GrServiceSelect(void *rfdset, GR_FNCALLBACKEVENT fncb);/* Client side queue count - available only with client/server */int             GrQueueLength(void);void            GrSetTransform(GR_TRANSFORM *);/* nxtransform.c - mouse utility routines (requires floating point)*/int             GrCalcTransform(GR_CAL_DATA *, GR_TRANSFORM *);int             GrLoadTransformData(char *filename, GR_TRANSFORM *);int             GrSaveTransformData(GR_TRANSFORM *, char *filename);/* nxutil.c - utility routines*/GR_WINDOW_ID	GrNewWindowEx(GR_WM_PROPS props, GR_CHAR *title,			GR_WINDOW_ID parent, GR_COORD x, GR_COORD y,			GR_SIZE width, GR_SIZE height, GR_COLOR background);void		GrDrawLines(GR_DRAW_ID w, GR_GC_ID gc, GR_POINT *points,			GR_COUNT count);GR_BITMAP *	GrNewBitmapFromData(GR_SIZE width, GR_SIZE height, GR_SIZE bits_width,			GR_SIZE bits_height, void *bits, int flags);GR_WINDOW_ID    GrNewPixmapFromData(GR_SIZE width, GR_SIZE height, 			GR_COLOR foreground, GR_COLOR background, void * bits,			int flags);GR_BITMAP *	GrNewBitmapFromPixmap(GR_WINDOW_ID pixmap, int x, int y, GR_SIZE width,			GR_SIZE height);GR_BITMAP *	GrNewBitmapFromPixmap(GR_WINDOW_ID pixmap, int x, int y,			GR_SIZE width, GR_SIZE height);GR_REGION_ID	GrNewRegionFromPixmap(GR_WINDOW_ID src, MWCOORD x, MWCOORD y,			GR_SIZE width, GR_SIZE height);/* direct client-side framebuffer mapping routines*/unsigned char * GrOpenClientFramebuffer(void);void		GrCloseClientFramebuffer(void);void		GrGetWindowFBInfo(GR_WINDOW_ID wid, GR_WINDOW_FB_INFO *fbinfo);/* retrofit - no longer used*/GR_CURSOR_ID	GrSetCursor(GR_WINDOW_ID wid, GR_SIZE width, GR_SIZE height,			GR_COORD hotx, GR_COORD hoty, GR_COLOR foreground,			GR_COLOR background, GR_BITMAP *fbbitmap,			GR_BITMAP *bgbitmap);#define GrSetBorderColor		GrSetWindowBorderColor	/* retrofit*/#define GrClearWindow(wid,exposeflag)	GrClearArea(wid,0,0,0,0,exposeflag) /* retrofit*//* useful function macros*/#define GrSetWindowBackgroundColor(wid,color) \		{	GR_WM_PROPERTIES props;	\			props.flags = GR_WM_FLAGS_BACKGROUND; \			props.background = color; \			GrSetWMProperties(wid, &props); \		}#define GrSetWindowBorderSize(wid,width) \		{	GR_WM_PROPERTIES props;	\			props.flags = GR_WM_FLAGS_BORDERSIZE; \			props.bordersize = width; \			GrSetWMProperties(wid, &props); \		}#define GrSetWindowBorderColor(wid,color) \		{	GR_WM_PROPERTIES props;	\			props.flags = GR_WM_FLAGS_BORDERCOLOR; \			props.bordercolor = color; \			GrSetWMProperties(wid, &props); \		}#define GrSetWindowTitle(wid,name) \		{	GR_WM_PROPERTIES props;	\			props.flags = GR_WM_FLAGS_TITLE; \			props.title = (GR_CHAR *)name; \			GrSetWMProperties(wid, &props); \		}#ifdef __cplusplus}#endif/* RTEMS requires rtems_main()*/#if __rtems__#define main	rtems_main#endif/* client side event queue (client.c local)*/typedef struct event_list EVENT_LIST;struct event_list {	EVENT_LIST *	next;	GR_EVENT	event;};/* queued request buffer (nxproto.c local)*/typedef struct {	unsigned char *bufptr;		/* next unused buffer location*/	unsigned char *bufmax;		/* max buffer location*/	unsigned char *buffer;		/* request buffer*/} REQBUF;#ifdef __ECOS#include <sys/select.h>#include <cyg/kernel/kapi.h>/* * In a single process, multi-threaded environment, we need to keep * all static data of shared code in a structure, with a pointer to * the structure to be stored in thread-local storage */typedef struct {                                /* Init to: */    int                 _nxSocket;              /*  -1 */    MWMUTEX	 	_nxGlobalLock;    int                 _storedevent;           /* 0 */    GR_EVENT            _storedevent_data;      /* no init(0) */    int                 _regfdmax;              /* -1 */    fd_set		_regfdset;		/* FD_ZERO */    GR_FNCALLBACKEVENT  _GrErrorFunc;           /* GrDefaultErrorHandler */    REQBUF              _reqbuf;    EVENT_LIST          *_evlist;} ecos_nanox_client_data;extern int     ecos_nanox_client_data_index;#define ACCESS_PER_THREAD_DATA()                                        \    ecos_nanox_client_data *data = (ecos_nanox_client_data*)            \        cyg_thread_get_data((cyg_ucount32)ecos_nanox_client_data_index);#define INIT_PER_THREAD_DATA()                                                  \    {                                                                           \        ecos_nanox_client_data *dptr = malloc(sizeof(ecos_nanox_client_data));  \        ecos_nanox_client_data_index = data;                                    \        dptr->_nxSocket = -1;                                                   \	dptr->nxGlobalLock = 0;        dptr->_storedevent = 0;                                                 \        dptr->_regfdmax = -1;                                                   \        FD_ZERO(&dptr->_regfdset);                                              \        dptr->_GrErrorFunc = GrDefaultErrorHandler;                             \        dptr->_reqbuf.bufptr = NULL;                                            \        dptr->_reqbuf.bufmax = NULL;                                            \        dptr->_reqbuf.buffer = NULL;                                            \        dptr->_evlist = NULL;                                                   \        cyg_thread_set_data(ecos_nanox_client_data_index,(CYG_ADDRWORD)dptr);   \    }#define nxSocket                (data->_nxSocket)#define nxGlobalLock            (data->_nxGlobalLock)#define storedevent             (data->_storedevent)#define storedevent_data        (data->_storedevent_data)#define regfdmax                (data->_regfdmax)#define regfdset                (data->_regfdset)#define ErrorFunc               (data->_GrErrorFunc)#define reqbuf                  (data->_reqbuf)#define evlist                  (data->_evlist)#else#define ACCESS_PER_THREAD_DATA()#endif#endif /* _NANO_X_H*/

⌨️ 快捷键说明

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