-- PDTextBitmap.mesa
-- Copyright (C) 1984, 1986 Xerox Corporation.  All rights reserved.
-- Michael Plass, September 19, 1984 9:12:44 am PDT
-- Tim Diebert, 25-Apr-86 13:20:40
  
DIRECTORY PDInterpBitmap;
  
PDTextBitmap: DEFINITIONS = BEGIN
  
SetFont: PROC [fontFileName: LONG STRING, userName, password: LONG STRING]
  RETURNS [ok: BOOLEAN];
  -- fontFileName should be a full file name of a kerned strike (ks) font;
  -- if file is not a valid ks file, ok is false.
  -- May raise PDRemoteStream.Error;
  -- Example: "[Indigo]<AltoFonts>TimesRoman18.ks"
  -- Warning: this module is not monitored, so avoid changing fonts while
  -- other calls are being made.
  
fontName: READONLY LONG STRING;
  
FontAscent: PROC RETURNS [INTEGER];
  
FontDescent: PROC RETURNS [INTEGER];
  
TextWidth: PROC [string: LONG STRING, start: NAT ← 0, length: NAT ← NAT.LAST]
  RETURNS [INTEGER];
  
TextToBitmap: PROC [dest: PDInterpBitmap.BitmapDesc, string: LONG STRING,
  start: NAT ← 0, length: NAT ← NAT.LAST, function: PDInterpBitmap.Function];
  -- Puts the text into the bitmap, assuming a strike-font orientation of the
  -- characters (i.e., the line of text runs in the fast direction).  The text
  -- will be placed so the first character has its reference point at the
  -- origin of the bitmap.  The text will be clipped to the destination bounds.
  
END.