home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / os2apipm.zip / OS2API / OS2-PMPN.ADS < prev    next >
Text File  |  1996-08-10  |  9KB  |  201 lines

  1.  
  2. -- ╔═══════════════════════════════════════════════════════════════════╗
  3. -- ║       D E S I G N   E N G I N E R I N G              ║D║S║        ║
  4. -- ║            S O F T W A R E                           ╚═╩═╝        ║
  5. -- ║                                                                   ║
  6. -- ║        Package     Os2.PMpn                                       ║
  7. -- ║                                                                   ║
  8. -- ║        Author :  Leonid Dulman     1995                           ║
  9. -- ║                                                                   ║
  10. -- ║             GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS            ║
  11. -- ║                                                                   ║
  12. -- ║               PM     Pointer manager                              ║
  13. -- ║                                                                   ║
  14. -- ╚═══════════════════════════════════════════════════════════════════╝
  15.  
  16.  
  17. with Interfaces.C;         use Interfaces.C;
  18. with Interfaces.C.Strings; use Interfaces.C.Strings;
  19.  
  20. package Os2.PMpn is
  21. pragma Preelaborate (PMpn);
  22.  
  23. --     Pointer manager
  24. subtype HPOINTER is LHANDLE  ;   -- hptr
  25. --
  26. function WinSetPointer(hwndDesktop:HWND     ;
  27.                        hptrNew    :HPOINTER )return BOOL32;
  28. pragma Import(c,WinSetPointer, Link_name=>"_WinSetPointer");
  29.  
  30. function WinSetPointerOwner(hptr    :HPOINTER ;
  31.                             p_id    :PID      ;
  32.                             fDestroy:BOOL32   )return BOOL32;
  33. pragma Import(c,WinSetPointerOwner, Link_name=>"_WinSetPointerOwner");
  34.  
  35. function WinShowPointer(hwndDesktop:HWND   ;
  36.                         fShow      :BOOL32 )return BOOL32;
  37. pragma Import(c,WinShowPointer, Link_name=>"_WinShowPointer");
  38.  
  39. function WinLockPointerUpdate(hwndDesktop   :HWND     ;
  40.                               hptrNew       :HPOINTER ;
  41.                               ulTimeInterval:ULONG    )return BOOL32;
  42. pragma Import(c,WinLockPointerUpdate, Link_name=>"_WinLockPointerUpdate");
  43.  
  44. function WinQuerySysPointer(hwndDesktop:HWND   ;
  45.                             iptr       :LONG   ;
  46.                             fLoad      :BOOL32 )return HPOINTER;
  47. pragma Import(c,WinQuerySysPointer, Link_name=>"_WinQuerySysPointer");
  48.  
  49. function WinQuerySysPointerData(hwndDesktop:HWND      ;
  50.                                 iptr       :ULONG     ;
  51.                                 pIcon      :PICONINFO )return BOOL32;
  52. pragma Import(c,WinQuerySysPointerData, Link_name=>"_WinQuerySysPointerData");
  53.  
  54. function WinSetSysPointerData(hwndDesktop:HWND      ;
  55.                               iptr       :ULONG     ;
  56.                               pIcon      :PICONINFO )return BOOL32;
  57. pragma Import(c,WinSetSysPointerData, Link_name=>"_WinSetSysPointerData");
  58.  
  59. --     -- System pointers ( NOTE: these are 1-based)
  60.  
  61.  SPTR_ARROW           :constant Long:=      1 ;
  62.  SPTR_TEXT            :constant Long:=      2 ;
  63.  SPTR_WAIT            :constant Long:=      3 ;
  64.  SPTR_SIZE            :constant Long:=      4 ;
  65.  SPTR_MOVE            :constant Long:=      5 ;
  66.  SPTR_SIZENWSE        :constant Long:=      6 ;
  67.  SPTR_SIZENESW        :constant Long:=      7 ;
  68.  SPTR_SIZEWE          :constant Long:=      8 ;
  69.  SPTR_SIZENS          :constant Long:=      9  ;
  70.  SPTR_APPICON         :constant Long:=      10 ;
  71.  SPTR_ICONINFORMATION :constant Long:=      11 ;
  72.  SPTR_ICONQUESTION    :constant Long:=      12 ;
  73.  SPTR_ICONERROR       :constant Long:=      13 ;
  74.  SPTR_ICONWARNING     :constant Long:=      14 ;
  75.  SPTR_ILLEGAL         :constant Long:=      18 ;
  76.  SPTR_FILE            :constant Long:=      19 ;
  77.  SPTR_FOLDER          :constant Long:=      20 ;
  78.  SPTR_MULTFILE        :constant Long:=      21 ;
  79.  SPTR_PROGRAM         :constant Long:=      22 ;
  80.  SPTR_DISPLAY_PTRS    :constant Long:=      22 ;
  81.  SPTR_PENFIRST        :constant Long:=      23 ;
  82.  SPTR_PENLAST         :constant Long:=      39 ;
  83.  SPTR_CPTR            :constant Long:=      39 ;-- total # of system pointers
  84. --
  85. --     -- backward compatibility
  86.  SPTR_HANDICON    :constant Long:=     SPTR_ICONERROR     ;
  87.  SPTR_QUESICON    :constant Long:=     SPTR_ICONQUESTION  ;
  88.  SPTR_BANGICON    :constant Long:=     SPTR_ICONWARNING   ;
  89.  SPTR_NOTEICON    :constant Long:=     SPTR_ICONINFORMATION ;
  90.  
  91. function WinLoadPointer(hwndDesktop:HWND    ;
  92.                         hmod       :HMODULE ;
  93.                         idres      :ULONG   )return HPOINTER;
  94. pragma Import(c,WinLoadPointer, Link_name=>"_WinLoadPointer");
  95.  
  96. function WinCreatePointer(hwndDesktop:HWND    ;
  97.                           hbmPointer :HBITMAP ;
  98.                           fPointer   :BOOL32  ;
  99.                           xHotspot   :LONG    ;
  100.                           yHotspot   :LONG    )return HPOINTER;
  101. pragma Import(c,WinCreatePointer, Link_name=>"_WinCreatePointer");
  102.  
  103. function WinSetPointerPos(hwndDesktop:HWND ;
  104.                           x          :LONG ;
  105.                           y          :LONG )return BOOL32;
  106. pragma Import(c,WinSetPointerPos, Link_name=>"_WinSetPointerPos");
  107.  
  108. function WinDestroyPointer( hptr:HPOINTER)return BOOL32;
  109. pragma Import(c,WinDestroyPointer, Link_name=>"_WinDestroyPointer");
  110.  
  111. function WinQueryPointer( hwndDesktop:HWND)return HPOINTER;
  112. pragma Import(c,WinQueryPointer, Link_name=>"_WinQueryPointer");
  113.  
  114. function WinQueryPointerPos(hwndDesktop:HWND    ;
  115.                             pptl       :PPOINTL )return BOOL32;
  116. pragma Import(c,WinQueryPointerPos, Link_name=>"_WinQueryPointerPos");
  117.  
  118. type POINTERINFO  is record    -- ptri
  119.    fPointer          :ULONG   ;
  120.    xHotspot          :LONG    ;
  121.    yHotspot          :LONG    ;
  122.    hbmPointer        :HBITMAP ;
  123.    hbmColor          :HBITMAP ;
  124.    hbmMiniPointer    :HBITMAP ;
  125.    hbmMiniColor      :HBITMAP ;
  126. end record; -- POINTERINFO;
  127. type PPOINTERINFO  is access all POINTERINFO;
  128.  
  129. function WinCreatePointerIndirect(hwndDesktop:HWND         ;
  130.                                   pptri      :PPOINTERINFO )return HPOINTER;
  131. pragma Import(c,WinCreatePointerIndirect, Link_name=>"_WinCreatePointerIndirect");
  132.  
  133. function WinQueryPointerInfo(hptr        :HPOINTER     ;
  134.                              pPointerInf :PPOINTERINFO )return BOOL32;
  135. pragma Import(c,WinQueryPointerInfo, Link_name=>"_WinQueryPointerInfo");
  136.  
  137. function WinDrawPointer(hp  :HPS      ;
  138.                         x   :LONG     ;
  139.                         y   :LONG     ;
  140.                         hptr:HPOINTER ;
  141.                         fs  :ULONG    )return BOOL32;
  142. pragma Import(c,WinDrawPointer, Link_name=>"_WinDrawPointer");
  143.  
  144. --     -- WinDrawPointer( ) constants
  145. --
  146.  DP_NORMAL        :constant Long:=          16#0000#;
  147.  DP_HALFTONED     :constant Long:=          16#0001#;
  148.  DP_INVERTED      :constant Long:=          16#0002#;
  149.  
  150. function WinGetSysBitmap(hwndDesktop:HWND  ;
  151.                          ibm        :ULONG )return HBITMAP;
  152. pragma Import(c,WinGetSysBitmap, Link_name=>"_WinGetSysBitmap");
  153.  
  154. --     System bitmaps ( NOTE: these are 1-based)
  155. --
  156.  SBMP_OLD_SYSMENU       :constant Long:=    1 ;
  157.  SBMP_OLD_SBUPARROW     :constant Long:=    2 ;
  158.  SBMP_OLD_SBDNARROW     :constant Long:=    3 ;
  159.  SBMP_OLD_SBRGARROW     :constant Long:=    4 ;
  160.  SBMP_OLD_SBLFARROW     :constant Long:=    5 ;
  161.  SBMP_MENUCHECK         :constant Long:=    6 ;
  162.  SBMP_OLD_CHECKBOXES    :constant Long:=    7 ;
  163.  SBMP_BTNCORNERS        :constant Long:=    8 ;
  164.  SBMP_OLD_MINBUTTON     :constant Long:=    9 ;
  165.  SBMP_OLD_MAXBUTTON     :constant Long:=    10;
  166.  SBMP_OLD_RESTOREBUTTON :constant Long:=    11;
  167.  SBMP_OLD_CHILDSYSMENU  :constant Long:=    12;
  168.  SBMP_DRIVE             :constant Long:=    15;
  169.  SBMP_FILE              :constant Long:=    16;
  170.  SBMP_FOLDER            :constant Long:=    17;
  171.  SBMP_TREEPLUS          :constant Long:=    18;
  172.  SBMP_TREEMINUS         :constant Long:=    19;
  173.  SBMP_PROGRAM           :constant Long:=    22;
  174.  SBMP_MENUATTACHED      :constant Long:=    23;
  175.  SBMP_SIZEBOX           :constant Long:=    24;
  176.  SBMP_SYSMENU           :constant Long:=    25;
  177.  SBMP_MINBUTTON         :constant Long:=    26;
  178.  SBMP_MAXBUTTON         :constant Long:=    27;
  179.  SBMP_RESTOREBUTTON     :constant Long:=    28;
  180.  SBMP_CHILDSYSMENU      :constant Long:=    29;
  181.  SBMP_SYSMENUDEP        :constant Long:=    30;
  182.  SBMP_MINBUTTONDEP      :constant Long:=    31;
  183.  SBMP_MAXBUTTONDEP      :constant Long:=    32;
  184.  SBMP_RESTOREBUTTONDEP  :constant Long:=    33;
  185.  SBMP_CHILDSYSMENUDEP   :constant Long:=    34;
  186.  SBMP_SBUPARROW         :constant Long:=    35;
  187.  SBMP_SBDNARROW         :constant Long:=    36;
  188.  SBMP_SBLFARROW         :constant Long:=    37;
  189.  SBMP_SBRGARROW         :constant Long:=    38;
  190.  SBMP_SBUPARROWDEP      :constant Long:=    39;
  191.  SBMP_SBDNARROWDEP      :constant Long:=    40 ;
  192.  SBMP_SBLFARROWDEP      :constant Long:=    41 ;
  193.  SBMP_SBRGARROWDEP      :constant Long:=    42 ;
  194.  SBMP_SBUPARROWDIS      :constant Long:=    43 ;
  195.  SBMP_SBDNARROWDIS      :constant Long:=    44 ;
  196.  SBMP_SBLFARROWDIS      :constant Long:=    45 ;
  197.  SBMP_SBRGARROWDIS      :constant Long:=    46 ;
  198.  SBMP_COMBODOWN         :constant Long:=    47 ;
  199.  SBMP_CHECKBOXES        :constant Long:=    48 ;
  200. end os2.pmpn;
  201.