Copyright (C) 1994, Digital Equipment Corp.
MODULE Pts;
IMPORT Axis, VBT;
PROCEDURE ToScreenPixels (v: VBT.T; pts: REAL; ax: Axis.T): INTEGER =
VAR st := VBT.ScreenTypeOf(v);
BEGIN
IF st = NIL THEN
RETURN 0
ELSE
RETURN ROUND(pts * MMPerInch * st.res[ax] / PtsPerInch)
END
END ToScreenPixels;
PROCEDURE ToPixels (v: VBT.T; pts: REAL; ax: Axis.T): REAL =
VAR st := VBT.ScreenTypeOf(v);
BEGIN
IF st = NIL THEN
RETURN 0.0
ELSE
RETURN pts * MMPerInch * st.res[ax] / PtsPerInch
END
END ToPixels;
PROCEDURE FromPixels (v: VBT.T; pixels: REAL; ax: Axis.T): REAL =
VAR st := VBT.ScreenTypeOf(v);
BEGIN
IF st = NIL THEN
RETURN 0.0
ELSE
RETURN pixels * PtsPerInch / (MMPerInch * st.res[ax])
END
END FromPixels;
PROCEDURE FromMM (mm: REAL): REAL =
BEGIN
RETURN mm * PtsPerInch / MMPerInch;
END FromMM;
PROCEDURE ToMM (pts: REAL): REAL =
BEGIN
RETURN pts * MMPerInch / PtsPerInch
END ToMM;
BEGIN
END Pts.