home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / gpilcids.def < prev    next >
Text File  |  1994-05-03  |  9KB  |  241 lines

  1. DEFINITION MODULE GPILCIDS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.0 interface for Presentation Manager
  5.            GPI Phyical and Logical Fonts with Lcids.
  6.  
  7.   Copyright (c) 1992 by Juergen Neuhoff
  8. *************************************************************************)
  9.  
  10. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  11. (*$CDECL+    C-style procedures                                         *)
  12. (*$A         default alignment for record fields                        *)
  13.  
  14. IMPORT SYSTEM;
  15. FROM   OS2DEF  IMPORT TYPEPREFIX, HAB, HPS, FACESIZE, STR8, FATTRS, FONTMETRICS;
  16. FROM   GPIDEF  IMPORT GPI_ALTERROR;
  17.  
  18. CONST (* return codes from GpiCreateLogFont *)
  19.   FONT_DEFAULT                   = 1;
  20.   FONT_MATCH                     = 2;
  21.  
  22. CONST (* lcid type for GpiQuerySetIds *)
  23.   LCIDT_FONT                     = 6;
  24.   LCIDT_BITMAP                   = 7;
  25.  
  26. CONST (* constant used to delete all lcids by GpiDeleteSetId *)
  27.   LCID_ALL                       = -1;
  28.  
  29. TYPE (* kerning data returned by GpiQueryKerningPairs *)
  30.   KERNINGPAIRS                   = RECORD    (* krnpr *)
  31.     CASE                           : TYPEPREFIX OF
  32.     | TRUE                         :
  33.       sFirstChar                   : INTEGER;
  34.       sSecondChar                  : INTEGER;
  35.       lKerningAmount               : LONGINT;
  36.     | FALSE                        :
  37.       FirstChar                    : INTEGER;
  38.       SecondChar                   : INTEGER;
  39.       KerningAmount                : LONGINT;
  40.     END;                           END;
  41.   PKERNINGPAIRS                  = POINTER TO KERNINGPAIRS;
  42.  
  43. TYPE (* data required by GpiQueryFaceString *)
  44.   FACENAMEDESC                   = RECORD    (* fnd *)
  45.     CASE                           : TYPEPREFIX OF
  46.     | TRUE                         :
  47.       usSize                       : CARDINAL;
  48.       usWeightClass                : CARDINAL;
  49.       usWidthClass                 : CARDINAL;
  50.       usReserved                   : CARDINAL;
  51.       flOptions                    : LONGCARD;
  52.     | FALSE                        :
  53.       Size                         : CARDINAL;
  54.       WeightClass                  : CARDINAL;
  55.       WidthClass                   : CARDINAL;
  56.       Reserved                     : CARDINAL;
  57.       Options                      : LONGCARD;
  58.     END;                           END;
  59.   PFACENAMEDESC                  = POINTER TO FACENAMEDESC;
  60.  
  61. CONST (* FACENAMEDESC 'WeightClass' options for GpiQueryFaceString *)
  62.   FWEIGHT_DONT_CARE              = 0;
  63.   FWEIGHT_ULTRA_LIGHT            = 1;
  64.   FWEIGHT_EXTRA_LIGHT            = 2;
  65.   FWEIGHT_LIGHT                  = 3;
  66.   FWEIGHT_SEMI_LIGHT             = 4;
  67.   FWEIGHT_NORMAL                 = 5;
  68.   FWEIGHT_SEMI_BOLD              = 6;
  69.   FWEIGHT_BOLD                   = 7;
  70.   FWEIGHT_EXTRA_BOLD             = 8;
  71.   FWEIGHT_ULTRA_BOLD             = 9;
  72.  
  73. CONST (* FACENAMEDESC 'WidthClass' options for GpiQueryFaceString *)
  74.   FWIDTH_DONT_CARE               = 0;
  75.   FWIDTH_ULTRA_CONDENSED         = 1;
  76.   FWIDTH_EXTRA_CONDENSED         = 2;
  77.   FWIDTH_CONDENSED               = 3;
  78.   FWIDTH_SEMI_CONDENSED          = 4;
  79.   FWIDTH_NORMAL                  = 5;
  80.   FWIDTH_SEMI_EXPANDED           = 6;
  81.   FWIDTH_EXPANDED                = 7;
  82.   FWIDTH_EXTRA_EXPANDED          = 8;
  83.   FWIDTH_ULTRA_EXPANDED          = 9;
  84.  
  85. CONST (* FACENAMEDESC 'options' for GpiQueryFaceString *)
  86.   FTYPE_ITALIC                   = 0001H;
  87.   FTYPE_ITALIC_DONT_CARE         = 0002H;
  88.   FTYPE_OBLIQUE                  = 0004H;
  89.   FTYPE_OBLIQUE_DONT_CARE        = 0008H;
  90.   FTYPE_ROUNDED                  = 0010H;
  91.   FTYPE_ROUNDED_DONT_CARE        = 0020H;
  92.  
  93. CONST (* actions for GpiQueryFontAction *)
  94.   QFA_PUBLIC                     = 1;
  95.   QFA_PRIVATE                    = 2;
  96.   QFA_ERROR                      = GPI_ALTERROR;
  97.  
  98. CONST (* options for GpiQueryFonts *)
  99.   QF_PUBLIC                      = 0001H;
  100.   QF_PRIVATE                     = 0002H;
  101.   QF_NO_GENERIC                  = 0004H;
  102.   QF_NO_DEVICE                   = 0008H;
  103.  
  104. TYPE (* font file descriptions for GpiQueryFontFileDescriptions *)
  105.   FFDESCS   = ARRAY [0..1], [0..FACESIZE-1] OF CHAR; (* ffdescs *)
  106.   PFFDESCS  = POINTER TO FFDESCS;
  107.   FFDESCS2  = RECORD                                (* ffdescs2 *)
  108.     CASE                           : TYPEPREFIX OF
  109.     | TRUE                         :
  110.       cbLength                     : LONGCARD;
  111.       cbFacenameOffset             : LONGCARD;
  112.       abFamilyName                 : ARRAY [0..0] OF CHAR;
  113.     | FALSE                        :
  114.       Length                       : LONGCARD;
  115.       FaceNameOffset               : LONGCARD;
  116.       FamilyName                   : ARRAY [0..0] OF CHAR;
  117.     END;                           END;
  118.   PFFDESCS2                      = POINTER TO FFDESCS2;
  119.  
  120.  
  121. (*** physical and logical font functions *)
  122.  
  123. PROCEDURE GpiCreateLogFont
  124. ( PresSpaceHandle                : HPS;
  125.   VAR Name                       : STR8;
  126.   LocalId                        : LONGINT;
  127.   VAR FontAttrs                  : FATTRS
  128. )                                : LONGINT;
  129.  
  130. PROCEDURE GpiDeleteSetId
  131. ( PresSpaceHandle                : HPS;
  132.   LocalId                        : LONGINT
  133. )                                : BOOLEAN;
  134.  
  135. PROCEDURE GpiLoadFonts
  136. ( AnchorBlockHandle              : HAB;
  137.   FileName                       : ARRAY OF CHAR
  138. )                                : BOOLEAN;
  139.  
  140. PROCEDURE GpiUnloadFonts
  141. ( AnchorBlockHandle              : HAB;
  142.   FileName                       : ARRAY OF CHAR
  143. )                                : BOOLEAN;
  144.  
  145. PROCEDURE GpiQueryFonts
  146. ( PresSpaceHandle                : HPS;
  147.   Options                        : LONGCARD;
  148.   VAR FaceName                   : ARRAY OF CHAR;
  149.   VAR ReqFonts                   : LONGINT;
  150.   MetricsLength                  : LONGINT;
  151.   VAR Metrics                    : FONTMETRICS
  152. )                                : LONGINT;
  153.  
  154. PROCEDURE GpiQueryFontMetrics
  155. ( PresSpaceHandle                : HPS;
  156.   MetricsLength                  : LONGINT;
  157.   VAR Metrics                    : FONTMETRICS
  158. )                                : BOOLEAN;
  159.  
  160. PROCEDURE GpiQueryKerningPairs
  161. ( PresSpaceHandle                : HPS;
  162.   Count                          : LONGINT;
  163.   VAR Data                       : ARRAY OF KERNINGPAIRS
  164. )                                : LONGINT;
  165.  
  166. PROCEDURE GpiQueryWidthTable
  167. ( PresSpaceHandle                : HPS;
  168.   FirstChar                      : LONGINT;
  169.   Count                          : LONGINT;
  170.   VAR Data                       : ARRAY OF LONGINT
  171. )                                : BOOLEAN;
  172.  
  173. PROCEDURE GpiQueryNumberSetIds
  174. ( PresSpaceHandle                : HPS
  175. )                                : LONGINT;
  176.  
  177. PROCEDURE GpiQuerySetIds
  178. ( PresSpaceHandle                : HPS;
  179.   Count                          : LONGINT;
  180.   VAR Types                      : ARRAY OF LONGINT;
  181.   VAR Names                      : ARRAY OF STR8;
  182.   VAR LocalIds                   : ARRAY OF LONGINT
  183. )                                : BOOLEAN;
  184.  
  185. PROCEDURE GpiQueryFaceString
  186. ( PresSpaceHandle                : HPS;
  187.   FamilyName                     : ARRAY OF CHAR;
  188.   VAR FaceAttrs                  : FACENAMEDESC;
  189.   Length                         : LONGINT;
  190.   VAR CompoundFaceName           : ARRAY OF CHAR
  191. )                                : LONGCARD;
  192.  
  193. PROCEDURE GpiQueryLogicalFont
  194. ( PresSpaceHandle                : HPS;
  195.   LocalId                        : LONGINT;
  196.   VAR Name                       : STR8;
  197.   VAR FontAttrs                  : FATTRS;
  198.   AttrsLength                    : LONGINT
  199. )                                : BOOLEAN;
  200.  
  201. PROCEDURE GpiQueryFontAction
  202. ( AnchorBlockHandle              : HAB;
  203.   Options                        : LONGCARD
  204. )                                : LONGCARD;
  205.  
  206. PROCEDURE GpiLoadPublicFonts
  207. ( AnchorBlockHandle              : HAB;
  208.   FileName                       : ARRAY OF CHAR
  209. )                                : BOOLEAN;
  210.  
  211. PROCEDURE GpiUnloadPublicFonts
  212. ( AnchorBlockHandle              : HAB;
  213.   FileName                       : ARRAY OF CHAR
  214. )                                : BOOLEAN;
  215.  
  216. PROCEDURE GpiSetCp
  217. ( PresSpaceHandle                : HPS;
  218.   CodePage                       : LONGCARD
  219. )                                : BOOLEAN;
  220.  
  221. PROCEDURE GpiQueryCp
  222. ( PresSpaceHandle                : HPS
  223. )                                : LONGCARD;
  224.  
  225. PROCEDURE GpiQueryFontFileDescriptions
  226. ( AnchorBlockHandle              : HAB;
  227.   FileName                       : ARRAY OF CHAR;
  228.   VAR Count                      : LONGINT;
  229.   VAR Names                      : ARRAY OF FFDESCS
  230. )                                : LONGINT;
  231.  
  232. PROCEDURE GpiQueryFullFontFileDescs
  233. ( AnchorBlockHandle              : HAB;
  234.   FileName                       : ARRAY OF CHAR;
  235.   VAR Count                      : LONGINT;
  236.   VAR Names                      : ARRAY OF SYSTEM.BYTE;
  237.   VAR NamesBuffLength            : LONGINT
  238. )                                : LONGINT;
  239.  
  240. END GPILCIDS.
  241.