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

  1. DEFINITION MODULE WINPOINTERS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.1 interface for Presentation Manager mouse pointer functions.
  5.  
  6.   Copyright (c) 1992,1994 by Juergen Neuhoff
  7. *************************************************************************)
  8.  
  9. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  10. (*$CDECL+    C-style procedures                                         *)
  11. (*$A         default alignment for record fields                        *)
  12.  
  13. IMPORT SYSTEM;
  14. FROM   OS2DEF  IMPORT TYPEPREFIX, LHANDLE, HWND, PID, HMODULE;
  15. FROM   OS2DEF  IMPORT POINTL, HBITMAP, HPS;
  16. FROM   OS2DEF  IMPORT ICONINFO;
  17.  
  18. TYPE
  19.   HPOINTER                = LHANDLE;   (* hptr *)
  20.  
  21. PROCEDURE WinSetPointer
  22. ( DesktopWinHandle        : HWND;
  23.   NewPointer              : HPOINTER
  24. )                         : BOOLEAN;
  25.  
  26. PROCEDURE WinSetPointerOwner
  27. ( PointerHandle           : HPOINTER;
  28.   ProcessId               : PID;
  29.   Destroy                 : BOOLEAN
  30. )                         : BOOLEAN;
  31.  
  32. PROCEDURE WinShowPointer
  33. ( DesktopWinHandle        : HWND;
  34.   Show                    : BOOLEAN
  35. )                         : BOOLEAN;
  36.  
  37. PROCEDURE WinLockPointerUpdate
  38. ( DesktopWinHandle        : HWND;
  39.   NewPointerHandle        : HPOINTER;
  40.   TimeInterval            : LONGCARD
  41. )                         : BOOLEAN;
  42.  
  43. PROCEDURE WinQuerySysPointer
  44. ( DesktopWinHandle        : HWND;
  45.   SysPointerId            : LONGINT;
  46.   Load                    : BOOLEAN
  47. )                         : HPOINTER;
  48.  
  49. PROCEDURE WinQuerySysPointerData
  50. ( DesktopWinHandle        : HWND;
  51.   SysPointerIndex         : LONGCARD;
  52.   VAR IconInfo            : ICONINFO
  53. )                         : BOOLEAN;
  54.  
  55. PROCEDURE WinSetSysPointerData
  56. ( DesktopWinHandle        : HWND;
  57.   SysPointerIndex         : LONGCARD;
  58.   VAR IconInfo            : ICONINFO
  59. )                         : BOOLEAN;
  60.  
  61. CONST (* System pointers (NOTE: these are 1-based) *)
  62.   SPTR_ARROW              = 1;
  63.   SPTR_TEXT               = 2;
  64.   SPTR_WAIT               = 3;
  65.   SPTR_SIZE               = 4;
  66.   SPTR_MOVE               = 5;
  67.   SPTR_SIZENWSE           = 6;
  68.   SPTR_SIZENESW           = 7;
  69.   SPTR_SIZEWE             = 8;
  70.   SPTR_SIZENS             = 9;
  71.   SPTR_APPICON            = 10;
  72.   SPTR_ICONINFORMATION    = 11;
  73.   SPTR_ICONQUESTION       = 12;
  74.   SPTR_ICONERROR          = 13;
  75.   SPTR_ICONWARNING        = 14;
  76.   SPTR_CPTR               = 14;   (* count loaded by pmwin *)
  77.   SPTR_ILLEGAL            = 18;
  78.   SPTR_FILE               = 19;
  79.   SPTR_FOLDER             = 20;
  80.   SPTR_MULTFILE           = 21;
  81.   SPTR_PROGRAM            = 22;
  82.   SPTR_HANDICON           = SPTR_ICONERROR;
  83.   SPTR_QUESICON           = SPTR_ICONQUESTION;
  84.   SPTR_BANGICON           = SPTR_ICONWARNING;
  85.   SPTR_NOTEICON           = SPTR_ICONINFORMATION;
  86.  
  87. PROCEDURE WinLoadPointer
  88. ( DesktopWinHandle        : HWND;
  89.   Resource                : HMODULE;
  90.   PointerId               : LONGCARD
  91. )                         : HPOINTER;
  92.  
  93. PROCEDURE WinCreatePointer
  94. ( DesktopWinHandle        : HWND;
  95.   BitMapHandle            : HBITMAP;
  96.   PointerSizeFlag         : BOOLEAN;
  97.   xHotspot                : LONGINT;
  98.   yHotspot                : LONGINT
  99. )                         : HPOINTER;
  100.  
  101. PROCEDURE WinSetPointerPos
  102. ( DesktopWinHandle        : HWND;
  103.   x                       : LONGINT;
  104.   y                       : LONGINT
  105. )                         : BOOLEAN;
  106.  
  107. PROCEDURE WinDestroyPointer
  108. ( PointerHandle           : HPOINTER
  109. )                         : BOOLEAN;
  110.  
  111. PROCEDURE WinQueryPointer
  112. ( DesktopWinHandle        : HWND
  113. )                         : HPOINTER;
  114.  
  115. PROCEDURE WinQueryPointerPos
  116. ( DesktopWinHandle        : HWND;
  117.   VAR Point               : POINTL
  118. )                         : BOOLEAN;
  119.  
  120. TYPE
  121.   POINTERINFO               = RECORD (* ptri *)
  122.     CASE                      : TYPEPREFIX OF
  123.     | TRUE                    :
  124.       fPointer                : LONGCARD;
  125.     | FALSE                   :
  126.       Pointer                 : LONGCARD;
  127.     END;
  128.     xHotspot                  : LONGINT;
  129.     yHotspot                  : LONGINT;
  130.     CASE                      : TYPEPREFIX OF
  131.     | TRUE                    :
  132.       hbmPointer              : HBITMAP;
  133.       hbmColor                : HBITMAP;
  134.       hbmMiniPointer          : HBITMAP;
  135.       hbmMiniColor            : HBITMAP;
  136.     | FALSE                   :
  137.       PointerBitMapHandle     : HBITMAP;
  138.       ColorBitMapHandle       : HBITMAP;
  139.       MiniPointerBitMapHandle : HBITMAP;
  140.       MiniColorBitMapHandle   : HBITMAP;
  141.     END;                      END;
  142.   PPOINTERINFO              = POINTER TO POINTERINFO;
  143.  
  144. PROCEDURE WinCreatePointerIndirect
  145. ( DesktopWinHandle        : HWND;
  146.   VAR PointerInfo         : POINTERINFO
  147. )                         : HPOINTER;
  148.  
  149. PROCEDURE WinQueryPointerInfo
  150. ( PointerHandle           : HPOINTER;
  151.   VAR PointerInfo         : POINTERINFO
  152. )                         : BOOLEAN;
  153.  
  154. PROCEDURE WinDrawPointer
  155. ( PresSpaceHandle         : HPS;
  156.   x                       : LONGINT;
  157.   y                       : LONGINT;
  158.   PointerHandle           : HPOINTER;
  159.   Halftone                : LONGCARD
  160. )                         : BOOLEAN;
  161.  
  162. CONST (* WinDrawPointer() Halftone constants *)
  163.   DP_NORMAL               = 0000H;
  164.   DP_HALFTONED            = 0001H;
  165.   DP_INVERTED             = 0002H;
  166.  
  167. PROCEDURE WinGetSysBitmap
  168. ( DesktopWinHandle        : HWND;
  169.   Index                   : LONGCARD
  170. )                         : HBITMAP;
  171.  
  172. CONST (* System bitmaps (NOTE: these are 1-based) *)
  173.   SBMP_OLD_SYSMENU        = 1;
  174.   SBMP_OLD_SBUPARROW      = 2;
  175.   SBMP_OLD_SBDNARROW      = 3;
  176.   SBMP_OLD_SBRGARROW      = 4;
  177.   SBMP_OLD_SBLFARROW      = 5;
  178.   SBMP_MENUCHECK          = 6;
  179.   SBMP_OLD_CHECKBOXES     = 7;
  180.   SBMP_BTNCORNERS         = 8;
  181.   SBMP_OLD_MINBUTTON      = 9;
  182.   SBMP_OLD_MAXBUTTON      = 10;
  183.   SBMP_OLD_RESTOREBUTTON  = 11;
  184.   SBMP_OLD_CHILDSYSMENU   = 12;
  185.   SBMP_DRIVE              = 15;
  186.   SBMP_FILE               = 16;
  187.   SBMP_FOLDER             = 17;
  188.   SBMP_TREEPLUS           = 18;
  189.   SBMP_TREEMINUS          = 19;
  190.   SBMP_PROGRAM            = 22;
  191.   SBMP_MENUATTACHED       = 23;
  192.   SBMP_SIZEBOX            = 24;
  193.   SBMP_SYSMENU            = 25;
  194.   SBMP_MINBUTTON          = 26;
  195.   SBMP_MAXBUTTON          = 27;
  196.   SBMP_RESTOREBUTTON      = 28;
  197.   SBMP_CHILDSYSMENU       = 29;
  198.   SBMP_SYSMENUDEP         = 30;
  199.   SBMP_MINBUTTONDEP       = 31;
  200.   SBMP_MAXBUTTONDEP       = 32;
  201.   SBMP_RESTOREBUTTONDEP   = 33;
  202.   SBMP_CHILDSYSMENUDEP    = 34;
  203.   SBMP_SBUPARROW          = 35;
  204.   SBMP_SBDNARROW          = 36;
  205.   SBMP_SBLFARROW          = 37;
  206.   SBMP_SBRGARROW          = 38;
  207.   SBMP_SBUPARROWDEP       = 39;
  208.   SBMP_SBDNARROWDEP       = 40;
  209.   SBMP_SBLFARROWDEP       = 41;
  210.   SBMP_SBRGARROWDEP       = 42;
  211.   SBMP_SBUPARROWDIS       = 43;
  212.   SBMP_SBDNARROWDIS       = 44;
  213.   SBMP_SBLFARROWDIS       = 45;
  214.   SBMP_SBRGARROWDIS       = 46;
  215.   SBMP_COMBODOWN          = 47;
  216.   SBMP_CHECKBOXES         = 48;
  217.  
  218. END WINPOINTERS.
  219.