{█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█}
{█ █}
{█ Virtual Pascal Examples. Version 1.0. █}
{█ Simple base objects for Presentation Manager. █}
{█ ─────────────────────────────────────────────────█}
{█ Copyright (C) 1995 fPrint UK Ltd █}
{█ █}
{▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀}
unit PmObj;
interface
{$PureInt+}
uses Os2Def, Os2PmApi, Use32;
{ Resource ID for main client window }
const
idClientWindow = 11000;
{ Base PM object }
type
PPMObject = ^PMObject;
PMObject = object
constructor Init;
procedure Free;
destructor Done; virtual;
end;
{ PM Application }
PPMApplication = ^PMApplication;
PMApplication = object(PMObject)
constructor Init;
procedure Run;
destructor Done; virtual;
end;
{ PM Window }
PPMWindow = ^PMWindow;
PMWindow = object(PMObject)
ClassName: PChar; { Name of then window class }
Title: PChar;
FrameWindow,ClientWindow: HWnd;
constructor Init(ATitle,AClassName: PChar; ACreateFlags: Longint);
procedure Register;
function HandleMessage(Window: HWnd; Msg: ULong; Mp1,Mp2 : MParam): MResult; virtual;
procedure StartupAction; virtual;
destructor Done; virtual;
end;
{ Type cast records }
WordRec = record
Lo,Hi: Byte;
end;
LongRec = record
Lo,Hi: SmallWord;
end;
{ Public variables }
var
Anchor: HAB;
MsgQue: HMQ;
DesktopSize: PointL;
const
HWndParent: HWnd = hwnd_Desktop;
function ClientWndProc(Window: HWnd; Msg: ULong; Mp1,Mp2: MParam): MResult; cdecl; export;
implementation
end.