summaryrefslogtreecommitdiff
path: root/fpcsrc/rtl/palmos/api/font.inc
blob: cf4be9a44d4eb4ece9dbd27e34e08ddf7c332d25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  type
     FontCharInfoType = record
          offset : SByte;
          width : SByte;
       end;

     FontType = record
          fontType : SWord;
          firstChar : SWord;
          lastChar : SWord;
          maxWidth : SWord;
          kernMax : SWord;
          nDescent : SWord;
          fRectWidth : SWord;
          fRectHeight : SWord;
          owTLoc : SWord;
          ascent : SWord;
          descent : SWord;
          leading : SWord;
          rowWords : SWord;
       end;

     FontPtr = ^FontType;

     FontTablePtr = ^FontPtr;

     fontID = (stdFont := $00,boldFont,largeFont,symbolFont,
       symbol11Font,symbol7Font,ledFont,largeBoldFont,
       fntAppFontCustomBase := $80);

  const
     checkboxFont = symbol11Font;

  function FntIsAppDefined(fnt : FontID) : boolean;

  function FntGetFont:FontID;systrap sysTrapFntGetFont;
  function FntSetFont(font:FontID):FontID;systrap sysTrapFntSetFont;
  function FntGetFontPtr:FontPtr;systrap sysTrapFntGetFontPtr;
  function FntBaseLine:SWord;systrap sysTrapFntBaseLine;
  function FntCharHeight:SWord;systrap sysTrapFntCharHeight;
  function FntLineHeight:SWord;systrap sysTrapFntLineHeight;
  function FntAverageCharWidth:SWord;systrap sysTrapFntAverageCharWidth;
  function FntCharWidth(ch:Char):SWord;systrap sysTrapFntCharWidth;
  function FntCharsWidth(chars:pChar; len:Word):SWord;systrap sysTrapFntCharsWidth;
  procedure FntCharsInWidth(string:pChar; stringWidthP:pSWord; stringLengthP:pSWord; fitWithinWidth:pBoolean);systrap sysTrapFntCharsInWidth;
  function FntDescenderHeight:SWord;systrap sysTrapFntDescenderHeight;
  function FntLineWidth(pChars:pChar; length:Word):SWord;systrap sysTrapFntLineWidth;
  function FntWordWrap(chars:pChar; maxWidth:Word):Word;systrap sysTrapFntWordWrap;
  procedure FntWordWrapReverseNLines(chars:pChar; maxWidth:Word; linesToScrollP:WordPtr; scrollPosP:WordPtr);systrap sysTrapFntWordWrapReverseNLines;
  procedure FntGetScrollValues(chars:pChar; width:Word; scrollPos:Word; linesP:WordPtr; topLine:WordPtr);systrap sysTrapFntGetScrollValues;
  function FntDefineFont(font:FontID; fontP:FontPtr):Err;systrap sysTrapFntDefineFont;