#ifndef _SERV_H
|
#ifndef _SERV_H
|
#define _SERV_H
|
#define _SERV_H
|
/*
|
/*
|
* Copyright (c) 2000 Greg Haerr <greg@censoft.com>
|
* Copyright (c) 2000 Greg Haerr <greg@censoft.com>
|
* Copyright (c) 2000 Alex Holden <alex@linuxhacker.org>
|
* Copyright (c) 2000 Alex Holden <alex@linuxhacker.org>
|
* Copyright (c) 1991 David I. Bell
|
* Copyright (c) 1991 David I. Bell
|
* Permission is granted to use, distribute, or modify this source,
|
* Permission is granted to use, distribute, or modify this source,
|
* provided that this copyright notice remains intact.
|
* provided that this copyright notice remains intact.
|
*
|
*
|
* Private definitions for the graphics server.
|
* Private definitions for the graphics server.
|
* These definitions are not to be used by clients.
|
* These definitions are not to be used by clients.
|
*/
|
*/
|
|
|
#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)
|
#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)
|
//
|
//
|
// Since eCos is a single task, multi-threaded environment, the
|
// Since eCos is a single task, multi-threaded environment, the
|
// server and the client code share the same namespace. This means
|
// server and the client code share the same namespace. This means
|
// that server functions which are represented by dispatchers in
|
// that server functions which are represented by dispatchers in
|
// the client code need to have unique names, thus this remapping.
|
// the client code need to have unique names, thus this remapping.
|
//
|
//
|
#define GrArcAngle SVR_GrArcAngle
|
#define GrArcAngle SVR_GrArcAngle
|
#define GrArc SVR_GrArc
|
#define GrArc SVR_GrArc
|
#define GrArea SVR_GrArea
|
#define GrArea SVR_GrArea
|
#define GrBell SVR_GrBell
|
#define GrBell SVR_GrBell
|
#define GrBitmap SVR_GrBitmap
|
#define GrBitmap SVR_GrBitmap
|
#define GrCheckNextEvent SVR_GrCheckNextEvent
|
#define GrCheckNextEvent SVR_GrCheckNextEvent
|
#define GrClearWindow SVR_GrClearWindow
|
#define GrClearWindow SVR_GrClearWindow
|
#define GrClose SVR_GrClose
|
#define GrClose SVR_GrClose
|
#define GrCloseWindow SVR_GrCloseWindow
|
#define GrCloseWindow SVR_GrCloseWindow
|
#define GrCopyArea SVR_GrCopyArea
|
#define GrCopyArea SVR_GrCopyArea
|
#define GrCopyGC SVR_GrCopyGC
|
#define GrCopyGC SVR_GrCopyGC
|
#define GrCreateFont SVR_GrCreateFont
|
#define GrCreateFont SVR_GrCreateFont
|
#define GrDestroyFont SVR_GrDestroyFont
|
#define GrDestroyFont SVR_GrDestroyFont
|
#define GrDestroyGC SVR_GrDestroyGC
|
#define GrDestroyGC SVR_GrDestroyGC
|
#define GrDestroyRegion SVR_GrDestroyRegion
|
#define GrDestroyRegion SVR_GrDestroyRegion
|
#define GrDestroyWindow SVR_GrDestroyWindow
|
#define GrDestroyWindow SVR_GrDestroyWindow
|
#define GrDrawImageBits SVR_GrDrawImageBits
|
#define GrDrawImageBits SVR_GrDrawImageBits
|
#define GrDrawImageFromFile SVR_GrDrawImageFromFile
|
#define GrDrawImageFromFile SVR_GrDrawImageFromFile
|
#define GrDrawImageToFit SVR_GrDrawImageToFit
|
#define GrDrawImageToFit SVR_GrDrawImageToFit
|
#define GrEllipse SVR_GrEllipse
|
#define GrEllipse SVR_GrEllipse
|
#define GrEmptyRegion SVR_GrEmptyRegion
|
#define GrEmptyRegion SVR_GrEmptyRegion
|
#define GrEqualRegion SVR_GrEqualRegion
|
#define GrEqualRegion SVR_GrEqualRegion
|
#define GrFillEllipse SVR_GrFillEllipse
|
#define GrFillEllipse SVR_GrFillEllipse
|
#define GrFillPoly SVR_GrFillPoly
|
#define GrFillPoly SVR_GrFillPoly
|
#define GrFillRect SVR_GrFillRect
|
#define GrFillRect SVR_GrFillRect
|
#define GrFindColor SVR_GrFindColor
|
#define GrFindColor SVR_GrFindColor
|
#define GrFreeImage SVR_GrFreeImage
|
#define GrFreeImage SVR_GrFreeImage
|
#define GrGetFocus SVR_GrGetFocus
|
#define GrGetFocus SVR_GrGetFocus
|
#define GrGetFontInfo SVR_GrGetFontInfo
|
#define GrGetFontInfo SVR_GrGetFontInfo
|
#define GrGetGCInfo SVR_GrGetGCInfo
|
#define GrGetGCInfo SVR_GrGetGCInfo
|
#define GrGetGCTextSize SVR_GrGetGCTextSize
|
#define GrGetGCTextSize SVR_GrGetGCTextSize
|
#define GrGetImageInfo SVR_GrGetImageInfo
|
#define GrGetImageInfo SVR_GrGetImageInfo
|
#define GrGetRegionBox SVR_GrGetRegionBox
|
#define GrGetRegionBox SVR_GrGetRegionBox
|
#define GrGetScreenInfo SVR_GrGetScreenInfo
|
#define GrGetScreenInfo SVR_GrGetScreenInfo
|
#define GrGetSelectionOwner SVR_GrGetSelectionOwner
|
#define GrGetSelectionOwner SVR_GrGetSelectionOwner
|
#define GrGetSysColor SVR_GrGetSysColor
|
#define GrGetSysColor SVR_GrGetSysColor
|
#define GrGetSystemPalette SVR_GrGetSystemPalette
|
#define GrGetSystemPalette SVR_GrGetSystemPalette
|
#define GrGetWindowInfo SVR_GrGetWindowInfo
|
#define GrGetWindowInfo SVR_GrGetWindowInfo
|
#define GrGetWMProperties SVR_GrGetWMProperties
|
#define GrGetWMProperties SVR_GrGetWMProperties
|
#define GrInjectKeyboardEvent SVR_GrInjectKeyboardEvent
|
#define GrInjectKeyboardEvent SVR_GrInjectKeyboardEvent
|
#define GrInjectPointerEvent SVR_GrInjectPointerEvent
|
#define GrInjectPointerEvent SVR_GrInjectPointerEvent
|
#define GrIntersectRegion SVR_GrIntersectRegion
|
#define GrIntersectRegion SVR_GrIntersectRegion
|
#define GrKillWindow SVR_GrKillWindow
|
#define GrKillWindow SVR_GrKillWindow
|
#define GrLine SVR_GrLine
|
#define GrLine SVR_GrLine
|
#define GrLoadImageFromFile SVR_GrLoadImageFromFile
|
#define GrLoadImageFromFile SVR_GrLoadImageFromFile
|
#define GrLowerWindow SVR_GrLowerWindow
|
#define GrLowerWindow SVR_GrLowerWindow
|
#define GrMapWindow SVR_GrMapWindow
|
#define GrMapWindow SVR_GrMapWindow
|
#define GrMoveCursor SVR_GrMoveCursor
|
#define GrMoveCursor SVR_GrMoveCursor
|
#define GrMoveWindow SVR_GrMoveWindow
|
#define GrMoveWindow SVR_GrMoveWindow
|
#define GrNewGC SVR_GrNewGC
|
#define GrNewGC SVR_GrNewGC
|
#define GrNewInputWindow SVR_GrNewInputWindow
|
#define GrNewInputWindow SVR_GrNewInputWindow
|
#define GrNewPixmap SVR_GrNewPixmap
|
#define GrNewPixmap SVR_GrNewPixmap
|
#define GrNewPolygonRegion SVR_GrNewPolygonRegion
|
#define GrNewPolygonRegion SVR_GrNewPolygonRegion
|
#define GrNewRegion SVR_GrNewRegion
|
#define GrNewRegion SVR_GrNewRegion
|
#define GrNewWindow SVR_GrNewWindow
|
#define GrNewWindow SVR_GrNewWindow
|
#define GrOffsetRegion SVR_GrOffsetRegion
|
#define GrOffsetRegion SVR_GrOffsetRegion
|
#define GrOpen SVR_GrOpen
|
#define GrOpen SVR_GrOpen
|
#define GrPeekEvent SVR_GrPeekEvent
|
#define GrPeekEvent SVR_GrPeekEvent
|
#define GrPointInRegion SVR_GrPointInRegion
|
#define GrPointInRegion SVR_GrPointInRegion
|
#define GrPoints SVR_GrPoints
|
#define GrPoints SVR_GrPoints
|
#define GrPoint SVR_GrPoint
|
#define GrPoint SVR_GrPoint
|
#define GrPoly SVR_GrPoly
|
#define GrPoly SVR_GrPoly
|
#define GrRaiseWindow SVR_GrRaiseWindow
|
#define GrRaiseWindow SVR_GrRaiseWindow
|
#define GrReadArea SVR_GrReadArea
|
#define GrReadArea SVR_GrReadArea
|
#define GrRectInRegion SVR_GrRectInRegion
|
#define GrRectInRegion SVR_GrRectInRegion
|
#define GrRect SVR_GrRect
|
#define GrRect SVR_GrRect
|
#define GrReparentWindow SVR_GrReparentWindow
|
#define GrReparentWindow SVR_GrReparentWindow
|
#define GrRequestClientData SVR_GrRequestClientData
|
#define GrRequestClientData SVR_GrRequestClientData
|
#define GrResizeWindow SVR_GrResizeWindow
|
#define GrResizeWindow SVR_GrResizeWindow
|
#define GrSelectEvents SVR_GrSelectEvents
|
#define GrSelectEvents SVR_GrSelectEvents
|
#define GrSendClientData SVR_GrSendClientData
|
#define GrSendClientData SVR_GrSendClientData
|
#define GrSetBackgroundPixmap SVR_GrSetBackgroundPixmap
|
#define GrSetBackgroundPixmap SVR_GrSetBackgroundPixmap
|
#define GrSetBorderColor SVR_GrSetBorderColor
|
#define GrSetBorderColor SVR_GrSetBorderColor
|
#define GrSetCursor SVR_GrSetCursor
|
#define GrSetCursor SVR_GrSetCursor
|
#define GrSetFocus SVR_GrSetFocus
|
#define GrSetFocus SVR_GrSetFocus
|
#define GrSetFontAttr SVR_GrSetFontAttr
|
#define GrSetFontAttr SVR_GrSetFontAttr
|
#define GrSetFontRotation SVR_GrSetFontRotation
|
#define GrSetFontRotation SVR_GrSetFontRotation
|
#define GrSetFontSize SVR_GrSetFontSize
|
#define GrSetFontSize SVR_GrSetFontSize
|
#define GrSetGCBackground SVR_GrSetGCBackground
|
#define GrSetGCBackground SVR_GrSetGCBackground
|
#define GrSetGCFont SVR_GrSetGCFont
|
#define GrSetGCFont SVR_GrSetGCFont
|
#define GrSetGCForeground SVR_GrSetGCForeground
|
#define GrSetGCForeground SVR_GrSetGCForeground
|
#define GrSetGCMode SVR_GrSetGCMode
|
#define GrSetGCMode SVR_GrSetGCMode
|
#define GrSetGCRegion SVR_GrSetGCRegion
|
#define GrSetGCRegion SVR_GrSetGCRegion
|
#define GrSetGCUseBackground SVR_GrSetGCUseBackground
|
#define GrSetGCUseBackground SVR_GrSetGCUseBackground
|
#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout
|
#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout
|
#define GrSetSelectionOwner SVR_GrSetSelectionOwner
|
#define GrSetSelectionOwner SVR_GrSetSelectionOwner
|
#define GrSetSystemPalette SVR_GrSetSystemPalette
|
#define GrSetSystemPalette SVR_GrSetSystemPalette
|
#define GrSetWMProperties SVR_GrSetWMProperties
|
#define GrSetWMProperties SVR_GrSetWMProperties
|
#define GrSubtractRegion SVR_GrSubtractRegion
|
#define GrSubtractRegion SVR_GrSubtractRegion
|
#define GrText SVR_GrText
|
#define GrText SVR_GrText
|
#define GrUnionRectWithRegion SVR_GrUnionRectWithRegion
|
#define GrUnionRectWithRegion SVR_GrUnionRectWithRegion
|
#define GrUnionRegion SVR_GrUnionRegion
|
#define GrUnionRegion SVR_GrUnionRegion
|
#define GrUnmapWindow SVR_GrUnmapWindow
|
#define GrUnmapWindow SVR_GrUnmapWindow
|
#define GrXorRegion SVR_GrXorRegion
|
#define GrXorRegion SVR_GrXorRegion
|
#define GrDelay SVR_GrDelay
|
#define GrDelay SVR_GrDelay
|
#define GrSetGCClipOrigin SVR_GrSetGCClipOrigin
|
#define GrSetGCClipOrigin SVR_GrSetGCClipOrigin
|
#define GrClearArea SVR_GrClearArea
|
#define GrClearArea SVR_GrClearArea
|
#define GrNewCursor SVR_GrNewCursor
|
#define GrNewCursor SVR_GrNewCursor
|
#define GrDestroyCursor SVR_GrDestroyCursor
|
#define GrDestroyCursor SVR_GrDestroyCursor
|
#define GrSetWindowCursor SVR_GrSetWindowCursor
|
#define GrSetWindowCursor SVR_GrSetWindowCursor
|
#define GrDrawImageFromBuffer SVR_GrDrawImageFromBuffer
|
#define GrDrawImageFromBuffer SVR_GrDrawImageFromBuffer
|
#define GrLoadImageFromBuffer SVR_GrLoadImageFromBuffer
|
#define GrLoadImageFromBuffer SVR_GrLoadImageFromBuffer
|
#define GrGetFontList SVR_GrGetFontList
|
#define GrGetFontList SVR_GrGetFontList
|
#define GrFreeFontList SVR_GrFreeFontList
|
#define GrFreeFontList SVR_GrFreeFontList
|
#define GrQueryTree SVR_GrQueryTree
|
#define GrQueryTree SVR_GrQueryTree
|
#define GrCreateTimer SVR_GrCreateTimer
|
#define GrCreateTimer SVR_GrCreateTimer
|
#define GrDestroyTimer SVR_GrDestroyTimer
|
#define GrDestroyTimer SVR_GrDestroyTimer
|
#define GrSetPortraitMode SVR_GrSetPortraitMode
|
#define GrSetPortraitMode SVR_GrSetPortraitMode
|
#endif
|
#endif
|
|
|
#include "nano-X.h"
|
#include "nano-X.h"
|
#include "device.h"
|
#include "device.h"
|
|
|
/*
|
/*
|
* Drawing types.
|
* Drawing types.
|
*/
|
*/
|
typedef int GR_DRAW_TYPE;
|
typedef int GR_DRAW_TYPE;
|
|
|
#define GR_DRAW_TYPE_NONE 0 /* none or error */
|
#define GR_DRAW_TYPE_NONE 0 /* none or error */
|
#define GR_DRAW_TYPE_WINDOW 1 /* windows */
|
#define GR_DRAW_TYPE_WINDOW 1 /* windows */
|
#define GR_DRAW_TYPE_PIXMAP 2 /* pixmaps */
|
#define GR_DRAW_TYPE_PIXMAP 2 /* pixmaps */
|
|
|
#define GR_MAX_MODE MWMODE_MAX
|
#define GR_MAX_MODE MWMODE_MAX
|
/*
|
/*
|
* List of elements for events.
|
* List of elements for events.
|
*/
|
*/
|
typedef struct gr_event_list GR_EVENT_LIST;
|
typedef struct gr_event_list GR_EVENT_LIST;
|
struct gr_event_list {
|
struct gr_event_list {
|
GR_EVENT_LIST *next; /* next element in list */
|
GR_EVENT_LIST *next; /* next element in list */
|
GR_EVENT event; /* event */
|
GR_EVENT event; /* event */
|
};
|
};
|
|
|
/*
|
/*
|
* Data structure to keep track of state of clients.
|
* Data structure to keep track of state of clients.
|
*/
|
*/
|
typedef struct gr_client GR_CLIENT;
|
typedef struct gr_client GR_CLIENT;
|
struct gr_client {
|
struct gr_client {
|
int id; /* client id and socket descriptor */
|
int id; /* client id and socket descriptor */
|
GR_EVENT_LIST *eventhead; /* head of event chain (or NULL) */
|
GR_EVENT_LIST *eventhead; /* head of event chain (or NULL) */
|
GR_EVENT_LIST *eventtail; /* tail 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 *next; /* the next client in the list */
|
GR_CLIENT *prev; /* the previous client in the list */
|
GR_CLIENT *prev; /* the previous client in the list */
|
int waiting_for_event; /* used to implement GrGetNextEvent*/
|
int waiting_for_event; /* used to implement GrGetNextEvent*/
|
char *shm_cmds;
|
char *shm_cmds;
|
int shm_cmds_size;
|
int shm_cmds_size;
|
int shm_cmds_shmid;
|
int shm_cmds_shmid;
|
unsigned long processid; /* client process id*/
|
unsigned long processid; /* client process id*/
|
};
|
};
|
|
|
/*
|
/*
|
* Structure to remember clients associated with events.
|
* Structure to remember clients associated with events.
|
*/
|
*/
|
typedef struct gr_event_client GR_EVENT_CLIENT;
|
typedef struct gr_event_client GR_EVENT_CLIENT;
|
struct gr_event_client {
|
struct gr_event_client {
|
GR_EVENT_CLIENT *next; /* next interested client or NULL */
|
GR_EVENT_CLIENT *next; /* next interested client or NULL */
|
GR_EVENT_MASK eventmask; /* events client wants to see */
|
GR_EVENT_MASK eventmask; /* events client wants to see */
|
GR_CLIENT *client; /* client who is interested */
|
GR_CLIENT *client; /* client who is interested */
|
};
|
};
|
|
|
/*
|
/*
|
* Structure to remember graphics contexts.
|
* Structure to remember graphics contexts.
|
*/
|
*/
|
typedef struct gr_gc GR_GC;
|
typedef struct gr_gc GR_GC;
|
struct gr_gc {
|
struct gr_gc {
|
GR_GC_ID id; /* graphics context id */
|
GR_GC_ID id; /* graphics context id */
|
int mode; /* drawing mode */
|
int mode; /* drawing mode */
|
GR_REGION_ID regionid; /* current clipping region */
|
GR_REGION_ID regionid; /* current clipping region */
|
int xoff; /* X offset for the clip region */
|
int xoff; /* X offset for the clip region */
|
int yoff; /* Y offset for the clip region */
|
int yoff; /* Y offset for the clip region */
|
GR_FONT_ID fontid; /* current font id*/
|
GR_FONT_ID fontid; /* current font id*/
|
GR_COLOR foreground; /* foreground color */
|
GR_COLOR foreground; /* foreground color */
|
GR_COLOR background; /* background color */
|
GR_COLOR background; /* background color */
|
GR_BOOL usebackground; /* actually display the background */
|
GR_BOOL usebackground; /* actually display the background */
|
GR_BOOL changed; /* graphics context has been changed */
|
GR_BOOL changed; /* graphics context has been changed */
|
GR_CLIENT *owner; /* client that created it */
|
GR_CLIENT *owner; /* client that created it */
|
GR_GC *next; /* next graphics context */
|
GR_GC *next; /* next graphics context */
|
};
|
};
|
|
|
/*
|
/*
|
* Structure to remember regions.
|
* Structure to remember regions.
|
*/
|
*/
|
typedef struct gr_region GR_REGION;
|
typedef struct gr_region GR_REGION;
|
struct gr_region {
|
struct gr_region {
|
MWCLIPREGION * rgn;
|
MWCLIPREGION * rgn;
|
GR_REGION_ID id;
|
GR_REGION_ID id;
|
GR_CLIENT * owner; /* client that created it */
|
GR_CLIENT * owner; /* client that created it */
|
GR_REGION * next;
|
GR_REGION * next;
|
};
|
};
|
|
|
/*
|
/*
|
* Structure to remember fonts.
|
* Structure to remember fonts.
|
*/
|
*/
|
typedef struct gr_font GR_FONT;
|
typedef struct gr_font GR_FONT;
|
struct gr_font {
|
struct gr_font {
|
PMWFONT pfont; /* font*/
|
PMWFONT pfont; /* font*/
|
int fontsize; /* font size*/
|
int fontsize; /* font size*/
|
GR_FONT_ID id; /* font id*/
|
GR_FONT_ID id; /* font id*/
|
GR_CLIENT * owner; /* client that created it */
|
GR_CLIENT * owner; /* client that created it */
|
GR_FONT * next; /* next font*/
|
GR_FONT * next; /* next font*/
|
};
|
};
|
|
|
/*
|
/*
|
* Structure to remember images.
|
* Structure to remember images.
|
*/
|
*/
|
typedef struct gr_image GR_IMAGE;
|
typedef struct gr_image GR_IMAGE;
|
struct gr_image {
|
struct gr_image {
|
GR_IMAGE_ID id;
|
GR_IMAGE_ID id;
|
GR_CLIENT * owner; /* client that created it */
|
GR_CLIENT * owner; /* client that created it */
|
GR_IMAGE * next;
|
GR_IMAGE * next;
|
};
|
};
|
|
|
/*
|
/*
|
* Cursor structure.
|
* Cursor structure.
|
*/
|
*/
|
typedef struct gr_cursor GR_CURSOR;
|
typedef struct gr_cursor GR_CURSOR;
|
struct gr_cursor {
|
struct gr_cursor {
|
GR_CURSOR_ID id; /* cursor id*/
|
GR_CURSOR_ID id; /* cursor id*/
|
GR_CLIENT *owner; /* client that created it*/
|
GR_CLIENT *owner; /* client that created it*/
|
GR_CURSOR *next;
|
GR_CURSOR *next;
|
MWCURSOR cursor; /* mwin engine cursor structure*/
|
MWCURSOR cursor; /* mwin engine cursor structure*/
|
};
|
};
|
|
|
/*
|
/*
|
* Structure to remember selection owner and mime types it can produce.
|
* Structure to remember selection owner and mime types it can produce.
|
*/
|
*/
|
typedef struct {
|
typedef struct {
|
GR_WINDOW_ID wid;
|
GR_WINDOW_ID wid;
|
GR_CHAR *typelist;
|
GR_CHAR *typelist;
|
} GR_SELECTIONOWNER;
|
} GR_SELECTIONOWNER;
|
|
|
|
|
/*
|
/*
|
* Structure to remember timers.
|
* Structure to remember timers.
|
*/
|
*/
|
typedef struct gr_timer GR_TIMER;
|
typedef struct gr_timer GR_TIMER;
|
struct gr_timer
|
struct gr_timer
|
{
|
{
|
GR_TIMER_ID id; /* This instances ID */
|
GR_TIMER_ID id; /* This instances ID */
|
GR_CLIENT *owner; /* client that created it */
|
GR_CLIENT *owner; /* client that created it */
|
GR_WINDOW_ID wid;
|
GR_WINDOW_ID wid;
|
MWTIMER *timer; /* Device independent layer timer */
|
MWTIMER *timer; /* Device independent layer timer */
|
GR_TIMER *next;
|
GR_TIMER *next;
|
};
|
};
|
|
|
/*
|
/*
|
* Drawable structure. This structure must be the first
|
* Drawable structure. This structure must be the first
|
* elements in a GR_WINDOW or GR_PIXMAP, as GrPrepareWindow
|
* elements in a GR_WINDOW or GR_PIXMAP, as GrPrepareWindow
|
* returns a GR_DRAWABLE. This structure includes
|
* returns a GR_DRAWABLE. This structure includes
|
* only those items that routines that use GrPrepareWindow
|
* only those items that routines that use GrPrepareWindow
|
* might dereference, and must be included in windows or pixmaps.
|
* might dereference, and must be included in windows or pixmaps.
|
*/
|
*/
|
typedef struct gr_drawable {
|
typedef struct gr_drawable {
|
GR_COORD x; /* x position (0)*/
|
GR_COORD x; /* x position (0)*/
|
GR_COORD y; /* y position (0)*/
|
GR_COORD y; /* y position (0)*/
|
GR_SIZE width; /* width */
|
GR_SIZE width; /* width */
|
GR_SIZE height; /* height */
|
GR_SIZE height; /* height */
|
struct _mwscreendevice *psd; /* associated screen device */
|
struct _mwscreendevice *psd; /* associated screen device */
|
GR_WINDOW_ID id; /* window/pixmap id */
|
GR_WINDOW_ID id; /* window/pixmap id */
|
} GR_DRAWABLE;
|
} GR_DRAWABLE;
|
|
|
/*
|
/*
|
* Window structure
|
* Window structure
|
* Note: first elements must match GR_DRAWABLE
|
* Note: first elements must match GR_DRAWABLE
|
*/
|
*/
|
typedef struct gr_pixmap GR_PIXMAP;
|
typedef struct gr_pixmap GR_PIXMAP;
|
typedef struct gr_window GR_WINDOW;
|
typedef struct gr_window GR_WINDOW;
|
struct gr_window {
|
struct gr_window {
|
GR_COORD x; /* absolute x position */
|
GR_COORD x; /* absolute x position */
|
GR_COORD y; /* absolute y position */
|
GR_COORD y; /* absolute y position */
|
GR_SIZE width; /* width */
|
GR_SIZE width; /* width */
|
GR_SIZE height; /* height */
|
GR_SIZE height; /* height */
|
struct _mwscreendevice *psd; /* associated screen device */
|
struct _mwscreendevice *psd; /* associated screen device */
|
GR_WINDOW_ID id; /* window id */
|
GR_WINDOW_ID id; /* window id */
|
/* end of GR_DRAWABLE common members*/
|
/* end of GR_DRAWABLE common members*/
|
|
|
GR_WINDOW *next; /* next window in complete list */
|
GR_WINDOW *next; /* next window in complete list */
|
GR_CLIENT *owner; /* client that created it */
|
GR_CLIENT *owner; /* client that created it */
|
GR_WINDOW *parent; /* parent window */
|
GR_WINDOW *parent; /* parent window */
|
GR_WINDOW *children; /* first child window */
|
GR_WINDOW *children; /* first child window */
|
GR_WINDOW *siblings; /* next sibling window */
|
GR_WINDOW *siblings; /* next sibling window */
|
GR_SIZE bordersize; /* size of border */
|
GR_SIZE bordersize; /* size of border */
|
GR_COLOR bordercolor; /* color of border */
|
GR_COLOR bordercolor; /* color of border */
|
GR_COLOR background; /* background color */
|
GR_COLOR background; /* background color */
|
GR_PIXMAP *bgpixmap; /* background pixmap */
|
GR_PIXMAP *bgpixmap; /* background pixmap */
|
int bgpixmapflags; /* center, tile etc. */
|
int bgpixmapflags; /* center, tile etc. */
|
GR_EVENT_MASK nopropmask; /* events not to be propagated */
|
GR_EVENT_MASK nopropmask; /* events not to be propagated */
|
GR_EVENT_CLIENT *eventclients; /* clients interested in events */
|
GR_EVENT_CLIENT *eventclients; /* clients interested in events */
|
GR_CURSOR_ID cursorid; /* cursor for this window */
|
GR_CURSOR_ID cursorid; /* cursor for this window */
|
GR_BOOL mapped; /* TRUE if explicitly mapped */
|
GR_BOOL mapped; /* TRUE if explicitly mapped */
|
GR_COUNT unmapcount; /* count of reasons not really mapped */
|
GR_COUNT unmapcount; /* count of reasons not really mapped */
|
GR_BOOL output; /* TRUE if window can do output */
|
GR_BOOL output; /* TRUE if window can do output */
|
GR_WM_PROPS props; /* window properties*/
|
GR_WM_PROPS props; /* window properties*/
|
GR_CHAR *title; /* window title*/
|
GR_CHAR *title; /* window title*/
|
};
|
};
|
|
|
/*
|
/*
|
* Pixmap structure
|
* Pixmap structure
|
* Note: first elements must match GR_DRAWABLE
|
* Note: first elements must match GR_DRAWABLE
|
*/
|
*/
|
struct gr_pixmap {
|
struct gr_pixmap {
|
GR_COORD x; /* x position (0)*/
|
GR_COORD x; /* x position (0)*/
|
GR_COORD y; /* y position (0)*/
|
GR_COORD y; /* y position (0)*/
|
GR_SIZE width; /* width */
|
GR_SIZE width; /* width */
|
GR_SIZE height; /* height */
|
GR_SIZE height; /* height */
|
struct _mwscreendevice *psd; /* associated screen device */
|
struct _mwscreendevice *psd; /* associated screen device */
|
GR_WINDOW_ID id; /* pixmap id */
|
GR_WINDOW_ID id; /* pixmap id */
|
/* end of GR_DRAWABLE common members*/
|
/* end of GR_DRAWABLE common members*/
|
|
|
GR_PIXMAP *next; /* next pixmap in list */
|
GR_PIXMAP *next; /* next pixmap in list */
|
GR_CLIENT *owner; /* client that created it */
|
GR_CLIENT *owner; /* client that created it */
|
};
|
};
|
|
|
/*
|
/*
|
* Macros to obtain the client number from a resource id, and to
|
* Macros to obtain the client number from a resource id, and to
|
* produce the first resource id to be used for a client number.
|
* produce the first resource id to be used for a client number.
|
* Client numbers must not be zero. This allows for 255 clients.
|
* Client numbers must not be zero. This allows for 255 clients.
|
#define GR_ID_CLIENT(n) (((GR_ID) (n)) >> 24)
|
#define GR_ID_CLIENT(n) (((GR_ID) (n)) >> 24)
|
#define GR_ID_BASE(n) (((GR_ID) (n)) << 24)
|
#define GR_ID_BASE(n) (((GR_ID) (n)) << 24)
|
*/
|
*/
|
|
|
/*
|
/*
|
* Graphics server routines.
|
* Graphics server routines.
|
*/
|
*/
|
int GsInitialize(void);
|
int GsInitialize(void);
|
void GsClose(int fd);
|
void GsClose(int fd);
|
void GsSelect(GR_TIMEOUT timeout);
|
void GsSelect(GR_TIMEOUT timeout);
|
void GsTerminate(void);
|
void GsTerminate(void);
|
GR_TIMEOUT GsGetTickCount(void);
|
GR_TIMEOUT GsGetTickCount(void);
|
void GsRedrawScreen(void);
|
void GsRedrawScreen(void);
|
void GsError(GR_ERROR code, GR_ID id);
|
void GsError(GR_ERROR code, GR_ID id);
|
GR_BOOL GsCheckMouseEvent(void);
|
GR_BOOL GsCheckMouseEvent(void);
|
GR_BOOL GsCheckKeyboardEvent(void);
|
GR_BOOL GsCheckKeyboardEvent(void);
|
int GsReadKeyboard(GR_CHAR *buf, int *modifiers);
|
int GsReadKeyboard(GR_CHAR *buf, int *modifiers);
|
int GsOpenKeyboard(void);
|
int GsOpenKeyboard(void);
|
void GsGetButtonInfo(int *buttons);
|
void GsGetButtonInfo(int *buttons);
|
void GsGetModifierInfo(int *modifiers);
|
void GsGetModifierInfo(int *modifiers);
|
void GsCloseKeyboard(void);
|
void GsCloseKeyboard(void);
|
void GsExposeArea(GR_WINDOW *wp, GR_COORD rootx, GR_COORD rooty,
|
void GsExposeArea(GR_WINDOW *wp, GR_COORD rootx, GR_COORD rooty,
|
GR_SIZE width, GR_SIZE height, GR_WINDOW *stopwp);
|
GR_SIZE width, GR_SIZE height, GR_WINDOW *stopwp);
|
void GsCheckCursor(void);
|
void GsCheckCursor(void);
|
void GsWpSetFocus(GR_WINDOW *wp);
|
void GsWpSetFocus(GR_WINDOW *wp);
|
void GsWpDrawBackgroundPixmap(GR_WINDOW *wp, GR_PIXMAP *pm,
|
void GsWpDrawBackgroundPixmap(GR_WINDOW *wp, GR_PIXMAP *pm,
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
void GsWpTileBackgroundPixmap(GR_WINDOW *wp, GR_PIXMAP *pm,
|
void GsWpTileBackgroundPixmap(GR_WINDOW *wp, GR_PIXMAP *pm,
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
void GsWpClearWindow(GR_WINDOW *wp, GR_COORD x, GR_COORD y,
|
void GsWpClearWindow(GR_WINDOW *wp, GR_COORD x, GR_COORD y,
|
GR_SIZE width, GR_SIZE height, GR_BOOL exposeflag);
|
GR_SIZE width, GR_SIZE height, GR_BOOL exposeflag);
|
void GsWpUnmapWindow(GR_WINDOW *wp, GR_BOOL temp_unmap);
|
void GsWpUnmapWindow(GR_WINDOW *wp, GR_BOOL temp_unmap);
|
void GsWpMapWindow(GR_WINDOW *wp, GR_BOOL temp);
|
void GsWpMapWindow(GR_WINDOW *wp, GR_BOOL temp);
|
void GsWpDestroyWindow(GR_WINDOW *wp);
|
void GsWpDestroyWindow(GR_WINDOW *wp);
|
void GsSetPortraitMode(int mode);
|
void GsSetPortraitMode(int mode);
|
void GsSetPortraitModeFromXY(GR_COORD rootx, GR_COORD rooty);
|
void GsSetPortraitModeFromXY(GR_COORD rootx, GR_COORD rooty);
|
void GsSetClipWindow(GR_WINDOW *wp, MWCLIPREGION *userregion,
|
void GsSetClipWindow(GR_WINDOW *wp, MWCLIPREGION *userregion,
|
int flags);
|
int flags);
|
void GsHandleMouseStatus(GR_COORD newx, GR_COORD newy,
|
void GsHandleMouseStatus(GR_COORD newx, GR_COORD newy,
|
int newbuttons);
|
int newbuttons);
|
void GsFreePositionEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
|
void GsFreePositionEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
|
GR_WINDOW_ID subwid);
|
GR_WINDOW_ID subwid);
|
void GsDeliverButtonEvent(GR_EVENT_TYPE type, int buttons,
|
void GsDeliverButtonEvent(GR_EVENT_TYPE type, int buttons,
|
int changebuttons, int modifiers);
|
int changebuttons, int modifiers);
|
void GsDeliverMotionEvent(GR_EVENT_TYPE type, int buttons,
|
void GsDeliverMotionEvent(GR_EVENT_TYPE type, int buttons,
|
MWKEYMOD modifiers);
|
MWKEYMOD modifiers);
|
void GsDeliverKeyboardEvent(GR_WINDOW_ID wid, GR_EVENT_TYPE type,
|
void GsDeliverKeyboardEvent(GR_WINDOW_ID wid, GR_EVENT_TYPE type,
|
GR_KEY keyvalue, GR_KEYMOD modifiers,
|
GR_KEY keyvalue, GR_KEYMOD modifiers,
|
GR_SCANCODE scancode);
|
GR_SCANCODE scancode);
|
void GsDeliverExposureEvent(GR_WINDOW *wp, GR_COORD x, GR_COORD y,
|
void GsDeliverExposureEvent(GR_WINDOW *wp, GR_COORD x, GR_COORD y,
|
GR_SIZE width, GR_SIZE height);
|
GR_SIZE width, GR_SIZE height);
|
void GsFreeExposureEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
|
void GsFreeExposureEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
void GsDeliverUpdateEvent(GR_WINDOW *wp, GR_UPDATE_TYPE utype,
|
void GsDeliverUpdateEvent(GR_WINDOW *wp, GR_UPDATE_TYPE utype,
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
GR_COORD x, GR_COORD y, GR_SIZE width, GR_SIZE height);
|
void GsDeliverGeneralEvent(GR_WINDOW *wp, GR_EVENT_TYPE type,
|
void GsDeliverGeneralEvent(GR_WINDOW *wp, GR_EVENT_TYPE type,
|
GR_WINDOW *other);
|
GR_WINDOW *other);
|
void GsDeliverPortraitChangedEvent(void);
|
void GsDeliverPortraitChangedEvent(void);
|
void GsDeliverScreenSaverEvent(GR_BOOL activate);
|
void GsDeliverScreenSaverEvent(GR_BOOL activate);
|
void GsDeliverClientDataReqEvent(GR_WINDOW_ID wid, GR_WINDOW_ID rid,
|
void GsDeliverClientDataReqEvent(GR_WINDOW_ID wid, GR_WINDOW_ID rid,
|
GR_SERIALNO serial, GR_MIMETYPE mimetype);
|
GR_SERIALNO serial, GR_MIMETYPE mimetype);
|
void GsDeliverClientDataEvent(GR_WINDOW_ID wid, GR_WINDOW_ID rid,
|
void GsDeliverClientDataEvent(GR_WINDOW_ID wid, GR_WINDOW_ID rid,
|
GR_SERIALNO serial, GR_LENGTH len, GR_LENGTH thislen,
|
GR_SERIALNO serial, GR_LENGTH len, GR_LENGTH thislen,
|
void *data);
|
void *data);
|
void GsDeliverSelectionChangedEvent(GR_WINDOW_ID old_owner,
|
void GsDeliverSelectionChangedEvent(GR_WINDOW_ID old_owner,
|
GR_WINDOW_ID new_owner);
|
GR_WINDOW_ID new_owner);
|
void GsDeliverTimerEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
|
void GsDeliverTimerEvent(GR_CLIENT *client, GR_WINDOW_ID wid,
|
GR_TIMER_ID tid);
|
GR_TIMER_ID tid);
|
void GsCheckMouseWindow(void);
|
void GsCheckMouseWindow(void);
|
void GsCheckFocusWindow(void);
|
void GsCheckFocusWindow(void);
|
GR_DRAW_TYPE GsPrepareDrawing(GR_DRAW_ID id, GR_GC_ID gcid,
|
GR_DRAW_TYPE GsPrepareDrawing(GR_DRAW_ID id, GR_GC_ID gcid,
|
GR_DRAWABLE **retdp);
|
GR_DRAWABLE **retdp);
|
GR_BOOL GsCheckOverlap(GR_WINDOW *topwp, GR_WINDOW *botwp);
|
GR_BOOL GsCheckOverlap(GR_WINDOW *topwp, GR_WINDOW *botwp);
|
GR_EVENT *GsAllocEvent(GR_CLIENT *client);
|
GR_EVENT *GsAllocEvent(GR_CLIENT *client);
|
GR_WINDOW *GsFindWindow(GR_WINDOW_ID id);
|
GR_WINDOW *GsFindWindow(GR_WINDOW_ID id);
|
GR_PIXMAP *GsFindPixmap(GR_WINDOW_ID id);
|
GR_PIXMAP *GsFindPixmap(GR_WINDOW_ID id);
|
GR_GC *GsFindGC(GR_GC_ID gcid);
|
GR_GC *GsFindGC(GR_GC_ID gcid);
|
GR_REGION *GsFindRegion(GR_REGION_ID regionid);
|
GR_REGION *GsFindRegion(GR_REGION_ID regionid);
|
GR_FONT *GsFindFont(GR_FONT_ID fontid);
|
GR_FONT *GsFindFont(GR_FONT_ID fontid);
|
GR_TIMER *GsFindTimer(GR_TIMER_ID timer_id);
|
GR_TIMER *GsFindTimer(GR_TIMER_ID timer_id);
|
GR_CURSOR *GsFindCursor(GR_CURSOR_ID cursorid);
|
GR_CURSOR *GsFindCursor(GR_CURSOR_ID cursorid);
|
GR_WINDOW *GsPrepareWindow(GR_WINDOW_ID wid);
|
GR_WINDOW *GsPrepareWindow(GR_WINDOW_ID wid);
|
GR_WINDOW *GsFindVisibleWindow(GR_COORD x, GR_COORD y);
|
GR_WINDOW *GsFindVisibleWindow(GR_COORD x, GR_COORD y);
|
void GsDrawBorder(GR_WINDOW *wp);
|
void GsDrawBorder(GR_WINDOW *wp);
|
int GsCurrentVt(void);
|
int GsCurrentVt(void);
|
void GsRedrawVt(int t);
|
void GsRedrawVt(int t);
|
int GsOpenSocket(void);
|
int GsOpenSocket(void);
|
void GsCloseSocket(void);
|
void GsCloseSocket(void);
|
void GsAcceptClient(void);
|
void GsAcceptClient(void);
|
void GsAcceptClientFd(int i);
|
void GsAcceptClientFd(int i);
|
int GsPutCh(int fd, unsigned char c);
|
int GsPutCh(int fd, unsigned char c);
|
GR_CLIENT *GsFindClient(int fd);
|
GR_CLIENT *GsFindClient(int fd);
|
void GsDestroyClientResources(GR_CLIENT * client);
|
void GsDestroyClientResources(GR_CLIENT * client);
|
void GsDropClient(int fd);
|
void GsDropClient(int fd);
|
int GsRead(int fd, void *buf, int c);
|
int GsRead(int fd, void *buf, int c);
|
int GsWrite(int fd, void *buf, int c);
|
int GsWrite(int fd, void *buf, int c);
|
void GsHandleClient(int fd);
|
void GsHandleClient(int fd);
|
void GsResetScreenSaver(void);
|
void GsResetScreenSaver(void);
|
void GsActivateScreenSaver(void *arg);
|
void GsActivateScreenSaver(void *arg);
|
void GrGetNextEventWrapperFinish(int);
|
void GrGetNextEventWrapperFinish(int);
|
void GsTimerCB(void *arg);
|
void GsTimerCB(void *arg);
|
|
|
/*
|
/*
|
* External data definitions.
|
* External data definitions.
|
*/
|
*/
|
extern char * curfunc; /* current function name */
|
extern char * curfunc; /* current function name */
|
extern GR_WINDOW_ID cachewindowid; /* cached window id */
|
extern GR_WINDOW_ID cachewindowid; /* cached window id */
|
extern GR_WINDOW_ID cachepixmapid;
|
extern GR_WINDOW_ID cachepixmapid;
|
extern GR_GC_ID cachegcid; /* cached graphics context id */
|
extern GR_GC_ID cachegcid; /* cached graphics context id */
|
extern GR_GC *cachegcp; /* cached graphics context */
|
extern GR_GC *cachegcp; /* cached graphics context */
|
extern GR_GC *listgcp; /* list of all gc */
|
extern GR_GC *listgcp; /* list of all gc */
|
extern GR_REGION *listregionp; /* list of all regions */
|
extern GR_REGION *listregionp; /* list of all regions */
|
extern GR_FONT *listfontp; /* list of all fonts */
|
extern GR_FONT *listfontp; /* list of all fonts */
|
extern GR_IMAGE *listimagep; /* list of all images */
|
extern GR_IMAGE *listimagep; /* list of all images */
|
extern GR_CURSOR *listcursorp; /* list of all cursors */
|
extern GR_CURSOR *listcursorp; /* list of all cursors */
|
extern GR_CURSOR *stdcursor; /* root window cursor */
|
extern GR_CURSOR *stdcursor; /* root window cursor */
|
extern GR_GC *curgcp; /* current graphics context */
|
extern GR_GC *curgcp; /* current graphics context */
|
extern GR_WINDOW *cachewp; /* cached window pointer */
|
extern GR_WINDOW *cachewp; /* cached window pointer */
|
extern GR_PIXMAP *cachepp; /* cached pixmap pointer */
|
extern GR_PIXMAP *cachepp; /* cached pixmap pointer */
|
extern GR_WINDOW *listwp; /* list of all windows */
|
extern GR_WINDOW *listwp; /* list of all windows */
|
extern GR_PIXMAP *listpp; /* list of all pixmaps */
|
extern GR_PIXMAP *listpp; /* list of all pixmaps */
|
extern GR_WINDOW *rootwp; /* root window pointer */
|
extern GR_WINDOW *rootwp; /* root window pointer */
|
extern GR_WINDOW *clipwp; /* window clipping is set for */
|
extern GR_WINDOW *clipwp; /* window clipping is set for */
|
extern GR_WINDOW *focuswp; /* focus window for keyboard */
|
extern GR_WINDOW *focuswp; /* focus window for keyboard */
|
extern GR_WINDOW *mousewp; /* window mouse is currently in */
|
extern GR_WINDOW *mousewp; /* window mouse is currently in */
|
extern GR_WINDOW *grabbuttonwp; /* window grabbed by button */
|
extern GR_WINDOW *grabbuttonwp; /* window grabbed by button */
|
extern GR_CURSOR *curcursor; /* currently enabled cursor */
|
extern GR_CURSOR *curcursor; /* currently enabled cursor */
|
extern GR_COORD cursorx; /* x position of cursor */
|
extern GR_COORD cursorx; /* x position of cursor */
|
extern GR_COORD cursory; /* y position of cursor */
|
extern GR_COORD cursory; /* y position of cursor */
|
extern int curbuttons; /* current state of buttons */
|
extern int curbuttons; /* current state of buttons */
|
extern GR_CLIENT *curclient; /* current client */
|
extern GR_CLIENT *curclient; /* current client */
|
extern char *current_shm_cmds;
|
extern char *current_shm_cmds;
|
extern int current_shm_cmds_size;
|
extern int current_shm_cmds_size;
|
extern GR_EVENT_LIST *eventfree; /* list of free events */
|
extern GR_EVENT_LIST *eventfree; /* list of free events */
|
extern GR_BOOL focusfixed; /* TRUE if focus is fixed */
|
extern GR_BOOL focusfixed; /* TRUE if focus is fixed */
|
extern GR_SCREEN_INFO sinfo; /* screen information */
|
extern GR_SCREEN_INFO sinfo; /* screen information */
|
extern PMWFONT stdfont; /* default font*/
|
extern PMWFONT stdfont; /* default font*/
|
extern int escape_quits; /* terminate when pressing ESC*/
|
extern int escape_quits; /* terminate when pressing ESC*/
|
extern int connectcount; /* # of connections to server */
|
extern int connectcount; /* # of connections to server */
|
extern GR_TIMEOUT screensaver_delay; /* time before screensaver */
|
extern GR_TIMEOUT screensaver_delay; /* time before screensaver */
|
/* activates */
|
/* activates */
|
extern GR_TIMER_ID cache_timer_id; /* cached timer ID */
|
extern GR_TIMER_ID cache_timer_id; /* cached timer ID */
|
extern GR_TIMER *cache_timer; /* cached timer */
|
extern GR_TIMER *cache_timer; /* cached timer */
|
extern GR_TIMER *list_timer; /* list of all timers */
|
extern GR_TIMER *list_timer; /* list of all timers */
|
|
|
extern GR_BOOL screensaver_active; /* screensaver is active */
|
extern GR_BOOL screensaver_active; /* screensaver is active */
|
extern GR_SELECTIONOWNER selection_owner; /* the selection owner */
|
extern GR_SELECTIONOWNER selection_owner; /* the selection owner */
|
extern int autoportrait; /* auto portrait mode switching*/
|
extern int autoportrait; /* auto portrait mode switching*/
|
|
|
/*
|
/*
|
* The filename to use for the named socket. If we ever support multiple
|
* The filename to use for the named socket. If we ever support multiple
|
* servers on one machine, the last digit will be that of the FB used for it.
|
* servers on one machine, the last digit will be that of the FB used for it.
|
*/
|
*/
|
#define GR_NAMED_SOCKET "/tmp/.nano-X"
|
#define GR_NAMED_SOCKET "/tmp/.nano-X"
|
#define GR_NUMB_SOCKET 79
|
#define GR_NUMB_SOCKET 79
|
|
|
#if VTSWITCH
|
#if VTSWITCH
|
/* temp framebuffer vt switch stuff at upper level
|
/* temp framebuffer vt switch stuff at upper level
|
* this should be handled at the lower level, just like vgalib does.
|
* this should be handled at the lower level, just like vgalib does.
|
*/
|
*/
|
void MwInitVt(void);
|
void MwInitVt(void);
|
int MwCurrentVt(void);
|
int MwCurrentVt(void);
|
int MwCheckVtChange(void);
|
int MwCheckVtChange(void);
|
void MwRedrawVt(int t);
|
void MwRedrawVt(int t);
|
void MwExitVt(void);
|
void MwExitVt(void);
|
extern int mwvterm;
|
extern int mwvterm;
|
#endif /* VTSWITCH*/
|
#endif /* VTSWITCH*/
|
|
|
#endif /* _SERV_H*/
|
#endif /* _SERV_H*/
|
|
|