home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d1xx
/
d183
/
pcq.lha
/
PCQ
/
Include
/
Intuition.i
< prev
next >
Wrap
Text File
|
1989-02-26
|
5KB
|
190 lines
{
This is some of the information you'll need to work with
Intuition from PCQ. I included most of the easy stuff having to do with
windows and screens, but there is a lot more to go. By the time you are
reading this I have no doubt written a bit more, and if you call or
write I'll get it to you. If you know how to do this stuff I could also
just send you the source for the run time library and you could add
whatever you need.
While we're at it, I'll mention that you do not need to open the
Intuition library yourself. The startup code needs the library and
opens it, so these routines use that pointer.
}
const
SIZEVERIFY_f = $0001; { As the tag _f would incdicate, }
NEWSIZE_f = $0002; { These are some of the Intuition }
REFRESHWINDOW_f = $0004; { flags. I apologise for having }
MOUSEBUTTONS_f = $0008; { to include that inconvenient }
MOUSEMOVE_f = $0010; { little tag, but otherwise these }
GADGETDOWN_f = $0020; { get confused with Procedure and }
GADGETUP_f = $0040; { Function names. }
REQSET_f = $0080;
MENUPICK_f = $0100;
CLOSEWINDOW_f = $0200;
RAWKEY_f = $0400;
REQVERIFY_f = $0800;
REQCLEAR_f = $1000;
MENUVERIFY_f = $2000;
NEWPREFS_f = $4000;
DISKINSERTED_f = $8000;
DISKREMOVED_f = $10000;
WBENCHMESSAGE_f = $20000;
ACTIVEWINDOW_f = $40000;
INACTIVEWINDOW_f = $80000;
DELTAMOVE_f = $100000;
VANILLAKEYS_f = $200000;
INTUITICKS_f = $400000;
LONELYMESSAGE_f = $80000000;
WBENCHSCREEN_f = 1;
CUSTOMSCREEN_f = 15;
WINDOWSIZING_f = $0001;
WINDOWDRAG_f = $0002;
WINDOWDEPTH_f = $0004;
WINDOWCLOSE_f = $0008;
SIZEBRIGHT_f = $0010;
SIZEBBOTTOM_f = $0020;
SMART_REFRESH_f = 0;
SIMPLE_REFRESH_f = $0040;
SUPER_BITMAP_f = $0080;
OTHER_REFRESH_f = $00c0;
BACKDROP_f = $0100;
REPORTMOUSE_f = $0200;
GIMMEZEROZERO_f = $0400;
BORDERLESS_f = $0800;
ACTIVATE_f = $1000;
type
NewScreen = record
LeftEdge,
TopEdge,
Width,
Height,
Depth : Short;
DetailPen,
BlockPen : Byte;
ViewModes : Short;
SType : Short; { Normally this is called 'Type', but }
Font : Address; { since that's a reserved word I had }
DefaultTitle : String; { change it }
Gadgets : Address;
CustomBitMap : Address;
end;
NewScreenPtr = ^NewScreen;
ScreenPtr = Address;
NewWindow = record
LeftEdge,
TopEdge,
Width,
Height : Short;
DetailPen,
BlockPen : Byte;
IDCMPFlags : Integer;
Flags : Integer;
FirstGadget : Address;
CheckMark : Address;
Title : String;
Screen : ScreenPtr;
BitMap : Address;
MinWidth,
MinHeight,
MaxWidth,
MaxHeight : Short;
WType : Short; { This also had to be changed }
end;
NewWindowPtr = ^NewWindow;
Window = record
NextWindow : ^Window;
LeftEdge,
TopEdge,
Width,
Height : Short;
MouseY,
MouseX : Short;
MinWidth,
MinHeight,
MaxWidth,
MaxHeight : Short;
Flags : Integer;
MenuStrip : Address;
Title : String;
FirstRequest : Address;
DMRequest : Address;
ReqCount : Short;
WScreen : ScreenPtr;
RPort : Address;
BorderLeft,
BorderTop,
BorderRight,
BorderBottom : Byte;
BorderRPort : Address;
FirstGadget : Address;
Parent,
Descendant : ^Window;
Pointer : Address;
PtrHeight,
PtrWidth : Byte;
XOffset,
YOffset : Byte;
IDCMPFlags : Integer;
UserPort,
WindowPort : Address;
MessageKey : Address;
DetailPen,
BlockPen : Byte;
CheckMark : Address;
ScreenTitle : String;
GZZMouseX,
GZZMouseY,
GZZWidth,
GZZHeight : Short;
ExtData : Address;
UserData : Integer;
WLayer : Address
end;
WindowPtr = ^Window;
Function OpenWindow(nw : NewWindowPtr): WindowPtr;
forward;
Procedure CloseWindow(w : WindowPtr);
forward;
Function OpenScreen(ns : NewScreenPtr): ScreenPtr;
forward;
Procedure CloseScreen(s : ScreenPtr);
forward;
Procedure CurrentTime(var s, m : Integer);
forward;
{ Note the use of VAR above to do the same work as the & (address)
prefix in C. }
Procedure MoveScreen(s : ScreenPtr; x, y : Integer);
forward;
Procedure MoveWindow(w : WindowPtr; x, y : Integer);
forward;
Procedure ScreenToBack(s : ScreenPtr);
forward;
Procedure ScreenToFront(s : ScreenPtr);
forward;
Procedure SetWindowTitles(w : WindowPtr; t, s : String);
forward;
Procedure ShowTitle(s : ScreenPtr; b : Boolean);
forward;
Procedure SizeWindow(w : WindowPtr; x, y : Integer);
forward;
Function ViewPortAddress(w : WindowPtr): Address;
forward;
Procedure WBenchToBack;
forward;
Procedure WBenchToFront;
forward;
Procedure WindowToBack(w : WindowPtr);
forward;
Procedure WindowToFront(w : WindowPtr);
forward;