home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / WMGRDECL.H < prev   
Text File  |  1990-09-24  |  3KB  |  70 lines

  1. /*
  2.     wmgrdecl.h
  3.  
  4.     % Window manager structure
  5.  
  6.      3/23/89  by Ted.
  7.     Extracted from winobj.h
  8.  
  9.     OWL 1.2
  10.     Copyright (c) 1988, 1989 by Oakland Group, Inc.
  11.     ALL RIGHTS RESERVED.
  12.  
  13.     Revision History:
  14.     -----------------
  15.      5/11/89 ted    Added mouse trap-win flag.
  16.      6/26/89 ted    Added nextwin, mousecode.
  17.      7/10/89 ted    Moved nextwin to window structure.
  18.      7/12/89 ted    Converted '_func' prototypes from typedef to macro.
  19.      8/16/89 ted    Added fakemouse flag.
  20.      5/08/90 jmd    added underscores to func macros for vms compiler
  21.      5/12/90 jmd    convert SMM func to return int
  22.      8/08/90 ted    renamed mousecode to stuffcode.
  23.      8/30/90 ted    added inevcall[] wmgr elements.
  24.      9/23/90 ted    added currmev element.
  25. */
  26. /* -------------------------------------------------------------------------- */
  27.  
  28. /* the window manager structure */
  29.  
  30. typedef obj_type win_type;
  31. #define SMM_func(fname)        int fname(moupos_struct *_moupos, boolean _newcurr)
  32.  
  33. /* Number of event call re-entrancy protection flags in wmgr struct */
  34. #define NUM_EVCALL        3
  35.  
  36. typedef struct wmgr_struct {
  37.     win_type    dispwin;        /* The display reference window */
  38.     win_type    backwin;        /* The background window */
  39.     win_type    currwin;        /* The window the cursor is shown in, etc. */
  40.  
  41.     /* The window lists */
  42.     win_type    employedhead;    /* employed window list head */
  43.     win_type    unemployedhead;    /* unemployed window list head */
  44.     win_type    bot_sys_win;    /* pointer to the non-displayable system window */
  45.                                 /* above the top displayable employed window */
  46.     win_type    bot_employed_win; /* pointer to bottom displayable employed window */
  47.  
  48.     VOID        *tilerdata;        /* pointer to the window tiler data structure */
  49.  
  50.     SMM_func    ((*SMMptr));    /* SendMouseMsgs function pointer (initted by dhard_InitMouse) */
  51.     unsigned    mousereply;        /* communication between kb_Check and kb_Read */
  52.     unsigned    inmousemsg:1;    /* re-entrancy flag for mouse messages */
  53.     unsigned    newcurrent:1;    /* flag for new current window request by mouse */
  54.     unsigned    wasmouse:1;        /* flag for kb event caused by mouse event */
  55.     unsigned    fakemouse:1;    /* flag for artificial mouse event msg */
  56.  
  57.     /* WINM_GO control-passing info */
  58.     mev_struct    currmev;        /* Latest mev, stashed before ENDEVENT msgs */
  59.     mev_struct    lastmev;        /* Latest mev, stashed after  ENDEVENT msgs */
  60.     moupos_struct lastmoupos;    /* last moupos read from hardware. */
  61.     win_type    fromwin;        /* Window which control is being passed from */
  62.     win_type    trapmousewin;    /* Window to trap mouse events in */
  63.     unsigned    stuffcode;        /* A stashable variable for stuffing kb_Read */
  64.  
  65.     byte        inevcall[NUM_EVCALL]; /* Re-entrancy protection flags for kbread & winmouse */
  66. } *wmgr_type;
  67.  
  68. /* -------------------------------------------------------------------------- */
  69.  
  70.