📄 serv.h
字号:
#ifndef _SERV_H#define _SERV_H/* * Copyright (c) 2000 Greg Haerr <greg@censoft.com> * Copyright (c) 2000 Alex Holden <alex@linuxhacker.org> * Copyright (c) 1991 David I. Bell * Permission is granted to use, distribute, or modify this source, * provided that this copyright notice remains intact. * * Private definitions for the graphics server. * These definitions are not to be used by clients. */#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)//// Since eCos is a single task, multi-threaded environment, the// server and the client code share the same namespace. This means// that server functions which are represented by dispatchers in// the client code need to have unique names, thus this remapping.//#define GrArcAngle SVR_GrArcAngle#define GrArc SVR_GrArc#define GrArea SVR_GrArea#define GrBell SVR_GrBell#define GrBitmap SVR_GrBitmap#define GrCheckNextEvent SVR_GrCheckNextEvent#define GrClearWindow SVR_GrClearWindow#define GrClose SVR_GrClose#define GrCloseWindow SVR_GrCloseWindow#define GrCopyArea SVR_GrCopyArea#define GrCopyGC SVR_GrCopyGC#define GrCreateFont SVR_GrCreateFont#define GrDestroyFont SVR_GrDestroyFont#define GrDestroyGC SVR_GrDestroyGC#define GrDestroyRegion SVR_GrDestroyRegion#define GrDestroyWindow SVR_GrDestroyWindow#define GrDrawImageBits SVR_GrDrawImageBits#define GrDrawImageFromFile SVR_GrDrawImageFromFile#define GrDrawImageToFit SVR_GrDrawImageToFit#define GrEllipse SVR_GrEllipse#define GrEmptyRegion SVR_GrEmptyRegion#define GrEqualRegion SVR_GrEqualRegion#define GrFillEllipse SVR_GrFillEllipse#define GrFillPoly SVR_GrFillPoly#define GrFillRect SVR_GrFillRect#define GrFindColor SVR_GrFindColor#define GrFreeImage SVR_GrFreeImage#define GrGetFocus SVR_GrGetFocus#define GrGetFontInfo SVR_GrGetFontInfo#define GrGetGCInfo SVR_GrGetGCInfo#define GrGetGCTextSize SVR_GrGetGCTextSize#define GrGetImageInfo SVR_GrGetImageInfo#define GrGetRegionBox SVR_GrGetRegionBox#define GrGetScreenInfo SVR_GrGetScreenInfo#define GrGetSelectionOwner SVR_GrGetSelectionOwner#define GrGetSysColor SVR_GrGetSysColor#define GrGetSystemPalette SVR_GrGetSystemPalette#define GrGetWindowInfo SVR_GrGetWindowInfo#define GrGetWMProperties SVR_GrGetWMProperties#define GrInjectKeyboardEvent SVR_GrInjectKeyboardEvent#define GrInjectPointerEvent SVR_GrInjectPointerEvent#define GrIntersectRegion SVR_GrIntersectRegion#define GrKillWindow SVR_GrKillWindow#define GrLine SVR_GrLine#define GrLoadImageFromFile SVR_GrLoadImageFromFile#define GrLowerWindow SVR_GrLowerWindow#define GrMapWindow SVR_GrMapWindow#define GrMoveCursor SVR_GrMoveCursor#define GrMoveWindow SVR_GrMoveWindow#define GrNewGC SVR_GrNewGC#define GrNewInputWindow SVR_GrNewInputWindow#define GrNewPixmap SVR_GrNewPixmap#define GrNewPolygonRegion SVR_GrNewPolygonRegion#define GrNewRegion SVR_GrNewRegion#define GrNewWindow SVR_GrNewWindow#define GrOffsetRegion SVR_GrOffsetRegion#define GrOpen SVR_GrOpen#define GrPeekEvent SVR_GrPeekEvent#define GrPointInRegion SVR_GrPointInRegion#define GrPoints SVR_GrPoints#define GrPoint SVR_GrPoint#define GrPoly SVR_GrPoly#define GrRaiseWindow SVR_GrRaiseWindow#define GrReadArea SVR_GrReadArea#define GrRectInRegion SVR_GrRectInRegion#define GrRect SVR_GrRect#define GrReparentWindow SVR_GrReparentWindow#define GrRequestClientData SVR_GrRequestClientData#define GrResizeWindow SVR_GrResizeWindow#define GrSelectEvents SVR_GrSelectEvents#define GrSendClientData SVR_GrSendClientData#define GrSetBackgroundPixmap SVR_GrSetBackgroundPixmap#define GrSetBorderColor SVR_GrSetBorderColor#define GrSetCursor SVR_GrSetCursor#define GrSetFocus SVR_GrSetFocus#define GrSetFontAttr SVR_GrSetFontAttr#define GrSetFontRotation SVR_GrSetFontRotation#define GrSetFontSize SVR_GrSetFontSize#define GrSetGCBackground SVR_GrSetGCBackground#define GrSetGCFont SVR_GrSetGCFont#define GrSetGCForeground SVR_GrSetGCForeground#define GrSetGCMode SVR_GrSetGCMode#define GrSetGCRegion SVR_GrSetGCRegion#define GrSetGCUseBackground SVR_GrSetGCUseBackground#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout#define GrSetSelectionOwner SVR_GrSetSelectionOwner#define GrSetSystemPalette SVR_GrSetSystemPalette#define GrSetWMProperties SVR_GrSetWMProperties#define GrSubtractRegion SVR_GrSubtractRegion#define GrText SVR_GrText#define GrUnionRectWithRegion SVR_GrUnionRectWithRegion#define GrUnionRegion SVR_GrUnionRegion#define GrUnmapWindow SVR_GrUnmapWindow#define GrXorRegion SVR_GrXorRegion#endif#include "nano-X.h"#include "device.h"/* * Drawing types. */typedef int GR_DRAW_TYPE;#define GR_DRAW_TYPE_NONE 0 /* none or error */#define GR_DRAW_TYPE_WINDOW 1 /* windows */#define GR_DRAW_TYPE_PIXMAP 2 /* pixmaps */#define GR_MAX_MODE MWMODE_MAX/* * List of elements for events. */typedef struct gr_event_list GR_EVENT_LIST;struct gr_event_list { GR_EVENT_LIST *next; /* next element in list */ GR_EVENT event; /* event */};/* * Data structure to keep track of state of clients. */typedef struct gr_client GR_CLIENT;struct gr_client { int id; /* client id and socket descriptor */ GR_EVENT_LIST *eventhead; /* head of event chain (or NULL) */ GR_EVENT_LIST *eventtail; /* tail of event chain (or NULL) */ GR_CLIENT *next; /* the next client in the list */ GR_CLIENT *prev; /* the previous client in the list */ int waiting_for_event; /* used to implement GrGetNextEvent*/ char *shm_cmds; int shm_cmds_size; int shm_cmds_shmid; unsigned long processid; /* client process id*/};/* * Structure to remember clients associated with events. */typedef struct gr_event_client GR_EVENT_CLIENT;struct gr_event_client { GR_EVENT_CLIENT *next; /* next interested client or NULL */ GR_EVENT_MASK eventmask; /* events client wants to see */ GR_CLIENT *client; /* client who is interested */};/* * Structure to remember graphics contexts. */typedef struct gr_gc GR_GC;struct gr_gc { GR_GC_ID id; /* graphics context id */ int mode; /* drawing mode */ GR_REGION_ID regionid; /* current clipping region */ int xoff; /* X offset for the clip region */ int yoff; /* Y offset for the clip region */ GR_FONT_ID fontid; /* current font id*/ GR_COLOR foreground; /* foreground color */ GR_COLOR background; /* background color */ GR_BOOL usebackground; /* actually display the background */ GR_BOOL changed; /* graphics context has been changed */ GR_CLIENT *owner; /* client that created it */ GR_GC *next; /* next graphics context */};/* * Structure to remember regions. */typedef struct gr_region GR_REGION;struct gr_region { MWCLIPREGION * rgn; GR_REGION_ID id; GR_CLIENT * owner; /* client that created it */ GR_REGION * next;}; /* * Structure to remember fonts. */typedef struct gr_font GR_FONT;struct gr_font { PMWFONT pfont; /* font*/ int fontsize; /* font size*/ GR_FONT_ID id; /* font id*/ GR_CLIENT * owner; /* client that created it */ GR_FONT * next; /* next font*/};/* * Structure to remember images. */typedef struct gr_image GR_IMAGE;struct gr_image { GR_IMAGE_ID id; GR_CLIENT * owner; /* client that created it */ GR_IMAGE * next;}; /* * Cursor structure. */typedef struct gr_cursor GR_CURSOR;struct gr_cursor { GR_CURSOR_ID id; /* cursor id*/ GR_CLIENT *owner; /* client that created it*/ GR_CURSOR *next; MWCURSOR cursor; /* mwin engine cursor structure*/};/* * Structure to remember selection owner and mime types it can produce. */typedef struct { GR_WINDOW_ID wid; GR_CHAR *typelist;} GR_SELECTIONOWNER;/* * Structure to remember timers. */typedef struct gr_timer GR_TIMER;struct gr_timer { GR_TIMER_ID id; /* This instances ID */ GR_CLIENT *owner; /* client that created it */ GR_WINDOW_ID wid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -