home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2BAS.ZIP / CAPTURE.INC < prev    next >
Text File  |  1989-08-29  |  11KB  |  252 lines

  1. TYPE SIZEL
  2.     cx AS LONG
  3.     cy AS LONG
  4. END TYPE
  5.  
  6. TYPE SWP
  7.     fs AS INTEGER
  8.     cy AS INTEGER
  9.     cx AS INTEGER
  10.     y AS INTEGER
  11.     x AS INTEGER
  12.     hwndInsertBehind AS LONG
  13.     hwnd AS LONG
  14. END TYPE
  15.  
  16. DECLARE FUNCTION WinGetLastError&(BYVAL hab AS LONG)
  17. DECLARE FUNCTION DosBeep% (BYVAL frequency AS INTEGER,_
  18.                            BYVAL duration  AS INTEGER)
  19. DECLARE FUNCTION WinSetWindowPos%(BYVAL hwnd AS LONG,_
  20.                                   BYVAL hwndInsertBehind AS LONG,_
  21.                                   BYVAL x AS INTEGER,_
  22.                                   BYVAL y AS INTEGER,_
  23.                                   BYVAL cx AS INTEGER,_
  24.                                   BYVAL cy AS INTEGER,_
  25.                                   BYVAL fs AS INTEGER)
  26. DECLARE FUNCTION WinQueryWindowPos%(BYVAL hwnd AS LONG,_
  27.                                     BYVAL pswp AS LONG)
  28. DECLARE FUNCTION WinShowWindow%(BYVAL hwnd AS LONG,_
  29.                                 BYVAL fShow AS INTEGER)
  30. DECLARE FUNCTION WinEnableWindow%(BYVAL hwnd AS LONG,_
  31.                                   BYVAL fEnable AS INTEGER)
  32. DECLARE FUNCTION WinIsWindowEnabled%(BYVAL hwnd AS LONG)
  33. DECLARE FUNCTION WinQueryWindowRect%(BYVAL hwnd AS LONG,_
  34.                                      BYVAL prclDest AS LONG)
  35. DECLARE FUNCTION WinQueryWindow&(BYVAL hwnd AS LONG,_
  36.                                  BYVAL cmd AS INTEGER,_
  37.                                  BYVAL fLock AS INTEGER)
  38. DECLARE FUNCTION WinWindowFromID&(BYVAL hwndParent AS LONG,_
  39.                                   BYVAL id AS INTEGER)
  40. DECLARE FUNCTION WinGetPS&(BYVAL hwnd AS LONG)
  41. DECLARE FUNCTION WinReleasePS%(BYVAL hps AS LONG)
  42. DECLARE FUNCTION WinInvalidateRect%(BYVAL hwnd AS LONG,_
  43.                                     BYVAL pwrc AS LONG,_
  44.                                     BYVAL fIncludeChildren AS INTEGER)
  45. DECLARE FUNCTION WinDrawBitmap%(BYVAL hpsDst AS LONG,_
  46.                                 BYVAL hbm AS LONG,_
  47.                                 BYVAL pwrcSrc AS LONG,_
  48.                                 BYVAL pptlDst AS LONG,_
  49.                                 BYVAL clrFore AS LONG,_
  50.                                 BYVAL clrBack AS LONG,_
  51.                                 BYVAL fs AS INTEGER)
  52. DECLARE FUNCTION WinDlgBox%(BYVAL hwndParent AS LONG,_
  53.                             BYVAL hwndOwner AS LONG,_
  54.                             BYVAL pfnDlgProc AS LONG,_
  55.                             BYVAL hmod AS INTEGER,_
  56.                             BYVAL idDlg AS INTEGER,_
  57.                             BYVAL pCreateParams AS LONG)
  58. DECLARE FUNCTION WinDismissDlg%(BYVAL hwndDlg AS LONG,_
  59.                                 BYVAL usResult AS INTEGER)
  60. DECLARE FUNCTION WinDefDlgProc&(BYVAL hwndDlg AS LONG,_
  61.                                 BYVAL msg AS INTEGER,_
  62.                                 BYVAL mp1 AS LONG,_
  63.                                 BYVAL mp2 AS LONG)
  64. DECLARE FUNCTION WinSetPointer%(BYVAL hwndDesktop AS LONG,_
  65.                                 BYVAL hptrNew AS LONG)
  66. DECLARE FUNCTION WinQuerySysPointer&(BYVAL hwndDesktop AS LONG,_
  67.                                      BYVAL iptr AS INTEGER,_
  68.                                      BYVAL fLoad AS INTEGER)
  69. DECLARE FUNCTION WinSetFocus%(BYVAL hwndDesktop AS LONG,_
  70.                               BYVAL hwndSetFocus AS LONG)
  71. DECLARE FUNCTION WinLoadPointer&(BYVAL hwndDesktop AS LONG,_
  72.                                  BYVAL hmod AS INTEGER,_
  73.                                  BYVAL idres AS INTEGER)
  74. DECLARE FUNCTION WinSetPointer%(BYVAL hwndDesktop AS LONG,_
  75.                                 BYVAL hptrNew AS LONG)
  76. DECLARE FUNCTION WinQuerySysPointer&(BYVAL hwndDesktop AS LONG,_
  77.                                      BYVAL iptr AS INTEGER,_
  78.                                      BYVAL fLoad AS INTEGER)
  79. DECLARE FUNCTION WinQuerySysValue&(BYVAL hwndDesktop AS LONG,_
  80.                                    BYVAL iSysValue AS INTEGER)
  81. DECLARE FUNCTION WinPostMsg%(BYVAL hwnd AS LONG,_
  82.                              BYVAL msg AS INTEGER,_
  83.                              BYVAL mp1 AS LONG,_
  84.                              BYVAL mp2 AS LONG)
  85. DECLARE FUNCTION WinMessageBox%(BYVAL hwndParent AS LONG,_
  86.                                 BYVAL hwndOwner AS LONG,_
  87.                                 BYVAL pszText AS LONG,_
  88.                                 BYVAL pszCaption AS LONG,_
  89.                                 BYVAL idWindow AS INTEGER,_
  90.                                 BYVAL flStyle AS INTEGER)
  91. DECLARE FUNCTION WinGetScreenPS&(BYVAL hwndDesktop AS LONG)
  92. DECLARE FUNCTION WinCalcFrameRect%(BYVAL hwndFrame AS LONG,_
  93.                                    BYVAL prcl AS LONG,_
  94.                                    BYVAL fClient AS INTEGER)
  95. DECLARE FUNCTION WinQueryDlgItemShort%(BYVAL hwndDlg AS LONG,_
  96.                                        BYVAL idItem AS INTEGER,_
  97.                                        BYVAL pResult AS LONG,_
  98.                                        BYVAL fSigned AS INTEGER)
  99.  
  100. DECLARE FUNCTION WinSetDlgItemShort%(BYVAL hwndDlg AS LONG,_
  101.                                      BYVAL idItem AS INTEGER,_
  102.                                      BYVAL usValue AS INTEGER,_
  103.                                      BYVAL fSigned AS INTEGER)
  104. DECLARE FUNCTION WinSendDlgItemMsg&(BYVAL hwndDlg AS LONG,_
  105.                                     BYVAL idItem AS INTEGER,_
  106.                                     BYVAL msg AS INTEGER,_
  107.                                     BYVAL mp1 AS LONG,_
  108.                                     BYVAL mp2 AS LONG)
  109. DECLARE FUNCTION WinSetClipbrdData%(BYVAL hab AS LONG,_
  110.                                     BYVAL ulData AS LONG,_
  111.                                     BYVAL fmt AS INTEGER,_
  112.                                     BYVAL rgfFmtInfo AS INTEGER)
  113. DECLARE FUNCTION WinQueryClipbrdData&(BYVAL hab AS LONG,_
  114.                                       BYVAL fmt AS INTEGER)
  115. DECLARE FUNCTION WinEmptyClipbrd%(BYVAL hab AS LONG)
  116. DECLARE FUNCTION WinOpenClipbrd%(BYVAL hab AS LONG)
  117. DECLARE FUNCTION WinCloseClipbrd%(BYVAL hab AS LONG)
  118. DECLARE FUNCTION GpiErase%( BYVAL HPS AS LONG )
  119. DECLARE FUNCTION GpiDestroyPS%( BYVAL HPS AS LONG )
  120. DECLARE FUNCTION GpiCreatePS&( BYVAL HAB AS LONG,_
  121.                                BYVAL HDC AS LONG,_
  122.                                BYVAL PSIZEL AS LONG,_
  123.                                BYVAL ULONG AS LONG )
  124. DECLARE FUNCTION DevCloseDC&(BYVAL HDC AS LONG)
  125. DECLARE FUNCTION DevOpenDC&(BYVAL HAB AS LONG,_
  126.                             BYVAL along AS LONG,_
  127.                             BYVAL PSZ AS LONG,_
  128.                             BYVAL blong AS LONG,_
  129.                             BYVAL PDEVOPENDATA AS LONG,_
  130.                             BYVAL HDC AS LONG)
  131. DECLARE FUNCTION DosClose%( BYVAL filehandle AS INTEGER)
  132. CONST FIDVERTSCROLL  = &H8006
  133. CONST FIDHORZSCROLL  = &H8007
  134. CONST CLRBACKGROUND  = 0
  135. CONST CLRNEUTRAL     = 7
  136. CONST DBMNORMAL      = &H0000
  137. CONST DBMSTRETCH     = &H0004
  138. CONST SWPSIZE        = &H0001
  139. CONST SWPMOVE        = &H0002
  140. CONST QWPARENT       = 5
  141. CONST CFIHANDLE      = &H0200
  142. CONST CFBITMAP       = 2
  143. CONST MIACHECKED     = &H2000
  144. CONST MIADISABLED    = &H4000
  145. CONST MMSETITEMATTR  = &H0192
  146. CONST WMMINMAXFRAME  = &H0046
  147. CONST SPTRARROW      = 1
  148. CONST SPTRWAIT       = 3
  149. CONST SPTRMOVE       = 5
  150. CONST SEGDISCARDABLE = &H0004
  151. CONST ODMEMORY       = 8&
  152. CONST PUPELS         = &H0008
  153. CONST GPITMICRO      = &H1000
  154. CONST GPIAASSOC      = &H4000
  155. CONST MBOKCANCEL     = &H0001
  156. CONST MBICONASTERISK = &H0030
  157. CONST MBICONHAND     = &H0040
  158. CONST MBIDOK         = 1
  159. CONST MBIDCANCEL     = 2
  160. CONST FIDMENU        = &H8005
  161. CONST SVCXSCREEN     = 20
  162. CONST SVCYSCREEN     = 21
  163. CONST SVCXSIZEBORDER = 4
  164. CONST SVCYSIZEBORDER = 5
  165.  
  166. TYPE MyBITMAPINFO
  167.     cbFix AS LONG
  168.     cx AS INTEGER
  169.     cy AS INTEGER
  170.     cPlanes AS INTEGER
  171.     cBitCount AS INTEGER
  172.     argbColor AS STRING * 48  'array of 16 RGB values
  173. END TYPE
  174.  
  175. TYPE BITMAPFORMAT
  176.   Planes AS LONG
  177.   BitCount AS LONG
  178. END TYPE
  179.  
  180. DECLARE SUB ControlScrollBars(hwnd&, scrollbar%, mp2&)
  181. DECLARE SUB CalculateMinimumFrameWindowSize(hwnd&)
  182. DECLARE SUB SetScrollBarStatus()
  183. DECLARE SUB StopCountDownToCapture(hwnd&)
  184. DECLARE SUB ResetCheckedMenuItem(oldChecked%, newChecked%)
  185. DECLARE SUB CheckIfFrameIsGreaterThanMaximum()
  186. DECLARE SUB SetCaptureRectToEntireScreen()
  187. DECLARE SUB SetCaptureRectToClientWindow(hwnd&)
  188. DECLARE SUB MaximizeOrRestoreTheClientWindow(hwnd&)
  189. DECLARE SUB MaximizeTheClientWindow(hwnd&)
  190. DECLARE SUB SetTheFrameWindowSize(hwnd&, menuSelection%)
  191. DECLARE SUB CaptureScreenToBitmap(hwnd&)
  192. DECLARE SUB DisplayCapturedBitmap()
  193. DECLARE SUB SaveBitmapToFile(hab&, hwnd&, hbm&)
  194. DECLARE SUB LoadBitmapFromFile(hwndFrame&, hwnd&, hbm&)
  195. DECLARE SUB CopyBitmapToClipBoard(hab&, hwnd&, hbm&)
  196. DECLARE SUB LoadBitmapFromClipBoard(hab&, hbm&, hwnd&)
  197. DECLARE SUB PasteClipboardOverCurrentBitmap(hwnd&)
  198. DECLARE SUB CreateBitmapPSandDC(hps&, hdc&)
  199. DECLARE SUB SetStatusOfEditMenuItems(attribute%)
  200. DECLARE SUB SetSystemPointerToWaitPointer()
  201. DECLARE SUB SetSystemPointerToStandardPointer()
  202.  
  203. DECLARE FUNCTION SelectPortionOfScreenToCapture%()
  204. DECLARE FUNCTION MakeCopyOfBitmap&(hbm&)
  205. DECLARE FUNCTION DisplayMessageBox%(message$, caption$, style%)
  206.  
  207. CONST IDTIMER      = 1
  208.  
  209. CONST IDRESOURCE        = 1
  210. CONST IDPOINTER         = 2
  211. CONST IDMEDIT           = 10
  212. CONST   LOADBITMAPFILE  = 11
  213. CONST   LOADCLIPBOARD   = 12
  214. CONST   SAVEBITMAP      = 13
  215. CONST   COPYTOCLIPBOARD = 14
  216. CONST   PASTECLIPBOARD  = 15
  217. CONST   ERASEWINDOW     = 16
  218. CONST   EXITPROGRAM     = 17
  219. CONST IDMCAPTURE        = 20
  220. CONST   ENTIRESCREEN    = 21
  221. CONST   CLIENTWINDOW    = 22
  222. CONST   PARTIALSCREEN   = 23
  223. CONST     USINGTRACK    = 24
  224. CONST     USINGFRAME    = 25
  225. CONST IDMOPTIONS        = 30
  226. CONST   HIDEWINDOW      = 31
  227. CONST   SHOWWINDOW      = 32
  228. CONST   ACTUALSIZE      = 33
  229. CONST   STRETCH              = 34
  230. CONST   IDMDELAY             = 40
  231. CONST WINDOWSIZE             = 120
  232. CONST   SETFRAMEWINDOWSIZE   = 121
  233. CONST   MAXIMIZEFRAMEWINDOW  = 122
  234. CONST   RESTOREWINDOW        = 123
  235. CONST   MAXIMIZECLIENTWINDOW = 124
  236. CONST   RESTORECLIENTWINDOW  = 125
  237.  
  238. CONST IDDSETFRAMESIZE   = 1
  239. CONST XENTRYFIELD       = 2
  240. CONST YENTRYFIELD       = 3
  241. CONST OKBUTTON          = 4
  242. CONST CANCELBUTTON      = 5
  243. CONST MAXIMIZEBUTTON    = 6
  244. CONST RESTOREBUTTON     = 7
  245. CONST XSCROLLBAR        = 8
  246. CONST YSCROLLBAR        = 9
  247.  
  248. COMMON /SetWindowSizeDialogBox/ hwndFrame&, cxScreen%, cyScreen%,_
  249.                                 newXFrame%, newYFrame%, minFrame%
  250. COMMON /ScrollBarHandles/ hbm&, hwndHorzScroll&, hwndVertScroll&
  251.  
  252.