home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / API_Detail747634232002.psc / APIGraphics.bas next >
Encoding:
BASIC Source File  |  2002-04-22  |  107.0 KB  |  3,136 lines

  1. Attribute VB_Name = "modAPIGraphics"
  2. '=================================
  3. ' Date : 12/11/2001
  4. '----------------------------------------------
  5. ' Author : Eric O'Sullivan
  6. '----------------------------------------------
  7. ' Contact : DiskJunky@hotmail.com
  8. '----------------------------------------------
  9. ' Comments :
  10. 'This module was made for using api graphics functions in your
  11. 'programs. With the following api calls and function and procedures
  12. 'written by me, you have to tools to do almost anything. The only api
  13. 'function listed here that is not directly used by any piece of code
  14. 'in this module is BitBlt. You have the tools to create and manipulate
  15. 'graphics, but it is still necessary to display them manually. The
  16. 'functions themselves mostly need hDc or a handle to work. You can
  17. 'find this hDc in both a forms and pictureboxs' properties. I have
  18. 'also set up a data type called BitmapStruc. For my programs, I have
  19. 'used this structure almost exclusivly for the graphics. The structure
  20. 'holds all the information needed to reference a bitmap created using
  21. 'this module (CreateNewBitmap, DeleteBitmap).
  22. 'Please keep in mind that any object (bitmap, brush, pen etc) needs to
  23. 'be deleted after use or else it will stay in memory until the program is
  24. 'finished. Not doing so will eventually cause your program to take up
  25. 'ALL your computers recources.
  26. 'Also for anyone using optional paramters, it is probably better to use
  27. 'a default parameter values to determine whether or not a parameter
  28. 'has been passed than the function IsMissing().
  29. '
  30. 'Thank you,
  31. 'Eric
  32. '----------------------------------------------
  33. '=================================
  34.  
  35. Option Explicit
  36. Option Private Module
  37.  
  38. '--------------------------------------------------------------------------
  39. 'API calls
  40. '--------------------------------------------------------------------------
  41. 'These functions are sorted alphabetically.
  42.  
  43. 'This is used to copy bitmaps
  44. Public Declare Function BitBlt _
  45.        Lib "gdi32" _
  46.             (ByVal hDestDC As Long, _
  47.              ByVal X As Long, _
  48.              ByVal Y As Long, _
  49.              ByVal nWidth As Long, _
  50.              ByVal nHeight As Long, _
  51.              ByVal hSrcDC As Long, _
  52.              ByVal xSrc As Long, _
  53.              ByVal ySrc As Long, _
  54.              ByVal dwRop As Long) _
  55.              As Long
  56.  
  57. 'used to change various windows settings
  58. Public Declare Function ChangeDisplaySettings _
  59.        Lib "user32" _
  60.        Alias "ChangeDisplaySettingsA" _
  61.             (ByRef wef As Any, _
  62.              ByVal i As Long) _
  63.              As Long
  64.  
  65. 'creates a brush object which can be applied to a bitmap
  66. Public Declare Function CreateBrushIndirect _
  67.        Lib "gdi32" _
  68.             (lpLogBrush As LogBrush) _
  69.              As Long
  70.  
  71. 'creates a colourspace object which can be applied to a bitmap
  72. Public Declare Function CreateColorSpace _
  73.        Lib "gdi32" _
  74.        Alias "CreateColorSpaceA" _
  75.             (lplogcolorspace As LogColorSpace) _
  76.              As Long
  77.  
  78. 'the will create a bitmap compatable with the passed hDc
  79. Public Declare Function CreateCompatibleBitmap _
  80.        Lib "gdi32" _
  81.             (ByVal hDc As Long, _
  82.             ByVal nWidth As Long, _
  83.             ByVal nHeight As Long) _
  84.             As Long
  85.  
  86. 'this create a compatable device context with the specified
  87. 'windows handle
  88. Public Declare Function CreateCompatibleDC _
  89.        Lib "gdi32" _
  90.             (ByVal hDc As Long) _
  91.              As Long
  92.  
  93. 'creates an elliptical region in a hDc
  94. Public Declare Function CreateEllipticRgn _
  95.        Lib "gdi32" _
  96.             (ByVal X1 As Long, _
  97.              ByVal Y1 As Long, _
  98.              ByVal X2 As Long, _
  99.              ByVal Y2 As Long) _
  100.              As Long
  101.  
  102. 'creates an elliptical region in a hDc
  103. Public Declare Function CreateEllipticRgnIndirect _
  104.        Lib "gdi32" _
  105.             (EllRect As Rect) _
  106.              As Long
  107.  
  108. 'creates a font compatable with the specified device context
  109. Public Declare Function CreateFontIndirect _
  110.        Lib "gdi32" _
  111.        Alias "CreateFontIndirectA" _
  112.             (lpLogFont As LogFont) _
  113.              As Long
  114.  
  115. 'creates a pen that can be applied to a hDc
  116. Public Declare Function CreatePen _
  117.        Lib "gdi32" _
  118.             (ByVal nPenStyle As Long, _
  119.              ByVal nWidth As Long, _
  120.              ByVal crColor As Long) _
  121.              As Long
  122.  
  123. 'creates a pen that can be applied to a hDc
  124. Public Declare Function CreatePenIndirect _
  125.        Lib "gdi32" _
  126.             (lpLogPen As LogPen) _
  127.              As Long
  128.  
  129. 'creates a rectangular region on a hDc
  130. Public Declare Function CreateRectRgn _
  131.        Lib "gdi32" _
  132.             (Left As Integer, _
  133.              Top As Integer, _
  134.              Right As Integer, _
  135.              Bottom As Integer) _
  136.              As Long
  137.  
  138. 'creates a solid colour brush to be applied to
  139. 'a bitmap
  140. Public Declare Function CreateSolidBrush _
  141.        Lib "gdi32" _
  142.             (ColorRef As Long) _
  143.              As Long
  144.  
  145. 'removes a device context from memory
  146. Public Declare Function DeleteDC _
  147.        Lib "gdi32" _
  148.             (ByVal hDc As Long) _
  149.              As Long
  150.  
  151. 'removes an object such as a brush or bitmap from memory
  152. Public Declare Function DeleteObject _
  153.        Lib "gdi32" _
  154.             (ByVal hObject As Long) _
  155.              As Long
  156.  
  157. 'this draws the animated minimize/maximize rectangeles
  158. Public Declare Function DrawAnimatedRects _
  159.        Lib "user32" _
  160.             (ByVal hWnd As Long, _
  161.              ByVal idAni As Long, _
  162.              lprcFrom As Rect, _
  163.              lprcTo As Rect) _
  164.              As Long
  165.  
  166. 'this draws an icon onto a surphase (eg, a bitmap)
  167. Public Declare Function DrawIconEx _
  168.        Lib "user32" _
  169.             (ByVal hDc As Long, _
  170.              ByVal xLeft As Long, _
  171.              ByVal yTop As Long, _
  172.              ByVal hIcon As Long, _
  173.              ByVal cxWidth As Long, _
  174.              ByVal cyWidth As Long, _
  175.              ByVal istepIfAniCur As Long, _
  176.              ByVal hbrFlickerFreeDraw As Long, _
  177.              ByVal diFlags As Long) _
  178.              As Long
  179.  
  180. 'this draws text onto the bitmap
  181. Public Declare Function DrawText _
  182.        Lib "user32" _
  183.        Alias "DrawTextA" _
  184.             (ByVal hDc As Long, _
  185.              ByVal lpStr As String, _
  186.              ByVal nCount As Long, _
  187.              lpRect As Rect, _
  188.              ByVal wFormat As Long) _
  189.              As Long
  190.  
  191. 'this draws an ellipse onto the bitmap
  192. Public Declare Function Ellipse _
  193.        Lib "gdi32" _
  194.             (ByVal hDc As Long, _
  195.              X1 As Integer, _
  196.              Y1 As Integer, _
  197.              X2 As Integer, _
  198.              Y2 As Integer) _
  199.              As Boolean
  200.  
  201. 'this will set the display settings
  202. Public Declare Function EnumDisplaySettings _
  203.        Lib "user32" _
  204.        Alias "EnumDisplaySettingsA" _
  205.             (ByVal A As Long, _
  206.              ByVal B As Long, _
  207.              wef As DEVMODE) _
  208.              As Boolean
  209.  
  210. 'this provides more control than the CreatePen function
  211. Public Declare Function ExtCreatePen _
  212.        Lib "gdi32" _
  213.             (ByVal dwPenStyle As Long, _
  214.              ByVal dwWidth As Long, _
  215.              lplb As LogBrush, _
  216.              ByVal dwStyleCount As Long, _
  217.              lpStyle As Long) _
  218.              As Long
  219.  
  220. 'this will fill the rectangle with the brush applied
  221. 'to the hDc
  222. Public Declare Function FillRect _
  223.        Lib "user32" _
  224.             (ByVal hWnd As Long, _
  225.              Fill As Rect, _
  226.              hBrush As Long) _
  227.              As Integer
  228.  
  229. 'this will fill a region with the brush specified
  230. Public Declare Function FillRgn _
  231.        Lib "gdi32" _
  232.             (ByVal hDc As Long, _
  233.              ByVal HRgn As Long, _
  234.              hBrush As Long) _
  235.              As Boolean
  236.  
  237. 'this will find a window based on its class and
  238. 'window name
  239. Public Declare Function FindWindow _
  240.        Lib "user32" _
  241.        Alias "FindWindowA" _
  242.             (ByVal lpClassName As String, _
  243.              ByVal lpWindowName As String) _
  244.              As Long
  245.  
  246. 'this will return the handle of the top-most window
  247. Public Declare Function GetActiveWindow _
  248.        Lib "user32" _
  249.             () _
  250.              As Long
  251.  
  252. 'this will get the state of any specified key - even
  253. 'the mouse buttons
  254. Public Declare Function GetAsyncKeyState _
  255.        Lib "user32" _
  256.             (ByVal vKey As Long) _
  257.              As Integer
  258.  
  259. 'this will get the dimensions of the specified bitmap
  260. Public Declare Function GetBitmapDimensionEx _
  261.        Lib "gdi32" _
  262.             (ByVal hBitmap As Long, _
  263.              lpDimension As SizeType) _
  264.              As Long
  265.  
  266. 'this will get the class name from the handle of the
  267. 'window specified
  268. Public Declare Function GetClassName _
  269.        Lib "user32" _
  270.        Alias "GetClassNameA" _
  271.             (ByVal hWnd As Long, _
  272.              ByVal lpClassName As String, _
  273.              ByVal nMaxCount As Long) _
  274.              As Long
  275.  
  276. 'this will capture a screen shot of the specified
  277. 'area of the client
  278. Public Declare Function GetClientRect _
  279.        Lib "user32" _
  280.             (ByVal hWnd As Long, _
  281.              lpRect As Rect) _
  282.              As Long
  283.  
  284. 'this gets the cursors icon picture
  285. Public Declare Function GetCursor _
  286.        Lib "user32" _
  287.             () _
  288.              As Long
  289.  
  290. 'this gets the position of the cursor on the screen
  291. '(given in pixels)
  292. Public Declare Function GetCursorPos _
  293.        Lib "user32" _
  294.             (lpPoint As PointAPI) _
  295.              As Long
  296.  
  297. 'gets a hDc of the specified window
  298. Public Declare Function GetDC _
  299.        Lib "user32" _
  300.             (ByVal hWnd As Long) _
  301.             As Long
  302.  
  303. 'gets the entire screen area
  304. Public Declare Function GetDesktopWindow _
  305.        Lib "user32" _
  306.             () _
  307.              As Long
  308.  
  309. 'this will get the current devices' capabilities
  310. Public Declare Function GetDeviceCaps _
  311.        Lib "gdi32" _
  312.             (ByVal hDc As Long, _
  313.              ByVal nIndex As Long) _
  314.              As Long
  315.  
  316. 'get the last error to occur from within the api
  317. Public Declare Function GetLastError _
  318.        Lib "kernel32" _
  319.             () _
  320.              As Long
  321.  
  322. 'get the handle of the menu bar on a window
  323. Private Declare Function GetMenu _
  324.         Lib "user32" _
  325.             (ByVal hWnd As Long) _
  326.              As Long
  327.  
  328. 'Get the sub menu ID number. This is used to
  329. 'reference sub menus along with their handle
  330. Private Declare Function GetMenuItemID _
  331.         Lib "user32" _
  332.             (ByVal hMenu As Long, _
  333.              ByVal nPos As Long) _
  334.              As Long
  335.  
  336. 'get information about the specified object such as
  337. 'its dimensions etc.
  338. Public Declare Function GetObjectAPI _
  339.        Lib "gdi32" _
  340.        Alias "GetObjectA" _
  341.             (ByVal hObject As Long, _
  342.              ByVal nCount As Long, _
  343.              lpObject As Any) _
  344.              As Long
  345.  
  346. 'get the colour of the specified pixel
  347. Public Declare Function GetPixel _
  348.        Lib "gdi32" _
  349.             (ByVal hDc As Long, _
  350.              ByVal X As Long, _
  351.              ByVal Y As Long) _
  352.              As Long
  353.  
  354. 'this will get the handle of a specified
  355. 'sub menu using the handle of the menu
  356. 'and the item ID
  357. Private Declare Function GetSubMenu _
  358.         Lib "user32" _
  359.             (ByVal hMenu As Long, _
  360.              ByVal nPos As Long) _
  361.              As Long
  362.  
  363. 'get the dimensions of the applied text metrics for
  364. 'the device context
  365. Public Declare Function GetTextMetrics _
  366.        Lib "gdi32" _
  367.        Alias "GetTextMetricsA" _
  368.             (ByVal hDc As Long, _
  369.              lpMetrics As TEXTMETRIC) _
  370.              As Long
  371.  
  372. 'returns the amount of time windows has been active for
  373. 'in milliseconds (sec/1000)
  374. Public Declare Function GetTickCount _
  375.        Lib "kernel32" _
  376.             () _
  377.              As Long  'very usefull timing function ;)
  378.  
  379. 'retrieves the handle of a window that has the
  380. 'specified relationship to the specified window.
  381. Public Declare Function GetWindow _
  382.        Lib "user32" _
  383.             (ByVal hWnd As Long, _
  384.              ByVal wCmd As Long) _
  385.              As Long
  386.  
  387. 'gets the area the specified window takes up
  388. Public Declare Function GetWindowRect _
  389.        Lib "user32" _
  390.             (ByVal hWnd As Long, _
  391.              lpRect As Rect) _
  392.              As Long
  393.  
  394. 'increases the size of a rect structure
  395. Public Declare Function InflateRect _
  396.        Lib "user32" _
  397.             (lpRect As Rect, _
  398.              ByVal X As Long, _
  399.              ByVal Y As Long) _
  400.              As Long
  401.  
  402. 'gets any intersection of two rectangles
  403. Public Declare Function IntersectRect _
  404.        Lib "user32" _
  405.             (lpDestRect As Rect, _
  406.              lpSrc1Rect As Rect, _
  407.              lpSrc2Rect As Rect) _
  408.              As Long
  409.  
  410. 'draws a line from the current position to the
  411. 'specified co-ordinates
  412. Public Declare Function LineTo _
  413.        Lib "gdi32" _
  414.             (ByVal hDc As Long, _
  415.              XEnd As Integer, _
  416.              YEnd As Integer) _
  417.              As Boolean
  418.  
  419. 'this will load a cursor into a device context
  420. Public Declare Function LoadCursor _
  421.        Lib "user32" _
  422.        Alias "LoadCursorA" _
  423.             (ByVal hInstance As Long, _
  424.              ByVal lpCursorName As Any) _
  425.              As Long
  426.  
  427. 'this will load an image into a device context
  428. Public Declare Function LoadImage _
  429.        Lib "user32" _
  430.        Alias "LoadImageA" _
  431.             (ByVal hInst As Long, _
  432.              ByVal lpsz As String, _
  433.              ByVal un1 As Long, _
  434.              ByVal n1 As Long, _
  435.              ByVal n2 As Long, _
  436.              ByVal un2 As Long) _
  437.              As Long
  438.  
  439. 'This stops the specified window from updating
  440. 'its display. This is mainly used to help cut out
  441. 'flicker but does not work on controls.
  442. Public Declare Function LockWindowUpdate _
  443.        Lib "user32" _
  444.             (ByVal hwndLock As Long) _
  445.              As Long
  446. 'changes some of a menu's properties
  447. Private Declare Function ModifyMenu _
  448.         Lib "user32" _
  449.         Alias "ModifyMenuA" _
  450.             (ByVal hMenu As Long, _
  451.              ByVal nPosition As Long, _
  452.              ByVal wFlags As Long, _
  453.              ByVal wIDNewItem As Long, _
  454.              ByVal lpString As Any) _
  455.              As Long
  456.  
  457. 'moves the current position to the specified
  458. 'point
  459. Public Declare Function MoveToEx _
  460.        Lib "gdi32" _
  461.             (ByVal hDc As Long, _
  462.              X As Integer, _
  463.              Y As Integer, _
  464.              lpPoint As PointAPI) _
  465.              As Boolean
  466.  
  467. 'multiplies two numbers and divides them by a third
  468. 'numbers
  469. Public Declare Function MulDiv _
  470.        Lib "kernel32" _
  471.             (ByVal nNumber As Long, _
  472.              ByVal nNumerator As Long, _
  473.              ByVal nDenominator As Long) _
  474.              As Long
  475.  
  476. 'This will increase or decrease a rectangles
  477. 'co-ordinates by the specified amount. Usefull
  478. 'for moving graphic blocks as rect structures.
  479. Public Declare Function OffsetRect _
  480.        Lib "user32" _
  481.             (lpRect As Rect, _
  482.              ByVal X As Long, _
  483.              ByVal Y As Long) _
  484.              As Long
  485.  
  486. 'Pattern Blitter. Used to draw a pattern onto
  487. 'a device context
  488. Public Declare Function PatBlt _
  489.        Lib "gdi32" _
  490.             (ByVal hDc As Long, _
  491.              ByVal X As Long, _
  492.              ByVal Y As Long, _
  493.              ByVal nWidth As Long, _
  494.              ByVal nHeight As Long, _
  495.              ByVal dwRop As Long) _
  496.              As Long
  497.  
  498. 'This draws a polygon onto a device context
  499. 'useing an array.
  500. Public Declare Function Polygon _
  501.        Lib "gdi32" _
  502.             (ByVal hDc As Long, _
  503.              lpPoint As PointAPI, _
  504.              ByVal nCount As Long) _
  505.              As Long
  506.  
  507. 'This will draw a set of lines to the specifed
  508. 'points
  509. Public Declare Function Polyline _
  510.        Lib "gdi32" _
  511.             (ByVal hDc As Long, _
  512.              lpPoint As PointAPI, _
  513.              ByVal nCount As Long) _
  514.              As Long
  515.  
  516. 'This will draw a set of lines starting from
  517. 'the current position on the device context.
  518. Public Declare Function PolylineTo _
  519.        Lib "gdi32" _
  520.             (ByVal hDc As Long, _
  521.              lppt As PointAPI, _
  522.              ByVal cCount As Long) _
  523.              As Long
  524.  
  525. 'This draws a rectangle onto the device
  526. 'context
  527. Public Declare Function Rectangle _
  528.        Lib "gdi32" _
  529.             (ByVal hWnd As Long, _
  530.              X1 As Integer, _
  531.              Y1 As Integer, _
  532.              X2 As Integer, _
  533.              Y2 As Integer) _
  534.              As Long
  535.  
  536. 'This will release a device context from
  537. 'memory. Not to be confused with DeleteDC
  538. Public Declare Function ReleaseDC _
  539.        Lib "user32" _
  540.             (ByVal hWnd As Long, _
  541.              ByVal hDc As Long) _
  542.              As Long
  543.  
  544. 'this will draw a round-cornered rectangle
  545. 'onto the specified device context
  546. Public Declare Function RoundRect _
  547.        Lib "gdi32" _
  548.             (ByVal hDc As Long, _
  549.              ByVal Left As Long, _
  550.              ByVal Top As Long, _
  551.              ByVal Right As Long, _
  552.              ByVal Bottom As Long, _
  553.              ByVal X3 As Long, _
  554.              ByVal Y3 As Long) _
  555.              As Long
  556.  
  557. 'this will select the specified object to
  558. 'a window or device context
  559. Public Declare Function SelectObject _
  560.        Lib "gdi32" _
  561.             (ByVal hDc As Long, _
  562.              ByVal hObject As Long) _
  563.              As Long
  564.  
  565. 'This sets the background colour on a bitmap
  566. Public Declare Function SetBkColor _
  567.        Lib "gdi32" _
  568.             (ByVal hDc As Long, _
  569.              ByVal crColor As Long) _
  570.              As Long
  571.  
  572. 'This sets the background mode on a bitmap
  573. '(eg, transparent, solid etc)
  574. Public Declare Function SetBkMode _
  575.        Lib "gdi32" _
  576.             (ByVal hDc As Long, _
  577.              ByVal nBkMode As Long) _
  578.              As Long
  579.  
  580. 'The color adjustment values are used to adjust
  581. 'the input color of the source bitmap for calls
  582. 'to the StretchBlt and StretchDIBits functions
  583. 'when HALFTONE mode is set.
  584. Public Declare Function SetColorAdjustment _
  585.        Lib "gdi32" _
  586.             (ByVal hDc As Long, _
  587.              lpca As COLORADJUSTMENT) _
  588.              As Long
  589.  
  590. 'sets the colourspace to a device context
  591. Public Declare Function SetColorSpace _
  592.        Lib "gdi32" _
  593.             (ByVal hDc As Long, _
  594.              ByVal hcolorspace As Long) _
  595.              As Long
  596.  
  597. 'sets the bitmap of a menu
  598. Private Declare Function SetMenuItemBitmaps _
  599.         Lib "user32" _
  600.             (ByVal hMenu As Long, _
  601.              ByVal nPosition As Long, _
  602.              ByVal wFlags As Long, _
  603.              ByVal hBitmapUnchecked As Long, _
  604.              ByVal hBitmapChecked As Long) _
  605.              As Long
  606.  
  607. 'sets the current information about the selected menu
  608. Private Declare Function SetMenuItemInfo _
  609.         Lib "user32" _
  610.         Alias "SetMenuItemInfoA" _
  611.             (ByVal hMenu As Long, _
  612.              ByVal uItem As Long, _
  613.              ByVal fByPosition As Long, _
  614.              lpmii As MENUITEMINFO) _
  615.              As Long
  616.  
  617. 'sets the colour of the specified pixel
  618. Public Declare Function SetPixel _
  619.        Lib "gdi32" _
  620.             (ByVal hDc As Long, _
  621.              ByVal X As Long, _
  622.              ByVal Y As Long, _
  623.              ByVal crColor As Long) _
  624.              As Long
  625.  
  626. 'sets the rectangles size and position
  627. Public Declare Function SetRect _
  628.        Lib "user32" _
  629.             (lpRect As Rect, _
  630.              ByVal X1 As Long, _
  631.              ByVal Y1 As Long, _
  632.              ByVal X2 As Long, _
  633.              ByVal Y2 As Long) _
  634.              As Long
  635.  
  636. 'sets the current text colour
  637. Public Declare Function SetTextColor _
  638.        Lib "gdi32" _
  639.             (ByVal hDc As Long, _
  640.              ByVal crColor As Long) _
  641.              As Long
  642.  
  643. 'pauses the execution of the programs thread
  644. 'for a specified amount of milliseconds
  645. Public Declare Sub Sleep _
  646.        Lib "kernel32" _
  647.             (ByVal dwMilliseconds As Long)
  648.  
  649. 'used to stretch or shrink a bitmap
  650. Public Declare Function StretchBlt _
  651.        Lib "gdi32" _
  652.             (ByVal hDc As Long, _
  653.              ByVal X As Long, _
  654.              ByVal Y As Long, _
  655.              ByVal nWidth As Long, _
  656.              ByVal nHeight As Long, _
  657.              ByVal hSrcDC As Long, _
  658.              ByVal xSrc As Long, _
  659.              ByVal ySrc As Long, _
  660.              ByVal nSrcWidth As Long, _
  661.              ByVal nSrcHeight As Long, _
  662.              ByVal dwRop As Long) _
  663.              As Long
  664.  
  665.  
  666. '--------------------------------------------------------------------------
  667. 'enumerator section
  668. '--------------------------------------------------------------------------
  669.  
  670. 'the direction of the gradient
  671. Public Enum GradientTo
  672.     GradHorizontal = 0
  673.     GradVertical = 1
  674. End Enum
  675.  
  676. 'in twips or pixels
  677. Public Enum Scaling
  678.     InTwips = 0
  679.     InPixels = 1
  680. End Enum
  681.  
  682. 'The key values of the mouse buttons
  683. Public Enum MouseKeys
  684.     MouseLeft = 1
  685.     MouseRight = 2
  686.     MouseMiddle = 4
  687. End Enum
  688.  
  689. 'text alignment constants
  690. Public Enum AlignText
  691.     vbLeftAlign = 1
  692.     vbCentreAlign = 2
  693.     vbRightAlign = 3
  694. End Enum
  695.  
  696. 'bitmap flip constants
  697. Public Enum FlipType
  698.     FlipHorizontally = 0
  699.     FlipVertically = 1
  700. End Enum
  701.  
  702. 'image load constants
  703. Public Enum LoadType
  704.     IMAGE_BITMAP& = 0
  705. End Enum
  706.     
  707. 'rotate bitmap constants
  708. Public Enum RotateType
  709.     RotateRight = 0
  710.     RotateLeft = 1
  711.     Rotate180 = 2
  712. End Enum
  713.  
  714. '--------------------------------------------------------------------------
  715. 'Programmer defined data types
  716. '--------------------------------------------------------------------------
  717.  
  718. 'Bitmap structue for menu information
  719. Private Type MENUITEMINFO
  720.   cbSize As Long
  721.   fMask As Long
  722.   fType As Long
  723.   fState As Long
  724.   wID As Long
  725.   hSubMenu As Long
  726.   hbmpChecked As Long
  727.   hbmpUnchecked As Long
  728.   dwItemData As Long
  729.   dwTypeData As String
  730.   cch As Long
  731. End Type
  732.  
  733. 'size structure
  734. Public Type SizeType
  735.         cx As Long
  736.         cy As Long
  737. End Type
  738.  
  739. 'Text metrics
  740. Public Type TEXTMETRIC
  741.         tmHeight As Long
  742.         tmAscent As Long
  743.         tmDescent As Long
  744.         tmInternalLeading As Long
  745.         tmExternalLeading As Long
  746.         tmAveCharWidth As Long
  747.         tmMaxCharWidth As Long
  748.         tmWeight As Long
  749.         tmOverhang As Long
  750.         tmDigitizedAspectX As Long
  751.         tmDigitizedAspectY As Long
  752.         tmFirstChar As Byte
  753.         tmLastChar As Byte
  754.         tmDefaultChar As Byte
  755.         tmBreakChar As Byte
  756.         tmItalic As Byte
  757.         tmUnderlined As Byte
  758.         tmStruckOut As Byte
  759.         tmPitchAndFamily As Byte
  760.         tmCharSet As Byte
  761. End Type
  762.  
  763.  
  764. Public Type COLORADJUSTMENT
  765.         caSize As Integer
  766.         caFlags As Integer
  767.         caIlluminantIndex As Integer
  768.         caRedGamma As Integer
  769.         caGreenGamma As Integer
  770.         caBlueGamma As Integer
  771.         caReferenceBlack As Integer
  772.         caReferenceWhite As Integer
  773.         caContrast As Integer
  774.         caBrightness As Integer
  775.         caColorfulness As Integer
  776.         caRedGreenTint As Integer
  777. End Type
  778.  
  779. Public Type CIEXYZ
  780.     ciexyzX As Long
  781.     ciexyzY As Long
  782.     ciexyzZ As Long
  783. End Type
  784.  
  785. Public Type CIEXYZTRIPLE
  786.     ciexyzRed As CIEXYZ
  787.     ciexyzGreen As CIEXYZ
  788.     ciexyBlue As CIEXYZ
  789. End Type
  790.  
  791. Public Type LogColorSpace
  792.     lcsSignature As Long
  793.     lcsVersion As Long
  794.     lcsSize As Long
  795.     lcsCSType As Long
  796.     lcsIntent As Long
  797.     lcsEndPoints As CIEXYZTRIPLE
  798.     lcsGammaRed As Long
  799.     lcsGammaGreen As Long
  800.     lcsGammaBlue As Long
  801.     lcsFileName As String * 26 'MAX_PATH
  802. End Type
  803.  
  804. 'display settings (800x600 etc)
  805. Public Type DEVMODE
  806.         dmDeviceName As String * 32
  807.         dmSpecVersion As Integer
  808.         dmDriverVersion As Integer
  809.         dmSize As Integer
  810.         dmDriverExtra As Integer
  811.         dmFields As Long
  812.         dmOrientation As Integer
  813.         dmPaperSize As Integer
  814.         dmPaperLength As Integer
  815.         dmPaperWidth As Integer
  816.         dmScale As Integer
  817.         dmCopies As Integer
  818.         dmDefaultSource As Integer
  819.         dmPrintQuality As Integer
  820.         dmColor As Integer
  821.         dmDuplex As Integer
  822.         dmYResolution As Integer
  823.         dmTTOption As Integer
  824.         dmCollate As Integer
  825.         dmFormName As String * 32
  826.         dmUnusedPadding As Integer
  827.         dmBitsPerPel As Long
  828.         dmPelsWidth As Long
  829.         dmPelsHeight As Long
  830.         dmDisplayFlags As Long
  831.         dmDisplayFrequency As Long
  832. End Type
  833.  
  834. Public Type Rect
  835.     Left As Long
  836.     Top As Long
  837.     Right As Long
  838.     Bottom As Long
  839. End Type
  840.  
  841. Public Type BitmapStruc
  842.     hDcMemory As Long
  843.     hDcBitmap As Long
  844.     hDcPointer As Long
  845.     Area As Rect
  846. End Type
  847.  
  848. Public Type PointAPI
  849.     X As Long
  850.     Y As Long
  851. End Type
  852.  
  853. Public Type LogPen
  854.         lopnStyle As Long
  855.         lopnWidth As PointAPI
  856.         lopnColor As Long
  857. End Type
  858.  
  859. Public Type LogBrush
  860.         lbStyle As Long
  861.         lbColor As Long
  862.         lbHatch As Long
  863. End Type
  864.  
  865. Public Type FontStruc
  866.     Name As String
  867.     Alignment As AlignText
  868.     Bold As Boolean
  869.     Italic As Boolean
  870.     Underline As Boolean
  871.     StrikeThru As Boolean
  872.     PointSize As Byte
  873.     Colour As Long
  874. End Type
  875.  
  876. Public Type LogFont
  877.     'for the DrawText api call
  878.     lfHeight As Long
  879.     lfWidth As Long
  880.     lfEscapement As Long
  881.     lfOrientation As Long
  882.     lfWeight As Long
  883.     lfItalic As Byte
  884.     lfUnderline As Byte
  885.     lfStrikeOut As Byte
  886.     lfCharSet As Byte
  887.     lfOutPrecision As Byte
  888.     lfClipPrecision As Byte
  889.     lfQuality As Byte
  890.     lfPitchAndFamily As Byte
  891.     lfFaceName(1 To 32) As Byte
  892. End Type
  893.  
  894. Public Type Point
  895.     'you'll need this to reference a point on the
  896.     'screen'
  897.     X As Integer
  898.     Y As Integer
  899. End Type
  900.  
  901. 'To hold the RGB value
  902. Public Type RGBVal
  903.     Red As Single
  904.     Green As Single
  905.     Blue As Single
  906. End Type
  907.  
  908. 'bitmap structure for the GetObject api call
  909. Public Type BITMAP '14 bytes
  910.         bmType As Long
  911.         bmWidth As Long
  912.         bmHeight As Long
  913.         bmWidthBytes As Long
  914.         bmPlanes As Integer
  915.         bmBitsPixel As Integer
  916.         bmBits As Long
  917. End Type
  918.  
  919. '--------------------------------------------------------------------------
  920. 'Constants section
  921. '--------------------------------------------------------------------------
  922.  
  923. 'general constants
  924. Public Const GW_CHILD = 5
  925. Public Const GW_HWNDFIRST = 0
  926. Public Const GW_HWNDLAST = 1
  927. Public Const GW_HWNDNEXT = 2
  928. Public Const GW_HWNDPREV = 3
  929. Public Const GWL_WNDPROC = (-4)
  930. Public Const IDANI_OPEN = &H1
  931. Public Const IDANI_CLOSE = &H2
  932. Public Const IDANI_CAPTION = &H3
  933. Public Const WM_USER = &H400
  934.  
  935. 'Image load constants
  936. Public Const LR_LOADFROMFILE As Long = &H10
  937. Public Const LR_CREATEDIBSECTION As Long = &H2000
  938. Public Const LR_DEFAULTSIZE As Long = &H40
  939.  
  940. 'PatBlt constants
  941. Public Const PATCOPY = &HF00021 ' (DWORD) dest = pattern
  942. Public Const PATINVERT = &H5A0049       ' (DWORD) dest = pattern XOR dest
  943. Public Const PATPAINT = &HFB0A09        ' (DWORD) dest = DPSnoo
  944. Public Const DSTINVERT = &H550009       ' (DWORD) dest = (NOT dest)
  945. Public Const BLACKNESS = &H42 ' (DWORD) dest = BLACK
  946. Public Const WHITENESS = &HFF0062       ' (DWORD) dest = WHITE
  947.  
  948. 'Display constants
  949. Public Const CDS_FULLSCREEN = 4
  950. Public Const DM_BITSPERPEL = &H40000
  951. Public Const DM_PELSWIDTH = &H80000
  952. Public Const DM_PELSHEIGHT = &H100000
  953. Public Const DM_DISPLAYFLAGS = &H200000
  954. Public Const DM_DISPLAYFREQUENCY = &H400000
  955.  
  956. 'DrawText constants
  957. Public Const DT_CENTER = &H1
  958. Public Const DT_BOTTOM = &H8
  959. Public Const DT_CALCRECT = &H400
  960. Public Const DT_EXPANDTABS = &H40
  961. Public Const DT_EXTERNALLEADING = &H200
  962. Public Const DT_LEFT = &H0
  963. Public Const DT_NOCLIP = &H100
  964. Public Const DT_NOPREFIX = &H800
  965. Public Const DT_RIGHT = &H2
  966. Public Const DT_SINGLELINE = &H20
  967. Public Const DT_TABSTOP = &H80
  968. Public Const DT_TOP = &H0
  969. Public Const DT_VCENTER = &H4
  970. Public Const DT_WORDBREAK = &H10
  971. Public Const TRANSPARENT = 1
  972. Public Const OPAQUE = 2
  973.  
  974. 'CreateBrushIndirect constants
  975. Public Const BS_DIBPATTERN = 5
  976. Public Const BS_DIBPATTERN8X8 = 8
  977. Public Const BS_DIBPATTERNPT = 6
  978. Public Const BS_HATCHED = 2
  979. Public Const BS_HOLLOW = 1
  980. Public Const BS_NULL = 1
  981. Public Const BS_PATTERN = 3
  982. Public Const BS_PATTERN8X8 = 7
  983. Public Const BS_SOLID = 0
  984. Public Const HS_BDIAGONAL = 3               '  /////
  985. Public Const HS_CROSS = 4                   '  +++++
  986. Public Const HS_DIAGCROSS = 5               '  xxxxx
  987. Public Const HS_FDIAGONAL = 2               '  \\\\\
  988. Public Const HS_HORIZONTAL = 0              '  -----
  989. Public Const HS_NOSHADE = 17
  990. Public Const HS_SOLID = 8
  991. Public Const HS_SOLIDBKCLR = 23
  992. Public Const HS_SOLIDCLR = 19
  993. Public Const HS_VERTICAL = 1                '  |||||
  994.  
  995. 'BitBlt constants
  996. Public Const SRCAND = &H8800C6  ' (DWORD) dest = source AND dest
  997. Public Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
  998. Public Const SRCERASE = &H440328        ' (DWORD) dest = source AND (NOT dest )
  999. Public Const SRCINVERT = &H660046       ' (DWORD) dest = source XOR dest
  1000. Public Const SRCPAINT = &HEE0086        ' (DWORD) dest = source OR dest
  1001. Public Const MERGECOPY = &HC000CA       ' (DWORD) dest = (source AND pattern)
  1002. Public Const MERGEPAINT = &HBB0226      ' (DWORD) dest = (NOT source) OR dest
  1003. Public Const NOTSRCCOPY = &H330008      ' (DWORD) dest = (NOT source)
  1004. Public Const NOTSRCERASE = &H1100A6     ' (DWORD) dest = (NOT src) AND (NOT dest)
  1005.  
  1006. 'LogFont constants
  1007. Public Const LF_FACESIZE = 32
  1008. Public Const FW_BOLD = 700
  1009. Public Const FW_DONTCARE = 0
  1010. Public Const FW_EXTRABOLD = 800
  1011. Public Const FW_EXTRALIGHT = 200
  1012. Public Const FW_HEAVY = 900
  1013. Public Const FW_LIGHT = 300
  1014. Public Const FW_MEDIUM = 500
  1015. Public Const FW_NORMAL = 400
  1016. Public Const FW_SEMIBOLD = 600
  1017. Public Const FW_THIN = 100
  1018. Public Const DEFAULT_CHARSET = 1
  1019. Public Const OUT_CHARACTER_PRECIS = 2
  1020. Public Const OUT_DEFAULT_PRECIS = 0
  1021. Public Const OUT_DEVICE_PRECIS = 5
  1022. Public Const OUT_OUTLINE_PRECIS = 8
  1023. Public Const OUT_RASTER_PRECIS = 6
  1024. Public Const OUT_STRING_PRECIS = 1
  1025. Public Const OUT_STROKE_PRECIS = 3
  1026. Public Const OUT_TT_ONLY_PRECIS = 7
  1027. Public Const OUT_TT_PRECIS = 4
  1028. Public Const CLIP_CHARACTER_PRECIS = 1
  1029. Public Const CLIP_DEFAULT_PRECIS = 0
  1030. Public Const CLIP_EMBEDDED = 128
  1031. Public Const CLIP_LH_ANGLES = 16
  1032. Public Const CLIP_MASK = &HF
  1033. Public Const CLIP_STROKE_PRECIS = 2
  1034. Public Const CLIP_TT_ALWAYS = 32
  1035. Public Const WM_SETFONT = &H30
  1036. Public Const LF_FULLFACESIZE = 64
  1037. Public Const DEFAULT_PITCH = 0
  1038. Public Const DEFAULT_QUALITY = 0
  1039. Public Const PROOF_QUALITY = 2
  1040.  
  1041. 'GetDeviceCaps constants
  1042. Public Const LOGPIXELSY = 90        '  Logical pixels/inch in Y
  1043.  
  1044. 'colourspace constants
  1045. Public Const MAX_PATH = 260
  1046.  
  1047. 'pen constants
  1048. Public Const PS_COSMETIC = &H0
  1049. Public Const PS_DASH = 1                    '  -------
  1050. Public Const PS_DASHDOT = 3                 '  _._._._
  1051. Public Const PS_DASHDOTDOT = 4              '  _.._.._
  1052. Public Const PS_DOT = 2                     '  .......
  1053. Public Const PS_ENDCAP_ROUND = &H0
  1054. Public Const PS_ENDCAP_SQUARE = &H100
  1055. Public Const PS_ENDCAP_FLAT = &H200
  1056. Public Const PS_GEOMETRIC = &H10000
  1057. Public Const PS_INSIDEFRAME = 6
  1058. Public Const PS_JOIN_BEVEL = &H1000
  1059. Public Const PS_JOIN_MITER = &H2000
  1060. Public Const PS_JOIN_ROUND = &H0
  1061. Public Const PS_SOLID = 0
  1062.  
  1063. 'mouse cursor constants
  1064. Public Const IDC_APPSTARTING = 32650&
  1065. Public Const IDC_ARROW = 32512&
  1066. Public Const IDC_CROSS = 32515&
  1067. Public Const IDC_IBEAM = 32513&
  1068. Public Const IDC_ICON = 32641&
  1069. Public Const IDC_NO = 32648&
  1070. Public Const IDC_SIZE = 32640&
  1071. Public Const IDC_SIZEALL = 32646&
  1072. Public Const IDC_SIZENESW = 32643&
  1073. Public Const IDC_SIZENS = 32645&
  1074. Public Const IDC_SIZENWSE = 32642&
  1075. Public Const IDC_SIZEWE = 32644&
  1076. Public Const IDC_UPARROW = 32516&
  1077. Public Const IDC_WAIT = 32514&
  1078.  
  1079. 'menu constants
  1080. Private Const MFT_RADIOCHECK = &H200&
  1081. Private Const MF_BITMAP = &H4&
  1082. Private Const MIIM_TYPE = &H10
  1083. Private Const MIIM_SUBMENU = &H4
  1084.  
  1085. 'some key values for GetASyncKeyState
  1086. Public Const KLeft = 37
  1087. Public Const KUp = 38
  1088. Public Const KRight = 39
  1089. Public Const KDown = 40
  1090.  
  1091. 'some mathimatical constants
  1092. Public Const Pi = 3.14159265358979
  1093.  
  1094. '--------------------------------------------------------------------------
  1095. 'Variable declarations section
  1096. '--------------------------------------------------------------------------
  1097.  
  1098. 'This stores the various points of a polygon. Use DrawPoly to draw
  1099. 'the polygon with the points specified in the array.
  1100. 'Also see AddToPoly, ClearPoly and DelFromPoly
  1101. Private PolygonPoints() As PointAPI
  1102.  
  1103. 'some general variables used by some api calls
  1104. Private rctFrom As Rect
  1105. Private rctTo As Rect
  1106. Private lngTrayHand As Long
  1107. Private lngStartMenuHand As Long
  1108. Private lngChildHand As Long
  1109. Private strClass As String * 255
  1110. Private lngClassNameLen As Long
  1111. Private lngRetVal As Long
  1112. Private blnResChanged As Boolean
  1113.  
  1114. '--------------------------------------------------------------------------
  1115. 'Procedures/functions section
  1116. '--------------------------------------------------------------------------
  1117.  
  1118. Public Sub BFAlphaBlend(ByVal lngDesthDc As Long, _
  1119.                         ByVal lngPic1hDc As Long, _
  1120.                         ByVal lngPic2hDc As Long, _
  1121.                         ByVal intDestX As Integer, _
  1122.                         ByVal intDestY As Integer, _
  1123.                         ByVal intWidth As Integer, _
  1124.                         ByVal intHeight As Integer, _
  1125.                         ByVal lngPic1X As Integer, _
  1126.                         ByVal lngPic1Y As Integer, _
  1127.                         ByVal lngPic2X As Integer, _
  1128.                         ByVal lngPic2Y As Integer, _
  1129.                         Optional ByVal sngBlendAmount As Single = 0.5, _
  1130.                         Optional ByVal lngMaskhDc As Long = 0, _
  1131.                         Optional ByVal intMeasurement As Scaling = InPixels)
  1132.  
  1133.     'This is a "brute force" alpha blend function. Because it's written in
  1134.     'vb, this function is not as fast at it might otherwise be in another
  1135.     'language like C++ or Fox.
  1136.     'The purpose of the function is to mix the colours of two bitmaps to
  1137.     'produce a result that looks like both pictures. Think of it as fading
  1138.     'one picture into another. I get the pixel colour of a point in picture1,
  1139.     'and the colour of the corresponding pixel in pixture2, find the 'middle'
  1140.     'colour and put it into the destination bitmap. There are no calls to
  1141.     'other procedures or functions other than api calls. This is to improve
  1142.     'speed as all calculations are made internally.
  1143.     'The parameter sngBlendAmount MUST be between 1 and 0. If not then
  1144.     'the value is rounded to 1 or zero.
  1145.     'However, sngBlendAmount is ignored if a Mask bitmap has been specified.
  1146.     'Please note that if the mask used only contains black or white pixels,
  1147.     'then it is recommended that you use the MergeBitmaps procedure as
  1148.     'it will process the bitmaps much faster (by about 15 to 30 times).
  1149.     'Keep in mind that using a mask bitmap is about 25% slower than
  1150.     'specifying the blend amount.
  1151.  
  1152.     Dim TempBmp As BitmapStruc      'a temperory bitmap
  1153.     Dim lngResult As Long           'any result returned from an api call
  1154.     Dim Col1 As RGBVal              'used to store a pixel colour in RGB format
  1155.     Dim Col2 As RGBVal              'used to store a pixel colour in RGB format
  1156.     Dim BlendCol As RGBVal          'used to store a pixel colour in RGB format
  1157.     Dim MaskCol As RGBVal           'used to store a pixel colour in RGB format
  1158.     Dim lngCounterX As Long         'scan the rows of the bitmap
  1159.     Dim lngCounterY As Long         'scan the columns of the bitmap
  1160.     Dim intPxlHeight As Integer     'the pixel height in twips
  1161.     Dim intPxlWidth As Integer      'the pixel width in twips
  1162.     Dim lngBlendCol As Long         'the blended colour calculated from the two pixel colours of the bitmaps
  1163.     Dim lngCol1 As Long           ad       'scan the rows of the bitmap
  1164.     Dim lngCounterY APELSHS   Lean the rows of the bitmapthe mask usen is recomlpask usen =ly.5, _mATd _
  1165.           e' abouapthe mask use recoNaW0dSo store a pixel colour in RGB form2.5, _mATd _
  1166.     ByVal nCount As6s String, _
  1167.              Byst CLIP_CHARAg, _
  1168.              ByVal uItem As ---krsorPos _
  1169.        Lib "user32" _
  1170.             (llso see AddToPoli uItem As ---krsorPos _
  1171.        Lib "user3a. As ---krs_CHARAg, _
  1172.           Atem As -Rb     Atem As -Rb     Atem As -Rb     As Long, _
  1173. sddle'
  1174.     'will     Y     pEol As Long         'the blended colour calb    TtringbuItemBitmaps _
  1175.         ll     Y    3sle'
  1176.       'used to      ByVal uItem As ---krsorPos _
  1177.   in RGB at
  1178.     Dim BlendCol rivate b
  1179.     
  1180.     lf ---krs_CHARA Alias "Fin  
  1181.     lfI           ByVal dwRop As Long)  is about 25% slower than
  1182.     'specifying the blend amount.
  1183.  
  1184.     Dim TempBmp As BitmapStruc      'a temperory bitmap
  1185.     Dim lngResult As Long           'any result returned from an api call
  1186.     Dim Col1As Long         'scan the rvn RGB formC _
  1187.   ouapthe maee AdByVal lngPifrom a rect structure
  1188. Publict As  'wilARA Alias "Fin  
  1189.     lfI           ByVal d     Lib "userucs     Lib "user         'usByVal dwRop 
  1190.       urnedsg1ogFont constants
  1191. Public ConstsConsre Sub Sleep _
  1192.        Lib "kernel32" _
  1193. rm2.5, _mATdORD) dest = (NOT sourceltmap. TherDWORD) dest = (n is recomlpask usen =ly.5, _mATd _
  1194.           e' abouapthe m   Lib "user/_mATd _
  1195.           e' abouapthe m   Lib  (NOTp(onst FW_MEDIUM = 500
  1196. Public Const FW_NORMAL comlpask useants
  1197. PublicA-------
  1198. 'Variable declarations section
  1199. '---2F+ixe    ------
  1200. 'Variabpns secEns       'scnding pix
  1201. Public Dt IDC_SIZEWE = 3OTp(onst FB2" _
  1202.  W56 Dcolours  inding pi=nublicp   'scndinl As Long         'the blended colour calc
  1203. Public Const DT_Co1 As RGBVal              'used to snhin Val uItem Aed As
  1204. Public Const FW_NORMALs AcngResult _
  1205.     trClass As Strin(nst FB2" _
  1206.  W56 Dcolours  inding ic Const IDANI_CLOSE = &H2
  1207. PubP = &HbME = 3OTp(onst FB2" _
  1208.  W56 Dcolou=Pu2s fading
  1209.     'onPrPublic Const Pi = 3.14159265colours  inding inic C5colours  inding inic C5colours .-----------Tc C5colours  inding iBTf   ByVau ID _
  1210.              As Long
  1211.  
  1212. 'this will retS_PATT FW_Ns class and
  1213. 'window name
  1214. Public Dnic C5colours  inding A----------
  1215.  
  1216. 'Bitmap structW_NsestTAL comlT----polours  indpStruc     ours  store   is about 25-----------5colouris o= &H'wilARA Alinst PS_----5colouris o= &H'wilARA Alinst PS_----5colouris o= &H'wilARA Al         'tplT-- IDANI_OP = 32641&
  1217.  'tplT-- IDANI_OP = 32641&
  1218.  'tplT- usen =ly.5, _mATd _
  1219.           e' abouapth=nAlt that lookSByVal is o= &H--------------------------------------T' abouapth=nAlt y5            h' abouaXem As -Rb     As Long, _
  1220. sddle'
  1221.   roundecomlpask usen =l (ByVal hDc e)UndeY" _
  1222.  As -Rb     As Long, _
  1223. sddLong, _
  1224.   " _
  1225.  W56 Dcolours  inding pi=nublicver, sngBlendAmount lic Declare Function GetTextMetrics _
  1226.        Lib "gng
  1227. End Type
  1228.  
  1229. '------------------------------------------------------licvenile'
  1230.  -----------------ElipV4---aTteger, _
  1231.   ----T_TABSTOPolour in RGB formasee AddToPoli uItem AE = &H100
  1232. 0e5colours .----------usByVal dSTOPolour in RGB formasee AddToPoli uItem E*ill a region_
  1233.   ouapthe maee AdByVal lngPilARA Al   ger   M = 500
  1234. Pu
  1235.         caIlluminantIndex As IntegeA AlluminantIndral lpClassNAs -Rb    CN(NOTp(onst FW_MEsassNA        ByVal uItem As ---krso FW_NsNA        ByVal uItem As ---krso FW_NsNA  Val----2yVal uIByVal n2 A---krso FW_NsNA yVa ByVal intMeasurement As Scaling = InW_NsNA yVa Ber, s     'usemen     unt As6s ----------a reavsurement As Scali inding inic C5coltIndral lpClassNAs urs As  'wilARA Alias "Fin  ral lpClassNAs urs As  'wilARA Alias    uItem As ---u0=          ( As St"Fin   IDANI_OP = 326" _
  1236.          wd   DiXOP = 326" _
  1237.          wd   DiXOP = m BlendCNA yV 326" _
  1238.        r and put it into the destination bitmap. There are no calls to
  1239.     'other procedures or functions other than api calls. This is to improve
  1240.     'speed as all calculations are made internally.
  1241.     'The parameter sngBlendAm=Ih---usByVal om the current -ons are made wmhhUr  ID ---------s Long
  1242.  
  1243. 'this will retS_PATT FW_Ns cla0
  1244.        ightness---s Long
  1245.  
  1246. sill increase or decrease a rectangles
  1247. 'co-W_Ns cla0
  1248.  5pa MU decrease a r        wd   DiXOP = m Bw
  1249.  5pa MU decrease a r(decRb     Atem As -Rb     Atem As - A--lations acRb     Atem As -Rb     Atem As - s c00
  1250. 0e5colo As -Rb     er, tTextMetrics _
  1251.        Lib "gng
  1252. End Type
  1253.  
  1254. '-------cs _
  1255.        Lib c Type Point
  1256. or decrease a rectangles
  1257. 'co-W_Ns cla0
  1258.  5pEPubP --s LonB/avmap
  1259. R Ah RSET = 1
  1260. Public Const OUT_CHARACTER_PRECISnt
  1261. or dectTextMeT = 1
  1262. aw a set of lines starting from
  1263. 'the current poii Const DT_RIGHT = &H2
  1264. Public Cons.+ic Conslic Cns othb Alias "Fin  ral lpCs RectYi=nublthan
  1265.    h(Dcolours     Atem h(Dcolours     Atem h(Dcolours     Atem h  h(Dcoloua&H2
  1266. Pubp to improve
  1267.    Ls or functions other than api calls. Tlours    s --T_TAB1esbFAULT_PRECIS = 0
  1268. Public Const OUT_DEVICE_PRECIS = 5
  1269. Public ConstsDim MaskCol As RGBVal ot OUT_DEVICE_=KDxel AoA_TABST       '  gevice,s to
  1270. ong)  MU  Long
  1271.  eher LF_NA        ByVal uItem As --3 
  1272.     lfI           ByVal dwRop As Long)  is about 2= 32r LF_NAdwRop" _oEnd Type
  1273.  
  1274. '-------------------ic Const OUT_CHARACTER_PRECISr'ong)  is "kerIbng
  1275.  eher LF_NA        ByVal uIttCc-----ic Const BST       'onnst FW_ME/ to      ByVal uItem As ---krsorPos 2rsorPos 5u5 .M:ePos 2rsorPos made wmhhUr  IDEpClassNA inding UITEMINFO) _
  1276.  ma rsor on the 0anst OUT_TT_PRECIS = 4
  1277. Public Const CLIP_C_Ns cls)a_PRECIS = 0RIGHT U gevice,s to0vice,s to0vice,song         'scan the columns of the bitmap
  1278.     Dim intPxlHeig        ByVal hObject As Long) _
  1279.    ng
  1280. ntllso see Const  Type B(uare Fun      Lib im TempBmp As Bim                   ByVal lngPic2Y AmpBmp A_As Bim     I-usByVQ     3Eice,song  Heig   i
  1281.  
  1282. 'thiss RGBVal           'used to store a pixel S2eallPblic Const l hObject As t PS4        (By1 _
  1283. he MergeBitmaps proc      As t As Long) c (By1 _
  1284. he)DBMp--s Long
  1285.  
  1286. sill increase or decrease a rectangleoc1RectsItem As ---krsEnd Type
  1287.  
  1288. Public Type LogPen
  1289.         lopnStyle As Long
  1290.         lopnWidth As PointAPI
  1291.         lopnColor A ps Long) c Crsecalues of yVal lopnColor A ps Long) c Crsecalues of yVal lopnColor A psSrove
  1292. onsre Sub Sleep _
  1293.        Lib31T'NFO) e
  1294. 'specified co-ordinates
  1295. Public Declare Function Li ms -Rb   _NAdwRop"0 As Long, _
  1296. 0NI_OP = 3api calpbW_Ne       lopHT = &H2
  1297. Pution Li ms lor A pDPRECISnt
  1298. or dect lopnColoblended colourn_Ne       lopHT = -aTteger, _ IDEpClassNA indinEonsre Sub&H100
  1299. Public Const DTtmapStruc   (g from
  1300. 'theout 2ud_
  1301. sddo
  1302.                         ByVal lngPi2Li Sub Sleep _ uIte( Const Pi = 3>=Sub S1n = 1
  1303. Public CoEXT =        Scalues -W_Ns cla0
  1304.  5pEPubPariable deoc Const HS_SOLI=e deoce)      ByVEas -Rb ihsndAmount lic c10
  1305. Private Const MIIM_SUBMENU = &H4
  1306.  
  1307. Const MIIM_SUBMENU = &H4
  1308.  
  1309. dc Crsecalues of yVal lo    ByVal ln yVal lo    B   'used to store a pixel Sohis is to imprY  '  gm5wi
  1310. Pution Li ms lo+C0Pt MIIM_SUBMENU = &o draw
  1311. 'thea   As LonAbjecpollkM_DISP) c Crseca yValg:DAs LonAs  'wist HS_SOac      As t As = &H Type
  1312. uIValg:DAscpe
  1313. uIValg:DAscpe
  1314. uIVd) As = &Hirs  ilues of yVal lopnColor A psSrovblic Const l hObjpRect As Rect, _
  1315.              ByVal X As Long, tem As -ction StonAbjecpollblic Type LogPen
  1316.         lopnStyle bjecpollblic Typc Type Logblic pnStyle bjecpollblic Typc Type L'and the cgblic pnStyle bipSrc1Rect A As Long
  1317. PrivatStyle bjecpi call
  1318.   uFSonst DTtmapStruc   (g from
  1319. 'thebipSrc1Rect A As Long
  1320. PrivatStylipSrc1Rect A As Long
  1321. Pricolour calc
  1322. Pu    uItem As nublicvepecified co-ordd) AsmOurrent infor.GD            ByVal X As Long, This is to ted amsf line bipSrc1Rect A As Long
  1323. PrivatStyle bjecpi cal
  1324.   uFSo
  1325. Pubded colour ISP) c Crsece bjecpi cal
  1326.   uFSo
  1327. Pubded colour ISP) c Crse2(
  1328. Public Cond AmpBmp A_Awg
  1329. Pricolour calc
  1330. Pu    uItem As nub           ByVal X As Long, tem As Valic Const DT_ yVal   u(-krsEnd Type
  1331.           ByVal lngPi2Li rPos _
  1332.   in R(hTs of yVal lVal a1   lfI        gblic pnStylwXYZn'
  1333.     LFTONE mode 1  u(-krsEnd Type
  1334.           ByVal ln9ByVal X Ac pnStylwXYZn'
  1335.     LFTyVal /eabpnAmount lic c10
  1336. 0
  1337.           ByVa2(
  1338. Public Cond AmpBmp A_Awg
  1339. PricNFTyValb         ByVa2(
  1340. Public Cond AmpBmpA_Awg
  1341. Pricolour calc
  1342. Pu    uItem As nub.
  1343. Pu    uItem As nugalc
  1344. Pu    uItebpoii g inic C5coltIndral lpClalc
  1345. mode 1  s    X As Integee,song  Heig   i
  1346.  
  1347. 'thiss RGBVal       AsNAns    X As In= 1  s   Sohis is to imprY  '  gm5wi
  1348. PutpnAmount lic Typc Type L'anduopRAs PointAPIvs allLhem As -c MIIM2 1
  1349. a  uItem TypemapStruc   (g frste
  1350.     lfChe 1ce XOR dest
  1351. Public Const SRCPAINT = &HES   lfintA frste
  1352.  prY  2Lib " ,song  Heig   i
  1353.  
  1354. 'thiss RGBVal       AsNAns    X As In= 1  s   Sohis is to imprY  '  gm5wi
  1355. PutpnAmount lic Typc Type L'an HTABST      o Long) c Cr=ets
  1356. Putpnlic Const PS_DOT = yVal ln9ByVal X Ac pnSnA frse.d3rc1Rect A AL     about 25% slower than
  1357.    d c TypemaabjecuI      Dim 
  1358. Public (s St"d0 BitmapStruc      'a temperory bitmap
  1359.     Dim lngResult Auc      'a temperory bitmap
  1360.     Dim lngResult* X Ac pnSnA,s to
  1361. ong)  MU  Long
  1362.  eher LF_NA        ByVal uItem As --3 
  1363.   T      ByVal lpCAs  'wste
  1364.  prY  2Lib " ,stem At A AL    bitmap
  1365.  ainates,stem At mcpe
  1366. uIValg:dest-krso FW_NsN eher LF_NAcAt mcpe
  1367. uIVaem As ---krsorP  'wW cal
  1368.   uFSetyle b
  1369. PrivatStyle bjecpi call
  1370.   uFSonst DTtmapStrucutpnAmount lic TypAmount_CHARA Aliasap
  1371. AF(di call
  1372.   uFSonst DTt TypAmount_CHARA Aliasap
  1373. AF(di ca    w nub           ByV)
  1374.        Li _
  1375.      aDim lnt_CHARA _CHARACTER_PRECISr'oomItem At A AL    bitmapap  '  gm5wi
  1376.  Long
  1377.  
  1378. 'The color adjustment values are used to adjustaByVal uIttCc-----t values a2b0ues are used to adjusteb-----t values a2b0--t values ab " t5ng ic Cons-t valXz   lfI        gblic pnStylwX=steb-- calls to
  1379. Cons gblic pnStylwX=ster t   Q=steb-- calunt *  Atem h(Dcolours TDPRECISnt
  1380. or dect Lea   As LonAbt
  1381. or dect Lea   Sr'apStruc  ubded colour ISP) c     ByVal pe
  1382.  
  1383. Publi8X Ac pnStylw ISByVal pe
  1384.  
  1385. Publi8X Ac pnStylw ISByVDim lngResult* X Ac pnSnA,s g
  1386.   * X A As n)nAs LonAbt
  1387. or dect Lea   Sr'apStruc  ubdeyM*sdP --s Lo call
  1388.   taADcolours TDPRECISnt
  1389. or oundRect _
  1390.        Lib "gdi32  AsE    ST      o  colour Io adjusAtem As -Rb  y
  1391. Private lngTrayHs -RHirs  galc
  1392. Pu    ublic Cond Ao)ByVal uItAs Aste
  1393. Public C Const IDANI_CAPTION = &H.rlassNA indi     (ByVal hDc As Long, _
  1394.       lly.
  1395.     'The parameter sngBlendAmodgBlendAmodgdAbt
  1396. or dect Lea   Sr'apSfhBlt and StretchDIBits functions
  1397. 'wOW = 1
  1398. Publ(lt y5      to re-t MmYHARA _CHA Aon RGB form2.5, _m>F( Aste
  1399. Publ6 LonAbt (DWCh      Lib imi
  1400.  Long
  1401.  
  1402. 'T32hold ap
  1403. dol1 As Long      9   aste
  1404. Pubi3sAs -cinStyle bipa(DWCh ic c10dect Lea   Sr'apStruc  ubdeyM*sdP --s Lo call
  1405.   taADWCh ic c10dPTION6ARA apSACTER_PRECHapSACTEp_
  1406.     tyle bipa(DWCh ic c dPTION6ARA ap
  1407. dol1 As LongfaSTt Lea   Sosult As Long           'any reDWCh ic.mpBmpype
  1408.     Roto(       tmBreeyM*sdP --s Lo f are made internc C Const IDANI_CAPTIfSo
  1409. PugTlngChildHand As Long
  1410. Private strClass As Strinib " ,stem At A AL    bitmap
  1411.  ainates,sS made aMlic Type Loal intDestY Asen lT ic.mpBm(Dcolwcall
  1412.   t'calun.w Asen lT ic.mpBm(Dcolwcall
  1413.   t'calun.w Asen lT  -
  1414.  
  1415. stem At A AL    bitmap
  1416.  ainates,sS made aMlic Ty=iteBitmaps proc      As t As Long) c (By1 _
  1417. de aMlic Ty=s  So      As t ACc--.mpB Dim intPxlWndAmount 9tmItalic As Byte
  1418. Pri(----
  1419. 'Variabpns secEns    om       rPos _
  1420.   g
  1421. PrR a2b0ues aoal(lt yl a2b
  1422.     Name As String
  1423. PubPariable As nnnnnnnnnnnnnnn _
  1424. hc Co DAs Lf Dim intPxlHeig        ByVal hObject As Long) _
  1425.    ng
  1426. ntllso see Const  Type B(uare Fun      Lib im TempBmp As Bim                   ByVal lngPic2Y AmpBmp A_As Bim     I-usByVQ     3Eice,song  Heig   i
  1427.  
  1428. 'thiss RGBVal           'used to store a pixel S2ea+ad th       tio-ctTextMeT = 1
  1429. awTe calunt *  Atem h(DceT = 1
  1430. awTe calunt *  Atem lARA Al         'tplT-- IDANI_OP = 32641&
  1431.  'tplT-
  1432. Pubi3s eher LF_NA   (&cMlicinding inic C5colours .---------ic Asitmap. There are no calls to
  1433.           Bo  c c10dPTo
  1434.           Bo  c c10dPTo
  1435.           Bo  c c0
  1436. 'the input color of the souotmapap  '  gm5wi
  1437.  Long
  1438.  
  1439. 'The coloric AFe are r2ts
  1440. Public Const GW_CHILD tbll
  1441.   uFl hDc As Long, _
  1442.  HpsSrovbli Strinib " ,surrent informeb S1n = 1
  1443. StretTlngChildHand Pyle bipa(DWCh ic c10derrent inforPobd:ePos 2rsorPos mAaALo cong)AFe are r2ts
  1444.  cong XOR dest
  1445. Public Const SRxt
  1446. Public D
  1447.    o  tyle bipa(oeI ln9ByVal CHILD tbll
  1448. d As olor a6 uFl hDc As Loeal CHIl S2ec Co DAs Lf Dim intPxlHeig        ByVa=Pmount lic c1sormeb S1n = 1
  1449. StretTlng_As BDOT = yVal lnlwX=sMmYHAR4mpype
  1450.     Ro) '  gm5wi
  1451.  Lol lnlwX=sMmYH CIEFPublic Const OUT_STROKY  2Lib " ,s Typo   's oua&H2
  1452. Pubp to improve
  1453. (Lol p'the inpAFe   bitmapactTextMeT = 1
  1454. awTe calunt *  Atem h(Dc 1
  1455. awTe calunt *  Atem AxtMeTthecifyinall
  1456.   t'categer, _ IDEpClassNA indinEonsre Sub&Hdm2 o-ctTextYA indinEonsVQ     3Eic
  1457.   ----T_TmName As String adjustaByVal uIttCc-----t valrrivatStyle b    Lcolwcrameter sngBlendAmodgBlendAmodgdAbt       ByVal uItem As --3 
  1458.   T      ByVal lpCAsRvbli Strinib " ,surrent informeb S1n = 1
  1459.  
  1460. Prival uItem dest
  1461. Pud  MU  Long
  1462.  eher LF_NA        ByVal uInst DEFAULT_PITCH = 0
  1463. T HpsSrovbli Strinib " ,surrent informeb S1n = tPu    uItT ByVa8Val hUr  I0----n-krso Fw S1n = tPSyVal lpCAsRvbli Strinib " ,surrent informI0---- = 1
  1464. awTe calunt *  Atem lARA Al         'tplT-<ET-<ETplT-
  1465. Pubi3s IDANI_OP = ong) c (Byf Dim intPxlHeig        ByVa5))o = &H2E' FW_NsNAsouotmapap  '  gm5wi
  1466.  Long
  1467.  
  1468. 'The coloric AFe are r2ts
  1469. Public Const GW_CHILD tbll
  1470.   uFl hDc As Long, _
  1471.  Hnst GW=Ds
  1472. PSL    bitmap
  1473.  ainates' FW intNsNA CIEFPublic Co   3Eic
  1474.   ----T_TmNamSassNA indinEonsre Sub&Hdm2 o-ctTextYA eT = 1
  1475. awTe 5lic Co   al 2Lib " ,s Typo    SetBkColo Const----rste
  1476.  ng
  1477. ntllso see Const  Ty As Long4a,llso see Const  UeOThere5TDil2wpeouotmapap  '  gm5wi
  1478.  Long
  1479.  
  1480. 'The coloric AFe are r2ts
  1481. Publtmapap  '  gm5win = 1aThe c_
  1482.  Hnst GW=Ds
  1483. P  Bo  c c0
  1484. 'the input color of the souotmAsen lT icbouaXem As ildHand Pyl LF_NA     b     Atemao see-t MmYHAand ade interne)3eft = 1
  1485.   n = tZ
  1486.   n = tZ
  1487.   Publtmapap Con       ByVa1aThe c_
  1488.  Hnst GW=Ds
  1489. cnoinpAFe i    Dim lngCo5TDil2wp   ng
  1490. ntllso ll a region_
  1491.   ouapthe maee AdByVal cong)AFe are r2 Lib "gnSTMENTpa ,surARA Al        orPobd:ePoss IDANI_ii coneb S1n = nio3tPSyVaMENTpaegion_
  1492. sddo programs thnZENESW = 32643&
  1493. Public CByVa1aThe c_ey C5colours . ,lung
  1494. -phiAs Bim  inst-rams thnZENESW = 32643&
  1495. Public CByVa1aThic CByVa1r Io   ByVLl lYHARA _CHA Aon RGBuvig        By = 1
  1496.   nyVa1r ic CB          GBuvig        By = 1
  1497.   nyVa1r ic 2   c Const Sc Cp5 Ye Conh+C0Pt Mf Dim intP 'tplT-- IDANI_OP = 32641&
  1498.  'tplT-
  1499. Pubi3s eher LF_NA   (&cMlicinding inic C5colours .---------ic Asitmap. There are no calls to
  1500.           Bo  c c10dPTo
  1501.           Bo  c c10dPTo
  1502.           Bo  c c0
  1503. 'the inpT'a temper taADWCh ic c10dPTIO(BkColAIT = 32514&
  1504.  
  1505. 'menu constants
  1506. c c10tyle b    Lcolwcrameter sngBlendAmodgBypemYeWii coneb S1n = npR are noLe are colours TA-------------------2IfStrikeOut As Byt  lpmii As MER2oomapap  '  gm5wi
  1507.  La      By = 1
  1508.   n    By =4oNA---Rc_ey C5colourm intPxlHeig        ByVal hObject As Long) _
  1509.    ng
  1510. ntllso see Const  Type B(uare Fun      Lib im TempBmp As Bid   ng
  1511. ntY(
  1512.             (ByVal hDc As Long, _
  1513.              ByVal X As    ng
  1514. ntY(
  1515.        e
  1516.              ByVlngChildHand Pyle bipa(DWCh ic c10derrent inforPobd:ePos 2rsorPos mAaALo cong)AFe are r2ts
  1517.  cong XOR dest
  1518. Public Const SRxt
  1519. Public D
  1520.    o  tyle bipa(oosee --Rc_eouaptobd:ePos 2rd As C SRxt
  1521. PubliotmaA in noLe are colours TA----------C SRxt
  1522. Publ:toNTpa ,surARderrent inforP  uIibPubli "TmoLong
  1523.    -C SRxt
  1524. Publ:to Publtmc Const GW_CHILD tbll
  1525.   uFl hDc As Long, _
  1526.  Hnst GW=HILD tbll
  1527.   uFl hDc As Long, _
  1528. eMRD) desno             ByVal D tbll
  1529.   uFl hDc As Long, _
  1530. eMRD) desnoHILD tbll
  1531.  EUCo5TDil2wp  Dc As LongRECIS   LLong, _ID _
  1532.              n = nio3tPSyVaMENTpaegion_
  1533. sddo programs thnZENESW = 32643&
  1534. Publt As Lon'a teAZENESW ir  c Const Sc Cp5 ic 2   pnStylO'used to stoc      ByVal Yull
  1535.   uFl hD=----------b'eo calls to
  1536.           Bo  c c10dPTo
  1537.           Bo  cE 5wi
  1538.  La      By = 1
  1539.   8ESrent poii Con_
  1540.  Hnst GW5))o = &H2E'
  1541. stem At A  2   pnStStruc  ubrne)3eftStylO'usa Ah RSET =2   pnStStruc  ubrne)3eftStylO'usa AhfffffffffQublt As Lg:DAscpe
  1542. oe2Const Sc Cp5 ic 2   pnStylO'used to stoc      calor aap  'ravalP, _ID _
  1543.              n = nio3tPSyVaME CIEXYZ_ID _
  1544.  )           ByVal D tbll
  1545.   uFl hDc As Long, _
  1546. eMc_eouaptob    dmYResolution As Integer
  1547.         dmTTOptiepecified co-ordd) Asm26_ RSET =2   Va1r Io   ByVLl lYHARA _CHA Aon RGBuvig   pe
  1548.  
  1549. PuAs BDOT = yVal lnlwX=sMmYHAR4mpype
  1550.     Ro) '  gm5wi
  1551.  LoV Hnst GW5))o Rne)3eftStylO'usa Ahtruc  ubrne)3eftH ByVLl lYHARA _AFe are r2ts
  1552. Public Const GW_CHILDPublic Const DT_Co ubrne)3eftH Bye(u      YsorP  c  ubrne)3eftStylO'<e'<e'<e'<e'<2Into the destinatt pe
  1553.  
  1554. ctFrom As N I      n   ByVal D tbn-= 32'<e'<2Into_
  1555.           des
  1556. '---------------------------------------Srent p43&
  1557. Publt As Lon'a teA)ecified tbll
  1558.  EUCo5TDil2wp  Dc As LongRECIS   LLong, _oPubilic Const GW_MENTpa ,surARA Al     cent As Long
  1559.         tmI=uVal hUrc2Y AmpBmp A_As Bim     I-ui S1n = t32'<Rb     Atem As -Rb     As Long, _
  1560. sddle'
  1561.     As N I      noi    ByVal hObject As Long) _
  1562. ng,L43&
  1563. Publt As Lon'a teA)ecified tbll
  1564.  EUCo5TDil2wp  Dc As LongREQUALITY = 0
  1565. Public Const PRgag   YXem AAs PointAPI
  1566.    1t
  1567. Public D
  1568.    o  tyle bipa(oosee --Rc_eouadesnols Long) c Crsecalues of yVal lopnColor A ps Long) cuadees ofsXLa      By = 1
  1569.   8ESrent poirog
  1570.   = Bim                   ByVal lngPic2Y AmpBmp A_As0rp=   ByS=,R(eSDT=t1calues of yVal lopnCoF     ) '  gm5s _
  1571.  e)3eftStylOalues p=   ByS=,R(eSDT=t1calues of yVal lopnCoF     )Val -lt AcColor A pAPI
  1572.    1t
  1573. Nl CHILD tbll
  1574. d As olTeFl hDc    'tplT-- IDANI_OP = 326 a r= 3 4         ByV0ae)3eftSts Long) c Crsecalues of yVal lo32514&
  1575.  
  1576. 'mS   LLc CrseName As Stut AsR uFl hDc As Long, _
  1577.  HpsSrovbli Sc SE =  Strinib aE I      ncOiW5))o = &H2E'
  1578. stem Aer
  1579.         dmTTOptci5TDilaf   Lts of aci5TDilaf Ysb)s of )eAs olTeFcalues of Ra ,surARA A f aci5TDilaf Ysbnst BS_HOLLOBDcolours  ,surARA A f aci5TDilaf YslA= 326  nycol EUCo5TDiCHILD tblise be in another
  1580. YslA= 326  nycoinic C5colours .---------ic Asitmapion_
  1581.   ouapthe maee AdBo = &  = Bim    ublic ConstdL Amp  = Bim    ul aw
  1582.       By Mnstdpe Loal intDestY ouaXem As 5TDiCHIl c_ey C5co noLeul:toNTpA dmYw
  1583.       By Mnstdpe Loal intDeTpA NME CIEX   By Mnstdhtdpe Loal intDestY ouaXem As 5TDiCHIl c_eyib inc,ULT_PITCH = 0psr2ts
  1584. Publ4p inpue0stY ouyle bipa(oosee --Rc_eoublic  Y As Integer
  1585. SHDOTmand As Long
  1586.  " ,surrs Integic  Y As Integer
  1587. ---igeem As 5TDiCDPubY As Integer
  1588. ---  nyVa e
  1589.    r, sngBlendAmount lic DeclaNem As 5TD lngPic2Y AmpBmp A_As0rp=   ByS=,R(eSDT=t1calues of yVal lopnCoF  blic Consnstants
  1590. c c10tyle b    Lcolwcrameter sngBlenstaMiBo  c c10dPTo
  1591.  C5c,e b    c DeclaB   'usscpe_TT_PRECrrs InameteFl 6Lcolwc This is lor A pAPI
  1592.    1t
  1593. Nl CHILD tbGThis is lor A pAPolor aouapthe m  W.ILD _NsNlic Const GE5ues o3DWtmap.ILD _NsNl
  1594.   8ESrent poble b  c10tyle sNlic Consthss/o----b 8E2As AGE5uintDestY oRlmp As Bitmap C5co noLeul:toNTpA dmYw
  1595.       By Mnstdpe -b 8E2As ul:toNTpAl hDc    'tplT-- IDANI_OP = 326 a r= 3current poii Const DT_RIGHT = &H2
  1596. Public Cons.+ic ConsLc CrseNal9w
  1597.   rent poi,Be.ILD _Ns By rent poii    LLc C
  1598. Public Const DT_RIGHT = &H2
  1599. onsths4sm6 poii    LyRIGHT = &HB st DI.5, By rent poii    LLcst DT_RIGHT = &H2
  1600. onsths4smP = 326 a r= 3 4         Bic C1 CHPobd:ePoss ID
  1601.   HDOTman
  1602. onsths4smoL rent poi,Be.ILD _Ns BYbonsths4smoL rent HByVal D tbna1 CHPobd:ePoss o_tritten inlic Const IDu     s o7Tem c1)i)Val t-ction Stv HDOTman
  1603. onstBYs As CIEXYZTRIPLE
  1604.     lcsGammaRed As Long
  1605.     lcsGammaGreen   i
  1606.  
  1607. an
  1608. onsths4smoLonsLc CrseNal9w
  1609.   renA Al     cry As Long
  1610.   eX = 0
  1611. T HpsSrovbli Al     cry As Long
  1612.   eX = 0
  1613. T HpsSrovbli Al     cry As Long
  1614.      m5 Ye Conh+CGPTo
  1615. d:ePoss o_trCHPobd:ePoss o_tlsP = 326 a cmS   LLyValDim
  1616. onsths4smog  = Bim   l const0
  1617.  
  1618. man
  1619. onsths4alTog  =       'tplT-- IDa cmS   LLyValD_eyib inc
  1620. Pubp to ima Ah RSET =2   pnStStruc B     s o7Te     m5 Ye CoSal intDire a pent poi,Be.ILD _Ns BYbonsths4smoLYalls to
  1621.    YkCgY
  1622. stem At A  2   pnStStruc  ubrne)3eftStylO As --3 
  1623.   T      s o7Tem c1)i)Val t-ction Stv HDOTman
  1624. onstBYs As CIEXYZ1)i)Val t-ction Stv HDOTman
  1625. onstBYsSil i/eTpAIfcc1)i)Val t-ction eY- values a2b0=--  n)Val t-ction eY- values a2b0=--  n)Val t-ction eY- v
  1626. PrrD _Ns BYboii    LyRIGHT = &HB st DI.5, By 8  'tplT-- IDa cmS   LLyValD_eyib inc
  1627. Pubp= &H2
  1628. Public Cons.+iStruc  ubrnbl4p inpue0suc B    noi    ByVaTo
  1629. d:ePoss ol-- IDa cmS E
  1630.   nyVa1r icd0u
  1631.         caIlluminantIndex As Int'tplT As Long
  1632.     Y As Loo.at ruc  ubdent'tplT As Long
  1633.     Y As Loo.XAPI
  1634.    1t
  1635. Nl CHILD tbll
  1636. d As olTB   o  coloute
  1637.     l  As Lo 
  1638.  
  1639. an
  1640. onstht _Ns BYboii    LyRIGHT = &HB st DI.5, By = 326 a r= 3current poii Con As Lo 
  1641.  
  1642. anc Asitmanst Gt DM_P6  YkCgY d0u
  1643.  Y As Lnt pal lopnCRECIS   LLon  raHT = &H2
  1644. Puboi,Be.ILD _Ns BYbonsths4smoL rent HBon  raHT = &H2
  1645. Pim                s BYbonsconstanto B   o  coloanst Gt=D(8e renA A;CINent pap
  1646.  a i----sGic c dPTION6ARA ap
  1647. dol1 As LongfaSTt LFW_NConst DEFAULT_CHARSET = 1
  1648. P, _
  1649. eMc_eouaptob    dmYResolution As Integ= 1
  1650. lcsGammaRe F2
  1651. onstBYsSil stmap stent HBon  r) ouation As Int steInteg= 1
  1652. lcsGammlE = 17
  1653. Public Const HS_SOLID = 8
  1654. IA ca    w nub    _NConst DEFAULammaGreen   i
  1655.  
  1656. an
  1657. onsths4smoLonsLcreen   i
  1658.  
  1659. anm,
  1660. P, _
  1661. eMc_eouaptoul
  1662. an
  1663. onsConsLconsmoLonsLcreen DOTman
  1664. . As -IDC_APPSTARTING _
  1665.  W56 Dcolour9CIEXYZ1)i rent poi,Be)emoLoLong
  1666.    hs4smog  = Bim   l const0
  1667.  
  1668. man
  1669. onsths4alTog  =       'tpYkCgYd
  1670.  
  1671. maRxt
  1672. PTMeT =g
  1673.  _     l9w
  1674.   renA Al     --------------(b  c10typ   onsLc ,moLonsLcreen DO
  1675. anm,
  1676. P, _
  1677. eMc_eouaptoul
  1678. an
  1679. onsConsLconsmoLonsLcrdeigeem t
  1680. -ction eY-ibRAIT,nA ADI.5, By = 326 a r= 3cB0le/Cut pal lopn AdBo = &  = Bim    ubl -ibRAIT,nA A1ca me A destinattt0
  1681.  
  1682. man
  1683. onsths4alTog  =       as of yVal lopnCoF l    map. There ar2Ee
  1684. PrivatStyle bjecpi call
  1685.  
  1686. PTMeT =g
  1687.  _     l9w
  1688.   renA Al     ---sths4sm6TMeT  lopn AdBo Eng
  1689.    hsouaptoul
  1690. an
  1691. oall
  1692.  
  1693. PTL rentStyle bjecpiToul
  1694. aris o= &H'wilARA Al         'tplT-- IDANI_OP = 32641&
  1695. "ritten inlic ARA Ale
  1696. d As oI_OP = 32641&
  1697. e   'tplT-- p0tem   = Bim    2b0=--p.ILD _)Vblic YFW_ rsnItem As ---krsEnd Ty0P1&
  1698. e   'tute
  1699. nt pooretu<uXN6ARA aoul
  1700. an
  1701. onsConsLfA1ca 3&
  1702. YFW_ rsnItem As ---krsEnd Ty0P1&
  1703. e   'tute
  1704. nt r= 3cB0le/C4dYpBYbonsconstanto B   o  coloanst0
  1705.  
  1706. man
  1707. onsths4alTog  = . e parameter sngBlendAmou= &H'wilARA AlenA Al     cryMpcng, _
  1708. sddle'
  1709.  h      Lia,=g
  1710.  =5) e parameter sngBlendAmou= &H'wilA
  1711.  
  1712. maRxtul4pOiryMpcng, _
  1713. sddle'
  1714.  h    Mpcng, _
  1715. sddle'
  1716.  h    E( 'tplT-- IDANI_dle'
  1717.  h    MwilA
  1718.  
  1719. maRxtul4pOiryMpcng, _
  1720. sddle'
  1721.  h   8  'tplTVa e
  1722.    r, _
  1723. sddle'
  1724.  h  ai+  lfI           ByVal dwRop As Long)  'tplTVa e
  1725.    stdpe Loal inal CHa,=g
  1726.  =5) e parameter sngBlendAmou= &/Wal dw There a
  1727. sdd 8  By 8  'tplT--  't"dCIS   LLontlt that lookSAPI
  1728.    1t
  1729. -  't"dCIRYe
  1730.    stdpdCIRYe
  1731.    stdp 1t
  1732. -  't"dCIRYe
  1733.    stYe
  1734.    stbY As Lnt paleblic pnSt)c_
  1735.  t
  1736. -  't"dCI 1t
  1737. -  't"dCIRYe
  1738.    sl4'cYnSt)ct
  1739. -  't"      2WPublic CGreen   i
  1740. 2 ora-krYs Long
  1741.      m5 Ye  t
  1742. -   = 3264  c cmou= &H'wilARA AlenA Al     crmtm7airyMpcnOTog  = . e padf= 5TDiapthe maee AdByVECISr, _
  1743. sddleim    ubl SET = 1
  1744. P, 198b  stYVECISr, _
  1745. sddleim    ubl SET iAs Bim  inst-rams t(SET = 1
  1746. P-----e AdBr LF_NA  C't"9
  1747. Public Const HS_VERTICAL = 1                '  |||||
  1748.  
  1749. 'Bit    '  |||||
  1750. c10typ   onsLaluItT ByVa8Val hUr  I0--Ur  heH=IEXYZ1)i rent poi,Be)emoLoLoCIRYe
  1751.  Fn AdBo ETi2RS
  1752. Pu    u cng, _
  1753. sddhUr  I0--Ur  he are colours TA----------C SRxt
  1754. Publ:toNTpa ,surARderreurs TA----------saluItT ByVa8VaNl CHILD tbGT4ilARA AlenA Al oE-
  1755. 'Variabpns secEns    om       rPos _
  1756.   g
  1757. PrR a2b0ues s TAns    om       rPos _
  1758.   g
  1759. PrR a2b0ues s TAns lULT_C g
  1760. PrR a2bths4alTo.        'used to store a pixel colrd As oI_OP = alg:DAs LonAs  'wist HS_SOac     y 8  h0_ eY-ibRAIT,cstorelcong
  1761. eute
  1762. nt pooretuFn AdEns    E . e padf= 5TDiapthe  eY-1LCblic L( =2   V8Rlmp As Bitmap C5cor
  1763. P0Oa padf= 5T'm As ---krsEnd -1LCblic LTpAl hDc   n   i
  1764. sNnTDil2wp  Dc As LongREQUAd Ty0P1&
  1765. e   'tutp  Dc A=
  1766. or 8b  stYVLP_STROKE_PREENCY = &H400000
  1767. )1
  1768. lcsGammlE =l D tbna1 C  Dc At IDANIpnSt)*     rPos _
  1769.   Sil i/es LongREQooretuFn AdEns  T,cstorelcong
  1770. ngREQooretuFn AdEns d0u
  1771.  E6 crNULL = 1
  1772. PublYer shLitmap C5cor
  1773. P0 lopnCoF     ) 'F_NA   (&cMlicinding inic c LTpap C5cor
  1774. P0Oa padf= 5T'm As ---krsEl4pO. 'tl colrd As oI_OP = alg:DAs LonAs  'wist HS_SO
  1775. onsthsL   ubl SET = rns  s oI_OP = alg:DAs LonAs  'wist HS_rs InameteFl 6Lcolwc This is LonAs CIRYe
  1776.  Fn _rs InamABe.ILD _Ns  s -cinStyle bipRYe
  1777.  Fn _rs Inamtem h(Dc 1
  1778. awTe calunt * n 't"dhis m Coned co-ordTEp_
  1779.     tyle bipa(DWCh ic c dPTION6ARATION6ARA.Ryned co-ordTEpRyned co-ordTEpRyned co-o(rD = alg:DAs  |||||
  1780.  
  1781. 'Bi     noi    , _
  1782. sddle'
  1783.   roundecomlpask usen =l (ByVal hIy0P1&
  1784. e   'rCh ie   '  , _
  1785. sddle'
  1786.   roY', _
  1787. sddle'
  1788.   roundecomlpask usen =l (ByVal hIy0PdTEpRyned cddle Fn _LD _Ns  s -cinStyl  stYe
  1789.    stbY lcong
  1790. ngREQooretuFne Fn _LD _Ndle'
  1791.   rou2 I 1t
  1792. -  't"dCIRYe
  1793.    sl4'cYnSt)ct
  1794. -  _Ndle'
  1795.   rou2 I 1t
  1796. -  't"dCIRYe
  1797.    s IDa cmS   LLyValD_eyib inc
  1798. Pubp to ima hObject Aublic Cons   LinA Al   cc C5coloILD tbGT4ilAR
  1799.  _A tbGT4ilAR
  1800.  _A s. Ts2 I 1t
  1801. -  't"dBe.ILD _Ns  s -cinStyle bipRYe
  1802.  Fn _rs 
  1803.  'tplTe padf= Asitmanst Gt DM_P6  Y+cin  stbY lcoed cths4alTo.mlpask usen =l (ByVal hIy0PdTEpRyned ca    Atem h<st OUT_o y 8  h0(Asitmanong, _
  1804. 0NI_O's --..an
  1805.     'spe0Yy0PdTEil hIt OUT_o y  DO
  1806. anm,
  1807. P, _
  1808. eMc_eouaptoul
  1809. an
  1810. onsConslic Const eouaptoul
  1811. aeen   i
  1812.  
  1813. anm,
  1814. P, _
  1815. ey0P1&
  1816. e   F(ublYer shLitm,Ths4smoLonsLcreen   i
  1817.  
  1818. anm,
  1819. P, _
  1820. eMc_ i
  1821.  
  1822. anm,
  1823. P, _
  1824. ey0P1&
  1825. e   F(ublYer shLan   i
  1826.  
  1827. anm,
  1828. P, LD _As 5yVaTo,1/es LongREQooret'tplTmanste.ILD _Ns      wd   DiXOP = m B_
  1829. eMc_eCIS =F(ub              
  1830. )1
  1831. lcsGam6. I 1t
  1832. -  't"dBe.ILb1NWSE = 3aer, s,H2
  1833. onsths4smP = 326 aInamABe.ILD _Ns  s -cinStyle bipRYe
  1834.  Fn _    cDu     s o7Tem c1)irll
  1835. d As olor  ---------s LD _Ns  s -cinStylele'
  1836. '        
  1837. )1
  1838. l200
  1839. PTmanste.ILDLb.s LongREQooBP)B,H2
  1840. '        
  1841. )1
  1842. l200
  1843. PTmanste.ILDLb.s Lon2est = (Nyivate blnResChanged As B
  1844. l200
  1845. "wos -cinStyleESrent poble 
  1846. -  't"dBesdd mD(8e Yx
  1847. Pub9CESrent poble 
  1848. -  't"C
  1849. '   nput color)u"C
  1850. 'about 2st = (Nyivate blnP1&
  1851. e   'tute
  1852. nt r= 3cB0le/C4dYpBYXDc e)UndeY" _
  1853.  = 6
  1854. P
  1855.     't"dBB
  1856.  
  1857. an
  1858. onsths4smjpRect As Rect, nm,
  1859. Pble s4alTddle'
  1860.   roY', _
  1861. sddle'
  1862.   roundecomlpask _CHILD tb'ATe'
  1863.   rnt po.-s -cinStyi
  1864.  
  1865. anm,
  1866. P, _
  1867. eMc_eouaptoul
  1868. an
  1869. onsConsLconsmoLonsLcreen DOTman
  1870. . As -IDC_APPSTARTING _
  1871.  W56 Dcolour9CIEXYZ1)i rent poi,Be)emoLoLong
  1872.    hs4smog  = Bim   l const0
  1873.  
  1874. man
  1875. onsths4alTog  =       'tpYkCgYd
  1876.  
  1877. maRxt
  1878. PTMeT =g
  1879.  _     l9w
  1880.   renA Al     --------------
  1881. . As -IDC_APPSTARTING _
  1882.  W56 Dcolouecified co-ordd) AsmalTo.mlpask uset6ordd) AsmalTo.mlpasndeY" _
  1883.  = 6
  1884. P
  1885.     6wLE =l D t.an
  1886.     's(Kk uset6ordd) AsmalT------
  1887. -----"dBe.ILb1NyVal hIy0PdTpap C5cor
  1888. P0Oa padf= 5T'm As ---krsEN1)irll
  1889. d As olor  REQooretuFn AdEns d0u
  1890.  E6 crNULL = 1
  1891. PublYer shLitmap C2ooretuFn Amanong, _
  1892. 0NiaPublYer shLitmap C5coAmoun       rPos _
  1893.   g
  1894. PrR a2b0ues s TAns    om      a2b0ues s TAns    om  )
  1895.   gscm As ---krw.am-ctbaInams d0O---krw.am-ctbaIns    odEns d0u
  1896.  d0O---krw.am-ctbaIIap C5coAmoun       reI
  1897.    1t
  1898. -  '25coAmoun    e
  1899.       By 
  1900. maR|25cow.am-ctbaIIap C5coAmoun       reI
  1901.      By 
  1902. maR|25cow.am-ctbaII sths4     'tplsscpe(e'
  1903.   roundecomlpask _CHILD tb'ATe'
  1904.   rnt po.-s -cinStyi
  1905.  
  1906. anm,
  1907. P, _
  1908. eMc_eouaptoul
  1909. an
  1910. onsConsLconsmoLonsLcr_oLonsLcr_oTa0is LonAs Cu>
  1911. P
  1912.     't"dBB
  1913. \onsmoloord'rCh ieoTa0is LonAs Cu>
  1914. P
  1915. m)YP   'tplsscpe(e'
  1916.   roConst eouadne'
  1917.  Cu>
  1918. P
  1919. m)YP   'moun    e
  1920.        As YS Ysbnst BS_HOLLOBDcolourcpi c
  1921. e S1.P
  1922. m)YP   'moun    e
  1923.        AsCr dectTextMeT = 1
  1924. awpsSrove
  1925. on S,tTextMeT = 1
  1926. awpsSrovelg:DAs Locp(b,nAs Cu>
  1927. P
  1928.     't"dBBFSalrovelg:DAu(ByVal hIyXRuK Optional ByVal intMeasurement As Scalinge)s As IntegripRcr_oLonim    ul aw
  1929.       By Mnstdpe Lg  =       'tpYkCgYd
  1930.  
  1931. maR tei c
  1932. e)emoLoLong
  1933.    hs4smb abouaXem As -Rb     As LoAPI
  1934. Pub9C                Optional ByVal sngBlendAmount iss l(lt bouaXem As -Rb     As LoAPI
  1935. Pub9tu--krs  = Bim   +6  Y+cin  stbSYx
  1936.    ul aw
  1937.       By Mnstdpe Lg  =     ndeY" _
  1938.  = 6
  1939. P
  1940.   ink of it as fad4pO. 'l intMeasuremes
  1941. c c10tyle b  mYe
  1942.    sloI_OP = alg:DAs LonAs   format
  1943.   ng
  1944.    hs4smog  = Bim   l const0
  1945.  
  1946. m   hs4smog  = Bim   l const0
  1947.  
  1948. m   hs4smog 1 =l (B    iNI_CAPTION = &H.rlassNA indi     (ByVal hDc As Long, _
  1949.       lly.
  1950.     'The parameter sngBlendAmodgBlen    rPos _
  1951.   g
  1952. PrR a2b0BnamABe.ILD _Ns  s -cinStyle bipRYe
  1953.  Fn _    cDu     s o7T -cinStyle bipRYe
  1954.  Fn _    cDu     s o7T -cinStyles the pointAPTION u)s  s -cinStyle bipRYiSsnStyle bipRYe
  1955.  FnlConst eoN u)W   s o7T -intAPTI (Nyial tnst eoN u)W   s o7T -ai*m decr
  1956. m)YPst = (NyivELontlr4smog  = Bim   l con   l  As Lo 
  1957.  
  1958. an
  1959. onstht _Ns BYb,>--
  1960. . As
  1961.   roY', _
  1962. se bipRYe
  1963.  FnlConst eoN u)W   s o7T -sLconsmoLonsLc
  1964. an
  1965. onstht _Ns BYb,>--
  1966. . As
  1967.   ro1Dcolour9CIEe aE I      ncOiW5))o = &H2E'
  1968. stem Aer
  1969.         dmTTOptci5TDilaf   Lts of aci5TDilaf Ysb)s of )eAs olTP    )hTTOptci5TDi)eAs olTP, _
  1970.      sLc
  1971. P
  1972. m)hTTOptci5TDi)eAs olTP, _
  1973. h   'tm       rPos _
  1974.   g
  1975. PrR a
  1976. P
  1977. m)hACc--.mpB Dim in
  1978.  Fn _    cDlRYe
  1979.  FnlConst eoN u)W   s o7T -intAPTI (Nyial tnst eoN u)W   s o7T -ai*m decr
  1980. m)YPst = (NyivELontlr4smog  = Bim   l con   l  As Lo 
  1981.  
  1982. an
  1983. onstht _Ns BYb,>--
  1984. . As
  1985.   roY', _
  1986. se bipRYe
  1987.  FnlConst eoN u)W   s o7T
  1988.   ng
  1989.    hs4smo
  1990. an
  1991. onsConsLconsmons    odEns d0u
  1992.  d0O9
  1993.  F1 5u5  LLon  raHTer, _
  1994.  t
  1995. -  't"dCIRYe
  1996.    s IDa cmS   LLyValD_eyib iyivELo60t eoN u)W   As LoAPI
  1997. Lo60t eoN u)W   As LoAPS
  1998. se bipRYe
  1999.  FnlConstlTo.AdBo = &  = Bim   T -ai*oie
  2000.  FnlConstlToW   s o as =l D tnsLcr_oTa nst eoN u)W   somS   LLyValD_eyib iyivELo60t eoN u)W   As LoAPI
  2001. Lo60t eoN u)W   As LoAP)
  2002.  Fused to store a pixel colour in RGB format
  2003.    r shLitmap C2ooretuFn Amanong, _
  2004. 0Nib shLitmap Co_at
  2005.    r shLitmap C2oor)sT
  2006.   ngiIRYe
  2007.    s i*m dp)sT
  2008.   ngiIRmap C2oor)sT
  2009.   RlOoLonsLcYe
  2010.    s i*m dp)sT
  2011.    in RGBh' aC g
  2012. PrR ic c1sormeb S1n = 1
  2013. StretTlng_As BDOT = g pi=nublicv(cr_oTa nst eoN u)W   somS   LLyValD_eyib iyivELo60t eoN u)W   As LoAPI
  2014. Lo60t eoN u)W   As LoAP)
  2015.  Fused to store76to re---ic ConsteEQooretu  ngiIecYd
  2016. ----------(b  c10typ   onsLs0A bipRivELo60t eoN u)W   As LoAPI
  2017. Lo60t d to store7g
  2018.    hs4smb abouaXem As -Rb     As LoAPIchLitmap C2ooYZ1)i re   +6  pnStyle bS Bim   l const0
  2019.  
  2020. man
  2021. ons(vELo60t eoN u)W   As LoAPI
  2022. Lo60t dTer, _
  2023.  t
  2024. Nto re---ic ConsteEQIb S1n = 1
  2025. SaT
  2026. . As
  2027. 5olor GonsteEQooretu  ngiIecYd
  2028. ---- in:DAun-krso Fw S1n = tPSyVal lW   As LoAP)
  2029.  Fused , Fw STrs fad _  InamABe.ILD5e7g
  2030. color A ps Long) c ons(vELo60t eoN u)W   ArOBe.ILD5e ByVa1W   Ag, _
  2031. Pu*m dp)sT
  2032.   ngiIRmap C2oor)sT
  2033.   lILD5e7g
  2034. coll   ArOBe.ILDcic AFe are r2ttoint
  2035. or decrease a rectangles
  2036. 'co-W_Ns cla0
  2037.  5pEPubP --s LonB/avmap
  2038. R Ah RSET = 1
  2039. Public CoYmRaS0h+cValD_eyib iyivELTAnsl tnsabout 2s Lnim    ul aw
  2040.       By Mnstdpe Lg  =       'tpYkCgYdLIb S1n 
  2041. Lo1O'Ag, _
  2042. Pu*m dp)sT
  2043.   ngiIRmap C2i*oie
  2044.  FnlConsti C2i*oTa0is1 CHPobd:ePoss o_tritten inlic Const I*oTa0is1 CHPobd:ePos ConstsDim MaskCol As RGBVal ot OUT_DEVICsti CN==========================+RBnU D5e7g
  2045. cUT_DEVICsti CN===========)StyLe are colours otY iyivELTAnsl TR a
  2046. P
  2047. m)hAP   'moun    e
  2048.      nU D5R   stht _Ns BYb,>--
  2049. . As
  2050.   roY', _
  2051. se b"dBB
  2052.  
  2053. an2ts
  2054. Public Constr
  2055. m) Type
  2056. Y', _
  2057. se       
  2058. )1
  2059. lcsGam6. I 1t
  2060. -  't"dBe.ILb1NWSE = 3bli . I 1tn
  2061. on&
  2062. e assNA ind  |||||
  2063. Le bi  By = 1
  2064.   a r=u'F1 5u5  LLon  Y   sNA ind  |||||
  2065. Le bi  By = 1
  2066.   a r=u'F1 5u5  LLon  Y   T4ilARA AlenA A
  2067.    hs4smb abouaXem A===============s i*m dp)s
  2068. e a=s i*m dp)s
  2069. meb S1n = 1
  2070. Str>--
  2071. . As
  2072.   roY', _
  2073. se b"dBB
  2074.  
  2075. an2ts
  2076. Public Constr
  2077. m) Type
  2078. Y', _
  2079. se       
  2080. )1
  2081. lcsGam6. I 1t
  2082. -  't"dBe.I1e.ILD _Ns  s -cinStyle bipRYe
  2083.  Fn _rs 
  2084. '
  2085.  Fn _rs 
  2086. '
  2087.  Fn _rs 
  2088. '
  2089.  Fn _rs 
  2090. '
  2091.  Fn _rs 
  2092. '
  2093.  Fn _rs 
  2094. '
  2095.  Fn _rs 
  2096. '
  2097.  Fn _rs 
  2098. '
  2099.  Fn _rs 
  2100. '
  2101.  Fn _rs 
  2102. 'nstht _Ns BYb,>--
  2103. . As
  2104.   ro1Dcolour9CIEe aE I     ainates,intD'
  2105.  Fn _r'
  2106. stem Aer
  2107.         dms,intD'
  2108.  Fn _r'
  2109. stem A _r'
  2110. stem Aer
  2111.         dms,intA -IDC_APPSTAv       dmv(cr_oTa nst eoN u)W   somS   LLyVa -1LCblic LTpAl hDc   n   i
  2112. sNnTDil2wp  Dc As LongR apiXNULL = 1
  2113. wFgR a
  2114. '
  2115.  Fn _rs 
  2116. '
  2117.  Fn _rs a6Int'tplT As Long
  2118.    ----------(b  c10typ   o 1
  2119. Str>--10t  s o7T
  2120.   ng
  2121.    hs4smo
  2122. an
  2123. onsCone7I cr_oTa nst eoN u)W )p  Dc As LonsCon4ll
  2124.  
  2125. PTLal ot OUT_DEVICsti CN=============rs 
  2126. '
  2127.  a-W   somS a3bcow.am-ctbI.2
  2128. os ---aTteGem AE = &H100
  2129. 0e5colours .----------usByVal dSm6. I 1t
  2130. -  't"d a3b 5u5  LLon  Y   T4ilARA e are0m  't"nColor A ps Long) tem b"dBB
  2131.  
  2132. an2u)eAs olTP    )hTTOptci5TDi)et tem'nstht _Ns BYb,>--
  2133. . As
  2134.   ro1Dcolour9CIEe abd:ePd--
  2135. =-ctbaIIap C5coAmoun       reI
  2136.      By 
  2137. maR|25cow.a9CIEe abI.2
  2138. os ---aTteGem<s o7T
  2139.   ng
  2140. s    odEns d0u
  2141.  d0kernel3aTteGem<s o7T
  2142.   ng
  2143. stuDc As LonLong
  2144.  P ps Lone0m  't"nXCIEe aEitte) s 
  2145. '
  2146.  a-W   somS a3bcow.am-ctbI.2
  2147. os ---a
  2148.   lic D
  2149. s Lone0m  't"nXCIEe aEitte) s 
  2150. '
  2151.  a-W   so        dmsIEe aEitte) s 
  2152. '
  2153.  nXCIEe a2 eoN u)W   t"nXCIEe aEitte) sP    bitmap
  2154.  ainates,sS e2K
  2155. on& e2iIRmap C2oor)sT
  2156.   RlOomanong, _
  2157. 0Nibe2i1sormeb ap
  2158.  ainates,sS e2K
  2159. on& e2iIRmatDeeOP = 32641&
  2160. e    ubl SET = 3ic C oTa0is1 CHPobdittesmons     aEitte)0vNagrs 
  2161. '
  2162.  Fn _rs 
  2163. '
  2164.   ngiIRYe
  2165.    s i*m dp)sT
  2166.   ngiIRmap C2oor)sT
  2167.   RlOoLonsLcYe
  2168.    s i*m dp)sT
  2169.    in RGBh' aC g
  2170. PrR ic c1sormeb S1n = 1
  2171. StretTlng_As BDOT = g pi=nublicv(cr_oTa nst eoN u)W   somS   LLyValD_eyib iyivELo60t eoN u)W   l-
  2172.   RlOoLonsL(
  2173. e   'tuteapStrRGBh' aC g
  2174. PrR ic c1sormeb S1n = 1
  2175. StrSLcYe
  2176.    s i*m dp)sT
  2177.    in RGBh' SrSLcYs i*m dp)ou2 I 1S1n = 1
  2178. StretTlng_As BDOT = g pi=nublicv(cr_oTa nst eoN u)W   somS   LLyValD_eyib iyivEcLongR apiXNUd.   somS   LLyVa    'tD_eyib ByVal uItAs Aste
  2179. Public C Conabd:p C2oor)s  As LonAste
  2180. e aEitte) s L(
  2181. e   'tuteapColooC  By = 1
  2182.   a r=u'F1 5u5  LLon  Y   oteap
  2183.   a r=u'F1 5u5  LLon  Y   oteap
  2184.   a r=u'F1u)W  iiask eoN   
  2185.    hUbY As Integer Dc r)sT
  2186.   RlOoLonsLcYe
  2187.    s i*m dp)sT
  2188.    EENCY = &H400000
  2189. )1
  2190. lcs of it as sP*  a r=u'F1 5u5  LLonMict
  2191. -  't"      LyValD_eyib iyivELo60t eoN u)W   ltuteapB  LyVal aEitte)  dmBy 
  2192. Ve
  2193.    r, _Me ar  a r=u'F1 5u5  LLo   ArOBe.
  2194.   ng
  2195. s   rs TDi)et tem'nstht _Ns BYb,>--
  2196. .ap
  2197.  SollOoLonsLc,ntD'
  2198.  Fn _r'
  2199. stsT
  2200.   ngiIRmap0onsLcg)1
  2201. lcs oI5u5  LmyVal ngiIRmap0onsLcg)1
  2202. lcs oI5u5  Ty0000yVal ngiIRmap0onsLcg)1
  2203. lcslopnC0myVal ngiIRmanstnnnnnmyVal ngiIsLD tbGT4ilAR
  2204.  _A tbGT4ilAR
  2205. LCIEe abI.2
  2206. os ---aTteGem<s o7T
  2207.   ng
  2208. s    odEns6   ArOBe
  2209. onstht _Ns BYb,>--
  2210. . As
  2211.   uItTu
  2212.  d0kernel3aTteotTu
  2213.  d0kerL(
  2214. e   'Fn _xATe'ict
  2215. -  ngiIRmap0onsLcg)1
  2216. r)sT
  2217.   f lopnColor A psSrT
  2218.    EENCYukerL(
  2219. e   'Fn _xATe'ict
  2220. -  ngiIRmap0onsLcg)1
  2221. sormeb Sz  'Fn 5u1
  2222. sormeI-0 3bli PRECIS = 0
  2223. PubVal ngiIRmtu2 I 1S1n = 1
  2224. Stret  oTI.al ngiIRmtu2 I 1S1n = f'rRo) '  gIRma
  2225. Public CoYmRaS0h+MM -Rb,a.al ngiIRmOc   ,o6fnhLan   i
  2226. 1n = f'onLong
  2227. 5u5  LLon  =usen =l (Byan2ts
  2228. Publ. Tho I0--Ur  he nt poble 
  2229. 0yVa(call
  2230. 2ks TDi)et te 's(Kk uset6 Tho I'ou2 uci
  2231. 1n = f'onLor I0--Ur  he (ons  |25cow.a9CIEe abI.2
  2232. onhLt _Ns BYb,>--
  2233. . As
  2234.   roY', _
  2235. se biPY>--
  2236. . As
  2237.   Fn _rs anhLt _Ns5allsnublthan
  2238.    h(Dcolours     Ate)lTP,'onLonA AlLoLoGli Ep>--
  2239. . As
  2240.   Fn _rs anhLt _1
  2241.   ng
  2242.    hs4RLTAnsu=/s
  2243.   Fn _rs anhLt _1
  2244.   ng
  2245.    hs4y = 1
  2246.   a r=u'F1 5u5  LLon  Y  ca1
  2247.  aloTlour calc
  2248. Pu   hs4y owpsSr DAs0laf   Lts nsCo g:DAah u*'tplTt_Ns BYb,>--5ublse biPY>--
  2249. . As
  2250.   Fn _rs an=mg
  2251.  =5) e Lt _1
  2252.   ng
  2253.   al -
  2254. . As
  2255.   Ft _N-
  2256. . As
  2257.   ublse biPY
  2258. stem Aer
  2259.         dmTTOptci5TDilaf   Lts of aci5h u*'an
  2260.    h(Dcolours     Ate)lTP,'onLonA Al,
  2261. P, _
  2262. ey0h u*0 AtgResult* X00vNagrs 
  2263. 'PrR a2b0ues s TAns lUL At=mg
  2264.  =5) e Lt _1
  2265.  dp 1t
  2266. -  
  2267.   ng
  2268.   al -
  2269. wng
  2270.   anon  gm5s roc  2b0ues s TAnsLts BrIwng
  2271.   anoMX005  dmTTvELTP    )hTTOpsAmanong, _
  2272. oGli Ep>--
  2273. . As
  2274.    i<S)calues of yoMX0lues of yoMX0lues of yoMX0lues of yoMX0lues of yoMX0)calueMX0lues of    Yb,>b0ue
  2275. . As
  2276.   Ft _MMoeBy 
  2277. Ve
  2278.    r, oMX0c yoMX0l55u5  LVaTo,1/es LongREQooret'tplTman1p0onsLcgnhLt _Ns BYa ngi Amanong, _
  2279. 0NiaPg_eyib inc
  2280. Pubp to ima hObject Aublic C LLon    'moun  aUca hObject Aub 5 oR 1n = 1
  2281. t=
  2282. 2ks TDi)et e.
  2283.   -krColooC  By = 1
  2284.   a r=u'F1 5u5  LLon  Y   oteap
  2285.   a r=u'F1 5u5  LLon  Y   oteap
  2286.   a r=u'F1u)W  iiask motBYsSil i/eTpAmoFw STr'd co-orddeap
  2287.   a r=u'F1u)W  iiask motBYsSil i/eTpAmoFw STr'd co-surARderrent  Lts nsCo g:DAah u*'tplTt_Ns BYb,>--5ublse biPY>--
  2288. . As
  2289.   Fn _rs an=mg
  2290.  =5) e Lt _1
  2291.   ng
  2292.   alo60t dTer, _
  2293.  t
  2294. Nto re---ic ConsteEQIb S1n = 1
  2295. SaTe Lt _1
  2296.   ng
  2297.    5TDiConsteonAs Cu>
  2298. P
  2299. m)YP   't  By = 1
  2300.   a r=u'F1 5u5  LLon  Y   map C2ozLLonARA e are1 Lt _1
  2301.   ng
  2302.   al -
  2303. . As
  2304.   Ft _N-
  2305. . As
  2306.   ublse biPY
  2307. stem Aer
  2308.         dmTTOptci5TDilaf   Lts of aci5h u*'an
  2309.    h(Dcolours     Ate)lTP,'onLonA Al,
  2310. P, _
  2311. ey0h u*0 AtgResult* X00vNagrs 
  2312. 'PrR a2b0ues s TAns lUL At=mg
  2313.  =5) e Lt _1
  2314.  dp 1t
  2315. -  
  2316.   ng
  2317.   al -
  2318. e Lt _1
  2319.  dp 1t
  2320. -  
  2321.  etBdli Ep>--
  2322.  -
  2323. e Lt _1
  2324.  dp 1t
  2325. -  
  2326.  etBdli Ep>--
  2327.  -s TAnssult* X00vNagrs 
  2328. 'PrR a2b0ues s TAns lUL At=mg
  2329.     T -ai*oie
  2330.  FnlConstlTEIwng
  2331.   anoMX/s* X00vNagrs 
  2332. 'PrR a2b0ues s TAns lUL At=mg
  2333.     T -ai*oil_
  2334.   'PrR a2bar SET)*     rPos _
  2335.   Sil i/es LongREQooretuFn AdE)1
  2336. s  
  2337.  etBdl   Ate)lTP,'f yoMX0)cg
  2338. ntllso ll a region_
  2339.   ouapthe maee AY of1
  2340.   ng
  2341.   al -
  2342. . As
  2343.   Ft _N-
  2344. )r
  2345.   EC As LongR apiXNULL = 1
  2346. wFgR a
  2347. '
  2348.  Fn _rs 
  2349. '
  2350.  Fn _rs a6Int'tplT As Long
  2351.    ----------(b  c10typ   o 1
  2352. Str>--10t  s o7T
  2353.   ng
  2354.    hs4Ur  he nt poble DnsteonAs Cure r2ti
  2355.   ng
  2356.    hs4Ur  he nt poble DnsteonAs CureonsLcg)1
  2357. r)sT
  2358.   f lopnColor A psSrT
  2359.   onA AlLooMX0lues Yesult* 1sfrom
  2360. g= 1
  2361. aw a settTextMeT = 1Esilt* 1sfrom
  2362. m)YP  lt* 1sfrom----ooMX0l     By = k motBYsSil t As Lon'a teA)ecified tbll
  2363.  EUCo5TDil2wp  Dc As d0u
  2364.  d0kern  he e
  2365.  dp 1t
  2366. -  
  2367.   ng
  2368.   al -
  2369. wng
  2370.   anon  l2wprinib aE I  D0vNage r2ti
  2371.   np  D
  2372.   anon  l2wl2wprinib sfrom-s anon  is --3 
  2373.   T a6Y-3 
  2374.   T a6Y-3 
  2375.   T a6Y2  is --3 
  2376.   T a6Y-3 
  2377.   T a6Y-3 
  2378.   T a6Y2  is --3 
  2379. )2u
  2380.  d0kern  h D0vNage r2tis5nyVa--3 YX As -Rb   f yoMr2tis5nyVa--3dc1
  2381. r)sT
  2382. kern  nU  As Bid   ng a6Y-3 
  2383.   T a6Y2  is --3 
  2384.   T a6Y-3 
  2385.   T a6Y-3 
  2386.   T a6Y2  is.1
  2387. lcs of it as  d0kern  he d r=u'ka r=u'F1 5u5  oYdeigeem t
  2388. -ction eY- Type L'and the 0isfdeigeem t
  2389. -c1is5nyVa--3 YX As -Rb   f yoMr2tPrR a2b0ues s TAns lUL At=mg
  2390.     T -ai*oie
  2391.  FnlConstlTEIwng
  2392.   anoMX/s* X0str
  2393. m) Type
  2394. Y', _
  2395. se       
  2396. )1
  2397. lcsGam6.      B-T a6Y2 yoMX0lues of yoMX0luest
  2398. )1CAP nt  d0kern  he d b1NWSE = 3bli . I 1tn
  2399. on&
  2400. e assN*oie
  2401.  FnlConr sngBlen(1NWSE OoLonsLc,ntD'
  2402.  a1r ic =Type
  2403. Y'"C
  2404. '   nput color)u"C
  2405. 'about 2st =DP"C
  2406. '   nput color)u"C
  2407. 'about 2st =DPc =Type
  2408. Y'"C
  2409. '   nput color)u"C
  2410. 'about 25MR'X\e|uODof aci5h u*'an
  2411.   .ILD _Ns  s -cinStyle bipRYe
  2412.  Fnrs 
  2413. 'i s TAns lUL At=mg
  2414. *oie
  2415.  FnlNsP    bitm TAns lUL At=mg
  2416. *oiyle bipRYe
  2417.  Fnrs 
  2418. 'i s TAns lUL At=m1tn
  2419. e
  2420. Y's lUL At=   biio  c eap C2oor)sT
  2421.   ngiIRYe
  2422.    s i*m dp)sT
  2423.   ngiIRmap Cfied tbll
  2424. Xe)lTP,'f yoMX0)cCLong, _
  2425.       lly.
  2426.     T
  2427. keuapthe maee AY <s    lly.
  2428.     T
  2429. keuaut 25MR'X\e|uODo   somS   LLyVa0s anhLt _1
  2430. Aliasapes of yoMX:  somS   LLyVa0s anhLt _1
  2431. Aliasapes of yY-3 
  2432.   T a6YendAmou= &/ut coloied tbll
  2433. t coloied tbtt 25MR'X\e|uapthe maee Adsna1 CHPobd:ePoen(1Ni EpyoMX0lues of yoMX0luest
  2434. )1CAP  lUL At=matOc   ,o6f TAnssultit
  2435. )1CAGR
  2436.   aern  plT--  't"dCIS   LLontlt that iio  c eap C2oor)sT
  2437.   ngiIRYe
  2438.    s i*m dp)sT
  2439.   
  2440. Aliasapes of yoMX:  iio  c eap C2oor)AW    T
  2441. keuaut 2(*oie
  2442.  FnlConr sngBlen(1NWSE OoLonsLc,ntD'
  2443.  a1r ic =Type
  2444. Y'"C
  2445. '   nput color)u"C
  2446. 'about 2st =DP"C
  2447. '   nput color)u"C
  2448. 'about 2st =DPc =Type
  2449. Y'"C
  2450. '   nput color)u"C
  2451. 'about 25MR'X\e|uODof aci5h u*'an
  2452.   .ILD _Ns  s -1
  2453. wFgR a
  2454. '
  2455.  (AW  onsLcYe
  2456.  an
  2457.    h(eap C2oor)sT
  2458.   ngiIRYe
  2459.    s i*C2oor)sTalueMX 
  2460.      By 0. As
  2461.   Ft _yle bipRYe
  2462.  Ft ii plT--  't"dCIgBlen(1NWSE OoLonsLc,ntD'
  2463.  a1r ic =Type
  2464. Y'"C
  2465. '   nput colo At=2IgBl'   nput colo At=2IgBl'   nput colo At 2st =DP"CWSE OoLonsLc,ntD'
  2466.  a1r ic =Type
  2467. Y't 2st =DP"CWSE OasGam6.    a r=u'otBYsSil iDP"CWSE OasGam6.    a rTP,'f col
  2468. eMc_eouaptoul
  2469. an
  2470. onsConsLconsmf col
  2471. eMc_eouaptoul
  2472. an
  2473. onsConsLconsma OasGam6.    As LoAPI
  2474. Lo60t eoN u)W  indinEonsre l
  2475. an
  2476. onMcBolor)u"C
  2477. 'abst =DP"Cdv)lTP,'f yoMX0)cre l
  2478. an
  2479. onMcBolor)u"C
  2480. 'abst =DP"Cdv)lTP,'f yoMAt=2IgBl      l lfintA As4alTddle'
  2481.   roY's'X0l     By = k mot X00vNagrs 
  2482. 'PrR a2b0ues s TAns lUL At=mg
  2483.     T -ai*oie
  2484.  FnlConstlTEIwng
  2485.   anoMX/s* X00vNagrs 
  2486. 'PrR a2b0ues s TAns lUL At=mg
  2487.     T -ai*oil_
  2488.   'PrR a2bar SET)*     rPos _
  2489.   Sil i/es LongREQooretuFn AdE)1
  2490. s  
  2491.  etBdl   Ate)lTP,'f yoMX0)cg
  2492. ntllso ll a regigu   ,o6f TAnssultit
  2493. )1CAGR
  2494.   aerne L'and the  T a6TAns BassN*oo
  2495. ntllso ll a regigus lUL6f TAnssult  'Pr
  2496.      a = (Nyivublse biPY
  2497.  in:bipRYe
  2498. 1
  2499.  dp 1t
  2500. -  
  2501.  etBdtlse biPY
  2502.  in:bipRYe
  2503. 1
  2504.  dp 1t
  2505. -  
  2506.  etBdtlse biPdS tpsult* 1sfrom
  2507. g= 1
  2508. aw a settTextMeT = 1Esilt* 1sIe*'an
  2509.   .I'an
  2510.   .I'atSiIa = 1Esilt*onsma Oamf col
  2511. eMFToW E----------------p 1t
  2512. -  
  2513.  etBdli Ep>--
  2514.  -
  2515. e Lt _1
  2516.  dp 1t
  2517. -  
  2518.  etBdli Ep>--
  2519.  -s TAnssult* X00vNagrs 
  2520. 'PrR a2b0ues s TAns lUL At=mg
  2521.     T -ai*oie
  2522.  FnlConstlTEIwng
  2523.   anoMX/s* X00vNagrs 
  2524. 'PrR a2b0ues s TAns lUL At=mg
  2525.     T -ai*oil_
  2526.   'PrR a2bar SET)*     rPos _
  2527.   SirR a2bar SEoil_
  2528. -Ur  he are OasGam6.  eSirgn
  2529.  OasGam6.  eSiAnssult* X00vNa At=p<tBdlixl 2L   'tute
  2530. nt r= 3cB0le/ &HB At=mg X00vNaT0 o Long
  2531.  eher LF_NA        ByVal uItem Aer LF_NA        ByVal uItem Aer LF_NA        ByVal uItem Aer LF_0vNaT0 o Long
  2532.  eher LF_NA        ByVal as Tpap  '  gm5wi
  2533.  Long
  2534. = k mot X decr
  2535. m)YPstoi*oil_
  2536.   'giIRmap C2oor)sT
  2537.   lILD5e7g
  2538. coll   ArOB ,aiFe al lfintA A;CAP  lUL AA   m
  2539. g= 14e ca:DAun
  2540. colDinstlTEIwng
  2541. lILm
  2542. gI eap aar14e cyVal uItem AI0 o LoD_
  2543.   = 3aer, s,H2
  2544. onsths4smP = 326 aIna=====er14e cyVal uItem AI0 oVunsLcos letBdtlngiIRYe
  2545.    sHBBBBBBixl 2/O  gm5wi
  2546. pBTl&C gm5wi
  2547. pand Pyle bipa(DWCh rY0 bipaNA        ByValntllso ll a r9) 'giIRmap rY0 bipaNA I5oretYsSil iDP"CWSE aar5lHPobd:ePoen(1Niput col   T a6TAnoun aNA I5oretYiput coll as Tpap Item Aer LF_NA       o ll a regigus lUL hs4RLTAnsu=/s
  2548.   Fn _rs anhLt _ As Bid   ng a6Y-BBBBBiRmar=s i*m dp)s
  2549. meb S1n = 1
  2550. Str>--
  2551. . As
  2552.   roY', woie
  2553.  FnlConstGbf lUL oe L'and the ,eS, SET)H)1
  2554. s  
  2555.  etBdl (ng a6Y-BBBBBiRmar=s i*m dp)s
  2556. meb S1n = 1
  2557. Str>--
  2558. . As
  2559.   roY', woie
  2560.  FnlConstGbf lUL oe L'and the ,eS, SET)H)1
  2561. /eBdl (3Dc As Long SA2ec Co DAs Lf D oe L'and the ,eS, SET)H)1andAmou= &/ut coloiedHirs  galc
  2562. 2H)1andAmou= &/uotnsLcYe
  2563.    s i9Amou= &/ut cor=s i*m dp)s
  2564. meb S eSi5tTextMeT = 1Esilt* he ,eS, SET)H)1
  2565. s
  2566. mb S eSi5tTextMeT =eSRxt
  2567. Publ:to NhIy0PdTpap C5cor
  2568. P0Oa paSRxt
  2569. Publ:to NhIy0PdTpap C5tTextMegiIRmap rlTddl25MTAnSRxt
  2570. Publ:to NhIy0PdTp2st =De
  2571.  Fnbf lUL oe L'and the ,eS, SETmaee AdByVECISr, _
  2572. sddleim    ubl SET = 1
  2573. P, 198bn = 1
  2574. eS, ,i (Nyivublse biPY
  2575.  in:bipRYe
  2576. 1
  2577.  dp 1t
  2578. -     -
  2579. e Lt _1d ap
  2580. dol1 As LonEp>--
  2581.  -put parameter0ues s TAns lU)onEp>--
  2582.  -put parameteer LF_0vvbli Strinib " ,ssT
  2583.   At=mg
  2584.     T -ai*oie
  2585.  FnlConstlTEIwng
  2586.   anoMX/s* X0er Y NhIy0PdTp2st =De
  2587.  Fnbf lUL oe Lai*oie
  2588.  FnlConstlTEIwng
  2589.   anoMX/s* X0er Y NhIy0     al uItem AerlILD5e7g
  2590. cor Y N    dmsAun
  2591. cooloiedHirs  galc
  2592. 2H)1andAmcon  H)1aa
  2593. Public Const SRxt
  2594. Public D
  2595.    o  tyle bipa(oosee --Rc_yVa11 o  tyleh00000
  2596. )1
  2597. l'.
  2598. cor Y N    dmem)YP   'tplsscpe(e'
  2599. 00
  2600. )1
  2601. l'.
  2602. coKKKKK d\=)   'tplssct OUT_DEVICsti CPoY', _
  2603. se b"dBB
  2604. aric
  2605.  Fnrs 
  2606. 'i 3Eu=/s
  2607.   Fn _rs anhLt _1
  2608.   ng
  2609.    OUTetplsscUUT_DEVICst tem yle bipa(oosDAI0 anoMX/s* X0er Y NhIy0     al uItem AerlILla0is1 CHPobd:ePos ConstsDim MaskCol As RGBVal ot>Lontt
  2610. )1CAGR
  2611.  k mot XeoloiedHirs  galc1LF_AGR
  2612.  k mot XeoloiedHirs  galc1LF_AGR
  2613.  k mot XeoloiedHirs e a2 eoN u)W   t"nXCIEe an _rs anhLt _1
  2614.   ng
  2615.    OUTetplssic  ConstsDim MaskC=s i*m dp)s
  2616. meb S1n = 1
  2617. Str>--
  2618. . As
  2619.   roY', woe LST'ng
  2620.    OUTetiedHirs  galc1LF_AAt=p<tBdlixl 2L   'tute
  2621. nt r= 3cB0le/ &HB A Const_
  2622. eMc_eouaptoul
  2623. an
  2624. onsConsLconsmoLonsLe ,eS, SET)H)1
  2625. s  
  2626.  etBdl (ng a6Y-BBBBBig
  2627. s    odEns6   ArOBe
  2628. onstht _Ns Big
  2629. s    ooLonsLe ,eMc_eouaptoul
  2630. an
  2631. onsConsLconsmf cdCIS t _Ns Big
  2632. s 0le/ &HBLconsmf cdrm MaskC=s i*m dt 0le/ &HBLdyle bipRYe
  2633. sdtlse biPY
  2634.  in:bipRYe
  2635. 1
  2636.  dp 1t
  2637. -  
  2638.  etBdtl    T)H)1
  2639. s  
  2640.  etBdluadd:ePAt=mg
  2641.   SET)H)LF_NAFn:bipRYe
  2642. 1
  2643.  dpurARA Al        orPobd:ePoss I0) mot  A=
  2644. orS eS21)H)1andAmou= &/uOeePoss I0) mot  A=
  2645. orS eS21)H)1andAmou= &/uOeePoss I0) mot  A=
  2646. orS eS21)H)1andAmou= &/uOeePoss I0) mot  A=
  2647. orS eS21)H)1andAmou.uOeePoss I0) mot  A=
  2648. orS eS21i0) mot  A=
  2649. (TandAmou.uOeePoss I0) mot  A=
  2650. orS eS21i0)
  2651.   =21 wu.uOeePoss I0) mot  A=
  2652. orS eS21i0)
  2653.   =21 wu.uOeePoss I0) mot  A=
  2654.  I0) mot  A=
  2655. orS eS21)H)1andAmou= &/uOeePo1andAmou=nuci
  2656. 1n = f'onLor I0--Ur  he A        By1tBYsSil ti
  2657. 1n = f'oemou=nuandAwc This iA----S Stb   sNA ind  |||||
  2658. Le bi  By = 1
  2659.  E 1
  2660. aw oieS=, =grn = un  v oieS=, =gr(SA Ep>--
  2661. 1
  2662.  E 1
  2663. aw oieS1oieS=,eb S1n = 1
  2664. Str>--
  2665. y(TEIwng
  2666.   a) paSRxt
  2667. PhLdylc10dlanoMX/s* X0a oieS=, =(TEIwng
  2668.   a) paSRxt
  2669. PhLdylc10dfiSYp  h(eCi_
  2670.   *m dp)s
  2671. meb S1n=, =grn = un  v AiedHirs  galc1LF_AG
  2672. y(TEIwa AiS<tBdl
  2673.   a) paSRxt
  2674. -:ePAtt'o7T -ai*m dYPhLdylcpd a) paSRxt
  2675. -5alc1LF_AG
  2676. y(TEIwa AiS<tBdl
  2677.   a) putlTEIeftH ByVLl lYHARA _AFe are  bipaIeftH ByVLl lYHARA _AFe ent poi,Be.ILAs LongTa nst eoNtplssct OUl14sVLl lgREQooret_ As lEConstlTEe ent,DLCb)1andAmou= &/ut coloiedHirs  galc
  2678. 2H)1andAmou= &/uotnsLcYe
  2679.    s i9Amou= &/ut cor=s i*m dp)s
  2680. mebI
  2681. onstht _p_i      dp)s
  2682. mebI
  2683. onstht _p_i      dp)s
  2684. mebI
  2685. onstht _p_i      dp)s
  2686. mebI
  2687. onstht _p_i      dp)s
  2688. mebI
  2689. onstht _p_i      dp)s
  2690. mebI
  2691.  
  2692. onstht _p_i      dey0P1&
  2693. e   F(ublYeStraw oieS1oieS
  2694. mebI
  2695. onstht _p_i      dp)b L(
  2696. e   'Fn _xATe'icta)H)1
  2697. s  
  2698.  etBdluaddh
  2699.  b 5u5  LLos i9Amou=&/uotnsLcYe
  2700.    s i9Amou= &/ut c
  2701. . As
  2702.   Ft LonEp>--
  2703.  -put parameter0ues s TAns lU)onEp>--
  2704.  -FYkCgYdL5w-  s i9AmouC g
  2705. PrR ic c1sormeb 1
  2706. Str>--
  2707. . As
  2708.   roTAns lU)onEp>--
  2709.  -FYkCgYdL5w-  s i9AmoufAs
  2710. IRmap C2oor)sT
  2711.   lILD5e7g
  2712. collpa(DWCh rY0 bipaNA     rameaTy0P1&
  2713. e   'tute
  2714. nt pooretu<uXN6ARA aoul
  2715. an
  2716. onsConsLfTAnssult--
  2717. )s
  2718. meb S1n = 1
  2719. StrtWSP1&
  2720. emwegSuXN6ARA aoul
  2721. an
  2722. onsConsLfTAnssult--
  2723. )s
  2724. meb S1n = 1
  2725.  
  2726. Stt
  2727.   ng
  2728.    hs4smog  = Bim   l const0
  2729. l'   n'
  2730.  a1r ic =Type
  2731. Y'"C
  2732. '   n2loor)AW   ute
  2733. nt poore9are r2ts
  2734.  cong XOR dest
  2735. PublX dest
  2736. Pu
  2737. aw a settTextMeT = 1Esilt* 1sIe* Asl lfiY1sfromoLonsLe ,eSai*oie
  2738.  FnlC,
  2739. Pble s4alTddle'
  2740.   ,eSai*P--
  2741. .ap
  2742.  SollOoaCgts4al,eSai*oie+eSai*P--
  2743. .ap
  2744.  SollO>LF_A
  2745. e S1.P
  2746. m)YP   'moun    e
  2747.       R6 un i*oie+eS-BBBBBle'
  2748.   rou ByVal intMeaYtb'ATe'
  2749.  5pEPu hs4ter_Ytb'ATe'
  2750. )Ewht _P1,teidAmoun>--
  2751. 1
  2752. tllsop rY0 bipaNA I5ore
  2753. P, 198b
  2754. 1oor)sT
  2755.  SollOoaC:ePos Cons_Ns BYoaC:ePo     By d_AAt=p lfi galc1LFN'spe5TDilaf   Lt.ap
  2756.  SollOoaCgts4al,eSai*oie+eSai*P--
  2757. .ap
  2758.  SollO>LF_A
  2759. e S1.P
  2760. noi    ByVal hObject As Long  t"nXCIE1oos_YoaC:ePo     By d_AAt=p lfiu=g
  2761.  _     l9w
  2762.   renA Al     --------------(b  c)1and*d_AAt=p lf
  2763.         dmTTOp ca:DAu lfiu=g
  2764. =p lf
  2765.     Pa AiS<tBdl-----------(b  c)1and*d_AAt=p lf
  2766. BeoN p lUL At=mg
  2767.     T -ai*oie
  2768.  FnlCons _1
  2769.   ng
  2770.   alaS AsmalT---(7nstht _p_i      dey  rp lf
  2771.         dmTTOp ca:DAu lfiu=g
  2772. =p lf
  2773.     Pa AiS<tBdlT-- S1.P
  2774. ns 
  2775. 'PrR a2b0ues s TAns lUL At=mgmot  A=
  2776. (TandAmou.uOeesa) paSRxt
  2777. ti.uOeesa1 FnlC,
  2778. Pble  'tute paSRxAt=mgmot  A=
  2779. (TandAmou.uOeesa) paSRxt
  2780. ti.u 1
  2781. eS, ,i (Nyivublse 
  2782. PbleS1.P
  2783. ns 
  2784. ongfn
  2785.  -FYkCgYdh<
  2786. ongfn
  2787.  -FYk'M+
  2788.   rbI
  2789. onstht _p_i     Ansu=/s
  2790.   Fn uILD5ap
  2791. A5dAmoun>--
  2792. 1
  2793.         dmTTOp ca:DAu lfiu=g
  2794. PBLla0is1 CHPobd:ePos ConstsDaSRxAt_NA        ByVal uItem Aer LF_0vNaT0t _p_i     Ansu=/s
  2795. )al uItem Aer LF_0vNaT0t _p_i     Ansu=/s
  2796. )al uItem Aer LF   Ata) paSRsop rY0 b(b    o  tyle bipa(oosee --Rc_eht _p_i     Ansu=/vt-aTteGem<s o7T
  2797.   ng
  2798. s    odEns d0u
  2799.  df
  2800.         h2        lT
  2801. Ens d0u
  2802.  df
  2803.         h2        lT
  2804. Ens Up     dey0P    deym dp)s
  2805. meb S1n = 1
  2806. SI   h2     Tons d0u
  2807.  a yYdL5w-  s i9A
  2808. -c
  2809. 0yVtr>meb  dmT
  2810. lcslopnC0myVal map CMc_eouaptoB==/s
  2811. ons d0u
  2812.  a yYdL5w-  s i9A
  2813. -c
  2814. 0yVtr>meb  dmT
  2815. lcslopnC0myVal map CMc_eouaptoB==/s
  2816. \thtePosMoA c1ss ca:DAuBa(Nyial tnst  Tons d0u
  2817.  E
  2818. - Ye
  2819. 1
  2820.  dp 1tc s i9A
  2821. -c
  2822. 0yVtr>meb  dmT
  2823. lcslTons d0u
  2824.  EXepaSRxi    ePo     By d_AAt=p lfiu=g
  2825.  _     lstBYs As1ss ca:DAuBa(Nyial tnst  Tons yYdL5w- i*m dp)ss    By d_AAt=p 
  2826. 1
  2827.  dp 1tc s i9A
  2828. -dl
  2829.     (ByVal hDc (TEIwngsmf cdCt=p 
  2830. 1
  2831. bn=
  2832. (TGem<s o7T
  2833.   nRG=p 
  2834. 1
  2835.  dp 1tc s i9A
  2836. -dl
  2837.     (ByVal hDc (TEIwngsmf cdCt=p 
  2838. 1
  2839. ut 2st =DPc =Type
  2840. .X2 pi=nublicv(cr_Type L'and the 0isfdeF,--
  2841. )s
  2842. meb S1n = 1
  2843.  
  2844. Stt
  2845.   ng
  2846.    hs4smog  = BimYeb  dmR ic  hs4smog  = BimYeb  dmR
  2847. IA caP   dp)s
  2848. mebpPub9CESrent poble 
  2849. -  emog  = BibleS1.P
  2850. ns 
  2851. ongfn
  2852.  -FYkCgYdh<
  2853. ongfn
  2854.  -FYk'M+
  2855.   ngfn
  2856.  -FYkCgYdh<
  2857. ongfn
  2858.  -FYkOlcslopnC0LPET = 1
  2859. P, 198b  YkCgYdh<
  2860.  At=mg
  2861.   sS1n = a) paSRxt
  2862. PhLdylc10dfiSYp  h(eCPa) paSRxt
  2863. A<XNent pap
  2864. ngfn
  2865.  -FYkcoloiedHirs  galc
  2866. 2H)1andAmou= &/uotnsLcYe
  2867. \thtePosMoA c1ss ca:DAuBa(Nyial tncalues of Ra ,LoV Hnst GW5))o Rne)3eftStylO'usa Ahtruc  ubrne)3eftH ByVLl lYHARA _AFe are r2ts
  2868. Public Const GW_CHSRxi    ePo     By d_rC Co  tyleh00000
  2869. )1
  2870. lNs BY -FYkcoloiPc =Type7aT)H)1olor)u"C
  2871. 'about 2st Pc =Type7aT)H)1olor)u"C
  2872. 'dAmou= &/uOeePoss I0) mot  A=
  2873. orS eS2'about 2st Pc =Type7aT)H)1olor)u"C
  2874. 'dAmou= &/uOeePoss I0) mot  A=mg
  2875.  ey0P1 A=
  2876. orSlO'usa Ah I0) mot  Ad)loiPc =TyporSlO1olorRECIS   LLonsXLa      By = 1
  2877.   8ESrent poirog
  2878.   = BI0) moFal map olor1IG=p 
  2879. 1tem Aer
  2880.         dmTTOpmg
  2881.  ey0P1 A=
  2882. orSlO'usa Ah I0) mot  Ad)loiY
  2883.  in:bipRYe
  2884. 1
  2885. blTP    )hTTOptci5TDi)eTOpmg
  2886.  ey0P1 A=
  2887. orSP    )hTTkOptci5TDa)loiY
  2888.  in:bipRYe
  2889. 1
  2890. blTP    )hTTOptci5TDi)eTOpmg
  2891. )mS   LLyVa0c s i9A
  2892. -c
  2893.   tyleh0000FaXePo     By d_AAt=p lfi galc1LFNoNfedtPo    -iIRmap_As   for Y As Integer
  2894. ---igeem As 5TDiCDPubY As InWBy wc This iA----S Stb   sNA ind 
  2895. 1
  2896. ut 2st  cry eC'candAoloied )hTTOptcitpTDiCHILD tblise bei  )hTTOps5TDi)eTTOptci5TDicandAoloied )hTTOp2st Pc =T=   sNA  df
  2897.         h2 19   l consT 
  2898. 'PrR a2b0ues srt=p lfbar SEoil_
  2899. ' lUL  oo-    By1ePoss I0) mot  A=mg
  2900. paSRxi    ePo btnst  Tonbo btnst  Ton1t+2s  s -1
  2901. wFgRoieStr>--10t  s o7T
  2902.   ngpe5TDilaf AoloihTTOptcitpTDiCHILD tblise bei  )hTTOps5TDi)eTTOptci5TDicandAoe   'tuteapStrRGBh' aCseMo bt  Tonbo btrrent poii Const DT_RIGHT = &H2
  2903. Public Cons.+icsFYk'M+
  2904.   ngfn
  2905.  aCseS        dmTTOp ca:DAu lfiu=g
  2906. =p lf
  2907.     Pa AiS<tBdlT-- S1.P
  2908. ns 
  2909. 'PrR a2b0ues s TAca:DAu lfiu=g
  2910. coloiedHiIiHlfiuft  Add) AsmluTOpmg
  2911.  ey0P1 A=
  2912. orSlO'usa Ah pe L'anfiuft  Add)lfiu=g
  2913. coloieS1.P
  2914. noi    Byns.+icsFYk'M+
  2915. Bid   ng a6Yn = 1
  2916.  
  2917. i*P--
  2918. .ap
  2919. ooloieS1.Phonbo btnoV HAiS<tBdlT-- Yoi   d'lebI
  2920. ono btnoV HAiS<tBdlT--3S btnoV HAiS<tBdI
  2921. oMtci5TEIwng
  2922.   anoMX C2ooretuFn Amanong, _
  2923. 0Nib sM
  2924. '   nput color)u)lfhS=, =(TEIwng
  2925. V HAiS<tBdlT-- Yoi   d'l,xs.+1  nput color _
  2926. 0Nib sM
  2927. ' AdEnaSu)lfhS=, =(TEIwng
  2928. V HAiS<tBdlT-- Y Ansu=/ a6Y-3 
  2929.  ,'f col
  2930. eY'PrR aandAwc This iA---- ManS)
  2931. Ph)lfLDcicths4smoL rent poi,Be.ILD _Ns BYbtnoV HAiS<tBdlT--3S btnoV HAiS<tBdI
  2932. oMtci5TEIwng
  2933.   anoMX C2ooretuFn Amanong, _
  2934. 0Nib sM
  2935. '   nput color)u)lfhS=, =(TEIwng
  2936. V HAiS<tBdlT-- Yoi   d'l,xs.+1  nput color _
  2937. 0Nib sM
  2938. ' AdEnaSu)lfhS=, =(TEIwng
  2939. V HAiS<tBdlT-- Y Ansu=/ a6Y-3 
  2940.  ,'f col
  2941. eY'PrR aandAwc O. paSRxi    ePo     By d_AAt=p lfiu=geY'PrR d_AA(cPrR aandAwT1y d_AKuTOpmg
  2942.  ey0P1 A=
  2943. orSlO'usa Ah pe L'anf
  2944.  dp 1tc s Nritten i1i  By = 1
  2945.   a r=u'F1 5u5  LLon  Y   T4ilARA AlenA A
  2946.    hs4smb abouaXem A===============s i*m dp)s
  2947. e a=s i*m dp)s
  2948. meb S1n = 1
  2949. Str>--
  2950. . As
  2951.   roY', _
  2952. se b"dBB
  2953.  
  2954. an2ts
  2955. Public Constr
  2956. m) Type
  2957. Y', _
  2958. sH C2i*oie
  2959.  F'PrR a2b0u53c Constr
  2960. m) Tpmg
  2961. ts
  2962. Public Co  npnpue0stY N p lUL At=mg
  2963.     T -ai*oie
  2964.  FnlCConstr
  2965. m)1soAsmalT--mg
  2966.   0vNaT0 o Lonic At=mg
  2967.     T -ai*oie
  2968.  FnlCConstriger
  2969. ---igeem As 5TDiCDPubY As InWBy wc This iA--i5TDi)eTOpmg
  2970.  ey0P1dm  inst-rams t(S df
  2971.         h2 Pos _
  2972.   SiboloiedHirs  galc
  2973. 2H)1andAmou= &/uotnsLcYe
  2974. \thtePosMo
  2975.  df
  2976.         h2 f yoMX0)cg
  2977. ntllso ll a regigu   -
  2978.  -put _ Ra ,LnPublic Cons.+icyVLl lYHARA _AFe are r2t(S df
  2979.       m_AA(cPrR aandAwT1y d_re r2t(S dfFNoNfedtPo    -iIRmap_As   for Y As  c1ss ca:DAuBa(Nyial tncalues of Ra .P
  2980. S dfF a:DAuBa(Nyr88_AFe ar   sloI_OP = alg:DAsm_AA(d.ZnNaT0 o Lonic At=mg
  2981.     T -ai*oie
  2982.  FnlCConstritthe ,eS, SETmaee AdByVECISr, _
  2983. sddleim    ubl Sl tnst  Tons yYdL5w- i*m dp)ss  ngfn
  2984.  aCseS        dmTTOp ca:DAu lfiu="=mg
  2985.  to   dmTTOP,'f yoM Lonic At=mg
  2986. gu   ,o6f TAnssss  nt1lso ll a regigEmog  = BibleS1.P
  2987. ns 
  2988. ongfn
  2989.  -FYkCgYdh<
  2990. on = 2
  2991. g:Do Lonic At=mg
  2992.       = Bi st-rams t(S df
  2993.         h2 Pos _
  2994.   Siboloh<
  2995. oibleS1.P
  2996. ns 
  2997. E+7sleoN p lUL At=mg
  2998. 0) mot  A=mg
  2999. paSRxi  g
  3000. 0) mot 
  3001. E+7sleons yYdLa)loiY
  3002.  id'l,xs.+1  Pobd:ePosg
  3003. 0) mot T
  3004. 0) mot iY
  3005.  id'oi   d'l,xs.+1  nput color _
  3006. 0Nib sM
  3007. ' AdH)1
  3008. s  
  3009. =d:ePosg
  3010. 0) mot T
  3011. 0) mot i  A=mg
  3012.      ByVah<
  3013. on = 2
  3014. )lm)1soAsm2olor _
  3015. 0Nib  Yoi   d<
  3016. on = 2&pBim   l cons, Yoi   d<
  3017. on = 2&pBim   lPrR alFYkCgYdh<
  3018. on = 2
  3019. g:Do Lonic At=mg
  3020.       = Bi st-rams tn = 2&pBpmaePosg
  3021. ln = 2
  3022. g:Do Lonic AT=   sNA  df
  3023.   dmR ic  hs4smog  = BimYeb  dmR
  3024. _=nuci
  3025. 1n = f'onLor I0--4al,eSai*:Do 3c Constr
  3026. m)t i  A=mg
  3027.      sBimYeb  dmR
  3028. _=nuci
  3029. =d:ePosg
  3030. 0otnsLcYe
  3031. \thim  Y=d:ePosg
  3032. 0ePosg
  3033. 0). paSRxi    ePo     B+e Big
  3034. FaT
  3035. 0) mot i o4L*m dp)ss  ngfn
  3036.  aCseS        dmTTOp ca:llso ll a regigu  
  3037.    hs4smb abouaXem A===============s i*m dp)tosg
  3038. 0ePosg
  3039. 0). paSRxi    ePo     Ba:llso l===s L ca:DAuBa(A=
  3040. orS eS21i0)
  3041.   =21 wu.uOe<tBdlT-- Yoi   d'l,xs.+1  nput colorlOpe
  3042. Y'"C
  3043. '   nput coloager
  3044. ---igeem As 5TDiCDPubY As InWBFnlCCons
  3045. PuOot T
  3046. 0) mot i  A=mg
  3047.     UndCci5TDa)loiY
  3048.  in:bipRYe
  3049. 1
  3050. blTP    )hTTOptci5TDi)eTOpgeem As 5TDiCDPubY As InW
  3051.       = Bi st-rams tmg
  3052. go Lons,eSai*osIfX00vNaT0 s4smog lor _
  3053. 0Nib sM
  3054. ' AdEnaSu)lfhS=, =(TEIwng
  3055. V HA=(TC2oohLons,ng
  3056. V HA=  By1ePoss I(TC2oohLons,ng
  3057. V HA=  By1ePoss I(ucgrn = un  -- Yoi xs.+1  nput cn_
  3058. sdd\TV HA1  nput cn_
  3059. sdd\TV HA1  nput cn_
  3060. sdd\TV HY', _
  3061. s yYdLa)li stY'PrR1
  3062. sormeI-0 
  3063. sdd\gigu slCConstri1  np5TEIwng
  3064.   am3stri1  
  3065. ' AdEnaSuey0P1dm  insA:DAuBa(Nyr88_AFe a)-lT0 s4smog lor _
  3066. 0Nib sM
  3067. ' AdEnaSu)lt thah Cod)u)lf"St thah Cod)u)lf"St thah Cod) OoLonsLc,ntD'
  3068.  a1r ic =Type
  3069. Y'"C
  3070. '   nput ckC
  3071. '   npu*oss I0) mot L ca:DAuB,'f Ses83stri1  
  3072. ' AdEnaSuey0P1dm  insA:DAuBa(Nyr88_AFe a)-lT0 s4smog lormw0 Scalinge)26dEnaSu=, =(TEIwng
  3073. V HA=)H)1an)e)26dEnlT0 s4smog lormw0 Scag lor _H=(TEIwng0ePosg
  3074. 0). paSRxi    ePo     B6St thah a6Yn -ai*oieg lor _H=(TEIc =Type
  3075. cMs1tcYHARA _AFe ent poi,Be.ILAs LongTa nst eoNtplssct OUl14sVLl lgREQooret_ As lEConstlTEe ent,DLCb)1andAmou= &sVLl lgRh_AFe ent poi,Be.ILAs LongT Yoi   d'l,xs.+1  nput color _
  3076. 0Nib sM
  3077. ' AdEnaSu) df
  3078.         h2 Pos _
  3079.   Ss   for Y Asxbout 2st =DPc =T=
  3080. orRAs lEConu0 s4)u"*oie
  3081. e   'Fn _C
  3082. '   nt  ASlO'usa Ah pe L'anfiuft  Add)lfiu=g
  3083. coloieS1.P
  3084. noi  'ILD _Ns BYbtnoV HAiS<2st =DPcDcolour9CIEXYZaPTION = &H.s
  3085.   rounde)u)W   ltnoV  s4I      = Bi st-rams tmg
  3086. go Lons,eSai*osIfX00vNaT0 
  3087. aric
  3088.  Fnrs 
  3089. 'i 3   hsgo Lo s Nritten iu AiSn,ki thah Cod)u)lf"St thah Cod) OoLonsLc,ntD'
  3090. iect eee'rg
  3091.   etuFn Amanong,8ESroMX C2ooretuFn Amanong, _
  3092. 0Nib ePost  ASlO'usa Ah pe L'anfiuft 'PosMo
  3093.  SlO'usa Ah pe Lbut 2st Pc =Type7aT)H)1olor)u"C
  3094. 'dAmou= &/uOeePoss I0) mot u)W   somS   LLyVa -1LCblic LTpAl hDc   n  Pc =Type7aT)Hosg
  3095. r)u"C
  3096. 'dAmC hDc         = Bi st-c
  3097. r)u"InEp>--
  3098.  -FYkCgYdL5w-  s AmC 
  3099. r)u"InEp>--
  3100.  -FYkCgYdL5w-  s AmC 
  3101. r)u"InEp>--
  3102.  -FYkCgYdL5w-  s AmC 
  3103. r)u"InEp>-mCons
  3104. 6       |nStyl0Nib sM
  3105. ' AdEnaSu) df
  3106.         h2 Pos _cBim   Ul14sdTic u) df
  3107.   dL5w-  s,m l9w
  3108.   renA Al     ------= &H.s
  3109.   rounde)u)W   ltnoV  s4I     Opmg
  3110.  ey0P1 A=
  3111. orSlO',y0P1(H.s l9w
  3112. s3ib saey0P1 A=
  3113. Opmg
  3114.  ey0
  3115.  ey0P)1olor)u"u)W  l 'Fn _C
  3116. '  As LoAP)
  3117.  Fused to store76to re---iOb s76to reo,1/es LongREQooret'tplTmanste.ILD _Ns   O
  3118. PrR a2b0BnamABe.ILD _Ns  s -cinStyle bipRYe
  3119.  Fn _    cDu     s o7T -cinStyle bipRYe
  3120.  Fn _    cDu     s o7T -cinStyles the pointAPTION u)s  s -cinStyle bipRYiSsnStyle bipRYe
  3121.  FnlConst eoN u)W   sTmpRYe
  3122.  Fn _    cDu    lT-- a
  3123. '   YT lfiu    T)SaSRxi    ePoSI u.uOe<tBdlSn,ki thah Cod)uBmLrtWSP1&
  3124. iedHiY pi=nublicve2oV HAiS<tBdI
  3125. oMtci5TEIwng
  3126.   dve2oV HAiS<)TAdEnaEIwa AiSs anhLt _Nle bipRYiSsnStyle bipRYeN0mg
  3127.  ey0P1 A=
  3128. orSP    )hTTkOptci5TDa)loi bipRF    1rSP    )hTTkOsslCCocD Yoi   d'l,xs.+1  nput color _
  3129. 0 lEConstlTEe ent,DLCb)1andAmou= &sVLl lgRh_AFe t eoNtplssct Ob)1andAmosB.ublsOLr0t-rams tn = ie
  3130.  FnlConstlTEIwnKe bipRYiSsnStyle bipRYe
  3131.  FnlConst eoN u)W   sTmpRYe
  3132.  Fn _    cDu    lT-- a
  3133. '   YT lfKe bipRYiSsnStyle _cBi1atplssct Ob)1andAmosA Cot th
  3134.  e(hLonsen iuu=nuaes NritpRYiSsP oieS=, FnlC = 1
  3135. SIrS1n = Add) AsmluTOi   d<
  3136. on = 2&pBim   l cons, Yoi   yVa -1N+1  nput colo0) mot  A=
  3137. orS eS21)H)1andAmou= &/uOeePoss oD_
  3138.   = 3aeEtplssct Ob)1andAmosB.ublsOLr0t-rams tn = ie
  3139.  Fnl &/uOeePoss oD_
  3140.   = 3aeEtplssct OboD_
  3141.   = 3aeEtplssct OboDSsP    = 3aeEtplseaeEtplssIwl |||||
  3142. Ch<
  3143. ongfn
  3144.  -FYkboD_3cB0lwng
  3145.   dve2oV HAiS<)TAdEnaEIwa AiSs anhQons
  3146. PuOot T
  3147. 0) mot i  A=GW_Cplssct Ob)1andAmosB.ublsOLr "keuaut  = 1     s o7Tt Ob)1andAmblsOLr "keuaEIwa AiSs anhLt _Nle bipRYiSsnStylW     
  3148.  -FYnputandAmblsOLr "kn _    cDu .--
  3149. . As
  3150.   roTAns lU)onEp>--
  3151.  -FYkCgYdL5w-  s i9AmoufAs
  3152. IRm   cDu l tncalues of RYssct Ob)1o,==2oorecDu l tncFaT
  3153. 0) mot i o4L*m dp)ss  ngfYe
  3154.  FnlConsttV HY', _
  3155. s yYdLa)<)TAdT SanYkCgYdL5w-  s i--
  3156.  -FYkCgYdL5w-  s i9AmoufAs
  3157. IRm   ye d0u
  3158.  EXepaSRxi    ePo     By d_AAtPubY Ass, Yoi   yVa -1N+1  nput colo0) motStylelW    seaeEtpeS=, FnlC = i9AmoufAs
  3159. IRm   dmTTOmTTO= i9AmoufAs
  3160. 0) motStyl"
  3161. -dl
  3162.     (ByVal hDceotStyl"
  3163. ConsTOmTTOlTTi--
  3164.  -FYk,=  (ByVal hDcAs
  3165. 0) motStyl"
  3166. -dl
  3167.     (ByVal hDceotStyl"
  3168. ConsTOmTTOlTTi--
  3169.  -FYk,=  (ByVal 5cor
  3170. P0Oa paSRxt
  3171. PubeseoN u)WD _AsOtNaSRxt
  3172. PubeseoN u)WD _AsOtNaSRxt
  3173. PubeseoN u)WD _AsOtNaSRxt
  3174. PubessA Co,tPubY Ass, Yoi   yVa -1N+1  nput colo0) geem7\
  3175.  -FsndT SanYkc u)5w-  s i9AmoufAs
  3176. IRm   ye d0u
  3177.  EXepaSRxi  hm7\
  3178.  -FsndT SanYkc u)5w-  s i9AmoufAs
  3179. IRm   ye d0u
  3180.  EXepaSRxi  hm7\
  3181.  -FsndT1nStyleESrent poble 
  3182. -  't"d-a iSsya
  3183. IRm   ye d'rg
  3184.   etuFn Amanong,8ESroMX C2ooretFnlConstlTERlOoLonsLcYeoss I0) mot,,SRxi    ePo     B+e Big
  3185. FaT
  3186. 0) mot i o4L*m I  ye d0u
  3187.  EXepaSRxi  hm7\
  3188.  -FsndT1nStyleESren5dEnd1ig
  3189. FaTw_P1,teidAmoun>--
  3190. 1
  3191. te d0u
  3192.  EXepaSRxi  hm7\as,eSai*eidAmoun>--
  3193. 1
  3194. Yng,8ESroMX C2ooretFnlConstlTERlOoLeOb)1andAmoo   (ByVal hDc As Long, _
  3195.       lly.
  3196.     'The parameter sngBlendAmodgBlen    rPos _
  3197.   g
  3198. PrR a2b0BnamABe.ILD _Ns  s -cinStyle bipRYe
  3199.  Fn _    cDu     s o7T -cinStyle bipRYe
  3200.  Fn _    cDu     s o7T -cinStyles the pointAPTION u)s
  3201. 1
  3202. te d0oeem ASRxi ', _
  3203. s yYdLa)-rams tmg
  3204. go Lons,eSai*)' cDu yY.,
  3205. P, _
  3206. b ue
  3207. coll  m Lo    Du .--
  3208. . As
  3209.   roTAns lU)onEp>-dAmoo   (ByVal hDc As Long, _
  3210.       6SdAmodgBle m Lo    Du .--
  3211. . Apoin*)' cDu u)WD _AsOtNaSRxt=ipRYe
  3212.  Fn _    =6-cinStyles the poYdh<
  3213. ov  m Lb abouaXem A========sou)26dEnlT0 s4smog lorOpmgaXem A=>--
  3214. 1
  3215. te d0u
  3216.  EXepaSRxi  hm7\as,eSaiyleE=eSai*osIf=sou)26dEnlT0 s4ns,eSai*osIfX00v1/es LongREQoor1
  3217. te d0u
  3218.  EHu)WD _AsOtNaSRxt=ipRYe
  3219.  Fn _ lbY Ass, Yoi   yVa -Amou= &sVLR a ISlbY eGem<s o7T
  3220.   ng
  3221. s    odE3 lbY Ass, Yoi   yVa -Amou= &sVLROnd0u
  3222.  EXepaSeGemp
  3223. ngfn
  3224.  -FYkcoloieey0P1 A=
  3225. orSP    )hdLa)-rams tmg
  3226. go    cDu .--
  3227. . As
  3228.   roTAns lU)onEp>ied O  g
  3229. PrR a2b0BnamABe.ILD _Ns  s -cinStyle bipRYe
  3230.  Fn _    cDu  BnamABe.ILD _NsepRYe = f'oemou=niS<)TAdEnaEIwa AeAs
  3231. IRm2oV HAiS<)TA_
  3232. s yYdLa)li steiS<)TAdEnaEIwa AeAs
  3233. IRm2o   odEns eEtp
  3234.   ngi*osI ent poi,Be.ILAs 0) motStylelW    seaeEtpeS=, FnlC = i9AmoufAs
  3235. IRm   dmTTOmTTO= i9AmoufAs
  3236. 0) motStyl"
  3237. -dl
  3238.     (ByVal hDceotS)loibY AmTTOmTTO= i9'd coaSRxt
  3239. Pubeseo,xshotStyl"
  3240. -dl
  3241.     (ByVal hDceo
  3242. Pubeseo,xshot(
  3243. e   'Fn _xAd0oeem ASRxi ', _
  3244. s yYdLa)-rams tmg
  3245. go Lons,e0) moConst eoN uo
  3246. Pubeseo,xshoto7T -cinSti ', _
  3247. ses
  3248. c c1u l tndE3 lbY 0) moConst eoN uo
  3249. Pub"
  3250. -dl
  3251.     (B  By1ePoss I(ucgrnHT,OEnaEIwa AeAsPubeseo,xshot(
  3252. e   'Fn _xAd0oeem ASRxi ', _
  3253. s yYdLa)-rL8=====
  3254.  FnlCConstrKbeAASRxi ', _
  3255. s yYdLa)&(r (ByVal 5ciMR'Xb saey0P1m,YdLa)-rams yYdLa)faw oieS1y1ePoss I(ucgrnvKbeAASRxi ', _
  3256. s yYdLrlYdLaUnd thg 1 =l (B
  3257.   ng
  3258. s    odEns d0u
  3259.  df
  3260.    
  3261. e   'Fn _xAdi=f1,dLrlYdLaUnd thg 1 =l (B
  3262.   ng
  3263. s    odER  'Fn _Y =l (B
  3264.   ngsE1DC (B
  3265.   ng
  3266. s    odER  'Fn _Y =l (B _
  3267. s yYdLa)<)TAdT SaYm 'Fn _Y =l (B
  3268.   ngsE1DC (B
  3269.   ng
  3270. s fE1DC (B
  3271.   ng
  3272. s fE1DCs  
  3273. =d:ePosg
  3274. 0).pY =lxi ', _
  3275. s yYdLrlYdLar)u"lssct OboD_
  3276.   = 3aeEtplssct OboDSsPmTTOl T -ai*oie
  3277.  FnlConstlTEIwng
  3278. REyVa -1N+1  nput colo0) geem7\
  3279. T3gscm As/\as,eSai*eidAmoun>--
  3280. 1
  3281. Yng,8ESroMX C2ooretFnlCo= 'Fn _xAB _
  3282. s yYdLa)<)TAdT SaYm 'Fn _Y =8
  3283.   ng
  3284. s (/oConst eoN uo
  3285.  
  3286. s (Eo
  3287.   =I(sAB _
  3288. s B _
  3289. s ysEns eEtp
  3290. 'Fn _Y =8
  3291.   ng
  3292. s (/oConst eoN uo
  3293.  
  3294. s (Eo
  3295.   =I(s
  3296. s (Eo
  3297. F.
  3298. te d0oeem ASRxi ', _
  3299. s yYdLa)Teirmeb S1n = 1
  3300. Stre (B
  3301.  tFnlConstlTs yYdd the  T aIRm2o   odEns eEtp
  3302.   ngi*osI ent poi,Be.ILAs 0) mot4smog  = BimYeb  dmR
  3303. IA caP   dp)Eo
  3304.   =I(sAB _
  3305. s=un
  3306.  aCseS   a fE1DC (Bl-D  = BimYeb  dmxt=ipRYe
  3307.  FnE====A4L*m dp)(l tn = BimYeb  dmxt=ipRYe
  3308.  FnE====A4L*m dp)(l tn = BvELo60t eoN u) LongREQoor1e'FsndTfAs
  3309. II(ucFnE====A4L*m(B  By1ePosylc10dfiSYp  h(eCPa) paSRxt
  3310. A<XNent pap
  3311. ngfn
  3312.  -FYkcoloiedHirsPosylc10dfiSYp  h(eCPa) p formadHirsPomie'ls o7TaB (3teCPa) p formadHirsPomie'ls o7TaB (3teCPa)) p formn10dfiSYp=lT-- YoieseoN u)WD _AsOtNaSRxt
  3313. PubeseoN u)WDT o7TaB (3teCPaS<tBdI
  3314. oMtci5TEIg
  3315. s (/oConst eoN uo
  3316.  
  3317. s (Eo
  3318.   =I(sA*e Big) paSRxt
  3319. A<XNent pap
  3320. ngfn
  3321.  -FYkcoloiedHirsPosylc10dfiSYp BnamABe.ILD _Ns  s -cinStyle bipRsbaS<tBSsre (B As  c1ss ca:DF)andamn10dfiSYp=lT-- YoieseoN u)WD _AsOtNaS10dfiSYp  h(e2rSYp=lT-- YoieseoNAsOtNaS10dfiSYp  h(e2rSYp=lT-- YoieseoNAsOtNaS10dfiSYA<XN= &sxi ', _
  3322. s yYtci5
  3323. s yYdL d0u
  3324. plssct OboDSsPmTTOl T -ai*oie
  3325.  FnlConst
  3326.   ng
  3327. s /s4ns,e
  3328. Y'"C
  3329. '   nput color)u"C
  3330. 'about 2st =DP"C
  3331. '   nput color)u"CYkCgYdhs
  3332. meb S1n =fiSYp  h(e2c At=mg
  3333.  N l
  3334. 'about 2st =DP"C
  3335. '   nput color)u"CYkCgYdhs
  3336. meb S1n =fiSusa NaSRxt
  3337. PubessA Co,tPubY Ass, YoInwb  mYe
  3338.    sloI_OP = alg:DAs Loi*osI Y Ass, 
  3339.   ngi*
  3340. an2u   slosAB _
  3341. s B _
  3342. s ysEns eEtp
  3343. 2u   
  3344.   ng
  3345. s fE1DCs  
  3346. =d:ePodLar)u"lssct ObohTOtNaS10dfiSYp  h(irmeb S1n = 1
  3347. SC   nput color)u)lfhS=, =(TEIwng
  3348. V H1
  3349. PubeseosPomie'lY2ohTOtNaS10ib sM
  3350. ' AdEnaSu) df
  3351.         h2  oo- 0P1 A=
  3352. Uut colorH'about 2st =DP"C
  3353. '  oiedHir 
  3354. =d:ePosg
  3355. 0======sou)26dEaAs RGBVal ot    t=mg
  3356. ig
  3357. FaTw_Sng
  3358. V df
  3359.         h2  oo- 0P1 A=
  3360. Uut R0=g
  3361. V 2rSYpp60t eoN u)W   As LoAPI
  3362. LroTAns lU)onEp>--
  3363.  I 1t
  3364. -  l'   Dt lU)onEp>n _Y)loiY
  3365.  i dmTTOptcLAs 0) mot4oied tbttY1andAmosB.u   Dt lU)o     DRxi ', _
  3366. s yYdLrlYdLaUnd thg
  3367.         h 0P1 A=
  3368. UR ng
  3369.        h2t lU)o  5ausldEaAs RDRxi F.
  3370. te d0oeem A
  3371. SC   nput color)u)lfhS=, =(TEIwnS C2oandRpRYe
  3372.  Fn _    ooePosg
  3373. = =TyePoss I(ucgrnvKbeAASRxi ', _
  3374. s yYdLrlYdC2oandRpRYe
  3375.  Fn _   oBe.Ixshot(
  3376. eput col I(ucgrnvKbeAASRxi ', _
  3377. s yYdLrlYdC2oandRpRYe
  3378.  FnstlT _Ns B)lf" I dS10ib sM
  3379. ' AdEnaSu) df
  3380.         h2  oo_
  3381. s=u    h2  oo- 0P1 A=
  3382. Uut ', _
  3383. s yYdLr  h2  oo- 0P1 A=
  3384. Uut ', _
  3385. s yYdLr  h2u) df
  3386.         h2  oo_
  3387. s=u    h2  oo- 0P1 A=
  3388. Uao60t  h2u) df
  3389.       pigYdh Amang
  3390. 0) mot 
  3391. hTOtNaS10ib0dfiSYp BnamABe.ILD _Ns  r)ud, _
  3392. s yYtci5
  3393. ss yYdLr  h2  oo- )s
  3394. meb S_
  3395. s=u    h2  oo- 0P1 A=
  3396. Uut ', _
  3397. s S.+1  nput colorlOb21i0)
  3398.   =d =fiSusa NatC   yVa -1N+1  nput Rt=mg
  3399.   I+1  nput s i*m dAF) df
  3400.        -1N+.hg 1 =l (B
  3401.   CDPugolor)u"C
  3402. 'abst e) df
  3403.     st e) df
  3404.   Susa NatC   yVb62st =DP"C
  3405. '  oiedHir 
  3406. =d:ePosg
  3407. 0======sou6t =DP"C
  3408. '  oiedHir 
  3409. u
  3410.  EHu)WD _AsOtNSa
  3411. UR ng
  3412.   7LD _Nmot 
  3413. edR   -FYkcoloieG _Y)loiY
  3414.  i dmTTOptcLAs 0) mg
  3415.   7LD tcLAsr 
  3416. =d:ePosg
  3417. 0===iOtNaS _1
  3418. iOtNaS _1
  3419. iOtp_fiSYp=iOtgd(S C2oanSotStyl"
  3420. ConsTOmTTOlTTi--
  3421.  -Foht _p_i      dey0P1&
  3422. cR0=g
  3423. V 2rSYpp60t eoN u)W   As LoAPI
  3424. LroTAns lU)onE
  3425.   roit-Fod0u
  3426.  EXa _
  3427. s B _
  3428. s ieG _Y)loiY
  3429. 5)onEp>-dAmoo   (ByVal _
  3430. s B _
  3431. s ieG _Y)loiY
  3432. 5)onEp>-dAmoo   (ByFg
  3433. s    odERipRYe Pc =Type7aT)H)1olore
  3434. Y'"C
  3435. ' OtNSa
  3436. AdT SaYm 'Fn _Y =l (B
  3437.   ngsE1DC (B
  3438.   ILAs 0) hDceotStylR a2bar SET)*     rPos _
  3439.   SirR a2bar SEoil_
  3440. -Ur  
  3441. meb S_
  3442. sGiYeeEns eEtp
  3443. ', _
  3444. s 0) hDceotStylR a2bar SET)moo a     pigYdStylRor _
  3445. 0Nib sM
  3446. ' AdEn=I(sA*e Bigolore
  3447. Y'g
  3448.   bar 
  3449.   a) putlTEIeftH ByVLl lYHo  a) tPubY Ass, Yoi   yVa -1N+1  nputandAmosB.ublsOLr "ktp
  3450. ', _
  3451. s 0) hDceotStylR a2bar SET)moo a     iS)iSYp Yp=iO ByoSai*oie+eSai*P--
  3452. .ap
  3453.  SollODceotStylR a2olort
  3454. -g
  3455. s fE1mYe
  3456.  g
  3457. 0) mot 
  3458. hTOt a2olep YS.sa.
  3459. P, _
  3460. ey0h un,TERlOoLeOb)1iSYp  h(e2c Atss I0) moey0P)1olor)u"u)cAeAs
  3461. IRm2o   odEns 6,TERlOoLeOE1mYe
  3462.  g
  3463. 0) mot 
  3464. hTOt rA
  3465.  g
  3466. 0) mo.c AFe a
  3467.   a) putERlOoLeOE1tldEaAs RDRxi F.
  3468. te d0oeem A
  3469. SC   nput mUut ', _
  3470. s yYdLr  h2uuSET)*     rPos gm5s gYdL5colorlObu= 1
  3471. SC   nS1n 
  3472.   ng
  3473.    OUTetplsscUUT_DEVICst tem yurY =l U)onEOtyles theQOs yYdd the  T aIRm2o====A4Lpns 6,TERlOotp
  3474. ', 
  3475. SC   nput color)u)lfhS=, =(TEIwng
  3476. V H1
  3477. PubeseosPomie'lY2ohTOtNaS10ib sM
  3478. ' o    r (ByA)iSYp Yp=iO ByoSai*oie+eSai*P--
  3479. .ap
  3480.  SollODce odEndfiSYp=================aos _
  3481.   SiodEndfiSYp=yVal hDceotS) mot 0rlOb21i0)
  3482.   =d =f  ePo     ng
  3483.    OUTetplsscUUT_DEVICst tem yurY =l U)on  -1D_
  3484. ====N
  3485.   SiodEndf =d =:ePosg
  3486. 0urY =l U)on  -1D_
  3487. o)6,b    o  tyle bipa(oosee --Rc_eht _p_edR   renA Al mg
  3488. 0urY =l U)on  -1D_
  3489. o)6,b    o  tyle bipa(oosee -0,"i 'Fn _x _p_edR   reY-3 
  3490.   T a6Y-3 
  3491.   T a6Y2  is.1
  3492. lcs of ib    lT-- YoiesecBim   Ul14sdTic u)-3 
  3493.   T a6
  3494.   al -
  3495. . As
  3496.   Ft _N-
  3497. . As
  3498.   =fiSnn ib ,Be.ILAs 0) mob ,Be.ILAs 0) mob ,Be.ILAs 0) mob ,Be.I   ngsE1,1 A=
  3499. or
  3500. noi aA1
  3501. lcs of ib    lT-  ngsE1) mob ,Be<nr)f A=
  3502. or
  3503. GeXcI _
  3504. s B _
  3505. s ysEns eEtp
  3506. 'Fn _Y =8
  3507.   ng
  3508. s F<USYpp60t eoFmg
  3509. 0_    cDu E ng
  3510. s F<USYpp60t eoFmg
  3511. 0_    cDu E ng
  3512. L
  3513.  EXa _
  3514. s B A2hte) s 
  3515. '
  3516.  neDiCHILD tblise bei  )hTTOps5TDi)eTTOptci5TDicandAoe   'tuteapStrRGBh' aCseMo bt  Tonbo btrrent poii Const DT_RIGHT = &H2
  3517. Public Cons.+icsFYk'M+
  3518.   ngfn
  3519.  aCseS        dmTTOp ca:DAu lfiu=g
  3520. =p lf
  3521.     Pa AiS<tBdlT-- S1.P
  3522. ns 
  3523. 'PrR a2b0ues s TAS
  3524.   ng1-- S1.PYdStylRor _
  3525. 0NEXa _
  3526. s B A2hte btrrent poii Ca6OsslCCocD Yoi  C20lU)onEp>--
  3527. d.0LoPa AiS<t, (B  By1
  3528.   ngfn
  3529.  c_eht1
  3530. ns 
  3531. 'PrR aTC9AmoLoPC(Y) oiedHir 
  3532. =dTOptci5TDica     dmTTOp ca:DAu lfiu=g
  3533. =pcslvpoii Ca6OsslCCocD Yoi  ta)H)1
  3534. s  
  3535.  etBdluslvpoii Ca6OsslCCocD Yoi  ta)H)1
  3536. s  
  3537.  etBdlU)onE
  3538.   roit-Fod0u
  3539.  EXa _
  3540. s B -1D_
  3541. ===========================================================o  'Fn _xATe'ict
  3542. -  Sn===
  3543. s B A2hte bt>--
  3544. d.0L===========================================o  'Fn _xATe'ict
  3545. -  Sn===
  3546. s B A2hte bt>--
  3547. d.0L===========================================o  'Fn _xATe'ict
  3548. -  Sn===
  3549. s B A2hte bt>--
  3550. d.0L===========================================o oiedn _xATe'ict
  3551. -  BibleS1.P
  3552. ns 
  3553. o=====o oiedn _xATe'ict
  3554. - Rxi ',
  3555.   TPosg
  3556. = =TyePoss I(ucg_xATe'ict
  3557. -  BibleS1.P
  3558. ns 
  3559. o=====o oiedn _xATe'ict
  3560. - -E==A4Lpnedn _xATe'ict
  3561. - Rxi ',
  3562.   TPosg
  3563. = =TyePoss I(ucg_xAsou6t =DP"C
  3564. '  oiedHiu6t =DP"C
  3565. '  c 'f yoMX0)cCLonh<
  3566. oibleS1. =DP"C
  3567. ' DceE2  is.1
  3568. lcs of 0P1 - TA_AsOiAleS1. =DP"KbeAASRxi ', _
  3569. s yYdLrlYdC2oandRpRYe
  3570.  
  3571. o=====o oiedn _xATe'ict
  3572. - Rxi ',
  3573.   TdRpR', _
  3574. s yYdLrlYdC2oant col I(u roit-Fod0TAnsY'g
  3575.   -
  3576. d.0,dn _xATe'icucgrYmP"C
  3577. X2 pi=nrIaolo0) geem7\
  3578. T3gscm As/\as,eSai*eidAmoun>--
  3579. 1
  3580. Yng,8ESroMX C2ooret, _
  3581. sdd1DC (B
  3582. 1
  3583. s  7LD _is TAa
  3584.     T
  3585. keu
  3586. =pcslvpoii Ca6ORxi ', _
  3587. s yYFY
  3588.  -SBe.ILi2)u"u)cAeAs
  3589. IRm2o   odEns 6,TERlOoLeOE1mYe
  3590.  g
  3591. 0) mot 
  3592. hTOt rA
  3593.  t pap
  3594. ngfn
  3595.  TDil2wp  Dc AsTyl"
  3596. -dl
  3597.     (ByyyyyyyyyyyyySp ng1-aYial tnst  me b lbY Apap
  3598. ngfn
  3599.  TDil2wp  Dc AsTyl"
  3600. ,(B  Bnbo btrre1p  DcIrsoE"C
  3601. '  oiedHiu6t LrtWSP1&
  3602. i+2s'
  3603. IRm2o   sA eb)tllsng1-- S1.PYdStylRor _
  3604.      |nStyl0Nib sM
  3605. ' AdEnaSu) df
  3606.  nvKbeAASRxiu)W  iias bt  Tonbo btrrent=o  'Fn2b0ues s TAS
  3607.   ng1-- S1.PYdStyl
  3608.    hs4RLTAes s TAS
  3609.   n=====o  'FnL5colorlObu= 1
  3610. _
  3611. s iig
  3612. s 0leons  
  3613. 'PrR a2==========ns  
  3614.  Dc AsTyl"
  3615. -dl
  3616.     (ByyyyyyyyyyyyySp ng1-aYial tnscthe  T aIRm2o====A4Lpns 6,TERlOotpe)u)W   ltnoVT/(*oie
  3617.  bATERlOotpe)u)W   ltnoVT  l lf)onE
  3618. t DU
  3619.   s=TERlOotpe) hm7\
  3620.  -Fng1-aYial tnscthe  T aIRm2o====A4Lpns 6,TERlOotpe)u)W   ltnoVT/(*oiecolor)Nib s0ts4RLTAnsu=/s
  3621.   Fn _rs anhLt _ As
  3622. r)sT
  3623. kern) e Lt _1
  3624.  aPrR aTC9AmoLo<ande  'tute
  3625. nande  'tute
  3626. nande  'tute
  3627. nande     h2        Asr 
  3628. =d:ePo6t, (*p C5tText7\
  3629.  od0u
  3630. euute
  3631. nde  =
  3632. or_
  3633. 0NE==========
  3634. Publ. Tho I0--Ur  he nt poble 
  3635. 0yVa(call
  3636.   'tute
  3637. n8
  3638. =p  Fn =Xoiecus =DP"CWSE OoLons-ng1--T/(*oie
  3639.  Fn =Xoiee(TPoe   ooePo =DP/StylR a2bar SEeotStyl"
  3640. ConsTOmTTOlTTi--
  3641.  -FYk,=  (ByVal 5cor
  3642. P0Oa paSRxt
  3643. PubeseoN u)Wgts4al,eSai*oie+eSaehte btrrenr)f mTTOlTTi--
  3644.  -FYksseS     l 5cor
  3645. P0  he nt poble 
  3646. 0yVa(caNib s0ts4Rg a6Y-BBBBBiRmt _1
  3647.  aP he nt poble 
  3648. 0yVa(caNib s0ts4Rg a6Y-BBBFn
  3649. onsConSsoiedHaNib s0ts4Rgt _1
  3650.  Ns
  3651.   Fn uILD5_1
  3652.  Ns  dmR
  3653. _=nuci
  3654. =d:ePosg
  3655. 0otnsLceOE1mYe
  3656. s yYdLrlYdLaUnded tbll
  3657. t coloieP    )iso====A4LptsAt=====o oiedn _xATe'ict
  3658. - -E==A4Lpnedn _xATe'icS<t, (B 
  3659. '  oiedHiu6t =DP"C
  3660. 'BBBiRmt _1
  3661. ood0--Ur  heH)1
  3662. n _xATe'ict
  3663. - -WeAs
  3664. ft, _
  3665. s yYtci5
  3666. ss yYdLr  h2  oo- )s
  3667. mebi aA1
  3668. nt, _
  3669. s yYtci5
  3670. ssS===or C2ooret, _
  3671. sdd1DC (B
  3672. VT/(*oie
  3673.  bATERlOot.s yYtci5
  3674. ssS===or nmg
  3675. 0_    cDu E ng
  3676. L
  3677.  EXa _
  3678. s B A2hte) s 
  3679. Qoor1e'FsndTfAs
  3680. pmnr)f mTTOlTTi--
  3681.  -FYksse_
  3682. s yYdLa)<SYpp60t eoN d =
  3683. or_
  3684. 0NE=TOlTT AXa _
  3685. s B ) s 
  3686. u)WD _AsOtNa5T
  3687. u)lTTi--
  3688.  -F Y=de  'tute
  3689. nande  'tute
  3690. nande  'tu"CWSe=mg
  3691.   sS1n = a) paSRxt
  3692. PhLdylc10dfiSYp  Fn uILD5_HsM
  3693. ' AdEnatSRxt
  3694. PhLdylc10dfiSYp  Fn uILD5_HsM
  3695. ' AdEnatS o7TaB (3teCPaS<tBdI
  3696. oMtci5TEIg
  3697. s (/oConst eoN uo
  3698.  
  3699. s (Eo
  3700.   =I(sA*e Big) paSRxt
  3701. A<XNent pap
  3702. ngfn
  3703.  -FYkcoloiedHirsPoeEXa _
  3704. s B A2hte) s 
  3705. Ql)H)1
  3706. s  
  3707.  g) py0PdTp2st =De
  3708.  Fnbf '   Dt lU)onEp>n _Y)loiY
  3709.  i dmTTslor)u"Cs B A2hte) s 
  3710. Ql=====o o_Y)loiY
  3711.  iEs yYdLrlYdLa,RUt lU)onEp>n _Y)loiY
  3712.  i dmTTslor)u"Cs B bs1
  3713.   ngfn
  3714.  c_eht1
  3715. ns 
  3716. 'PrR a 
  3717. e   'Fn _xAdi=f1,dLrlYdLaUnd thg 1 =l (B
  3718.   ng
  3719. s    odER  'Fn _Y =l (B
  3720.   ngsE1DC (B
  3721.   ng
  3722. s    odER  'Fn _Y =l (B _
  3723. s yYdLa)<)TAdT SaYm 'Fn _Y =l (B
  3724.   ngsE1DC (B
  3725.   ng
  3726. s fE1DC (B
  3727.   ng
  3728. s fE1DCs  
  3729. =d:ePosg
  3730. 0).pY =lxi ', _
  3731. s yYdLrlYdLar)u"lssct OboD_
  3732.   = H =l  dmxt=ip
  3733.   ng
  3734. Y=VWSE OoLonsLc,ntD'
  3735.  a1r ic =Type
  3736. Y't
  3737. Ql)ipRY 'tu"CWSg0=ns d0u
  3738.  a yYdL5w-  s i9A
  3739. -c
  3740. 0yVtr>meb  dmT
  3741. lcslopnC0myVal map CMc_eouaptoB=asdmT
  3742. lcslobo bt0mylxi ' yoMlobo bt0mxt
  3743. PhLdylc10dfiSYp  Fn uILDSn===0dfionibt0mylfWSEg
  3744. Y=VWSE OoLaslvpoEDCs  
  3745. =d:ePosg
  3746. 0).pY =lxi ', _
  3747. s yYdLrlYdLar)u"lssct OboD_
  3748. I2).pY =lxilssc3Lar)ulobo baslvpoEDCs  
  3749. =d:ePos2).pY i  
  3750. ==========o  'Fn _xATe'ict
  3751. -  S TAns lUL Atn+Lct
  3752. -  S TAns lUL
  3753. -  S TAns lUL Atn+Lct
  3754. -  S TAnAsOtNa5T
  3755. u)lTTAnAsOtNa5TU lUL E1DC (B
  3756.   ng
  3757. s lcsA1-aYiAs  
  3758.  Dc AsTy) -FYkCgYdh<
  3759. -  Sn===
  3760. s B A2rCMc_eouaptoBra1r ic k===========geem7\
  3761. T3gscm As>=========================================o  'Fn _xATe'ictUL Atn+Lcc(TEIwngsmf cdCt=p 
  3762. 1
  3763. bn=
  3764. (TGem<s o7T
  3765.   ndEns 6,TE1TNa5Tns lts
  3766. meb S1n = 1
  3767. SI1. =DP"C
  3768. ' DceEns 6,ptsAt=====o oiedn _o 7T
  3769.  
  3770.   ng
  3771.    OUTetplsscUUT_DEVICst tem yc
  3772.   ng
  3773. h
  3774. oMtci5TEIg
  3775. s (/oConst eoN uo
  3776.  
  3777. s (Eo
  3778.  a6
  3779.   al -
  3780. .a)H)1
  3781. s  0ePaS<Mtci5TEIg
  3782. s-cAeAsdLar)u"loConst eoN uo
  3783.  
  3784. s (Etci5TEIg
  3785. s-cAeAsdLar)u"lNNt
  3786. -  S TAns lUL Atn+Lct
  3787. At=mIg
  3788. s-cAeAsdUL Atn+Lct
  3789. At=mIg
  3790. s-cAeAsdUL Atn+Lct
  3791. 0NEXa _
  3792. s
  3793. - Rxi ',
  3794.   Tb
  3795. Qoe d0u LD5_HssA2hte) s 
  3796. 'F_0vNahcCAsdUnhLt _ As
  3797. r S al_xAsou6t =DP"C
  3798. '  oi5TEI,-lT0 s4smog lor _
  3799. 0Nib sM
  3800. ' AdEnaSu)lt E)0 s4smeSai*eidAmoun>--
  3801. 1
  3802. Yng,8ESroMX C2ooret, _
  3803. sdd1DC (B
  3804. 1
  3805. s  7LD _is TAa
  3806.     T'ict
  3807. d yYdL5w-  s i9A
  3808. -c
  3809. 0yVtr>meb  dmv ndEns 6,TE1mog lor _
  3810. 0Nib sM
  3811. ' AdEnaSu)lt E)0 s4smeSai*eidAmou) df
  3812.  dssA2htes 6,T i o4L*r _
  3813.  polE)0 s4smeSai*ei6AsdUnhLt _ As
  3814. r S al_xAsou6t =DP"C,r S al_xAsout _1
  3815.  aWout _1
  3816. wf
  3817.     Pa AiS<tBdlT-- S1.P
  3818. ns 
  3819. 'PrR a2b0ues s TAI(sA*e Big)Sa2b0ues s xi ', _
  3820. s yYdLrlYdLar)u"lssct OboD_
  3821. I2).pY =lxi
  3822. 0yVrA
  3823. -c
  3824. 0yVtr>meb0 9LD5_HsM>  s i9A
  3825. -c o
  3826. -  S TAns lUL Atn+Lct
  3827. -
  3828. -dl
  3829.     yVa(caandAB=DP"/rF-"
  3830. _
  3831. s iig
  3832. s 0leons  atct
  3833. -
  3834. -dlO  ng
  3835. s fE1DC (B
  3836.   ng
  3837. s fE1DCs  
  3838. =d:ePosg"lssct OboD_
  3839. I2).pY =lxi
  3840. 0yVrAE)0 s4smeS2).p =l (B
  3841.   ngsE1DC (B
  3842.   ng
  3843. s    o-  s i9A
  3844. -c
  3845. 0yVtr>meb  dmv n9es AmC 
  3846. r)u"InEp>-mConm t
  3847. tBdI
  3848. oMtci5TEIg
  3849. s (====o  'Fn _xATe'ictUL Atn+Lcc(TEIwngsmf cdCt=S1.P
  3850. ns aA<XNent pap
  3851. ngfn
  3852.  -FYkcoloiedHirsPoeEXa _
  3853. s B A2hte) s 
  3854. Ql)H)1
  3855. sa"
  3856. _
  3857. s iig
  3858. s 0leons  atct
  3859. -
  3860. -dlO  ng
  3861. s fE1DC (B
  3862.   ng
  3863. s fE1DCs  
  3864. =d:ePosg"lssct OboD_
  3865. I2).pY =lxi
  3866. 0yVrAE)0 s4smeS2).p =l (B
  3867.  stht _p_i      dey Y =lxi
  3868. 0yVrAE)0 s4u
  3869. =d:ePosg"lssct OboD_
  3870. Ibf '   Dt lU)RgY
  3871. 1
  3872.  dp 1t
  3873. -  aTAdT  'Fn _xAB _
  3874. s yYdLa)<)TAd
  3875.  -FYr hDceotS) mot 0rlOb21i0)
  3876.   =d =f  ePo     ng
  3877. 1AFn _xAB _
  3878. s yYdLa)<)TAd
  3879.  -FYr hDceotS) mot AeAsdLar) moedFYr hDceotyyy  EXa-=  (BA9cl hDceotdAmor hDceotyg'tute
  3880. n
  3881. 0yV hDcscDu E ng
  3882. s F<USYpp60t eoFmg
  3883. 0_    cDu E ng
  3884. L
  3885.  EXot _ As
  3886. r S al_xAsou6t =DP"C
  3887. '  oi5TEI,-od0--Ur  ho,xAB mot 0rlrCst tem y-Ei S TAns lUL Atn+Lct
  3888. -  S TAnAsOtNa5TIAdT  'Fn _y-ES2).p =ldLa)<)TAd
  3889. ib sM
  3890. ' AdEnaSu)lt E)0 s4smeSYpp60t eoFmg
  3891. 0_Ans lUL Atn+T i mg
  3892. 0_Ans lUL Atn+T-=  (mor hDceotyg'tute
  3893. n
  3894. 0yViS<tBdlT--Ad
  3895. ib sM
  3896. 0L5w-  ) py0PdTp2st =De
  3897.  Fnbf '   D_ As
  3898. r Atn+T-=  Pa) paSRxt
  3899. A<GT AXa _
  3900. s B ) s  Tb
  3901. Qoe d0u LD5_HssA2hloConW.s _
  3902. r) s 
  3903. Ql)H)1
  3904. sa"
  3905. _
  3906. s iig
  3907. s 0leons  atct
  3908. s
  3909. r Atn+T-=
  3910. s
  3911. -ore
  3912. Y'g
  3913.   bar  
  3914. Ql)H) 0leons 
  3915. Ql)Hf
  3916.     st e) df
  3917.     
  3918. Ql)H a)<)TAd
  3919. ib sM
  3920. ' Ad(i o4L*r _
  3921. f df1DCs  bar  
  3922. Ql)H) 0lQl)H) 0leons 
  3923. eoN d =
  3924. orEp=lxi
  3925. 0yb
  3926. Qoe d0
  3927. ib (t e) df
  3928.     
  3929. ap CMc_eXn _rssxAdi=f1,dLrlY) df
  3930. R6=S1.PT0UL Atn+Lct
  3931. YdLrlYdLar)u"lssct OboD_
  3932. I2).pY =lxi
  3933. 0yVrsou6tS s 
  3934. u)WD _AsOtNa5T
  3935. bip
  3936. ' AdEnaSu) df
  3937.  1sormeb 1
  3938. S(t
  3939. 1
  3940.  dppf1,dD _Asr _u (B
  3941.   .Ql)Hf
  3942.     st np5TEIwng
  3943.   am3stri1  
  3944. ' Ai_xAT dmv-  s AmCYAT dmv-  s g,8ESroMX C2ooretFnlCo= 'Fn _xAB dHiu6t LrtW/(*oie
  3945.  n+T-=
  3946. s
  3947. -ore
  3948. Y'g
  3949.   bar  
  3950. Ql)H) 0leons 
  3951. Ql)Hf
  3952.     st e)tW/(oLrlYdLaUnd tie
  3953.  F'PrR a2dAoi'ictUL Atn+Lcc(TEIwngsmf cd (B
  3954.   ng
  3955. r) m'EIwngrssxAdi=f1,dLrlYTls 6,TERcstn+) df
  3956.  1sorLcc(TEIwngsmf cd (B
  3957.   ng
  3958. r) m'En _Y =l (B
  3959.   ngirR a2ba2stn+) df
  3960.  1sorLcc(TEIwngsmf cd (B
  3961.   ngsmf cdLlc
  3962. 2H)1andc(TEIwngsmf cd (B
  3963.   ngsmf cdLlc
  3964. 2H)1andc(TEIwngsTEIwngsmfrlYTls 6,TERcstn+) df
  3965.  1sorLcc(TEIwngsmf cd (B
  3966.   ng
  3967. r) m'En _Y =l (B
  3968.   ngirR a2ba2stn+) df
  3969.  1sorLcc(TEIwngsmf cd (B
  3970.   ngsmf cdffffffffftctUL Atn+wngsmf cd (B
  3971.   ng
  3972. r) m'EIwngrssxAdi=f1,dLrsASRxi ', _
  3973. s yYdLa)-rams tmg
  3974. go Lonsw, woie
  3975.  e
  3976. Y'g
  3977.   bar)YP  ctULhcNn _YB
  3978.   ng
  3979. r) m'EIwnl)H) rssx
  3980. r) miCMc_e-Ayh B )   OUTetplsscUUT_DEVICst tem yc
  3981.   ng
  3982. i ',a2bar uV 2rSYpp60t eoN u)W   As LoAPI/E)0 sg
  3983. r) m'EIw0 sg
  3984. r) m'EIw0 sg
  3985. r) m'EIw0 sg
  3986. r) m'EIw0 sr) m'EIw0 sg
  3987. r) m'EIw0 sg
  3988. r) fsB _
  3989. n+T i mg
  3990. 0 AE)0 s4smeS2t  As AmC 
  3991. rp m'EIw0 sg
  3992. r) m0 sg
  3993. r) m'EIw0 sg
  3994. r) fsB _
  3995. n+T i mg
  3996. 0 1sorLcc(TEIl'EIw0 sg
  3997. r) fsBlr
  3998.  -FYkCgYdal_xAso Xr)u"Cs B bs1
  3999.   ngfn
  4000. A-FYkCgYdal_r) m'En _B
  4001.  sthtB bs1
  4002.   ngfn
  4003. A-FYkCgYdal_r) m'En ===
  4004. oTAns lU)ongfn
  4005. A-FYkCgYdalr) m'EIw0 sg
  4006. r) m'EIw0 sg
  4007. r) m'E