mac-rom/Interfaces/CIncludes/Windows.h
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

325 lines
9.3 KiB
C

/************************************************************
Created: Saturday, July 27, 1991 at 7:34 PM
Windows.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1992
All rights reserved.
Change History (most recent first):
<17> 7/28/92 DCL Moving applicationFloatKind & systemFloatKind constants out of
the public eye and into the private Layers header file. At the
request of TechPubs, and with assistance from Dean, Greg and
Kenny.
<16> 7/13/92 DCL Changed prototype of DragGrayRgn boundsRect to limitRect to
match Inside Mac. (as requested by NIIM writers)
<15> 5/11/92 JH #1029361 <KST>: Adding to new Window kinds for floating windows.
<14> 7/31/91 JL Updated Copyright.
<13> 1/27/91 LN Checked in Database generate file from DSG.
<11> 11/26/90 JL Checked in GetNewCWindow Ptr parameter to a void *
<10> 11/13/90 JL Bad checkIn of last version.
<9> 11/13/90 JL Put formal parameters back in functions.
<8> 11/4/90 dba got rid of some extraneous parameter names; made some parameters
void* instead of Ptr; used constStr255Parameter
<7> 10/30/90 dba make smaller version of GetGrayRgn() (using #define)
<6> 10/24/90 JL Changed all #defines to anonymous enums.
<5> 10/18/90 VL Fixed the comment <4>. No code change.
<4> 10/18/90 VL (jsm) Added new variant for movable modal dialog (5).
** <3> JAL 10/09/1990 Added Inline to GetGrayRgn.
** <2> JAL 02/15/1990 Changed AuxWinHndl to AuxWinHandle to match I.M.
** 1.4 EMT 12/11/1989 Moved all layer stuff to Layers.h.
** 1.3 EMT 06/27/1989 Added auxiliary lists to layer record.
** 1.2 CCH 05/15/1989 Submitted from System project.
** 1.0 EMT 05/13/1989 Added layer stuff.
************************************************************/
#ifndef __WINDOWS__
#define __WINDOWS__
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#ifndef __EVENTS__
#include <Events.h>
#endif
#ifndef __CONTROLS__
#include <Controls.h>
#endif
enum {
documentProc = 0,
dBoxProc = 1,
plainDBox = 2,
altDBoxProc = 3,
noGrowDocProc = 4,
movableDBoxProc = 5,
zoomDocProc = 8,
zoomNoGrow = 12,
rDocProc = 16,
dialogKind = 2,
userKind = 8,
/*FindWindow Result Codes*/
inDesk = 0,
inMenuBar = 1,
inSysWindow = 2,
inContent = 3,
inDrag = 4,
inGrow = 5,
inGoAway = 6,
inZoomIn = 7,
inZoomOut = 8
};
enum {
/*window messages*/
wDraw = 0,
wHit = 1,
wCalcRgns = 2,
wNew = 3,
wDispose = 4,
wGrow = 5,
wDrawGIcon = 6,
/*defProc hit test codes*/
wNoHit = 0,
wInContent = 1,
wInDrag = 2,
wInGrow = 3,
wInGoAway = 4,
wInZoomIn = 5,
wInZoomOut = 6,
deskPatID = 16,
/*Window Part Identifiers which correlate color table entries with window elements*/
wContentColor = 0,
wFrameColor = 1,
wTextColor = 2,
wHiliteColor = 3,
wTitleBarColor = 4
};
typedef pascal void (*DragGrayRgnProcPtr)(void);
struct WindowRecord {
GrafPort port;
short windowKind;
Boolean visible;
Boolean hilited;
Boolean goAwayFlag;
Boolean spareFlag;
RgnHandle strucRgn;
RgnHandle contRgn;
RgnHandle updateRgn;
Handle windowDefProc;
Handle dataHandle;
StringHandle titleHandle;
short titleWidth;
ControlHandle controlList;
struct WindowRecord *nextWindow;
PicHandle windowPic;
long refCon;
};
typedef struct WindowRecord WindowRecord;
typedef WindowRecord *WindowPeek;
struct CWindowRecord {
CGrafPort port;
short windowKind;
Boolean visible;
Boolean hilited;
Boolean goAwayFlag;
Boolean spareFlag;
RgnHandle strucRgn;
RgnHandle contRgn;
RgnHandle updateRgn;
Handle windowDefProc;
Handle dataHandle;
StringHandle titleHandle;
short titleWidth;
ControlHandle controlList;
struct CWindowRecord *nextWindow;
PicHandle windowPic;
long refCon;
};
typedef struct CWindowRecord CWindowRecord;
typedef CWindowRecord *CWindowPeek;
struct WStateData {
Rect userState; /*user state*/
Rect stdState; /*standard state*/
};
typedef struct WStateData WStateData;
typedef WStateData *WStateDataPtr, **WStateDataHandle;
struct AuxWinRec {
struct AuxWinRec **awNext; /*handle to next AuxWinRec*/
WindowPtr awOwner; /*ptr to window */
CTabHandle awCTable; /*color table for this window*/
Handle dialogCItem; /*handle to dialog manager structures*/
long awFlags; /*reserved for expansion*/
CTabHandle awReserved; /*reserved for expansion*/
long awRefCon; /*user Constant*/
};
typedef struct AuxWinRec AuxWinRec;
typedef AuxWinRec *AuxWinPtr, **AuxWinHandle;
struct WinCTab {
long wCSeed; /*reserved*/
short wCReserved; /*reserved*/
short ctSize; /*usually 4 for windows*/
ColorSpec ctTable[5];
};
typedef struct WinCTab WinCTab;
typedef WinCTab *WCTabPtr, **WCTabHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal void InitWindows(void)
= 0xA912;
pascal void GetWMgrPort(GrafPtr *wPort)
= 0xA910;
pascal WindowPtr NewWindow(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
Boolean visible,short theProc,WindowPtr behind,Boolean goAwayFlag,long refCon)
= 0xA913;
pascal WindowPtr GetNewWindow(short windowID,void *wStorage,WindowPtr behind)
= 0xA9BD;
pascal void CloseWindow(WindowPtr theWindow)
= 0xA92D;
pascal void DisposeWindow(WindowPtr theWindow)
= 0xA914;
void setwtitle(WindowPtr theWindow,char *title);
pascal void GetWTitle(WindowPtr theWindow,Str255 title)
= 0xA919;
pascal void SelectWindow(WindowPtr theWindow)
= 0xA91F;
pascal void HideWindow(WindowPtr theWindow)
= 0xA916;
pascal void ShowWindow(WindowPtr theWindow)
= 0xA915;
pascal void ShowHide(WindowPtr theWindow,Boolean showFlag)
= 0xA908;
pascal void HiliteWindow(WindowPtr theWindow,Boolean fHilite)
= 0xA91C;
pascal void BringToFront(WindowPtr theWindow)
= 0xA920;
pascal void SendBehind(WindowPtr theWindow,WindowPtr behindWindow)
= 0xA921;
pascal WindowPtr FrontWindow(void)
= 0xA924;
pascal void DrawGrowIcon(WindowPtr theWindow)
= 0xA904;
pascal void MoveWindow(WindowPtr theWindow,short hGlobal,short vGlobal,
Boolean front)
= 0xA91B;
pascal void SizeWindow(WindowPtr theWindow,short w,short h,Boolean fUpdate)
= 0xA91D;
pascal void ZoomWindow(WindowPtr theWindow,short partCode,Boolean front)
= 0xA83A;
pascal void InvalRect(const Rect *badRect)
= 0xA928;
pascal void InvalRgn(RgnHandle badRgn)
= 0xA927;
pascal void ValidRect(const Rect *goodRect)
= 0xA92A;
pascal void ValidRgn(RgnHandle goodRgn)
= 0xA929;
pascal void BeginUpdate(WindowPtr theWindow)
= 0xA922;
pascal void EndUpdate(WindowPtr theWindow)
= 0xA923;
pascal void SetWRefCon(WindowPtr theWindow,long data)
= 0xA918;
pascal long GetWRefCon(WindowPtr theWindow)
= 0xA917;
pascal void SetWindowPic(WindowPtr theWindow,PicHandle pic)
= 0xA92E;
pascal PicHandle GetWindowPic(WindowPtr theWindow)
= 0xA92F;
pascal Boolean CheckUpdate(EventRecord *theEvent)
= 0xA911;
pascal void ClipAbove(WindowPeek window)
= 0xA90B;
pascal void SaveOld(WindowPeek window)
= 0xA90E;
pascal void DrawNew(WindowPeek window,Boolean update)
= 0xA90F;
pascal void PaintOne(WindowPeek window,RgnHandle clobberedRgn)
= 0xA90C;
pascal void PaintBehind(WindowPeek startWindow,RgnHandle clobberedRgn)
= 0xA90D;
pascal void CalcVis(WindowPeek window)
= 0xA909;
pascal void CalcVisBehind(WindowPeek startWindow,RgnHandle clobberedRgn)
= 0xA90A;
pascal long GrowWindow(WindowPtr theWindow,Point startPt,const Rect *bBox)
= 0xA92B;
Boolean trackgoaway(WindowPtr theWindow,Point *thePt);
pascal short FindWindow(Point thePoint,WindowPtr *theWindow)
= 0xA92C;
short findwindow(Point *thePoint,WindowPtr *theWindow);
pascal long PinRect(const Rect *theRect,Point thePt)
= 0xA94E;
pascal long DragGrayRgn(RgnHandle theRgn,Point startPt,const Rect *limitRect,
const Rect *slopRect,short axis,DragGrayRgnProcPtr actionProc)
= 0xA905;
pascal Boolean TrackBox(WindowPtr theWindow,Point thePt,short partCode)
= 0xA83B;
pascal void GetCWMgrPort(CGrafPtr *wMgrCPort)
= 0xAA48;
void getwtitle(WindowPtr theWindow,char *title);
pascal void SetWinColor(WindowPtr theWindow,WCTabHandle newColorTable)
= 0xAA41;
pascal Boolean GetAuxWin(WindowPtr theWindow,AuxWinHandle *awHndl)
= 0xAA42;
long growwindow(WindowPtr theWindow,Point *startPt,const Rect *bBox);
pascal void SetDeskCPat(PixPatHandle deskPixPat)
= 0xAA47;
WindowPtr newwindow(void *wStorage,const Rect *boundsRect,char *title,Boolean visible,
short theProc,WindowPtr behind,Boolean goAwayFlag,long refCon);
pascal WindowPtr NewCWindow(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon)
= 0xAA45;
WindowPtr newcwindow(void *wStorage,const Rect *boundsRect,char *title,
Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon);
pascal WindowPtr GetNewCWindow(short windowID,void *wStorage,WindowPtr behind)
= 0xAA46;
pascal short GetWVariant(WindowPtr theWindow)
= 0xA80A;
long pinrect(const Rect *theRect,Point *thePt);
#define GetGrayRgn() (* (RgnHandle*) 0x09EE)
pascal void SetWTitle(WindowPtr theWindow,ConstStr255Param title)
= 0xA91A;
Boolean trackbox(WindowPtr theWindow,Point *thePt,short partCode);
pascal Boolean TrackGoAway(WindowPtr theWindow,Point thePt)
= 0xA91E;
pascal void DragWindow(WindowPtr theWindow,Point startPt,const Rect *boundsRect)
= 0xA925;
long draggrayrgn(RgnHandle theRgn,Point *startPt,const Rect *boundsRect,
const Rect *slopRect,short axis,DragGrayRgnProcPtr actionProc);
void dragwindow(WindowPtr theWindow,Point *startPt,const Rect *boundsRect);
#ifdef __cplusplus
}
#endif
#endif