Copyright (C) 1994, Digital Equipment Corp.
by Steve Glassman, Mark Manasse and Greg Nelson
UNSAFE MODULE NT;
IMPORT Rect, WinBase, WinDef;
<* INLINE *>
PROCEDURE ToRect (READONLY rc: WinDef.RECT): Rect.T =
BEGIN
RETURN Rect.T{west := rc.left, east := rc.right, north := rc.top,
south := rc.bottom}
END ToRect;
<* INLINE *>
PROCEDURE FromRect (READONLY r: Rect.T): WinDef.RECT =
BEGIN
RETURN WinDef.RECT{left := r.west, right := r.east, top := r.north,
bottom := r.south}
END FromRect;
PROCEDURE True (b: WinDef.BOOL): BOOLEAN =
BEGIN
RETURN b # 0;
END True;
PROCEDURE Assert(res: INTEGER) =
VAR error: INTEGER;
BEGIN
IF 0 = res THEN
error := WinBase.GetLastError();
Crash();
END;
END Assert;
PROCEDURE BAssert(b: BOOLEAN) =
BEGIN Assert(ORD(b)) END BAssert;
EXCEPTION Fatal;
PROCEDURE Crash() =
<* FATAL Fatal *>
BEGIN
RAISE Fatal;
END Crash;
BEGIN
CNULL := LOOPHOLE(0, ADDRESS);
END NT.