home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QBasic & Borland Pascal & C
/
Delphi5.iso
/
C
/
Samples
/
CSAPE32.ARJ
/
INCLUDE
/
WMGRDECL.H
< prev
Wrap
Text File
|
1990-09-24
|
3KB
|
70 lines
/*
wmgrdecl.h
% Window manager structure
3/23/89 by Ted.
Extracted from winobj.h
OWL 1.2
Copyright (c) 1988, 1989 by Oakland Group, Inc.
ALL RIGHTS RESERVED.
Revision History:
-----------------
5/11/89 ted Added mouse trap-win flag.
6/26/89 ted Added nextwin, mousecode.
7/10/89 ted Moved nextwin to window structure.
7/12/89 ted Converted '_func' prototypes from typedef to macro.
8/16/89 ted Added fakemouse flag.
5/08/90 jmd added underscores to func macros for vms compiler
5/12/90 jmd convert SMM func to return int
8/08/90 ted renamed mousecode to stuffcode.
8/30/90 ted added inevcall[] wmgr elements.
9/23/90 ted added currmev element.
*/
/* -------------------------------------------------------------------------- */
/* the window manager structure */
typedef obj_type win_type;
#define SMM_func(fname) int fname(moupos_struct *_moupos, boolean _newcurr)
/* Number of event call re-entrancy protection flags in wmgr struct */
#define NUM_EVCALL 3
typedef struct wmgr_struct {
win_type dispwin; /* The display reference window */
win_type backwin; /* The background window */
win_type currwin; /* The window the cursor is shown in, etc. */
/* The window lists */
win_type employedhead; /* employed window list head */
win_type unemployedhead; /* unemployed window list head */
win_type bot_sys_win; /* pointer to the non-displayable system window */
/* above the top displayable employed window */
win_type bot_employed_win; /* pointer to bottom displayable employed window */
VOID *tilerdata; /* pointer to the window tiler data structure */
SMM_func ((*SMMptr)); /* SendMouseMsgs function pointer (initted by dhard_InitMouse) */
unsigned mousereply; /* communication between kb_Check and kb_Read */
unsigned inmousemsg:1; /* re-entrancy flag for mouse messages */
unsigned newcurrent:1; /* flag for new current window request by mouse */
unsigned wasmouse:1; /* flag for kb event caused by mouse event */
unsigned fakemouse:1; /* flag for artificial mouse event msg */
/* WINM_GO control-passing info */
mev_struct currmev; /* Latest mev, stashed before ENDEVENT msgs */
mev_struct lastmev; /* Latest mev, stashed after ENDEVENT msgs */
moupos_struct lastmoupos; /* last moupos read from hardware. */
win_type fromwin; /* Window which control is being passed from */
win_type trapmousewin; /* Window to trap mouse events in */
unsigned stuffcode; /* A stashable variable for stuffing kb_Read */
byte inevcall[NUM_EVCALL]; /* Re-entrancy protection flags for kbread & winmouse */
} *wmgr_type;
/* -------------------------------------------------------------------------- */