OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [services/] [gfx/] [mw/] [v2_0/] [src/] [nanox/] [serv.h] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef _SERV_H
2
#define _SERV_H
3
/*
4
 * Copyright (c) 2000 Greg Haerr <greg@censoft.com>
5
 * Copyright (c) 2000 Alex Holden <alex@linuxhacker.org>
6
 * Copyright (c) 1991 David I. Bell
7
 * Permission is granted to use, distribute, or modify this source,
8
 * provided that this copyright notice remains intact.
9
 *
10
 * Private definitions for the graphics server.
11
 * These definitions are not to be used by clients.
12
 */
13
 
14
#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)
15
//
16
// Since eCos is a single task, multi-threaded environment, the
17
// server and the client code share the same namespace.  This means
18
// that server functions which are represented by dispatchers in
19
// the client code need to have unique names, thus this remapping.
20
//
21
#define GrArcAngle              SVR_GrArcAngle
22
#define GrArc                   SVR_GrArc
23
#define GrArea                  SVR_GrArea
24
#define GrBell                  SVR_GrBell
25
#define GrBitmap                SVR_GrBitmap
26
#define GrCheckNextEvent        SVR_GrCheckNextEvent
27
#define GrClearWindow           SVR_GrClearWindow
28
#define GrClose                 SVR_GrClose
29
#define GrCloseWindow           SVR_GrCloseWindow
30
#define GrCopyArea              SVR_GrCopyArea
31
#define GrCopyGC                SVR_GrCopyGC
32
#define GrCreateFont            SVR_GrCreateFont
33
#define GrDestroyFont           SVR_GrDestroyFont
34
#define GrDestroyGC             SVR_GrDestroyGC
35
#define GrDestroyRegion         SVR_GrDestroyRegion
36
#define GrDestroyWindow         SVR_GrDestroyWindow
37
#define GrDrawImageBits         SVR_GrDrawImageBits
38
#define GrDrawImageFromFile     SVR_GrDrawImageFromFile
39
#define GrDrawImageToFit        SVR_GrDrawImageToFit
40
#define GrEllipse               SVR_GrEllipse
41
#define GrEmptyRegion           SVR_GrEmptyRegion
42
#define GrEqualRegion           SVR_GrEqualRegion
43
#define GrFillEllipse           SVR_GrFillEllipse
44
#define GrFillPoly              SVR_GrFillPoly
45
#define GrFillRect              SVR_GrFillRect
46
#define GrFindColor             SVR_GrFindColor
47
#define GrFreeImage             SVR_GrFreeImage
48
#define GrGetFocus              SVR_GrGetFocus
49
#define GrGetFontInfo           SVR_GrGetFontInfo
50
#define GrGetGCInfo             SVR_GrGetGCInfo
51
#define GrGetGCTextSize         SVR_GrGetGCTextSize
52
#define GrGetImageInfo          SVR_GrGetImageInfo
53
#define GrGetRegionBox          SVR_GrGetRegionBox
54
#define GrGetScreenInfo         SVR_GrGetScreenInfo
55
#define GrGetSelectionOwner     SVR_GrGetSelectionOwner
56
#define GrGetSysColor           SVR_GrGetSysColor
57
#define GrGetSystemPalette      SVR_GrGetSystemPalette
58
#define GrGetWindowInfo         SVR_GrGetWindowInfo
59
#define GrGetWMProperties       SVR_GrGetWMProperties
60
#define GrInjectKeyboardEvent   SVR_GrInjectKeyboardEvent
61
#define GrInjectPointerEvent    SVR_GrInjectPointerEvent
62
#define GrIntersectRegion       SVR_GrIntersectRegion
63
#define GrKillWindow            SVR_GrKillWindow
64
#define GrLine                  SVR_GrLine
65
#define GrLoadImageFromFile     SVR_GrLoadImageFromFile
66
#define GrLowerWindow           SVR_GrLowerWindow
67
#define GrMapWindow             SVR_GrMapWindow
68
#define GrMoveCursor            SVR_GrMoveCursor
69
#define GrMoveWindow            SVR_GrMoveWindow
70
#define GrNewGC                 SVR_GrNewGC
71
#define GrNewInputWindow        SVR_GrNewInputWindow
72
#define GrNewPixmap             SVR_GrNewPixmap
73
#define GrNewPolygonRegion      SVR_GrNewPolygonRegion
74
#define GrNewRegion             SVR_GrNewRegion
75
#define GrNewWindow             SVR_GrNewWindow
76
#define GrOffsetRegion          SVR_GrOffsetRegion
77
#define GrOpen                  SVR_GrOpen
78
#define GrPeekEvent             SVR_GrPeekEvent
79
#define GrPointInRegion         SVR_GrPointInRegion
80
#define GrPoints                SVR_GrPoints
81
#define GrPoint                 SVR_GrPoint
82
#define GrPoly                  SVR_GrPoly
83
#define GrRaiseWindow           SVR_GrRaiseWindow
84
#define GrReadArea              SVR_GrReadArea
85
#define GrRectInRegion          SVR_GrRectInRegion
86
#define GrRect                  SVR_GrRect
87
#define GrReparentWindow        SVR_GrReparentWindow
88
#define GrRequestClientData     SVR_GrRequestClientData
89
#define GrResizeWindow          SVR_GrResizeWindow
90
#define GrSelectEvents          SVR_GrSelectEvents
91
#define GrSendClientData        SVR_GrSendClientData
92
#define GrSetBackgroundPixmap   SVR_GrSetBackgroundPixmap
93
#define GrSetBorderColor        SVR_GrSetBorderColor
94
#define GrSetCursor             SVR_GrSetCursor
95
#define GrSetFocus              SVR_GrSetFocus
96
#define GrSetFontAttr           SVR_GrSetFontAttr
97
#define GrSetFontRotation       SVR_GrSetFontRotation
98
#define GrSetFontSize           SVR_GrSetFontSize
99
#define GrSetGCBackground       SVR_GrSetGCBackground
100
#define GrSetGCFont             SVR_GrSetGCFont
101
#define GrSetGCForeground       SVR_GrSetGCForeground
102
#define GrSetGCMode             SVR_GrSetGCMode
103
#define GrSetGCRegion           SVR_GrSetGCRegion
104
#define GrSetGCUseBackground    SVR_GrSetGCUseBackground
105
#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout
106
#define GrSetSelectionOwner     SVR_GrSetSelectionOwner
107
#define GrSetSystemPalette      SVR_GrSetSystemPalette
108
#define GrSetWMProperties       SVR_GrSetWMProperties
109
#define GrSubtractRegion        SVR_GrSubtractRegion
110
#define GrText                  SVR_GrText
111
#define GrUnionRectWithRegion   SVR_GrUnionRectWithRegion
112
#define GrUnionRegion           SVR_GrUnionRegion
113
#define GrUnmapWindow           SVR_GrUnmapWindow
114
#define GrXorRegion             SVR_GrXorRegion
115
#define GrDelay SVR_GrDelay
116
#define GrSetGCClipOrigin       SVR_GrSetGCClipOrigin
117
#define GrClearArea     SVR_GrClearArea
118
#define GrNewCursor     SVR_GrNewCursor
119
#define GrDestroyCursor SVR_GrDestroyCursor
120
#define GrSetWindowCursor       SVR_GrSetWindowCursor
121
#define GrDrawImageFromBuffer   SVR_GrDrawImageFromBuffer
122
#define GrLoadImageFromBuffer   SVR_GrLoadImageFromBuffer
123
#define GrGetFontList   SVR_GrGetFontList
124
#define GrFreeFontList  SVR_GrFreeFontList
125
#define GrQueryTree     SVR_GrQueryTree
126
#define GrCreateTimer   SVR_GrCreateTimer
127
#define GrDestroyTimer  SVR_GrDestroyTimer
128
#define GrSetPortraitMode       SVR_GrSetPortraitMode
129
#endif
130
 
131
#include "nano-X.h"
132
#include "device.h"
133
 
134
/*
135
 * Drawing types.
136
 */
137
typedef int     GR_DRAW_TYPE;
138
 
139
#define GR_DRAW_TYPE_NONE       0        /* none or error */
140
#define GR_DRAW_TYPE_WINDOW     1       /* windows */
141
#define GR_DRAW_TYPE_PIXMAP     2       /* pixmaps */
142
 
143
#define GR_MAX_MODE             MWMODE_MAX
144
/*
145
 * List of elements for events.
146
 */
147
typedef struct gr_event_list GR_EVENT_LIST;
148
struct gr_event_list {
149
        GR_EVENT_LIST   *next;          /* next element in list */
150
        GR_EVENT        event;          /* event */
151
};
152
 
153
/*
154
 * Data structure to keep track of state of clients.
155
 */
156
typedef struct gr_client GR_CLIENT;
157
struct gr_client {
158
        int             id;             /* client id and socket descriptor */
159
        GR_EVENT_LIST   *eventhead;     /* head of event chain (or NULL) */
160
        GR_EVENT_LIST   *eventtail;     /* tail of event chain (or NULL) */
161
        GR_CLIENT       *next;          /* the next client in the list */
162
        GR_CLIENT       *prev;          /* the previous client in the list */
163
        int             waiting_for_event; /* used to implement GrGetNextEvent*/
164
        char            *shm_cmds;
165
        int             shm_cmds_size;
166
        int             shm_cmds_shmid;
167
        unsigned long   processid;      /* client process id*/
168
};
169
 
170
/*
171
 * Structure to remember clients associated with events.
172
 */
173
typedef struct gr_event_client  GR_EVENT_CLIENT;
174
struct gr_event_client  {
175
        GR_EVENT_CLIENT *next;          /* next interested client or NULL */
176
        GR_EVENT_MASK   eventmask;      /* events client wants to see */
177
        GR_CLIENT       *client;        /* client who is interested */
178
};
179
 
180
/*
181
 * Structure to remember graphics contexts.
182
 */
183
typedef struct gr_gc    GR_GC;
184
struct gr_gc {
185
        GR_GC_ID        id;             /* graphics context id */
186
        int             mode;           /* drawing mode */
187
        GR_REGION_ID    regionid;       /* current clipping region */
188
        int             xoff;           /* X offset for the clip region */
189
        int             yoff;           /* Y offset for the clip region */
190
        GR_FONT_ID      fontid;         /* current font id*/
191
        GR_COLOR        foreground;     /* foreground color */
192
        GR_COLOR        background;     /* background color */
193
        GR_BOOL         usebackground;  /* actually display the background */
194
        GR_BOOL         changed;        /* graphics context has been changed */
195
        GR_CLIENT       *owner;         /* client that created it */
196
        GR_GC           *next;          /* next graphics context */
197
};
198
 
199
/*
200
 * Structure to remember regions.
201
 */
202
typedef struct gr_region        GR_REGION;
203
struct gr_region {
204
        MWCLIPREGION *  rgn;
205
        GR_REGION_ID    id;
206
        GR_CLIENT *     owner;          /* client that created it */
207
        GR_REGION *     next;
208
};
209
 
210
/*
211
 * Structure to remember fonts.
212
 */
213
typedef struct gr_font  GR_FONT;
214
struct gr_font {
215
        PMWFONT         pfont;          /* font*/
216
        int             fontsize;       /* font size*/
217
        GR_FONT_ID      id;             /* font id*/
218
        GR_CLIENT *     owner;          /* client that created it */
219
        GR_FONT *       next;           /* next font*/
220
};
221
 
222
/*
223
 * Structure to remember images.
224
 */
225
typedef struct gr_image GR_IMAGE;
226
struct gr_image {
227
        GR_IMAGE_ID     id;
228
        GR_CLIENT *     owner;          /* client that created it */
229
        GR_IMAGE *      next;
230
};
231
 
232
/*
233
 * Cursor structure.
234
 */
235
typedef struct gr_cursor GR_CURSOR;
236
struct gr_cursor {
237
        GR_CURSOR_ID    id;             /* cursor id*/
238
        GR_CLIENT       *owner;         /* client that created it*/
239
        GR_CURSOR       *next;
240
        MWCURSOR        cursor;         /* mwin engine cursor structure*/
241
};
242
 
243
/*
244
 * Structure to remember selection owner and mime types it can produce.
245
 */
246
typedef struct {
247
        GR_WINDOW_ID wid;
248
        GR_CHAR *typelist;
249
} GR_SELECTIONOWNER;
250
 
251
 
252
/*
253
 * Structure to remember timers.
254
 */
255
typedef struct gr_timer GR_TIMER;
256
struct gr_timer
257
{
258
    GR_TIMER_ID    id;       /* This instances ID */
259
    GR_CLIENT     *owner;    /* client that created it */
260
    GR_WINDOW_ID   wid;
261
    MWTIMER       *timer;    /* Device independent layer timer */
262
    GR_TIMER      *next;
263
};
264
 
265
/*
266
 * Drawable structure.  This structure must be the first
267
 * elements in a GR_WINDOW or GR_PIXMAP, as GrPrepareWindow
268
 * returns a GR_DRAWABLE.  This structure includes
269
 * only those items that routines that use GrPrepareWindow
270
 * might dereference, and must be included in windows or pixmaps.
271
 */
272
typedef struct gr_drawable {
273
        GR_COORD        x;              /* x position (0)*/
274
        GR_COORD        y;              /* y position (0)*/
275
        GR_SIZE         width;          /* width */
276
        GR_SIZE         height;         /* height */
277
        struct _mwscreendevice *psd;    /* associated screen device */
278
        GR_WINDOW_ID    id;             /* window/pixmap id */
279
} GR_DRAWABLE;
280
 
281
/*
282
 * Window structure
283
 * Note: first elements must match GR_DRAWABLE
284
 */
285
typedef struct gr_pixmap GR_PIXMAP;
286
typedef struct gr_window GR_WINDOW;
287
struct gr_window {
288
        GR_COORD        x;              /* absolute x position */
289
        GR_COORD        y;              /* absolute y position */
290
        GR_SIZE         width;          /* width */
291
        GR_SIZE         height;         /* height */
292
        struct _mwscreendevice *psd;    /* associated screen device */
293
        GR_WINDOW_ID    id;             /* window id */
294
        /* end of GR_DRAWABLE common members*/
295
 
296
        GR_WINDOW       *next;          /* next window in complete list */
297
        GR_CLIENT       *owner;         /* client that created it */
298
        GR_WINDOW       *parent;        /* parent window */
299
        GR_WINDOW       *children;      /* first child window */
300
        GR_WINDOW       *siblings;      /* next sibling window */
301
        GR_SIZE         bordersize;     /* size of border */
302
        GR_COLOR        bordercolor;    /* color of border */
303
        GR_COLOR        background;     /* background color */
304
        GR_PIXMAP       *bgpixmap;      /* background pixmap */
305
        int             bgpixmapflags;  /* center, tile etc. */
306
        GR_EVENT_MASK   nopropmask;     /* events not to be propagated */
307
        GR_EVENT_CLIENT *eventclients;  /* clients interested in events */
308
        GR_CURSOR_ID    cursorid;       /* cursor for this window */
309
        GR_BOOL         mapped;         /* TRUE if explicitly mapped */
310
        GR_COUNT        unmapcount;     /* count of reasons not really mapped */
311
        GR_BOOL         output;         /* TRUE if window can do output */
312
        GR_WM_PROPS     props;          /* window properties*/
313
        GR_CHAR         *title;         /* window title*/
314
};
315
 
316
/*
317
 * Pixmap structure
318
 * Note: first elements must match GR_DRAWABLE
319
 */
320
struct gr_pixmap {
321
        GR_COORD        x;              /* x position (0)*/
322
        GR_COORD        y;              /* y position (0)*/
323
        GR_SIZE         width;          /* width */
324
        GR_SIZE         height;         /* height */
325
        struct _mwscreendevice *psd;    /* associated screen device */
326
        GR_WINDOW_ID    id;             /* pixmap id */
327
        /* end of GR_DRAWABLE common members*/
328
 
329
        GR_PIXMAP       *next;          /* next pixmap in list */
330
        GR_CLIENT       *owner;         /* client that created it */
331
};
332
 
333
/*
334
 * Macros to obtain the client number from a resource id, and to
335
 * produce the first resource id to be used for a client number.
336
 * Client numbers must not be zero.  This allows for 255 clients.
337
#define GR_ID_CLIENT(n) (((GR_ID) (n)) >> 24)
338
#define GR_ID_BASE(n)   (((GR_ID) (n)) << 24)
339
 */
340
 
341
/*
342
 * Graphics server routines.
343
 */
344
int             GsInitialize(void);
345
void            GsClose(int fd);
346
void            GsSelect(GR_TIMEOUT timeout);
347
void            GsTerminate(void);
348
GR_TIMEOUT      GsGetTickCount(void);
349
void            GsRedrawScreen(void);
350
void            GsError(GR_ERROR code, GR_ID id);
351
GR_BOOL         GsCheckMouseEvent(void);
352
GR_BOOL         GsCheckKeyboardEvent(void);
353
int             GsReadKeyboard(GR_CHAR *buf, int *modifiers);
354
int             GsOpenKeyboard(void);
355
void            GsGetButtonInfo(int *buttons);
356
void            GsGetModifierInfo(int *modifiers);
357
void            GsCloseKeyboard(void);
358
void            GsExposeArea(GR_WINDOW *wp, GR_COORD rootx, GR_COORD rooty,
359
                        GR_SIZE width, GR_SIZE height, GR_WINDOW *stopwp);
360
void            GsCheckCursor(void);
361
void            GsWpSetFocus(GR_WINDOW *wp);
362
void            GsWpDrawBackgroundPixmap(GR_WINDOW *wp, GR_PIXMAP *pm,
363
                        GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
364
void            GsWpTileBackgroundPixmap(GR_WINDOW *wp, GR_PIXMAP *pm,
365
                        GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
366
void            GsWpClearWindow(GR_WINDOW *wp, GR_COORD x, GR_COORD y,
367
                        GR_SIZE width, GR_SIZE height, GR_BOOL exposeflag);
368
void            GsWpUnmapWindow(GR_WINDOW *wp, GR_BOOL temp_unmap);
369
void            GsWpMapWindow(GR_WINDOW *wp, GR_BOOL temp);
370
void            GsWpDestroyWindow(GR_WINDOW *wp);
371
void            GsSetPortraitMode(int mode);
372
void            GsSetPortraitModeFromXY(GR_COORD rootx, GR_COORD rooty);
373
void            GsSetClipWindow(GR_WINDOW *wp, MWCLIPREGION *userregion,
374
                        int flags);
375
void            GsHandleMouseStatus(GR_COORD newx, GR_COORD newy,
376
                        int newbuttons);
377
void            GsFreePositionEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
378
                        GR_WINDOW_ID subwid);
379
void            GsDeliverButtonEvent(GR_EVENT_TYPE type, int buttons,
380
                        int changebuttons, int modifiers);
381
void            GsDeliverMotionEvent(GR_EVENT_TYPE type, int buttons,
382
                        MWKEYMOD modifiers);
383
void            GsDeliverKeyboardEvent(GR_WINDOW_ID wid, GR_EVENT_TYPE type,
384
                        GR_KEY keyvalue, GR_KEYMOD modifiers,
385
                        GR_SCANCODE scancode);
386
void            GsDeliverExposureEvent(GR_WINDOW *wp, GR_COORD x, GR_COORD y,
387
                        GR_SIZE width, GR_SIZE height);
388
void            GsFreeExposureEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
389
                        GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
390
void            GsDeliverUpdateEvent(GR_WINDOW *wp, GR_UPDATE_TYPE utype,
391
                        GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
392
void            GsDeliverGeneralEvent(GR_WINDOW *wp, GR_EVENT_TYPE type,
393
                        GR_WINDOW *other);
394
void            GsDeliverPortraitChangedEvent(void);
395
void            GsDeliverScreenSaverEvent(GR_BOOL activate);
396
void            GsDeliverClientDataReqEvent(GR_WINDOW_ID wid, GR_WINDOW_ID rid,
397
                        GR_SERIALNO serial, GR_MIMETYPE mimetype);
398
void            GsDeliverClientDataEvent(GR_WINDOW_ID wid, GR_WINDOW_ID rid,
399
                        GR_SERIALNO serial, GR_LENGTH len, GR_LENGTH thislen,
400
                        void *data);
401
void            GsDeliverSelectionChangedEvent(GR_WINDOW_ID old_owner,
402
                        GR_WINDOW_ID new_owner);
403
void            GsDeliverTimerEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
404
                        GR_TIMER_ID tid);
405
void            GsCheckMouseWindow(void);
406
void            GsCheckFocusWindow(void);
407
GR_DRAW_TYPE    GsPrepareDrawing(GR_DRAW_ID id, GR_GC_ID gcid,
408
                        GR_DRAWABLE **retdp);
409
GR_BOOL         GsCheckOverlap(GR_WINDOW *topwp, GR_WINDOW *botwp);
410
GR_EVENT        *GsAllocEvent(GR_CLIENT *client);
411
GR_WINDOW       *GsFindWindow(GR_WINDOW_ID id);
412
GR_PIXMAP       *GsFindPixmap(GR_WINDOW_ID id);
413
GR_GC           *GsFindGC(GR_GC_ID gcid);
414
GR_REGION       *GsFindRegion(GR_REGION_ID regionid);
415
GR_FONT         *GsFindFont(GR_FONT_ID fontid);
416
GR_TIMER        *GsFindTimer(GR_TIMER_ID timer_id);
417
GR_CURSOR       *GsFindCursor(GR_CURSOR_ID cursorid);
418
GR_WINDOW       *GsPrepareWindow(GR_WINDOW_ID wid);
419
GR_WINDOW       *GsFindVisibleWindow(GR_COORD x, GR_COORD y);
420
void            GsDrawBorder(GR_WINDOW *wp);
421
int             GsCurrentVt(void);
422
void            GsRedrawVt(int t);
423
int             GsOpenSocket(void);
424
void            GsCloseSocket(void);
425
void            GsAcceptClient(void);
426
void            GsAcceptClientFd(int i);
427
int             GsPutCh(int fd, unsigned char c);
428
GR_CLIENT       *GsFindClient(int fd);
429
void            GsDestroyClientResources(GR_CLIENT * client);
430
void            GsDropClient(int fd);
431
int             GsRead(int fd, void *buf, int c);
432
int             GsWrite(int fd, void *buf, int c);
433
void            GsHandleClient(int fd);
434
void            GsResetScreenSaver(void);
435
void            GsActivateScreenSaver(void *arg);
436
void            GrGetNextEventWrapperFinish(int);
437
void            GsTimerCB(void *arg);
438
 
439
/*
440
 * External data definitions.
441
 */
442
extern  char *          curfunc;                /* current function name */
443
extern  GR_WINDOW_ID    cachewindowid;          /* cached window id */
444
extern  GR_WINDOW_ID    cachepixmapid;
445
extern  GR_GC_ID        cachegcid;              /* cached graphics context id */
446
extern  GR_GC           *cachegcp;              /* cached graphics context */
447
extern  GR_GC           *listgcp;               /* list of all gc */
448
extern  GR_REGION       *listregionp;           /* list of all regions */
449
extern  GR_FONT         *listfontp;             /* list of all fonts */
450
extern  GR_IMAGE        *listimagep;            /* list of all images */
451
extern  GR_CURSOR       *listcursorp;           /* list of all cursors */
452
extern  GR_CURSOR       *stdcursor;             /* root window cursor */
453
extern  GR_GC           *curgcp;                /* current graphics context */
454
extern  GR_WINDOW       *cachewp;               /* cached window pointer */
455
extern  GR_PIXMAP       *cachepp;               /* cached pixmap pointer */
456
extern  GR_WINDOW       *listwp;                /* list of all windows */
457
extern  GR_PIXMAP       *listpp;                /* list of all pixmaps */
458
extern  GR_WINDOW       *rootwp;                /* root window pointer */
459
extern  GR_WINDOW       *clipwp;                /* window clipping is set for */
460
extern  GR_WINDOW       *focuswp;               /* focus window for keyboard */
461
extern  GR_WINDOW       *mousewp;               /* window mouse is currently in */
462
extern  GR_WINDOW       *grabbuttonwp;          /* window grabbed by button */
463
extern  GR_CURSOR       *curcursor;             /* currently enabled cursor */
464
extern  GR_COORD        cursorx;                /* x position of cursor */
465
extern  GR_COORD        cursory;                /* y position of cursor */
466
extern  int             curbuttons;             /* current state of buttons */
467
extern  GR_CLIENT       *curclient;             /* current client */
468
extern  char            *current_shm_cmds;
469
extern  int             current_shm_cmds_size;
470
extern  GR_EVENT_LIST   *eventfree;             /* list of free events */
471
extern  GR_BOOL         focusfixed;             /* TRUE if focus is fixed */
472
extern  GR_SCREEN_INFO  sinfo;                  /* screen information */
473
extern  PMWFONT         stdfont;                /* default font*/
474
extern  int             escape_quits;           /* terminate when pressing ESC*/
475
extern  int             connectcount;           /* # of connections to server */
476
extern  GR_TIMEOUT      screensaver_delay;      /* time before screensaver */
477
                                                /* activates */
478
extern  GR_TIMER_ID     cache_timer_id;         /* cached timer ID */
479
extern  GR_TIMER        *cache_timer;           /* cached timer */
480
extern  GR_TIMER        *list_timer;            /* list of all timers */
481
 
482
extern  GR_BOOL         screensaver_active;     /* screensaver is active */
483
extern  GR_SELECTIONOWNER selection_owner;      /* the selection owner */
484
extern  int             autoportrait;           /* auto portrait mode switching*/
485
 
486
/*
487
 * The filename to use for the named socket. If we ever support multiple
488
 * servers on one machine, the last digit will be that of the FB used for it.
489
 */
490
#define GR_NAMED_SOCKET "/tmp/.nano-X"
491
#define GR_NUMB_SOCKET 79
492
 
493
#if VTSWITCH
494
/* temp framebuffer vt switch stuff at upper level
495
 * this should be handled at the lower level, just like vgalib does.
496
 */
497
void MwInitVt(void);
498
int  MwCurrentVt(void);
499
int  MwCheckVtChange(void);
500
void MwRedrawVt(int t);
501
void MwExitVt(void);
502
extern int mwvterm;
503
#endif /* VTSWITCH*/
504
 
505
#endif /* _SERV_H*/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.