Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1091 lines
29 KiB

  1. /*
  2. File: QD3DViewer.h
  3. Contains: MacOS Viewer Controller Interface File.
  4. Version: Technology: Quickdraw 3D 1.6
  5. Release: QuickTime 7.3
  6. Copyright: (c) 2007 (c) 1995-1998 by Apple Computer, Inc., all rights reserved.
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://developer.apple.com/bugreporter/
  10. */
  11. #ifndef __QD3DVIEWER__
  12. #define __QD3DVIEWER__
  13. #ifndef __QD3D__
  14. #include <QD3D.h>
  15. #endif
  16. #ifndef __QD3DGROUP__
  17. #include <QD3DGroup.h>
  18. #endif
  19. #if TARGET_OS_MAC
  20. #ifndef __EVENTS__
  21. #include <Events.h>
  22. #endif
  23. #ifndef __MACTYPES__
  24. #include <MacTypes.h>
  25. #endif
  26. #ifndef __QUICKDRAW__
  27. #include <Quickdraw.h>
  28. #endif
  29. #endif /* TARGET_OS_MAC */
  30. #if PRAGMA_ONCE
  31. #pragma once
  32. #endif
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. #if PRAGMA_IMPORT
  37. #pragma import on
  38. #endif
  39. #if PRAGMA_STRUCT_ALIGN
  40. #pragma options align=power
  41. #elif PRAGMA_STRUCT_PACKPUSH
  42. #pragma pack(push, 2)
  43. #elif PRAGMA_STRUCT_PACK
  44. #pragma pack(2)
  45. #endif
  46. #if PRAGMA_ENUM_ALWAYSINT
  47. #if defined(__fourbyteints__) && !__fourbyteints__
  48. #define __QD3DVIEWER__RESTORE_TWOBYTEINTS
  49. #pragma fourbyteints on
  50. #endif
  51. #pragma enumsalwaysint on
  52. #elif PRAGMA_ENUM_OPTIONS
  53. #pragma option enum=int
  54. #elif PRAGMA_ENUM_PACK
  55. #if __option(pack_enums)
  56. #define __QD3DVIEWER__RESTORE_PACKED_ENUMS
  57. #pragma options(!pack_enums)
  58. #endif
  59. #endif
  60. typedef void * TQ3ViewerObject;
  61. typedef CALLBACK_API_C( TQ3Status , TQ3ViewerWindowResizeCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
  62. typedef CALLBACK_API_C( TQ3Status , TQ3ViewerPaneResizeNotifyCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
  63. #if TARGET_OS_MAC
  64. typedef CALLBACK_API_C( OSErr , TQ3ViewerDrawingCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
  65. enum {
  66. kQ3ViewerShowBadge = 1 << 0,
  67. kQ3ViewerActive = 1 << 1,
  68. kQ3ViewerControllerVisible = 1 << 2,
  69. kQ3ViewerDrawFrame = 1 << 3,
  70. kQ3ViewerDraggingOff = 1 << 4,
  71. kQ3ViewerButtonCamera = 1 << 5,
  72. kQ3ViewerButtonTruck = 1 << 6,
  73. kQ3ViewerButtonOrbit = 1 << 7,
  74. kQ3ViewerButtonZoom = 1 << 8,
  75. kQ3ViewerButtonDolly = 1 << 9,
  76. kQ3ViewerButtonReset = 1 << 10,
  77. kQ3ViewerOutputTextMode = 1 << 11,
  78. kQ3ViewerDragMode = 1 << 12,
  79. kQ3ViewerDrawGrowBox = 1 << 13,
  80. kQ3ViewerDrawDragBorder = 1 << 14,
  81. kQ3ViewerDraggingInOff = 1 << 15,
  82. kQ3ViewerDraggingOutOff = 1 << 16,
  83. kQ3ViewerButtonOptions = 1 << 17,
  84. kQ3ViewerPaneGrowBox = 1 << 18,
  85. kQ3ViewerDefault = 1 << 31
  86. };
  87. enum {
  88. kQ3ViewerEmpty = 0,
  89. kQ3ViewerHasModel = 1 << 0,
  90. kQ3ViewerHasUndo = 1 << 1
  91. };
  92. enum TQ3ViewerCameraView {
  93. kQ3ViewerCameraRestore = 0,
  94. kQ3ViewerCameraFit = 1,
  95. kQ3ViewerCameraFront = 2,
  96. kQ3ViewerCameraBack = 3,
  97. kQ3ViewerCameraLeft = 4,
  98. kQ3ViewerCameraRight = 5,
  99. kQ3ViewerCameraTop = 6,
  100. kQ3ViewerCameraBottom = 7
  101. };
  102. typedef enum TQ3ViewerCameraView TQ3ViewerCameraView;
  103. /******************************************************************************
  104. ** **
  105. ** Return viewer version number **
  106. ** **
  107. *****************************************************************************/
  108. #if CALL_NOT_IN_CARBON
  109. /*
  110. * Q3ViewerGetVersion()
  111. *
  112. * Availability:
  113. * Non-Carbon CFM: not available
  114. * CarbonLib: not available
  115. * Mac OS X: not available
  116. */
  117. EXTERN_API_C( OSErr )
  118. Q3ViewerGetVersion(
  119. unsigned long * majorRevision,
  120. unsigned long * minorRevision);
  121. /******************************************************************************
  122. ** **
  123. ** Return viewer release version number **
  124. ** (in 'vers' format - e.g. 0x01518000 ==> 1.5.1 release) **
  125. ** **
  126. *****************************************************************************/
  127. /*
  128. * Q3ViewerGetReleaseVersion()
  129. *
  130. * Availability:
  131. * Non-Carbon CFM: not available
  132. * CarbonLib: not available
  133. * Mac OS X: not available
  134. */
  135. EXTERN_API_C( OSErr )
  136. Q3ViewerGetReleaseVersion(unsigned long * releaseRevision);
  137. /******************************************************************************
  138. ** **
  139. ** Creation and destruction **
  140. ** Note that this is not a QuickDraw 3D object **
  141. ** **
  142. *****************************************************************************/
  143. /*
  144. * Q3ViewerNew()
  145. *
  146. * Availability:
  147. * Non-Carbon CFM: not available
  148. * CarbonLib: not available
  149. * Mac OS X: not available
  150. */
  151. EXTERN_API_C( TQ3ViewerObject )
  152. Q3ViewerNew(
  153. CGrafPtr port,
  154. Rect * rect,
  155. unsigned long flags);
  156. /*
  157. * Q3ViewerDispose()
  158. *
  159. * Availability:
  160. * Non-Carbon CFM: not available
  161. * CarbonLib: not available
  162. * Mac OS X: not available
  163. */
  164. EXTERN_API_C( OSErr )
  165. Q3ViewerDispose(TQ3ViewerObject theViewer);
  166. /******************************************************************************
  167. ** **
  168. ** Functions to attach data to a viewer **
  169. ** **
  170. *****************************************************************************/
  171. /*
  172. * Q3ViewerUseFile()
  173. *
  174. * Availability:
  175. * Non-Carbon CFM: not available
  176. * CarbonLib: not available
  177. * Mac OS X: not available
  178. */
  179. EXTERN_API_C( OSErr )
  180. Q3ViewerUseFile(
  181. TQ3ViewerObject theViewer,
  182. long refNum);
  183. /*
  184. * Q3ViewerUseData()
  185. *
  186. * Availability:
  187. * Non-Carbon CFM: not available
  188. * CarbonLib: not available
  189. * Mac OS X: not available
  190. */
  191. EXTERN_API_C( OSErr )
  192. Q3ViewerUseData(
  193. TQ3ViewerObject theViewer,
  194. void * data,
  195. long size);
  196. /******************************************************************************
  197. ** **
  198. ** Functions to write data out from the Viewer **
  199. ** **
  200. *****************************************************************************/
  201. /*
  202. * Q3ViewerWriteFile()
  203. *
  204. * Availability:
  205. * Non-Carbon CFM: not available
  206. * CarbonLib: not available
  207. * Mac OS X: not available
  208. */
  209. EXTERN_API_C( OSErr )
  210. Q3ViewerWriteFile(
  211. TQ3ViewerObject theViewer,
  212. long refNum);
  213. /*
  214. * Q3ViewerWriteData()
  215. *
  216. * Availability:
  217. * Non-Carbon CFM: not available
  218. * CarbonLib: not available
  219. * Mac OS X: not available
  220. */
  221. EXTERN_API_C( unsigned long )
  222. Q3ViewerWriteData(
  223. TQ3ViewerObject theViewer,
  224. Handle data);
  225. /******************************************************************************
  226. ** **
  227. ** Use this function to force the Viewer to re-draw **
  228. ** **
  229. *****************************************************************************/
  230. /*
  231. * Q3ViewerDraw()
  232. *
  233. * Availability:
  234. * Non-Carbon CFM: not available
  235. * CarbonLib: not available
  236. * Mac OS X: not available
  237. */
  238. EXTERN_API_C( OSErr )
  239. Q3ViewerDraw(TQ3ViewerObject theViewer);
  240. /*
  241. * Q3ViewerDrawContent()
  242. *
  243. * Availability:
  244. * Non-Carbon CFM: not available
  245. * CarbonLib: not available
  246. * Mac OS X: not available
  247. */
  248. EXTERN_API_C( OSErr )
  249. Q3ViewerDrawContent(TQ3ViewerObject theViewer);
  250. /*
  251. * Q3ViewerDrawControlStrip()
  252. *
  253. * Availability:
  254. * Non-Carbon CFM: not available
  255. * CarbonLib: not available
  256. * Mac OS X: not available
  257. */
  258. EXTERN_API_C( OSErr )
  259. Q3ViewerDrawControlStrip(TQ3ViewerObject theViewer);
  260. /******************************************************************************
  261. ** **
  262. ** Function used by the Viewer to filter and handle events **
  263. ** **
  264. *****************************************************************************/
  265. /*
  266. * Q3ViewerEvent()
  267. *
  268. * Availability:
  269. * Non-Carbon CFM: not available
  270. * CarbonLib: not available
  271. * Mac OS X: not available
  272. */
  273. EXTERN_API_C( Boolean )
  274. Q3ViewerEvent(
  275. TQ3ViewerObject theViewer,
  276. EventRecord * evt);
  277. /******************************************************************************
  278. ** **
  279. ** This function returns a PICT of the contents of the **
  280. ** Viewer's window. The application should dispose the PICT. **
  281. ** **
  282. *****************************************************************************/
  283. /*
  284. * Q3ViewerGetPict()
  285. *
  286. * Availability:
  287. * Non-Carbon CFM: not available
  288. * CarbonLib: not available
  289. * Mac OS X: not available
  290. */
  291. EXTERN_API_C( PicHandle )
  292. Q3ViewerGetPict(TQ3ViewerObject theViewer);
  293. /******************************************************************************
  294. ** **
  295. ** Calls for dealing with Buttons **
  296. ** **
  297. *****************************************************************************/
  298. /*
  299. * Q3ViewerGetButtonRect()
  300. *
  301. * Availability:
  302. * Non-Carbon CFM: not available
  303. * CarbonLib: not available
  304. * Mac OS X: not available
  305. */
  306. EXTERN_API_C( OSErr )
  307. Q3ViewerGetButtonRect(
  308. TQ3ViewerObject theViewer,
  309. unsigned long button,
  310. Rect * rect);
  311. /*
  312. * Q3ViewerGetCurrentButton()
  313. *
  314. * Availability:
  315. * Non-Carbon CFM: not available
  316. * CarbonLib: not available
  317. * Mac OS X: not available
  318. */
  319. EXTERN_API_C( unsigned long )
  320. Q3ViewerGetCurrentButton(TQ3ViewerObject theViewer);
  321. /*
  322. * Q3ViewerSetCurrentButton()
  323. *
  324. * Availability:
  325. * Non-Carbon CFM: not available
  326. * CarbonLib: not available
  327. * Mac OS X: not available
  328. */
  329. EXTERN_API_C( OSErr )
  330. Q3ViewerSetCurrentButton(
  331. TQ3ViewerObject theViewer,
  332. unsigned long button);
  333. /******************************************************************************
  334. ** **
  335. ** Functions to set/get the group to be displayed by the Viewer. **
  336. ** **
  337. *****************************************************************************/
  338. /*
  339. * Q3ViewerUseGroup()
  340. *
  341. * Availability:
  342. * Non-Carbon CFM: not available
  343. * CarbonLib: not available
  344. * Mac OS X: not available
  345. */
  346. EXTERN_API_C( OSErr )
  347. Q3ViewerUseGroup(
  348. TQ3ViewerObject theViewer,
  349. TQ3GroupObject group);
  350. /*
  351. * Q3ViewerGetGroup()
  352. *
  353. * Availability:
  354. * Non-Carbon CFM: not available
  355. * CarbonLib: not available
  356. * Mac OS X: not available
  357. */
  358. EXTERN_API_C( TQ3GroupObject )
  359. Q3ViewerGetGroup(TQ3ViewerObject theViewer);
  360. /******************************************************************************
  361. ** **
  362. ** Functions to set/get the color used to clear the window **
  363. ** **
  364. *****************************************************************************/
  365. /*
  366. * Q3ViewerSetBackgroundColor()
  367. *
  368. * Availability:
  369. * Non-Carbon CFM: not available
  370. * CarbonLib: not available
  371. * Mac OS X: not available
  372. */
  373. EXTERN_API_C( OSErr )
  374. Q3ViewerSetBackgroundColor(
  375. TQ3ViewerObject theViewer,
  376. TQ3ColorARGB * color);
  377. /*
  378. * Q3ViewerGetBackgroundColor()
  379. *
  380. * Availability:
  381. * Non-Carbon CFM: not available
  382. * CarbonLib: not available
  383. * Mac OS X: not available
  384. */
  385. EXTERN_API_C( OSErr )
  386. Q3ViewerGetBackgroundColor(
  387. TQ3ViewerObject theViewer,
  388. TQ3ColorARGB * color);
  389. /******************************************************************************
  390. ** **
  391. ** Getting/Setting a Viewer's View object. **
  392. ** **
  393. *****************************************************************************/
  394. /*
  395. * Q3ViewerGetView()
  396. *
  397. * Availability:
  398. * Non-Carbon CFM: not available
  399. * CarbonLib: not available
  400. * Mac OS X: not available
  401. */
  402. EXTERN_API_C( TQ3ViewObject )
  403. Q3ViewerGetView(TQ3ViewerObject theViewer);
  404. /*
  405. * Q3ViewerRestoreView()
  406. *
  407. * Availability:
  408. * Non-Carbon CFM: not available
  409. * CarbonLib: not available
  410. * Mac OS X: not available
  411. */
  412. EXTERN_API_C( OSErr )
  413. Q3ViewerRestoreView(TQ3ViewerObject theViewer);
  414. /******************************************************************************
  415. ** **
  416. ** Calls for setting/getting viewer flags **
  417. ** **
  418. *****************************************************************************/
  419. /*
  420. * Q3ViewerSetFlags()
  421. *
  422. * Availability:
  423. * Non-Carbon CFM: not available
  424. * CarbonLib: not available
  425. * Mac OS X: not available
  426. */
  427. EXTERN_API_C( OSErr )
  428. Q3ViewerSetFlags(
  429. TQ3ViewerObject theViewer,
  430. unsigned long flags);
  431. /*
  432. * Q3ViewerGetFlags()
  433. *
  434. * Availability:
  435. * Non-Carbon CFM: not available
  436. * CarbonLib: not available
  437. * Mac OS X: not available
  438. */
  439. EXTERN_API_C( unsigned long )
  440. Q3ViewerGetFlags(TQ3ViewerObject theViewer);
  441. /******************************************************************************
  442. ** **
  443. ** Calls related to bounds/dimensions. Bounds is the size of **
  444. ** the window. Dimensions can either be the Rect from the ViewHints **
  445. ** or the current dimensions of the window (if you do a Set). **
  446. ** **
  447. *****************************************************************************/
  448. /*
  449. * Q3ViewerSetBounds()
  450. *
  451. * Availability:
  452. * Non-Carbon CFM: not available
  453. * CarbonLib: not available
  454. * Mac OS X: not available
  455. */
  456. EXTERN_API_C( OSErr )
  457. Q3ViewerSetBounds(
  458. TQ3ViewerObject theViewer,
  459. Rect * bounds);
  460. /*
  461. * Q3ViewerGetBounds()
  462. *
  463. * Availability:
  464. * Non-Carbon CFM: not available
  465. * CarbonLib: not available
  466. * Mac OS X: not available
  467. */
  468. EXTERN_API_C( OSErr )
  469. Q3ViewerGetBounds(
  470. TQ3ViewerObject theViewer,
  471. Rect * bounds);
  472. /*
  473. * Q3ViewerSetDimension()
  474. *
  475. * Availability:
  476. * Non-Carbon CFM: not available
  477. * CarbonLib: not available
  478. * Mac OS X: not available
  479. */
  480. EXTERN_API_C( OSErr )
  481. Q3ViewerSetDimension(
  482. TQ3ViewerObject theViewer,
  483. unsigned long width,
  484. unsigned long height);
  485. /*
  486. * Q3ViewerGetDimension()
  487. *
  488. * Availability:
  489. * Non-Carbon CFM: not available
  490. * CarbonLib: not available
  491. * Mac OS X: not available
  492. */
  493. EXTERN_API_C( OSErr )
  494. Q3ViewerGetDimension(
  495. TQ3ViewerObject theViewer,
  496. unsigned long * width,
  497. unsigned long * height);
  498. /*
  499. * Q3ViewerGetMinimumDimension()
  500. *
  501. * Availability:
  502. * Non-Carbon CFM: not available
  503. * CarbonLib: not available
  504. * Mac OS X: not available
  505. */
  506. EXTERN_API_C( OSErr )
  507. Q3ViewerGetMinimumDimension(
  508. TQ3ViewerObject theViewer,
  509. unsigned long * width,
  510. unsigned long * height);
  511. /******************************************************************************
  512. ** **
  513. ** Port related calls **
  514. ** **
  515. *****************************************************************************/
  516. /*
  517. * Q3ViewerSetPort()
  518. *
  519. * Availability:
  520. * Non-Carbon CFM: not available
  521. * CarbonLib: not available
  522. * Mac OS X: not available
  523. */
  524. EXTERN_API_C( OSErr )
  525. Q3ViewerSetPort(
  526. TQ3ViewerObject theViewer,
  527. CGrafPtr port);
  528. /*
  529. * Q3ViewerGetPort()
  530. *
  531. * Availability:
  532. * Non-Carbon CFM: not available
  533. * CarbonLib: not available
  534. * Mac OS X: not available
  535. */
  536. EXTERN_API_C( CGrafPtr )
  537. Q3ViewerGetPort(TQ3ViewerObject theViewer);
  538. /******************************************************************************
  539. ** **
  540. ** Adjust Cursor should be called from idle loop to allow the Viewer **
  541. ** to change the cursor according to the cursor position/object under **
  542. ** the cursor. **
  543. ** **
  544. *****************************************************************************/
  545. /*
  546. * Q3ViewerAdjustCursor()
  547. *
  548. * Availability:
  549. * Non-Carbon CFM: not available
  550. * CarbonLib: not available
  551. * Mac OS X: not available
  552. */
  553. EXTERN_API_C( Boolean )
  554. Q3ViewerAdjustCursor(
  555. TQ3ViewerObject theViewer,
  556. Point * pt);
  557. /*
  558. * Q3ViewerCursorChanged()
  559. *
  560. * Availability:
  561. * Non-Carbon CFM: not available
  562. * CarbonLib: not available
  563. * Mac OS X: not available
  564. */
  565. EXTERN_API_C( OSErr )
  566. Q3ViewerCursorChanged(TQ3ViewerObject theViewer);
  567. /******************************************************************************
  568. ** **
  569. ** Returns the state of the viewer. See the constant defined at the **
  570. ** top of this file. **
  571. ** **
  572. *****************************************************************************/
  573. /*
  574. * Q3ViewerGetState()
  575. *
  576. * Availability:
  577. * Non-Carbon CFM: not available
  578. * CarbonLib: not available
  579. * Mac OS X: not available
  580. */
  581. EXTERN_API_C( unsigned long )
  582. Q3ViewerGetState(TQ3ViewerObject theViewer);
  583. /******************************************************************************
  584. ** **
  585. ** Clipboard utilities **
  586. ** **
  587. *****************************************************************************/
  588. /*
  589. * Q3ViewerClear()
  590. *
  591. * Availability:
  592. * Non-Carbon CFM: not available
  593. * CarbonLib: not available
  594. * Mac OS X: not available
  595. */
  596. EXTERN_API_C( OSErr )
  597. Q3ViewerClear(TQ3ViewerObject theViewer);
  598. /*
  599. * Q3ViewerCut()
  600. *
  601. * Availability:
  602. * Non-Carbon CFM: not available
  603. * CarbonLib: not available
  604. * Mac OS X: not available
  605. */
  606. EXTERN_API_C( OSErr )
  607. Q3ViewerCut(TQ3ViewerObject theViewer);
  608. /*
  609. * Q3ViewerCopy()
  610. *
  611. * Availability:
  612. * Non-Carbon CFM: not available
  613. * CarbonLib: not available
  614. * Mac OS X: not available
  615. */
  616. EXTERN_API_C( OSErr )
  617. Q3ViewerCopy(TQ3ViewerObject theViewer);
  618. /*
  619. * Q3ViewerPaste()
  620. *
  621. * Availability:
  622. * Non-Carbon CFM: not available
  623. * CarbonLib: not available
  624. * Mac OS X: not available
  625. */
  626. EXTERN_API_C( OSErr )
  627. Q3ViewerPaste(TQ3ViewerObject theViewer);
  628. /******************************************************************************
  629. ** **
  630. ** New Event Model **
  631. ** **
  632. *****************************************************************************/
  633. /*
  634. * Q3ViewerMouseDown()
  635. *
  636. * Availability:
  637. * Non-Carbon CFM: not available
  638. * CarbonLib: not available
  639. * Mac OS X: not available
  640. */
  641. EXTERN_API_C( Boolean )
  642. Q3ViewerMouseDown(
  643. TQ3ViewerObject theViewer,
  644. long x,
  645. long y);
  646. /*
  647. * Q3ViewerContinueTracking()
  648. *
  649. * Availability:
  650. * Non-Carbon CFM: not available
  651. * CarbonLib: not available
  652. * Mac OS X: not available
  653. */
  654. EXTERN_API_C( Boolean )
  655. Q3ViewerContinueTracking(
  656. TQ3ViewerObject theViewer,
  657. long x,
  658. long y);
  659. /*
  660. * Q3ViewerMouseUp()
  661. *
  662. * Availability:
  663. * Non-Carbon CFM: not available
  664. * CarbonLib: not available
  665. * Mac OS X: not available
  666. */
  667. EXTERN_API_C( Boolean )
  668. Q3ViewerMouseUp(
  669. TQ3ViewerObject theViewer,
  670. long x,
  671. long y);
  672. /*
  673. * Q3ViewerHandleKeyEvent()
  674. *
  675. * Availability:
  676. * Non-Carbon CFM: not available
  677. * CarbonLib: not available
  678. * Mac OS X: not available
  679. */
  680. EXTERN_API_C( Boolean )
  681. Q3ViewerHandleKeyEvent(
  682. TQ3ViewerObject theViewer,
  683. EventRecord * evt);
  684. /******************************************************************************
  685. ** **
  686. ** CallBacks **
  687. ** **
  688. *****************************************************************************/
  689. /*
  690. * Q3ViewerSetDrawingCallbackMethod()
  691. *
  692. * Availability:
  693. * Non-Carbon CFM: not available
  694. * CarbonLib: not available
  695. * Mac OS X: not available
  696. */
  697. EXTERN_API_C( OSErr )
  698. Q3ViewerSetDrawingCallbackMethod(
  699. TQ3ViewerObject theViewer,
  700. TQ3ViewerDrawingCallbackMethod callbackMethod,
  701. const void * data);
  702. /*
  703. * Q3ViewerSetWindowResizeCallback()
  704. *
  705. * Availability:
  706. * Non-Carbon CFM: not available
  707. * CarbonLib: not available
  708. * Mac OS X: not available
  709. */
  710. EXTERN_API_C( OSErr )
  711. Q3ViewerSetWindowResizeCallback(
  712. TQ3ViewerObject theViewer,
  713. TQ3ViewerWindowResizeCallbackMethod windowResizeCallbackMethod,
  714. const void * data);
  715. /*
  716. * Q3ViewerSetPaneResizeNotifyCallback()
  717. *
  718. * Availability:
  719. * Non-Carbon CFM: not available
  720. * CarbonLib: not available
  721. * Mac OS X: not available
  722. */
  723. EXTERN_API_C( OSErr )
  724. Q3ViewerSetPaneResizeNotifyCallback(
  725. TQ3ViewerObject theViewer,
  726. TQ3ViewerPaneResizeNotifyCallbackMethod paneResizeNotifyCallbackMethod,
  727. const void * data);
  728. /******************************************************************************
  729. ** **
  730. ** Undo **
  731. ** **
  732. *****************************************************************************/
  733. /*
  734. * Q3ViewerUndo()
  735. *
  736. * Availability:
  737. * Non-Carbon CFM: not available
  738. * CarbonLib: not available
  739. * Mac OS X: not available
  740. */
  741. EXTERN_API_C( OSErr )
  742. Q3ViewerUndo(TQ3ViewerObject theViewer);
  743. /*
  744. * Q3ViewerGetUndoString()
  745. *
  746. * Availability:
  747. * Non-Carbon CFM: not available
  748. * CarbonLib: not available
  749. * Mac OS X: not available
  750. */
  751. EXTERN_API_C( Boolean )
  752. Q3ViewerGetUndoString(
  753. TQ3ViewerObject theViewer,
  754. char * str,
  755. unsigned long * cnt);
  756. /******************************************************************************
  757. ** **
  758. ** Camera Support **
  759. ** **
  760. *****************************************************************************/
  761. /*
  762. * Q3ViewerGetCameraCount()
  763. *
  764. * Availability:
  765. * Non-Carbon CFM: not available
  766. * CarbonLib: not available
  767. * Mac OS X: not available
  768. */
  769. EXTERN_API_C( OSErr )
  770. Q3ViewerGetCameraCount(
  771. TQ3ViewerObject theViewer,
  772. unsigned long * cnt);
  773. /*
  774. * Q3ViewerSetCameraByNumber()
  775. *
  776. * Availability:
  777. * Non-Carbon CFM: not available
  778. * CarbonLib: not available
  779. * Mac OS X: not available
  780. */
  781. EXTERN_API_C( OSErr )
  782. Q3ViewerSetCameraByNumber(
  783. TQ3ViewerObject theViewer,
  784. unsigned long cameraNo);
  785. /*
  786. * Q3ViewerSetCameraByView()
  787. *
  788. * Availability:
  789. * Non-Carbon CFM: not available
  790. * CarbonLib: not available
  791. * Mac OS X: not available
  792. */
  793. EXTERN_API_C( OSErr )
  794. Q3ViewerSetCameraByView(
  795. TQ3ViewerObject theViewer,
  796. TQ3ViewerCameraView viewType);
  797. /******************************************************************************
  798. ** **
  799. ** Pop-up Button Options **
  800. ** **
  801. *****************************************************************************/
  802. /*
  803. * Q3ViewerSetRendererType()
  804. *
  805. * Availability:
  806. * Non-Carbon CFM: not available
  807. * CarbonLib: not available
  808. * Mac OS X: not available
  809. */
  810. EXTERN_API_C( OSErr )
  811. Q3ViewerSetRendererType(
  812. TQ3ViewerObject theViewer,
  813. TQ3ObjectType rendererType);
  814. /*
  815. * Q3ViewerGetRendererType()
  816. *
  817. * Availability:
  818. * Non-Carbon CFM: not available
  819. * CarbonLib: not available
  820. * Mac OS X: not available
  821. */
  822. EXTERN_API_C( OSErr )
  823. Q3ViewerGetRendererType(
  824. TQ3ViewerObject theViewer,
  825. TQ3ObjectType * rendererType);
  826. /*
  827. * Q3ViewerChangeBrightness()
  828. *
  829. * Availability:
  830. * Non-Carbon CFM: not available
  831. * CarbonLib: not available
  832. * Mac OS X: not available
  833. */
  834. EXTERN_API_C( OSErr )
  835. Q3ViewerChangeBrightness(
  836. TQ3ViewerObject theViewer,
  837. float brightness);
  838. /*
  839. * Q3ViewerSetRemoveBackfaces()
  840. *
  841. * Availability:
  842. * Non-Carbon CFM: not available
  843. * CarbonLib: not available
  844. * Mac OS X: not available
  845. */
  846. EXTERN_API_C( OSErr )
  847. Q3ViewerSetRemoveBackfaces(
  848. TQ3ViewerObject theViewer,
  849. TQ3Boolean remove);
  850. /*
  851. * Q3ViewerGetRemoveBackfaces()
  852. *
  853. * Availability:
  854. * Non-Carbon CFM: not available
  855. * CarbonLib: not available
  856. * Mac OS X: not available
  857. */
  858. EXTERN_API_C( OSErr )
  859. Q3ViewerGetRemoveBackfaces(
  860. TQ3ViewerObject theViewer,
  861. TQ3Boolean * remove);
  862. /*
  863. * Q3ViewerSetPhongShading()
  864. *
  865. * Availability:
  866. * Non-Carbon CFM: not available
  867. * CarbonLib: not available
  868. * Mac OS X: not available
  869. */
  870. EXTERN_API_C( OSErr )
  871. Q3ViewerSetPhongShading(
  872. TQ3ViewerObject theViewer,
  873. TQ3Boolean phong);
  874. /*
  875. * Q3ViewerGetPhongShading()
  876. *
  877. * Availability:
  878. * Non-Carbon CFM: not available
  879. * CarbonLib: not available
  880. * Mac OS X: not available
  881. */
  882. EXTERN_API_C( OSErr )
  883. Q3ViewerGetPhongShading(
  884. TQ3ViewerObject theViewer,
  885. TQ3Boolean * phong);
  886. #endif /* CALL_NOT_IN_CARBON */
  887. #endif /* TARGET_OS_MAC */
  888. #if PRAGMA_ENUM_ALWAYSINT
  889. #pragma enumsalwaysint reset
  890. #ifdef __QD3DVIEWER__RESTORE_TWOBYTEINTS
  891. #pragma fourbyteints off
  892. #endif
  893. #elif PRAGMA_ENUM_OPTIONS
  894. #pragma option enum=reset
  895. #elif defined(__QD3DVIEWER__RESTORE_PACKED_ENUMS)
  896. #pragma options(pack_enums)
  897. #endif
  898. #if PRAGMA_STRUCT_ALIGN
  899. #pragma options align=reset
  900. #elif PRAGMA_STRUCT_PACKPUSH
  901. #pragma pack(pop)
  902. #elif PRAGMA_STRUCT_PACK
  903. #pragma pack()
  904. #endif
  905. #ifdef PRAGMA_IMPORT_OFF
  906. #pragma import off
  907. #elif PRAGMA_IMPORT
  908. #pragma import reset
  909. #endif
  910. #ifdef __cplusplus
  911. }
  912. #endif
  913. #endif /* __QD3DVIEWER__ */