home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / avio.def next >
Text File  |  1995-01-21  |  3KB  |  148 lines

  1. DEFINITION MODULE AVIO;
  2.  
  3. (*************************************************************************
  4.   OS/2 2.x or 3.0  Advanced Video Kernel API.
  5.  
  6.   (c) 1995 by Juergen Neuhoff
  7. **************************************************************************)
  8.  
  9. (*$XL+    Modula-2 language extensions: '_' allowed for symbol names     *)
  10. (*$A      default alignment scheme for record fields                     *)
  11. (*$API16+ 32 to 16 bit thunking for API functions                        *)
  12.  
  13. FROM OS2DEF IMPORT HDC, FATTRS, STR8, FONTMETRICS, HWND;
  14. FROM WINDEF IMPORT MRESULT;
  15.  
  16.  
  17. TYPE
  18.   HVPS           = CARDINAL;           (* hpvs *)
  19.   PHVPS          = POINTER TO HVPS;    (* phpvs *)
  20.  
  21.  
  22. PROCEDURE VioAssociate
  23. (
  24.   DCHandle      : HDC;
  25.   VPSHandle     : HVPS
  26. )               : CARDINAL;
  27.  
  28.  
  29. PROCEDURE VioCreateLogFont
  30. (
  31.   VAR FontAttr  : FATTRS;
  32.   LocalId       : LONGINT;
  33.   Name          : STR8;
  34.   VPSHandle     : HVPS
  35. )               : CARDINAL;
  36.  
  37.  
  38. PROCEDURE VioCreatePS
  39. (
  40.   VAR VPSHandle : HVPS;
  41.   Depth         : INTEGER;
  42.   Width         : INTEGER;
  43.   Format        : INTEGER;
  44.   Attrs         : INTEGER;
  45.   Reserved      : HVPS
  46. )               : CARDINAL;
  47.  
  48.  
  49. PROCEDURE VioDeleteSetId
  50. (
  51.   LocalId       : LONGINT;
  52.   VPSHandle     : HVPS
  53. )               : CARDINAL;
  54.  
  55.  
  56. PROCEDURE VioDestroyPS
  57. (
  58.   VPSHandle     : HVPS
  59. )               : CARDINAL;
  60.  
  61.  
  62. PROCEDURE VioGetDeviceCellSize
  63. (
  64.   VAR Height    : INTEGER;
  65.   VAR Width     : INTEGER;
  66.   VPSHandle     : HVPS
  67. )               : CARDINAL;
  68.  
  69.  
  70. PROCEDURE VioGetOrg
  71. (
  72.   VAR Row       : INTEGER;
  73.   VAR Column    : INTEGER;
  74.   VPSHandle     : HVPS
  75. )               : CARDINAL;
  76.  
  77.  
  78. PROCEDURE VioQueryFonts
  79. (
  80.   VAR Size        : LONGINT;
  81.   VAR FontMetrics : ARRAY OF FONTMETRICS;
  82.   MetricsLength   : LONGINT;
  83.   VAR FontsCount  : LONGINT;
  84.   FaceName        : ARRAY OF CHAR;
  85.   Options         : LONGCARD;
  86.   VPSHandle       : HVPS
  87. )                 : CARDINAL;
  88.  
  89.  
  90. PROCEDURE VioQuerySetIds
  91. (
  92.   VAR LocalIds    : ARRAY OF LONGINT;
  93.   VAR Names       : ARRAY OF STR8;
  94.   VAR Types       : ARRAY OF LONGINT;
  95.   Count           : LONGINT;
  96.   VPSHandle       : HVPS
  97. )                 : CARDINAL;
  98.  
  99.  
  100. PROCEDURE VioSetDeviceCellSize
  101. (
  102.   Height          : INTEGER;
  103.   Width           : INTEGER;
  104.   VPSHandle       : HVPS
  105. )                 : CARDINAL;
  106.  
  107.  
  108. PROCEDURE VioSetOrg
  109. (
  110.   Row             : INTEGER;
  111.   Column          : INTEGER;
  112.   VPSHandle       : HVPS
  113. )                 : CARDINAL;
  114.  
  115.  
  116. PROCEDURE VioShowPS
  117. (
  118.   Depth           : INTEGER;
  119.   Width           : INTEGER;
  120.   Offset          : INTEGER;
  121.   VPSHandle       : HVPS
  122. )                 : CARDINAL;
  123.  
  124.  
  125. (*
  126.  * WinDefAVioWindowProc -- Default message processing for AVio PS's
  127.  *
  128.  * Param1 and Param2 are defined as LONGCARD because WINDEF.MPARAM
  129.  * normally is a pointer type and 32-bit compilers such as Modula-2
  130.  * will thunk pointer types passed to 16-bit routines.
  131.  * This is not what is desired for WM_SIZE processing so we will declare
  132.  * the function with LONGCARDs, non-pointer types.
  133.  *)
  134.  
  135. TYPE
  136.   MPARAM          = LONGCARD;
  137.  
  138. PROCEDURE WinDefAVioWindowProc
  139. (
  140.   WinHandle       : HWND;
  141.   MessageId       : CARDINAL;
  142.   Param1          : MPARAM;
  143.   Param2          : MPARAM
  144. )                 : MRESULT;
  145.  
  146.  
  147. END AVIO.
  148.