home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_tools / v_lib205 / visualib.txt < prev    next >
Text File  |  1994-03-23  |  33KB  |  573 lines

  1. 'VISUALIB global declarations for Visual Basic
  2.  
  3. 'Constants, types, and Macros
  4.  
  5. Type POINT2D
  6.     x As Single
  7.     y As Single
  8. End Type
  9.  
  10. Type POINT2H
  11.     x As Single
  12.     y As Single
  13.     w As Single
  14. End Type
  15.  
  16. Type POINT3D
  17.     x As Single
  18.     y As Single
  19.     z As Single
  20. End Type
  21.  
  22. Type POINT3H
  23.     x As Single
  24.     y As Single
  25.     z As Single
  26.     w As Single
  27. End Type
  28.  
  29. Type rect
  30.     left As Integer
  31.     top As Integer
  32.     right As Integer
  33.     bottom As Integer
  34. End Type
  35.  
  36. Type Box2D
  37.     xmin As Single
  38.     xmax As Single
  39.     ymin As Single
  40.     ymax As Single
  41. End Type
  42.  
  43. Type Box3D
  44.     xmin As Single
  45.     xmax As Single
  46.     ymin As Single
  47.     ymax As Single
  48.     zmin As Single
  49.     zmax As Single
  50. End Type
  51.  
  52.  
  53. 'coordinate type
  54. Global Const VL_2D = 4096   '0x1000
  55. Global Const VL_3D = 8192   '0x2000
  56. Global Const VL_2H = 1024   '0x0400
  57. Global Const VL_3H = 2048   '0x0800
  58.  
  59. 'viewer status flag
  60. Global Const VL_TWOD = 8
  61. Global Const VL_THREED = 16
  62. Global Const VL_CURRENT = 128
  63.  
  64. 'light coordinate mode
  65. Global Const VL_WORLDLIGHT = 1
  66. Global Const VL_CAMERALIGHT = 2
  67. Global Const VL_OBJECTLIGHT = 4
  68.  
  69. 'light type
  70. Global Const VL_POINTLIGHT = 256     '0x0100
  71. Global Const VL_DISTLIGHT = 512      '0x0200
  72. Global Const VL_SPOTLIGHT = 1024     '0x0400
  73. Global Const VL_AREALIGHT = 2048     '0x0800
  74.  
  75. 'color type
  76. Global Const VL_MATERIALAMBIENT = 1
  77. Global Const VL_MATERIALDIFFUSE = 2
  78. Global Const VL_MATERIALSPECULAR = 3
  79. Global Const VL_MATERIALEMISSION = 4
  80. Global Const VL_AMBIENTREFLECT = 5
  81. Global Const VL_DIFFUSEREFLECT = 6
  82. Global Const VL_SPECULARREFLECT = 7
  83. Global Const VL_EMISSIONSTRENGTH = 8
  84. Global Const VL_SHININESS = 9
  85.  
  86. Global Const VL_LIGHTCOLOR = 16           '0x0010
  87. Global Const VL_AMBIENTCONTRIB = 32       '0x0020
  88. Global Const VL_LIGHTLOCATION = 48        '0x0030
  89. Global Const VL_LIGHTDIRECTION = 64       '0x0040
  90. Global Const VL_LIGHTINTENSITY = 80       '0x0050
  91. Global Const VL_SPOTLIGHTANGLE = 96       '0x0060
  92. Global Const VL_SPOTLIGHTSPREAD = 112     '0x0070
  93.  
  94. Global Const VL_ATTENUATION = 256         '0x0100
  95. Global Const VL_GLOBALAMBIENT = 512       '0x0200
  96. Global Const VL_BACKGROUNDCOLOR = 768     '0x0300
  97. Global Const VL_SHADINGMETHOD = 1024      '0x0400
  98. Global Const VL_SHADINGMODEL = 1280       '0x0500
  99. Global Const VL_LOCALVIEWER = 1536        '0x0600
  100. Global Const VL_COUNTCLOCKWISE = 1792     '0x0700
  101. Global Const VL_TWOSIDESHADE = 2048       '0x0800
  102. Global Const VL_DEPTHBUFFER = 2304        '0x0900
  103. Global Const VL_BACKFACEREMOVAL = 2560    '0x0A00
  104. Global Const VL_PERTURBMATERIAL = 2816    '0x0B00
  105. Global Const VL_PERTURBNORMAL = 3072      '0x0C00
  106. Global Const VL_PERTURBPIXEL = 3328       '0x0D00
  107. Global Const VL_PERTURBFACET = 3584       '0x0E00
  108. Global Const VL_ENVIRONMENT = 3840        '0x0F00
  109.  
  110. Global Const VL_INQUIRE = -1
  111.  
  112. 'projection mode
  113. Global Const VL_PROJECTIONMODE = 3
  114. Global Const VL_PERSPECTIVE = 1
  115. Global Const VL_ORTHOGONAL = 2
  116.  
  117. 'standard pen and brush color
  118. Global Const VL_NONE = 0
  119. Global Const VL_RED = 1
  120. Global Const VL_GREEN = 2
  121. Global Const VL_BLUE = 3
  122. Global Const VL_BROWN = 4
  123. Global Const VL_MAGENTA = 5
  124. Global Const VL_CYAN = 6
  125. Global Const VL_WHITE = 7
  126. Global Const VL_GRAY = 8
  127. Global Const VL_LIGHTRED = 9
  128. Global Const VL_LIGHTGREEN = 10
  129. Global Const VL_LIGHTBLUE = 11
  130. Global Const VL_YELLOW = 12
  131. Global Const VL_LIGHTMAGENTA = 13
  132. Global Const VL_LIGHTCYAN = 14
  133. Global Const VL_LIGHTGRAY = 15
  134. Global Const VL_BLACK = 16
  135.  
  136. 'shading method
  137. Global Const VL_WIREFRAME = 1
  138. Global Const VL_SOLIDFILL = 2
  139. Global Const VL_CONTOURSHADE = 4
  140. Global Const VL_GOURAUDSHADE = 8
  141. Global Const VL_PHONGSHADE = 16
  142. Global Const VL_FLATSHADE = 32
  143.  
  144. 'shading model
  145. Global Const VL_PHONGMODEL = 256        '      0x0100
  146. Global Const VL_SPECULARMODEL = 512        '        0x0200
  147.  
  148. 'mark type
  149. Global Const VL_NULLMARK = 0
  150. Global Const VL_CIRCLEMARK = 1
  151. Global Const VL_CROSSMARK = 2
  152. Global Const VL_XMARK = 4
  153. Global Const VL_TRIANGLEMARK = 8
  154. Global Const VL_BOXMARK = 16
  155. Global Const VL_DIAMONDMARK = 32
  156. Global Const VL_HEXAGONMARK = 64
  157. Global Const VL_OCTAGONMARK = 128       '   0x0080
  158.  
  159. 'arrow head type
  160. Global Const VL_NULLARROW = 0
  161. Global Const VL_OPENARROW = 256         '   0X0100
  162. Global Const VL_CLOSEDARROW = 512           '0X0200
  163.  
  164. 'position mark type
  165. Global Const VL_CROSSHAIR = 1
  166. Global Const VL_ORIGIN = 2
  167.  
  168. 'solid texture flag
  169. Global Const VL_MARBLE = 1
  170. Global Const VL_WOODGRAIN = 2
  171. Global Const VL_GRANITE = 4
  172. Global Const VL_BUMPY = 8
  173.  
  174.  
  175. 'Function Prototypes
  176.  
  177.  
  178. 'Basic Functions
  179.  
  180. Declare Function InitializeVisualib Lib "visualib.dll" () As Integer
  181. Declare Sub ExitVisualib Lib "visualib.dll" ()
  182. Declare Sub AboutVisualib Lib "visualib.dll" ()
  183. Declare Sub LicenseInfo Lib "visualib.dll" ()
  184.  
  185. 'utility functions
  186. Declare Function MessageOn Lib "visualib.dll" (ByVal flag%) As Integer
  187. Declare Sub ErrorMessage Lib "visualib.dll" (ByVal msg$)
  188. Declare Sub Message Lib "visualib.dll" (ByVal msg$)
  189. Declare Function SelectColor Lib "visualib.dll" (ByVal color&) As Long
  190.  
  191. Declare Sub SetPoint2D Lib "visualib.dll" (pt As POINT2D, ByVal x!, ByVal y!)
  192. Declare Sub SetPoint3D Lib "visualib.dll" (pt As POINT3D, ByVal x!, ByVal y!, ByVal z!)
  193. Declare Sub SetPoint2H Lib "visualib.dll" (pt As POINT2H, ByVal x!, ByVal y!, ByVal w!)
  194. Declare Sub SetPoint3H Lib "visualib.dll" (pt As POINT3H, ByVal x!, ByVal y!, ByVal z!, ByVal w!)
  195. Declare Sub SetBox2D Lib "visualib.dll" (box As Box2D, ByVal xmin!, ByVal xmax!, ByVal ymin!, ByVal ymax!)
  196. Declare Sub SetBox3D Lib "visualib.dll" (box As Box3D, ByVal xmin!, ByVal xmax!, ByVal ymin!, ByVal ymax!, ByVal zmin!, ByVal zmax!)
  197.  
  198. Declare Sub PenColor Lib "visualib.dll" (ByVal hdc%, ByVal color_index%)
  199. Declare Sub BrushColor Lib "visualib.dll" (ByVal hdc%, ByVal color_index%)
  200. Declare Sub TextColor Lib "visualib.dll" (ByVal hdc%, ByVal tcolor%, ByVal bcolor%, ByVal mode%)
  201. Declare Sub PaintColor Lib "visualib.dll" (ByVal hdc%, ByVal pen%, ByVal brush%, ByVal mode%)
  202.  
  203. Declare Function CreateViewer Lib "visualib.dll" (ByVal vname$, ByVal bot%, ByVal r%, ByVal top%, ByVal l%, ByVal vtype%, ByVal mode%) As Integer
  204. Declare Function DeleteViewer Lib "visualib.dll" (ByVal vid%) As Integer
  205.  
  206. Declare Function ViewerMappingMode Lib "visualib.dll" (ByVal vid%, ByVal mode%) As Integer
  207. Declare Function CopyViewer Lib "visualib.dll" (ByVal vid1%, ByVal vid2%) As Integer
  208. Declare Function ResetViewer Lib "visualib.dll" (ByVal vid%) As Integer
  209. Declare Function SelectViewer Lib "visualib.dll" (ByVal vid%) As Integer
  210. Declare Function SetViewerName Lib "visualib.dll" (ByVal vid%, ByVal vname$) As Integer
  211. Declare Function GetViewerName Lib "visualib.dll" (ByVal vid%, ByVal vname$) As Integer
  212. Declare Function SetViewport Lib "visualib.dll" (ByVal vid%, ByVal bot%, ByVal r%, ByVal top%, ByVal l%) As Integer
  213. Declare Function GetViewport Lib "visualib.dll" (ByVal vid%, port As rect) As Integer
  214.  
  215. Declare Function ClearViewer Lib "visualib.dll" (ByVal hdc%, ByVal vid%, ByVal color%) As Integer
  216. Declare Function displayviewerframe Lib "visualib.dll" (ByVal hdc%, ByVal vid%) As Integer
  217. Declare Function DisplayViewerName Lib "visualib.dll" (ByVal hdc%, ByVal vid%, ByVal top%) As Integer
  218.  
  219. Declare Function BeginDoubleBuffer Lib "visualib.dll" (hdc%, ByVal viewid%) As Integer
  220. Declare Function EndDoubleBuffer Lib "visualib.dll" (hdc%, ByVal viewid%) As Integer
  221. Declare Function UpdateDoubleBuffer Lib "visualib.dll" (ByVal hdc%, ByVal viewid%) As Integer
  222.  
  223.  
  224. '2D Functions
  225.  
  226. Declare Sub Translate2D Lib "visualib.dll" (ByVal x!, ByVal y!)
  227. Declare Sub TranslateTo2D Lib "visualib.dll" (ByVal x!, ByVal y!)
  228. Declare Sub Scale2D Lib "visualib.dll" (ByVal x!, ByVal y!)
  229. Declare Sub PointScale2D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal sx!, ByVal sy!)
  230. Declare Sub TranScale2D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal sx!, ByVal sy!)
  231. Declare Sub Shear2D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal a!, ByVal u!, ByVal v!)
  232. Declare Sub Stretch2D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal a!, ByVal f!)
  233. Declare Sub Mirror2D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal a!)
  234. Declare Sub Rotate2D Lib "visualib.dll" (ByVal angle!)
  235. Declare Sub PointRotate2D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal a!)
  236.  
  237. Declare Function ViewerField2D Lib "visualib.dll" (ByVal vid, l!, bottom!, r!, top!) As Integer
  238.  
  239. Declare Function Pushtransformation2d Lib "visualib.dll" (m As Any) As Integer
  240. Declare Function PopTransformation2d Lib "visualib.dll" (m As Any) As Integer
  241. Declare Sub ConcatTransformation2D Lib "visualib.dll" (m As Any, ByVal post%)
  242. Declare Sub LoadTransformation2D Lib "visualib.dll" (m As Any)
  243.  
  244. Declare Function SetProjection2D Lib "visualib.dll" (ByVal vid%, ByVal l!, ByVal bottom!, ByVal r!, ByVal top!) As Integer
  245. Declare Function SetView2D Lib "visualib.dll" (ByVal vid%, ByVal x!, ByVal y!, ByVal a!) As Integer
  246. Declare Function SetWindow2D Lib "visualib.dll" (ByVal vid%, ByVal l!, ByVal b!, ByVal r!, ByVal t!) As Integer
  247.  
  248. Declare Function MoveViewer2D Lib "visualib.dll" (ByVal vid%, ByVal h!, ByVal v!, ByVal localv%) As Integer
  249. Declare Function RotateViewer2D Lib "visualib.dll" (ByVal vid%, ByVal a!, ByVal localv%) As Integer
  250. Declare Function ZoomViewer2D Lib "visualib.dll" (ByVal vid%, ByVal z!) As Integer
  251.  
  252. Declare Sub MoveTo2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!)
  253. Declare Sub RMoveTo2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!)
  254. Declare Sub LineTo2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!)
  255. Declare Sub RLineTo2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!)
  256. Declare Sub Line2D Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal x2!, ByVal y2!)
  257. Declare Sub RLine2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal dx!, ByVal dy!)
  258. Declare Sub Label2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal label$)
  259. Declare Sub MoveTo2H Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal w!)
  260. Declare Sub LineTo2H Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal w!)
  261. Declare Sub Line2H Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal w1!, ByVal x2!, ByVal y2!, ByVal w2!)
  262.  
  263. Declare Sub Polygon2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, vertex As Any, ByVal count%)
  264. Declare Sub PolyPolygon2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, vertex As Any, polycount As Any, ByVal count%)
  265. Declare Sub Polyline2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal count%)
  266. Declare Sub ClosedPolyline2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal count%)
  267. Declare Sub Mark2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal hsize%, ByVal vsize%, ByVal head%)
  268. Declare Sub PolyMark2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal n%, ByVal hsize%, ByVal vsize%, ByVal head%)
  269. Declare Sub Pointer2D Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal x2!, ByVal y2!, ByVal l!, ByVal w!, ByVal typ%)
  270. Declare Sub Arrow2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal u!, ByVal v!, ByVal r!, ByVal l!, ByVal w!, ByVal typ%)
  271. Declare Sub Net2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal m%, ByVal n%)
  272. Declare Sub MarkPosition2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal size!, ByVal typ%)
  273.  
  274.  
  275. '       3D Functions
  276.  
  277. Declare Function ProjectionMode Lib "visualib.dll" (ByVal vid%, ByVal mode%) As Integer
  278.  
  279. Declare Sub Translate3D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal z!)
  280. Declare Sub TranslateTo3D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal z!)
  281. Declare Sub Scale3D Lib "visualib.dll" (ByVal sx!, ByVal sy!, ByVal sz!)
  282. Declare Sub PointScale3D Lib "visualib.dll" (ByVal x!, ByVal y!, ByVal z!, ByVal sx!, ByVal sy!, ByVal sz!)
  283. Declare Sub Rotate3D Lib "visualib.dll" (ByVal a!, ByVal axis%)
  284. Declare Sub AxleRotate3D Lib "visualib.dll" (ref As Any, dire As Any, ByVal a!)
  285. Declare Sub Stretch3D Lib "visualib.dll" (ref As Any, dire As Any, ByVal f!)
  286. Declare Sub Shear3D Lib "visualib.dll" (ref As Any, dire As Any, ByVal u!, ByVal v!)
  287. Declare Sub Mirror3D Lib "visualib.dll" (ref As Any, dire As Any)
  288.  
  289. Declare Function PushTransformation3D Lib "visualib.dll" (m As Any) As Integer
  290. Declare Function PopTransformation3D Lib "visualib.dll" (m As Any) As Integer
  291. Declare Sub ConcatTransformation3D Lib "visualib.dll" (m As Any, ByVal post%)
  292. Declare Sub LoadTransformation3D Lib "visualib.dll" (m As Any)
  293.  
  294. Declare Function ResetProjection3D Lib "visualib.dll" (ByVal vid%) As Integer
  295. Declare Function SetProjection3D Lib "visualib.dll" (ByVal vid%, ByVal l!, ByVal b!, ByVal r!, ByVal t!, ByVal f%, ByVal b!, ByVal mode%) As Integer
  296. Declare Function SetPerspective Lib "visualib.dll" (ByVal vid%, ByVal fovy!, ByVal asp!, ByVal zmin!, ByVal zmax!) As Integer
  297. Declare Function SetView3D Lib "visualib.dll" (ByVal vid%, ByVal ex!, ByVal ey!, ByVal ez!, ByVal ax!, ByVal ay!, ByVal az!, ByVal twist!) As Integer
  298. Declare Function SetPolarView Lib "visualib.dll" (ByVal vid%, ByVal ax!, ByVal ay!, ByVal az!, ByVal dist!, ByVal azim!, ByVal inc!, ByVal twist!) As Integer
  299.  
  300. Declare Function ViewerLocation Lib "visualib.dll" (ByVal vid%, x!, y!, z!) As Integer
  301. Declare Function ViewerDirection Lib "visualib.dll" (ByVal vid%, x!, y!, z!) As Integer
  302. Declare Function ViewerField3D Lib "visualib.dll" (ByVal vid%, l!, b!, r!, t!, f!, b!) As Integer
  303.  
  304. Declare Function MoveViewer3D Lib "visualib.dll" (ByVal vid%, ByVal h!, ByVal v!, ByVal b!, ByVal localv%) As Integer
  305. Declare Function RotateViewer3D Lib "visualib.dll" (ByVal vid%, ByVal a!, ByVal axis%, ByVal localv%) As Integer
  306. Declare Function ZoomViewer3D Lib "visualib.dll" (ByVal vid%, ByVal z!) As Integer
  307.  
  308. Declare Sub MoveTo3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!)
  309. Declare Sub LineTo3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!)
  310. Declare Sub RMoveTo3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!)
  311. Declare Sub RLineTo3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!)
  312. Declare Sub MoveTo3H Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal w!)
  313. Declare Sub LineTo3H Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal w!)
  314.  
  315. Declare Sub Line3D Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal z1!, ByVal x2!, ByVal y2!, ByVal z2!)
  316. Declare Sub RLine3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal dx!, ByVal dy!, ByVal dz!)
  317.  
  318. Declare Sub PolyArrow3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, dire As Any, ByVal n%, ByVal r!, ByVal l!, ByVal w!, ByVal htype%)
  319. Declare Sub Label3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal label$)
  320. Declare Function Mark3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal hsize%, ByVal vsize%, ByVal typ%) As Integer
  321. Declare Sub PolyMark3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal n%, ByVal hsize%, ByVal vsize%, ByVal htype%)
  322.  
  323. Declare Sub Polygon3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, vertex As Any, ByVal count%)
  324. Declare Sub PolyPolygon3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, vertex As Any, polycount As Any, ByVal count%)
  325. Declare Sub Polyline3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal count%)
  326. Declare Sub ClosedPolyline3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal count%)
  327. Declare Sub MarkPosition3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal size!, ByVal typ%)
  328. Declare Sub Pointer3D Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal z1!, ByVal x2!, ByVal y2!, ByVal z2!, ByVal l!, ByVal w!, ByVal typ%)
  329. Declare Sub Arrow3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal z!, ByVal u!, ByVal v!, ByVal w!, ByVal r!, ByVal l!, ByVal t!, ByVal typ%)
  330. Declare Sub Net3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal m%, ByVal n%)
  331.  
  332.  
  333. 'Shading Functions
  334.  
  335. Declare Sub ResetShader Lib "visualib.dll" ()
  336.  
  337. 'depth buffer functions
  338. Declare Function SetDepthBuffer Lib "visualib.dll" (ByVal hview%) As Integer
  339. Declare Function SelectDepthBuffer Lib "visualib.dll" (ByVal hview%) As Integer
  340. Declare Function FreeDepthBuffer Lib "visualib.dll" (ByVal hview%) As Integer
  341. Declare Sub ClearDepthBuffer Lib "visualib.dll" (ByVal v%)
  342.  
  343. ' light functions
  344. Declare Function CopyLight Lib "visualib.dll" (ByVal lid1%, ByVal lid2%) As Integer
  345. Declare Function ResetLight Lib "visualib.dll" (ByVal lid%) As Integer
  346. Declare Function CreateLight Lib "visualib.dll" (ByVal lname$, ByVal typ%) As Integer
  347. Declare Sub DeleteLight Lib "visualib.dll" (ByVal lid%)
  348. Declare Function SelectLight Lib "visualib.dll" (ByVal lid%) As Integer
  349. Declare Function CopyLModel Lib "visualib.dll" (ByVal lmid1%, ByVal lmid2%) As Integer
  350. Declare Function CreateLModel Lib "visualib.dll" (ByVal lmname$) As Integer
  351. Declare Sub DeleteLModel Lib "visualib.dll" (ByVal lmid%)
  352. Declare Function SelectLModel Lib "visualib.dll" (ByVal lmid%) As Integer
  353. Declare Function GetLightType Lib "visualib.dll" (ByVal lid%) As Integer
  354. Declare Function SwitchLight Lib "visualib.dll" (ByVal lid%, ByVal status%) As Integer
  355. Declare Function SetLightCoordinateType Lib "visualib.dll" (ByVal lid%, ByVal typ%) As Integer
  356.  
  357. 'material functions
  358. Declare Function CreateMaterial Lib "visualib.dll" (ByVal mname$) As Integer
  359. Declare Sub DeleteMaterial Lib "visualib.dll" (ByVal maid%)
  360. Declare Function SelectMaterial Lib "visualib.dll" (ByVal maid%) As Integer
  361. Declare Function CopyMaterial Lib "visualib.dll" (ByVal mid1%, ByVal mid2%) As Integer
  362. Declare Function ResetMaterial Lib "visualib.dll" (ByVal maid%) As Integer
  363.  
  364. ' shading parameter functions
  365. Declare Function ShadingOption Lib "visualib.dll" (ByVal id%, ByVal opt%, ByVal status%) As Integer
  366. Declare Function ShadingColor Lib "visualib.dll" Alias "_ShadingColor" (ByVal id%, ByVal typ%, ByVal colo&) As Long
  367.  
  368. Declare Function ShadingFactor Lib "visualib.dll" (ByVal id%, ByVal typ%, ByVal f!) As Integer
  369. Declare Function ShadingParameter Lib "visualib.dll" (ByVal id%, ByVal typ%, ByVal inquire%, param As Any) As Integer
  370.  
  371. Declare Function SetRGBPalette Lib "visualib.dll" () As Integer
  372.  
  373. 'shading primitive functions
  374. Declare Function ShadeFacet Lib "visualib.dll" Alias "_ShadeFacet" (ByVal hdc%, normal As Any, ByVal typ%, vertex As Any, ByVal count%, param As Any) As Integer
  375.  
  376. Declare Function ShadePolygon Lib "visualib.dll" Alias "_ShadePolygon" (ByVal hdc%, normal As Any, ByVal typ%, pts As Any, ByVal count%) As Integer
  377.  
  378. Declare Function ShadePolyPolygon Lib "visualib.dll" Alias "_ShadePolyPolygon" (ByVal hdc%, normal As Any, ByVal typ%, vertex As Any, pcount As Any, ByVal count%) As Integer
  379.  
  380. Declare Function ShadePolyFacet Lib "visualib.dll" (ByVal hdc%, polyfacet As Any) As Integer
  381. Declare Function ShadingPreview Lib "visualib.dll" (ByVal hdc%, rect As Any, ByVal r!, ByVal d!) As Integer
  382.  
  383. ' programmable shader functions
  384. Declare Sub GetPixelPosition Lib "visualib.dll" (x%, y%)
  385. Declare Sub GetPixelViewNormal Lib "visualib.dll" (normal As Any)
  386. Declare Sub GetPixelWorldNormal Lib "visualib.dll" (normal As Any)
  387. Declare Sub GetPixelObjectNormal Lib "visualib.dll" (normal As Any)
  388. Declare Sub GetPixelViewCoordinate Lib "visualib.dll" (coord As Any)
  389. Declare Sub GetPixelWorldCoordinate Lib "visualib.dll" (coord As Any)
  390. Declare Sub GetPixelObjectCoordinate Lib "visualib.dll" (coord As Any)
  391. Declare Sub GetPixelViewCameraAxis Lib "visualib.dll" (vaxis As Any)
  392. Declare Sub GetPixelWorldCameraAxis Lib "visualib.dll" (vaxis As Any)
  393. Declare Sub GetPixelObjectCameraAxis Lib "visualib.dll" (vaxis As Any)
  394.  
  395. Declare Function SolidTexture Lib "visualib.dll" (ByVal typ%) As Integer
  396.  
  397.  
  398.  
  399. 'Image Mapping and Printing Functions
  400.  
  401.  
  402. Global Const VL_FLUSHTOP = 1
  403. Global Const VL_FLUSHBOTTOM = 2
  404. Global Const VL_FLUSHLEFT = 4
  405. Global Const VL_FLUSHRIGHT = 8
  406.  
  407. Global Const VL_HORZFIT = &H10
  408. Global Const VL_VERTFIT = &H20
  409. Global Const VL_ALLFIT = &H30
  410. Global Const VL_HORZCENTER = &H40
  411. Global Const VL_VERTCENTER = &H80
  412.  
  413. Global Const VL_HORZSCALED = &H100
  414. Global Const VL_VERTSCALED = &H200
  415. Global Const VL_BESTFIT = &H400
  416. Global Const VL_USE31APIS = &H800
  417.  
  418. Global Const VL_MILLIMETER = &H1000
  419. Global Const VL_CENTIMETER = &H2000
  420. Global Const VL_MARKCORNER = &H4000
  421. Global Const VL_MARKPAGE = &H8000
  422.  
  423. Declare Function ReadDIBFile Lib "visualib.dll" (ByVal fname$, hdib As Any) As Integer
  424. Declare Function ScreenToDIB Lib "visualib.dll" (rect As Any) As Integer
  425. Declare Function WriteDIBFile Lib "visualib.dll" (ByVal fname$, ByVal hdib%) As Integer
  426. Declare Function SetPrintRect Lib "visualib.dll" (ByVal hdc%, rect As Any, ByVal mode%, ByVal x!, ByVal y!, ByVal w!, ByVal h!, ByVal bw%, ByVal bh%) As Integer
  427. Declare Sub GetScreenRect Lib "visualib.dll" (ByVal hwnd%, ByVal withframe%, rect As Any)
  428. Declare Function PrintImage Lib "visualib.dll" (ByVal hdib%, ByVal mode%, ByVal x!, ByVal y!, ByVal w!, ByVal h!) As Integer
  429. Declare Function PrintDrawing Lib "visualib.dll" (draw As Any, ByVal mode%, ByVal x!, ByVal y!, ByVal w!, ByVal h!) As Integer
  430. Declare Function ImageMap2D Lib "visualib.dll" (ByVal hdc%, ByVal hdib%, ByVal typ%, vertex As Any) As Integer
  431. Declare Function ImageMap3D Lib "visualib.dll" (ByVal hdc%, ByVal hdib%, ByVal typ%, vertex As Any) As Integer
  432.  
  433.  
  434. ' text parameters
  435. Global Const VL_TEXT_HEIGHT = 1
  436. Global Const VL_TEXT_ASPECT = 2
  437. Global Const VL_TEXT_THICKNESS = 4
  438.  
  439. Declare Function TextParameter Lib "visualib.dll" (ByVal typ%, ByVal param!) As Integer
  440. Declare Function SelectFont Lib "visualib.dll" () As Integer
  441. Declare Function setfont Lib "visualib.dll" (lplf As Any) As Integer
  442. Declare Function Text2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal a!, ByVal text$) As Integer
  443. Declare Function Text3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal a!, ByVal text$) As Integer
  444. Declare Function SolidText Lib "visualib.dll" (ByVal hdc%, ByVal text$) As Integer
  445.  
  446.  
  447. ' 2D Curve Functions
  448.  
  449. Declare Sub QBezierCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
  450. Declare Sub QBSplineCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  451. Declare Sub QNURBSCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
  452.  
  453. Declare Sub BezierCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
  454. Declare Sub HermitCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
  455. Declare Sub BSplineCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  456. Declare Sub NURBSCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
  457. Declare Sub SplineInterp2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  458.  
  459. Declare Sub BSplineCurveClosed2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  460. Declare Sub NURBSCurveClosed2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
  461.  
  462. Declare Sub CatmullRomSpline2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  463.  
  464.  
  465.  
  466. '3D Curve Functions
  467.  
  468. Declare Sub QBezierCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
  469. Declare Sub QBSplineCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  470. Declare Sub QNURBSCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
  471. Declare Sub BezierCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
  472. Declare Sub HermitCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
  473. Declare Sub BSplineCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  474. Declare Sub NURBSCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
  475. Declare Sub SplineInterp3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  476. Declare Sub BSplineCurveClosed3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  477. Declare Sub NURBSCurveClosed3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
  478. Declare Sub CatmullRomSpline3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
  479. Declare Sub Spring Lib "visualib.dll" (ByVal hdc%, ByVal n%, ByVal r!, ByVal h!)
  480.  
  481.  
  482. Declare Function CircleSide Lib "visualib.dll" (ByVal side%) As Integer
  483. Declare Sub TransfVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal a!, ByVal sx!, ByVal sy!, vertex As Any, ByVal n%)
  484. Declare Function RectangleVertex Lib "visualib.dll" (ByVal typ%, ByVal x1!, ByVal y1!, ByVal x2!, ByVal y2!, vertex As Any) As Integer
  485. Declare Function BoxVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal sx!, ByVal sy!, vertex As Any) As Integer
  486. Declare Function NgonVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, vertex As Any) As Integer
  487. Declare Function FlowerVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, ByVal r!, vertex As Any) As Integer
  488. Declare Function StarVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, vertex As Any) As Integer
  489. Declare Function ArcVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, ByVal a!, ByVal b!, vertex As Any) As Integer
  490. Declare Function PieVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, ByVal a!, ByVal b!, vertex As Any) As Integer
  491. Declare Function RingVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, ByVal a!, ByVal b!, ByVal w!, vertex As Any) As Integer
  492. Declare Function RoseVertex Lib "visualib.dll" (ByVal typ%, ByVal x!, ByVal y!, ByVal a!, ByVal r!, ByVal m%, ByVal n%, vertex As Any) As Integer
  493.  
  494.  
  495. '                               2D Primitive Functions
  496.  
  497. Declare Sub Rectangle2D Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal x2!, ByVal y2!)
  498. Declare Sub Box2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal w!, ByVal h!)
  499. Declare Sub Disk2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!)
  500. Declare Sub Pie2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!)
  501. Declare Sub Ring2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!, ByVal w!)
  502. Declare Sub Chord2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!)
  503. Declare Sub Ngon2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%)
  504. Declare Sub Flower2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, ByVal ratio!)
  505. Declare Sub Star2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%)
  506. Declare Sub Arc2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!)
  507. Declare Sub Rose2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal r!, ByVal m%, ByVal n%)
  508.  
  509. Declare Sub Spiral2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal a!, ByVal b!, ByVal r!, ByVal dr!)
  510.  
  511.  
  512. '                               3D Primitive Functions
  513.  
  514. Declare Sub Rectangle3D Lib "visualib.dll" (ByVal hdc%, ByVal x1!, ByVal y1!, ByVal x2!, ByVal y2!)
  515. Declare Sub Box3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal sx!, ByVal sy!)
  516. Declare Sub Ring3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!, ByVal w!)
  517. Declare Sub Disk3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!)
  518. Declare Sub Pie3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!)
  519. Declare Sub Chord3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!)
  520. Declare Sub Ngon3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%)
  521. Declare Sub Flower3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%, ByVal r!)
  522. Declare Sub Star3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal n%)
  523.  
  524. Declare Sub Arc3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal rx!, ByVal ry!, ByVal a!, ByVal b!)
  525. Declare Sub Rose3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal t!, ByVal r!, ByVal m, ByVal n%)
  526.  
  527. Declare Sub Spiral3D Lib "visualib.dll" (ByVal hdc%, ByVal a!, ByVal b!, ByVal r!, ByVal dr!, ByVal h!)
  528. Declare Sub Spring3D Lib "visualib.dll" (ByVal hdc%, ByVal a!, ByVal b!, ByVal r!, ByVal h!)
  529.  
  530.  
  531.  
  532. '                               3D Surface Functions
  533.  
  534. Declare Function BezierSurface Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal ns%, ByVal nt%) As Integer
  535. Declare Function HermitSurface Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal ns%, ByVal nt%) As Integer
  536. Declare Function BSplineSurface Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal Sc%, ByVal Tc%, ByVal ns%, ByVal nt%) As Integer
  537. Declare Function NURBSSurface Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal Sc%, ByVal Tc%, Skn As Any, Tkn As Any, ByVal ns%, ByVal nt%) As Integer
  538.  
  539. Declare Function CoonsPatch Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal nu%, ByVal nv%) As Integer
  540.  
  541.  
  542. ' Solid Primitive Functions
  543.  
  544. Declare Function Cube Lib "visualib.dll" (ByVal hdc%, ByVal w!, ByVal l!, ByVal h!) As Integer
  545. Declare Function Cylinder Lib "visualib.dll" (ByVal hdc%, ByVal rx!, ByVal ry!, ByVal h!) As Integer
  546. Declare Function Cone Lib "visualib.dll" (ByVal hdc%, ByVal rx!, ByVal ry!, ByVal h!) As Integer
  547. Declare Function Ellipsoid Lib "visualib.dll" (ByVal hdc%, ByVal a!, ByVal b!, ByVal c!) As Integer
  548. Declare Function Sphere Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
  549. Declare Function HemiSphere Lib "visualib.dll" (ByVal hdc%, ByVal r!, ByVal h!) As Integer
  550. Declare Function SolidStar Lib "visualib.dll" (ByVal hdc%, ByVal n%, ByVal rx!, ByVal ry!, ByVal h!) As Integer
  551. Declare Function SolidFlower Lib "visualib.dll" (ByVal hdc%, ByVal n%, ByVal r!, ByVal rx!, ByVal ry!, ByVal h!) As Integer
  552. Declare Function SolidPie Lib "visualib.dll" (ByVal hdc%, ByVal rx!, ByVal ry!, ByVal h!, ByVal a!, ByVal b!) As Integer
  553. Declare Function Frustum Lib "visualib.dll" (ByVal hdc%, ByVal bw!, ByVal bl!, ByVal tw!, ByVal tl!, ByVal h!) As Integer
  554. Declare Function Ridge Lib "visualib.dll" (ByVal hdc%, ByVal w!, ByVal l!, ByVal h!, ByVal r!) As Integer
  555. Declare Function Prism Lib "visualib.dll" (ByVal hdc%, ByVal typ%, basev As Any, ByVal n%, ByVal h!) As Integer
  556. Declare Function Pyramid Lib "visualib.dll" (ByVal hdc%, basev As Any, ByVal n%, tip As Any) As Integer
  557. Declare Function WedgedCone Lib "visualib.dll" (ByVal hdc%, ByVal rx!, ByVal ry!, ByVal h!, ByVal a!, ByVal b!) As Integer
  558. Declare Function WedgedCylinder Lib "visualib.dll" (ByVal hdc%, ByVal rx!, ByVal ry!, ByVal h!, ByVal tr!, ByVal a!, ByVal b!) As Integer
  559. Declare Function WedgedSphere Lib "visualib.dll" (ByVal hdc%, ByVal rx!, ByVal ry!, ByVal rz!, ByVal a1!, ByVal a2!, ByVal b1!, ByVal b2!) As Integer
  560. Declare Function WedgedTorus Lib "visualib.dll" (ByVal hdc%, ByVal r1!, ByVal r2!, ByVal a1!, ByVal a2!, ByVal b1!, ByVal b2!) As Integer
  561.  
  562. Declare Function Torus Lib "visualib.dll" (ByVal hdc%, ByVal r1!, ByVal r2!) As Integer
  563.  
  564. Declare Function SolidRing Lib "visualib.dll" (ByVal hdc%, ByVal rtop!, ByVal rbot!, ByVal t!, ByVal h!, ByVal a!, ByVal b!, ByVal ratio!) As Integer
  565. Declare Function Tube Lib "visualib.dll" (ByVal hdc%, ByVal rtop!, ByVal rbot!, ByVal t!, ByVal h!) As Integer
  566. Declare Function Sweep Lib "visualib.dll" (ByVal hdc%, transf As Any, ByVal nstep%, vertex As Any, normals As Any, ByVal npts%, ByVal mode%, snormal As Any) As Integer
  567. Declare Function Revolution Lib "visualib.dll" (ByVal hdc%, vertex As Any, normal As Any, ByVal n%, ByVal a!, ByVal mode%, snormal As Any) As Integer
  568. Declare Function Tetrahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
  569. Declare Function Octahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
  570. Declare Function Dodecahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
  571. Declare Function Icosahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
  572.  
  573.