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

  1. DEFINITION MODULE GPITRANSFORMS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.0 interface for Presentation Manager
  5.            GPI Transform and Transform Conversion.
  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. FROM   OS2DEF  IMPORT TYPEPREFIX, HPS, POINTL, RECTL;
  15. FROM   GPIDEF  IMPORT FIXED;
  16.  
  17. CONST (* co-ordinates space for GpiConvert *)
  18.   CVTC_WORLD                   = 1;
  19.   CVTC_MODEL                   = 2;
  20.   CVTC_DEFAULTPAGE             = 3;
  21.   CVTC_PAGE                    = 4;
  22.   CVTC_DEVICE                  = 5;
  23.  
  24. CONST (* type of transformation for GpiSetSegmentTransformMatrix *)
  25.   TRANSFORM_REPLACE            = 0;
  26.   TRANSFORM_ADD                = 1;
  27.   TRANSFORM_PREEMPT            = 2;
  28.  
  29. TYPE (* transform matrix *)
  30.   MATRIXLF                     = RECORD  (* matlf *)
  31.     CASE                         : TYPEPREFIX OF
  32.     | TRUE                       :
  33.       fxM11                      : FIXED;
  34.       fxM12                      : FIXED;
  35.       lM13                       : LONGINT;
  36.       fxM21                      : FIXED;
  37.       fxM22                      : FIXED;
  38.       lM23                       : LONGINT;
  39.       lM31                       : LONGINT;
  40.       lM32                       : LONGINT;
  41.       lM33                       : LONGINT;
  42.     | FALSE                      :
  43.       M11                        : FIXED;
  44.       M12                        : FIXED;
  45.       M13                        : LONGINT;
  46.       M21                        : FIXED;
  47.       M22                        : FIXED;
  48.       M23                        : LONGINT;
  49.       M31                        : LONGINT;
  50.       M32                        : LONGINT;
  51.       M33                        : LONGINT;
  52.     END;                         END;
  53.   PMATRIXLF                    = POINTER TO MATRIXLF;
  54.  
  55. (*** transform and transform conversion functions *)
  56.  
  57. PROCEDURE GpiQuerySegmentTransformMatrix
  58. ( PresSpaceHandle              : HPS;
  59.   SegId                        : LONGINT;
  60.   Count                        : LONGINT;
  61.   VAR Matrix                   : ARRAY OF MATRIXLF
  62. )                              : BOOLEAN;
  63.  
  64. PROCEDURE GpiSetSegmentTransformMatrix
  65. ( PresSpaceHandle              : HPS;
  66.   SegId                        : LONGINT;
  67.   Count                        : LONGINT;
  68.   VAR Matrix                   : MATRIXLF;
  69.   Options                      : LONGINT
  70. )                              : BOOLEAN;
  71.  
  72. PROCEDURE GpiConvert
  73. ( PresSpaceHandle              : HPS;
  74.   Src                          : LONGINT;
  75.   Targ                         : LONGINT;
  76.   Count                        : LONGINT;
  77.   VAR Points                   : ARRAY OF POINTL
  78. )                              : BOOLEAN;
  79.  
  80. PROCEDURE GpiConvertWithMatrix
  81. ( PresSpaceHandle              : HPS;
  82.   PointsCount                  : LONGINT;
  83.   VAR Points                   : ARRAY OF POINTL;
  84.   MatrixCount                  : LONGINT;
  85.   VAR Matrix                   : MATRIXLF
  86. )                              : BOOLEAN;
  87.  
  88. PROCEDURE GpiQueryModelTransformMatrix
  89. ( PresSpaceHandle              : HPS;
  90.   Count                        : LONGINT;
  91.   VAR Matrix                   : MATRIXLF
  92. )                              : BOOLEAN;
  93.  
  94. PROCEDURE GpiSetModelTransformMatrix
  95. ( PresSpaceHandle              : HPS;
  96.   Count                        : LONGINT;
  97.   VAR Matrix                   : MATRIXLF;
  98.   Options                      : LONGINT
  99. )                              : BOOLEAN;
  100.  
  101. PROCEDURE GpiCallSegmentMatrix
  102. ( PresSpaceHandle              : HPS;
  103.   Segment                      : LONGINT;
  104.   Count                        : LONGINT;
  105.   VAR Matrix                   : MATRIXLF;
  106.   Options                      : LONGINT
  107. )                              : LONGINT;
  108.  
  109. PROCEDURE GpiQueryDefaultViewMatrix
  110. ( PresSpaceHandle              : HPS;
  111.   Count                        : LONGINT;
  112.   VAR Matrix                   : MATRIXLF
  113. )                              : BOOLEAN;
  114.  
  115. PROCEDURE GpiSetDefaultViewMatrix
  116. ( PresSpaceHandle              : HPS;
  117.   Count                        : LONGINT;
  118.   VAR Matrix                   : MATRIXLF;
  119.   Options                      : LONGINT
  120. )                              : BOOLEAN;
  121.  
  122. PROCEDURE GpiQueryPageViewport
  123. ( PresSpaceHandle              : HPS;
  124.   VAR Viewport                 : RECTL
  125. )                              : BOOLEAN;
  126.  
  127. PROCEDURE GpiSetPageViewport
  128. ( PresSpaceHandle              : HPS;
  129.   VAR Viewport                 : RECTL
  130. )                              : BOOLEAN;
  131.  
  132. PROCEDURE GpiQueryViewingTransformMatrix
  133. ( PresSpaceHandle              : HPS;
  134.   Count                        : LONGINT;
  135.   VAR Matrix                   : MATRIXLF
  136. )                              : BOOLEAN;
  137.  
  138. PROCEDURE GpiSetViewingTransformMatrix
  139. ( PresSpaceHandle              : HPS;
  140.   Count                        : LONGINT;
  141.   VAR Matrix                   : MATRIXLF;
  142.   Options                      : LONGINT
  143. )                              : BOOLEAN;
  144.  
  145.  
  146. (*** transform helper routines *)
  147.  
  148. PROCEDURE GpiTranslate
  149. ( PresSpaceHandle              : HPS;
  150.   VAR Matrix                   : MATRIXLF;
  151.   Options                      : LONGINT;
  152.   VAR TranslationPoint         : POINTL
  153. )                              : BOOLEAN;
  154.  
  155. PROCEDURE GpiScale
  156. ( PresSpaceHandle              : HPS;
  157.   VAR Matrix                   : MATRIXLF;
  158.   Options                      : LONGINT;
  159.   VAR ScaleFactors             : ARRAY OF FIXED;
  160.   VAR CenterPoint              : POINTL
  161. )                              : BOOLEAN;
  162.  
  163. PROCEDURE GpiRotate
  164. ( PresSpaceHandle              : HPS;
  165.   VAR Matrix                   : MATRIXLF;
  166.   Options                      : LONGINT;
  167.   Angle                        : FIXED;
  168.   VAR CenterPoint              : POINTL
  169. )                              : BOOLEAN;
  170.  
  171. (*** general clipping functions *)
  172.  
  173. PROCEDURE GpiSetGraphicsField
  174. ( PresSpaceHandle              : HPS;
  175.   VAR Field                    : RECTL
  176. )                              : BOOLEAN;
  177.  
  178. PROCEDURE GpiQueryGraphicsField
  179. ( PresSpaceHandle              : HPS;
  180.   VAR Field                    : RECTL
  181. )                              : BOOLEAN;
  182.  
  183. PROCEDURE GpiSetViewingLimits
  184. ( PresSpaceHandle              : HPS;
  185.   VAR Limits                   : RECTL
  186. )                              : BOOLEAN;
  187.  
  188. PROCEDURE GpiQueryViewingLimits
  189. ( PresSpaceHandle              : HPS;
  190.   VAR Limits                   : RECTL
  191. )                              : BOOLEAN;
  192.  
  193. END GPITRANSFORMS.
  194.