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.

943 lines
26 KiB

  1. /*
  2. File: QD3DView.h
  3. Contains: View types and routines
  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 __QD3DVIEW__
  12. #define __QD3DVIEW__
  13. #ifndef __QD3D__
  14. #include <QD3D.h>
  15. #endif
  16. #ifndef __QD3DSTYLE__
  17. #include <QD3DStyle.h>
  18. #endif
  19. #ifndef __QD3DSET__
  20. #include <QD3DSet.h>
  21. #endif
  22. #if PRAGMA_ONCE
  23. #pragma once
  24. #endif
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28. #if PRAGMA_IMPORT
  29. #pragma import on
  30. #endif
  31. #if PRAGMA_ENUM_ALWAYSINT
  32. #if defined(__fourbyteints__) && !__fourbyteints__
  33. #define __QD3DVIEW__RESTORE_TWOBYTEINTS
  34. #pragma fourbyteints on
  35. #endif
  36. #pragma enumsalwaysint on
  37. #elif PRAGMA_ENUM_OPTIONS
  38. #pragma option enum=int
  39. #elif PRAGMA_ENUM_PACK
  40. #if __option(pack_enums)
  41. #define __QD3DVIEW__RESTORE_PACKED_ENUMS
  42. #pragma options(!pack_enums)
  43. #endif
  44. #endif
  45. /******************************************************************************
  46. ** **
  47. ** View Type Definitions **
  48. ** **
  49. *****************************************************************************/
  50. enum TQ3ViewStatus {
  51. kQ3ViewStatusDone = 0,
  52. kQ3ViewStatusRetraverse = 1,
  53. kQ3ViewStatusError = 2,
  54. kQ3ViewStatusCancelled = 3
  55. };
  56. typedef enum TQ3ViewStatus TQ3ViewStatus;
  57. /******************************************************************************
  58. ** **
  59. ** Default Attribute Set **
  60. ** **
  61. *****************************************************************************/
  62. #define kQ3ViewDefaultAmbientCoefficient 1.0
  63. #define kQ3ViewDefaultDiffuseColor 1.0, 1.0, 1.0
  64. #define kQ3ViewDefaultSpecularColor 0.5, 0.5, 0.5
  65. #define kQ3ViewDefaultSpecularControl 4.0
  66. #define kQ3ViewDefaultTransparency 1.0, 1.0, 1.0
  67. #define kQ3ViewDefaultHighlightState kQ3Off
  68. #define kQ3ViewDefaultHighlightColor 1.0, 0.0, 0.0
  69. #define kQ3ViewDefaultSubdivisionMethod kQ3SubdivisionMethodScreenSpace
  70. #define kQ3ViewDefaultSubdivisionC1 20.0
  71. #define kQ3ViewDefaultSubdivisionC2 20.0
  72. /******************************************************************************
  73. ** **
  74. ** View Routines **
  75. ** **
  76. *****************************************************************************/
  77. #if CALL_NOT_IN_CARBON
  78. /*
  79. * Q3View_New()
  80. *
  81. * Availability:
  82. * Non-Carbon CFM: not available
  83. * CarbonLib: not available
  84. * Mac OS X: not available
  85. */
  86. EXTERN_API_C( TQ3ViewObject )
  87. Q3View_New(void);
  88. /*
  89. * Q3View_Cancel()
  90. *
  91. * Availability:
  92. * Non-Carbon CFM: not available
  93. * CarbonLib: not available
  94. * Mac OS X: not available
  95. */
  96. EXTERN_API_C( TQ3Status )
  97. Q3View_Cancel(TQ3ViewObject view);
  98. /******************************************************************************
  99. ** **
  100. ** View Rendering routines **
  101. ** **
  102. *****************************************************************************/
  103. /*
  104. * Q3View_SetRendererByType()
  105. *
  106. * Availability:
  107. * Non-Carbon CFM: not available
  108. * CarbonLib: not available
  109. * Mac OS X: not available
  110. */
  111. EXTERN_API_C( TQ3Status )
  112. Q3View_SetRendererByType(
  113. TQ3ViewObject view,
  114. TQ3ObjectType theType);
  115. /*
  116. * Q3View_SetRenderer()
  117. *
  118. * Availability:
  119. * Non-Carbon CFM: not available
  120. * CarbonLib: not available
  121. * Mac OS X: not available
  122. */
  123. EXTERN_API_C( TQ3Status )
  124. Q3View_SetRenderer(
  125. TQ3ViewObject view,
  126. TQ3RendererObject renderer);
  127. /*
  128. * Q3View_GetRenderer()
  129. *
  130. * Availability:
  131. * Non-Carbon CFM: not available
  132. * CarbonLib: not available
  133. * Mac OS X: not available
  134. */
  135. EXTERN_API_C( TQ3Status )
  136. Q3View_GetRenderer(
  137. TQ3ViewObject view,
  138. TQ3RendererObject * renderer);
  139. /*
  140. * Q3View_StartRendering()
  141. *
  142. * Availability:
  143. * Non-Carbon CFM: not available
  144. * CarbonLib: not available
  145. * Mac OS X: not available
  146. */
  147. EXTERN_API_C( TQ3Status )
  148. Q3View_StartRendering(TQ3ViewObject view);
  149. /*
  150. * Q3View_EndRendering()
  151. *
  152. * Availability:
  153. * Non-Carbon CFM: not available
  154. * CarbonLib: not available
  155. * Mac OS X: not available
  156. */
  157. EXTERN_API_C( TQ3ViewStatus )
  158. Q3View_EndRendering(TQ3ViewObject view);
  159. /*
  160. * Q3View_Flush()
  161. *
  162. * Availability:
  163. * Non-Carbon CFM: not available
  164. * CarbonLib: not available
  165. * Mac OS X: not available
  166. */
  167. EXTERN_API_C( TQ3Status )
  168. Q3View_Flush(TQ3ViewObject view);
  169. /*
  170. * Q3View_Sync()
  171. *
  172. * Availability:
  173. * Non-Carbon CFM: not available
  174. * CarbonLib: not available
  175. * Mac OS X: not available
  176. */
  177. EXTERN_API_C( TQ3Status )
  178. Q3View_Sync(TQ3ViewObject view);
  179. /******************************************************************************
  180. ** **
  181. ** View/Bounds/Pick routines **
  182. ** **
  183. *****************************************************************************/
  184. /*
  185. * Q3View_StartBoundingBox()
  186. *
  187. * Availability:
  188. * Non-Carbon CFM: not available
  189. * CarbonLib: not available
  190. * Mac OS X: not available
  191. */
  192. EXTERN_API_C( TQ3Status )
  193. Q3View_StartBoundingBox(
  194. TQ3ViewObject view,
  195. TQ3ComputeBounds computeBounds);
  196. /*
  197. * Q3View_EndBoundingBox()
  198. *
  199. * Availability:
  200. * Non-Carbon CFM: not available
  201. * CarbonLib: not available
  202. * Mac OS X: not available
  203. */
  204. EXTERN_API_C( TQ3ViewStatus )
  205. Q3View_EndBoundingBox(
  206. TQ3ViewObject view,
  207. TQ3BoundingBox * result);
  208. /*
  209. * Q3View_StartBoundingSphere()
  210. *
  211. * Availability:
  212. * Non-Carbon CFM: not available
  213. * CarbonLib: not available
  214. * Mac OS X: not available
  215. */
  216. EXTERN_API_C( TQ3Status )
  217. Q3View_StartBoundingSphere(
  218. TQ3ViewObject view,
  219. TQ3ComputeBounds computeBounds);
  220. /*
  221. * Q3View_EndBoundingSphere()
  222. *
  223. * Availability:
  224. * Non-Carbon CFM: not available
  225. * CarbonLib: not available
  226. * Mac OS X: not available
  227. */
  228. EXTERN_API_C( TQ3ViewStatus )
  229. Q3View_EndBoundingSphere(
  230. TQ3ViewObject view,
  231. TQ3BoundingSphere * result);
  232. /*
  233. * Q3View_StartPicking()
  234. *
  235. * Availability:
  236. * Non-Carbon CFM: not available
  237. * CarbonLib: not available
  238. * Mac OS X: not available
  239. */
  240. EXTERN_API_C( TQ3Status )
  241. Q3View_StartPicking(
  242. TQ3ViewObject view,
  243. TQ3PickObject pick);
  244. /*
  245. * Q3View_EndPicking()
  246. *
  247. * Availability:
  248. * Non-Carbon CFM: not available
  249. * CarbonLib: not available
  250. * Mac OS X: not available
  251. */
  252. EXTERN_API_C( TQ3ViewStatus )
  253. Q3View_EndPicking(TQ3ViewObject view);
  254. /******************************************************************************
  255. ** **
  256. ** View/Camera routines **
  257. ** **
  258. *****************************************************************************/
  259. /*
  260. * Q3View_GetCamera()
  261. *
  262. * Availability:
  263. * Non-Carbon CFM: not available
  264. * CarbonLib: not available
  265. * Mac OS X: not available
  266. */
  267. EXTERN_API_C( TQ3Status )
  268. Q3View_GetCamera(
  269. TQ3ViewObject view,
  270. TQ3CameraObject * camera);
  271. /*
  272. * Q3View_SetCamera()
  273. *
  274. * Availability:
  275. * Non-Carbon CFM: not available
  276. * CarbonLib: not available
  277. * Mac OS X: not available
  278. */
  279. EXTERN_API_C( TQ3Status )
  280. Q3View_SetCamera(
  281. TQ3ViewObject view,
  282. TQ3CameraObject camera);
  283. /******************************************************************************
  284. ** **
  285. ** View/Lights routines **
  286. ** **
  287. *****************************************************************************/
  288. /*
  289. * Q3View_SetLightGroup()
  290. *
  291. * Availability:
  292. * Non-Carbon CFM: not available
  293. * CarbonLib: not available
  294. * Mac OS X: not available
  295. */
  296. EXTERN_API_C( TQ3Status )
  297. Q3View_SetLightGroup(
  298. TQ3ViewObject view,
  299. TQ3GroupObject lightGroup);
  300. /*
  301. * Q3View_GetLightGroup()
  302. *
  303. * Availability:
  304. * Non-Carbon CFM: not available
  305. * CarbonLib: not available
  306. * Mac OS X: not available
  307. */
  308. EXTERN_API_C( TQ3Status )
  309. Q3View_GetLightGroup(
  310. TQ3ViewObject view,
  311. TQ3GroupObject * lightGroup);
  312. /******************************************************************************
  313. ** **
  314. ** Idle Method **
  315. ** **
  316. *****************************************************************************/
  317. /*
  318. * The idle methods allow the application to register callback routines
  319. * which will be called by the view during especially long operations.
  320. *
  321. * The idle methods may also be used to interrupt long renderings or
  322. * traversals. Inside the idler callback the application can check for
  323. * Command-Period, Control-C or clicking a "Cancel" button or whatever else
  324. * may be used to let the user interrupt rendering.
  325. *
  326. * It is NOT LEGAL to call QD3D routines inside an idler callback.
  327. *
  328. * Return kQ3Failure to cancel rendering, kQ3Success to continue. Don't
  329. * bother posting an error.
  330. *
  331. * Q3View_SetIdleMethod registers a callback that can be called
  332. * by the system during rendering. Unfortunately there is no way yet
  333. * to set timer intervals when you want to be called. Basically, it is
  334. * up to the application's idler callback to check clocks to see if you
  335. * were called back only a millisecond ago or an hour ago!
  336. *
  337. * Q3View_SetIdleProgressMethod registers a callback that also gives
  338. * progress information. This information is supplied by the renderer, and
  339. * may or may not be based on real time.
  340. *
  341. * If a renderer doesn't support the progress method, your method will be
  342. * called with current == 0 and completed == 0.
  343. *
  344. * Otherwise, you are GUARANTEED to get called at least 2 or more times:
  345. *
  346. * ONCE idleMethod(view, 0, n) -> Initialize, Show Dialog
  347. * zero or more idleMethod(view, 1..n-1, n) -> Update progress
  348. * ONCE idleMethod(view, n, n) -> Exit, Hide Dialog
  349. *
  350. * "current" is guaranteed to be less than or equal to "completed"
  351. * "completed" may change values, but current/complete always indicates
  352. * the degree of completion.
  353. *
  354. * The calling conventions aid in managing any data associated with a
  355. * progress user interface indicator.
  356. */
  357. #endif /* CALL_NOT_IN_CARBON */
  358. typedef CALLBACK_API_C( TQ3Status , TQ3ViewIdleMethod )(TQ3ViewObject view, const void *idlerData);
  359. typedef CALLBACK_API_C( TQ3Status , TQ3ViewIdleProgressMethod )(TQ3ViewObject view, const void *idlerData, unsigned long current, unsigned long completed);
  360. #if CALL_NOT_IN_CARBON
  361. /*
  362. * Q3View_SetIdleMethod()
  363. *
  364. * Availability:
  365. * Non-Carbon CFM: not available
  366. * CarbonLib: not available
  367. * Mac OS X: not available
  368. */
  369. EXTERN_API_C( TQ3Status )
  370. Q3View_SetIdleMethod(
  371. TQ3ViewObject view,
  372. TQ3ViewIdleMethod idleMethod,
  373. const void * idleData);
  374. /*
  375. * Q3View_SetIdleProgressMethod()
  376. *
  377. * Availability:
  378. * Non-Carbon CFM: not available
  379. * CarbonLib: not available
  380. * Mac OS X: not available
  381. */
  382. EXTERN_API_C( TQ3Status )
  383. Q3View_SetIdleProgressMethod(
  384. TQ3ViewObject view,
  385. TQ3ViewIdleProgressMethod idleMethod,
  386. const void * idleData);
  387. /******************************************************************************
  388. ** **
  389. ** EndFrame Method **
  390. ** **
  391. *****************************************************************************/
  392. /*
  393. * The end frame method is an alternate way of determining when an
  394. * asynchronous renderer has completed rendering a frame. It differs from
  395. * Q3View_Sync in that notification of the frame completion is the opposite
  396. * direction.
  397. *
  398. * With Q3View_Sync the application asks a renderer to finish rendering
  399. * a frame, and blocks until the frame is complete.
  400. *
  401. * With the EndFrame method, the renderer tells the application that is has
  402. * completed a frame.
  403. *
  404. * If "Q3View_Sync" is called BEFORE this method has been called, this
  405. * method will NOT be called ever.
  406. *
  407. * If "Q3View_Sync" is called AFTER this method has been called, the
  408. * call will return immediately (as the frame has already been completed).
  409. */
  410. #endif /* CALL_NOT_IN_CARBON */
  411. typedef CALLBACK_API_C( void , TQ3ViewEndFrameMethod )(TQ3ViewObject view, void *endFrameData);
  412. #if CALL_NOT_IN_CARBON
  413. /*
  414. * Q3View_SetEndFrameMethod()
  415. *
  416. * Availability:
  417. * Non-Carbon CFM: not available
  418. * CarbonLib: not available
  419. * Mac OS X: not available
  420. */
  421. EXTERN_API_C( TQ3Status )
  422. Q3View_SetEndFrameMethod(
  423. TQ3ViewObject view,
  424. TQ3ViewEndFrameMethod endFrame,
  425. void * endFrameData);
  426. /******************************************************************************
  427. ** **
  428. ** Push/Pop routines **
  429. ** **
  430. *****************************************************************************/
  431. /*
  432. * Q3Push_Submit()
  433. *
  434. * Availability:
  435. * Non-Carbon CFM: not available
  436. * CarbonLib: not available
  437. * Mac OS X: not available
  438. */
  439. EXTERN_API_C( TQ3Status )
  440. Q3Push_Submit(TQ3ViewObject view);
  441. /*
  442. * Q3Pop_Submit()
  443. *
  444. * Availability:
  445. * Non-Carbon CFM: not available
  446. * CarbonLib: not available
  447. * Mac OS X: not available
  448. */
  449. EXTERN_API_C( TQ3Status )
  450. Q3Pop_Submit(TQ3ViewObject view);
  451. /*
  452. * Q3Push_New()
  453. *
  454. * Availability:
  455. * Non-Carbon CFM: not available
  456. * CarbonLib: not available
  457. * Mac OS X: not available
  458. */
  459. EXTERN_API_C( TQ3StateOperatorObject )
  460. Q3Push_New(void);
  461. /*
  462. * Q3Pop_New()
  463. *
  464. * Availability:
  465. * Non-Carbon CFM: not available
  466. * CarbonLib: not available
  467. * Mac OS X: not available
  468. */
  469. EXTERN_API_C( TQ3StateOperatorObject )
  470. Q3Pop_New(void);
  471. /*
  472. * Q3StateOperator_Submit()
  473. *
  474. * Availability:
  475. * Non-Carbon CFM: not available
  476. * CarbonLib: not available
  477. * Mac OS X: not available
  478. */
  479. EXTERN_API_C( TQ3Status )
  480. Q3StateOperator_Submit(
  481. TQ3StateOperatorObject stateOperator,
  482. TQ3ViewObject view);
  483. /******************************************************************************
  484. ** **
  485. ** Check if bounding box is visible in the viewing frustum. Transforms **
  486. ** the bbox by the current local_to_world transformation matrix and **
  487. ** does a clip test to see if it lies in the viewing frustum. **
  488. ** This can be used by applications to cull out large chunks of scenes **
  489. ** that are not going to be visible. **
  490. ** **
  491. ** The default implementation is to always return kQ3True. Renderers **
  492. ** may override this routine however to do the checking. **
  493. ** **
  494. *****************************************************************************/
  495. /*
  496. * Q3View_IsBoundingBoxVisible()
  497. *
  498. * Availability:
  499. * Non-Carbon CFM: not available
  500. * CarbonLib: not available
  501. * Mac OS X: not available
  502. */
  503. EXTERN_API_C( TQ3Boolean )
  504. Q3View_IsBoundingBoxVisible(
  505. TQ3ViewObject view,
  506. const TQ3BoundingBox * bbox);
  507. /******************************************************************************
  508. ** **
  509. ** Allows display groups to be culled if they are assigned bounding **
  510. ** boxes. **
  511. ** **
  512. *****************************************************************************/
  513. /*
  514. * Q3View_AllowAllGroupCulling()
  515. *
  516. * Availability:
  517. * Non-Carbon CFM: not available
  518. * CarbonLib: not available
  519. * Mac OS X: not available
  520. */
  521. EXTERN_API_C( TQ3Status )
  522. Q3View_AllowAllGroupCulling(
  523. TQ3ViewObject view,
  524. TQ3Boolean allowCulling);
  525. /******************************************************************************
  526. ** **
  527. ** DrawContext routines **
  528. ** **
  529. *****************************************************************************/
  530. /*
  531. * Q3View_SetDrawContext()
  532. *
  533. * Availability:
  534. * Non-Carbon CFM: not available
  535. * CarbonLib: not available
  536. * Mac OS X: not available
  537. */
  538. EXTERN_API_C( TQ3Status )
  539. Q3View_SetDrawContext(
  540. TQ3ViewObject view,
  541. TQ3DrawContextObject drawContext);
  542. /*
  543. * Q3View_GetDrawContext()
  544. *
  545. * Availability:
  546. * Non-Carbon CFM: not available
  547. * CarbonLib: not available
  548. * Mac OS X: not available
  549. */
  550. EXTERN_API_C( TQ3Status )
  551. Q3View_GetDrawContext(
  552. TQ3ViewObject view,
  553. TQ3DrawContextObject * drawContext);
  554. /******************************************************************************
  555. ** **
  556. ** Graphics State routines **
  557. ** **
  558. ** The graphics state routines can only be called while rendering (ie. in **
  559. ** between calls to start and end rendering calls). If they are called **
  560. ** outside of a rendering loop, they will return with error. **
  561. ** **
  562. *****************************************************************************/
  563. /******************************************************************************
  564. ** **
  565. ** Transform routines **
  566. ** **
  567. *****************************************************************************/
  568. /*
  569. * Q3View_GetLocalToWorldMatrixState()
  570. *
  571. * Availability:
  572. * Non-Carbon CFM: not available
  573. * CarbonLib: not available
  574. * Mac OS X: not available
  575. */
  576. EXTERN_API_C( TQ3Status )
  577. Q3View_GetLocalToWorldMatrixState(
  578. TQ3ViewObject view,
  579. TQ3Matrix4x4 * matrix);
  580. /*
  581. * Q3View_GetWorldToFrustumMatrixState()
  582. *
  583. * Availability:
  584. * Non-Carbon CFM: not available
  585. * CarbonLib: not available
  586. * Mac OS X: not available
  587. */
  588. EXTERN_API_C( TQ3Status )
  589. Q3View_GetWorldToFrustumMatrixState(
  590. TQ3ViewObject view,
  591. TQ3Matrix4x4 * matrix);
  592. /*
  593. * Q3View_GetFrustumToWindowMatrixState()
  594. *
  595. * Availability:
  596. * Non-Carbon CFM: not available
  597. * CarbonLib: not available
  598. * Mac OS X: not available
  599. */
  600. EXTERN_API_C( TQ3Status )
  601. Q3View_GetFrustumToWindowMatrixState(
  602. TQ3ViewObject view,
  603. TQ3Matrix4x4 * matrix);
  604. /******************************************************************************
  605. ** **
  606. ** Style state routines **
  607. ** **
  608. *****************************************************************************/
  609. /*
  610. * Q3View_GetBackfacingStyleState()
  611. *
  612. * Availability:
  613. * Non-Carbon CFM: not available
  614. * CarbonLib: not available
  615. * Mac OS X: not available
  616. */
  617. EXTERN_API_C( TQ3Status )
  618. Q3View_GetBackfacingStyleState(
  619. TQ3ViewObject view,
  620. TQ3BackfacingStyle * backfacingStyle);
  621. /*
  622. * Q3View_GetInterpolationStyleState()
  623. *
  624. * Availability:
  625. * Non-Carbon CFM: not available
  626. * CarbonLib: not available
  627. * Mac OS X: not available
  628. */
  629. EXTERN_API_C( TQ3Status )
  630. Q3View_GetInterpolationStyleState(
  631. TQ3ViewObject view,
  632. TQ3InterpolationStyle * interpolationType);
  633. /*
  634. * Q3View_GetFillStyleState()
  635. *
  636. * Availability:
  637. * Non-Carbon CFM: not available
  638. * CarbonLib: not available
  639. * Mac OS X: not available
  640. */
  641. EXTERN_API_C( TQ3Status )
  642. Q3View_GetFillStyleState(
  643. TQ3ViewObject view,
  644. TQ3FillStyle * fillStyle);
  645. /*
  646. * Q3View_GetHighlightStyleState()
  647. *
  648. * Availability:
  649. * Non-Carbon CFM: not available
  650. * CarbonLib: not available
  651. * Mac OS X: not available
  652. */
  653. EXTERN_API_C( TQ3Status )
  654. Q3View_GetHighlightStyleState(
  655. TQ3ViewObject view,
  656. TQ3AttributeSet * highlightStyle);
  657. /*
  658. * Q3View_GetSubdivisionStyleState()
  659. *
  660. * Availability:
  661. * Non-Carbon CFM: not available
  662. * CarbonLib: not available
  663. * Mac OS X: not available
  664. */
  665. EXTERN_API_C( TQ3Status )
  666. Q3View_GetSubdivisionStyleState(
  667. TQ3ViewObject view,
  668. TQ3SubdivisionStyleData * subdivisionStyle);
  669. /*
  670. * Q3View_GetOrientationStyleState()
  671. *
  672. * Availability:
  673. * Non-Carbon CFM: not available
  674. * CarbonLib: not available
  675. * Mac OS X: not available
  676. */
  677. EXTERN_API_C( TQ3Status )
  678. Q3View_GetOrientationStyleState(
  679. TQ3ViewObject view,
  680. TQ3OrientationStyle * fontFacingDirectionStyle);
  681. /*
  682. * Q3View_GetReceiveShadowsStyleState()
  683. *
  684. * Availability:
  685. * Non-Carbon CFM: not available
  686. * CarbonLib: not available
  687. * Mac OS X: not available
  688. */
  689. EXTERN_API_C( TQ3Status )
  690. Q3View_GetReceiveShadowsStyleState(
  691. TQ3ViewObject view,
  692. TQ3Boolean * receives);
  693. /*
  694. * Q3View_GetPickIDStyleState()
  695. *
  696. * Availability:
  697. * Non-Carbon CFM: not available
  698. * CarbonLib: not available
  699. * Mac OS X: not available
  700. */
  701. EXTERN_API_C( TQ3Status )
  702. Q3View_GetPickIDStyleState(
  703. TQ3ViewObject view,
  704. unsigned long * pickIDStyle);
  705. /*
  706. * Q3View_GetPickPartsStyleState()
  707. *
  708. * Availability:
  709. * Non-Carbon CFM: not available
  710. * CarbonLib: not available
  711. * Mac OS X: not available
  712. */
  713. EXTERN_API_C( TQ3Status )
  714. Q3View_GetPickPartsStyleState(
  715. TQ3ViewObject view,
  716. TQ3PickParts * pickPartsStyle);
  717. /*
  718. * Q3View_GetAntiAliasStyleState()
  719. *
  720. * Availability:
  721. * Non-Carbon CFM: not available
  722. * CarbonLib: not available
  723. * Mac OS X: not available
  724. */
  725. EXTERN_API_C( TQ3Status )
  726. Q3View_GetAntiAliasStyleState(
  727. TQ3ViewObject view,
  728. TQ3AntiAliasStyleData * antiAliasData);
  729. /******************************************************************************
  730. ** **
  731. ** Attribute state routines **
  732. ** **
  733. *****************************************************************************/
  734. /*
  735. * Q3View_GetDefaultAttributeSet()
  736. *
  737. * Availability:
  738. * Non-Carbon CFM: not available
  739. * CarbonLib: not available
  740. * Mac OS X: not available
  741. */
  742. EXTERN_API_C( TQ3Status )
  743. Q3View_GetDefaultAttributeSet(
  744. TQ3ViewObject view,
  745. TQ3AttributeSet * attributeSet);
  746. /*
  747. * Q3View_SetDefaultAttributeSet()
  748. *
  749. * Availability:
  750. * Non-Carbon CFM: not available
  751. * CarbonLib: not available
  752. * Mac OS X: not available
  753. */
  754. EXTERN_API_C( TQ3Status )
  755. Q3View_SetDefaultAttributeSet(
  756. TQ3ViewObject view,
  757. TQ3AttributeSet attributeSet);
  758. /*
  759. * Q3View_GetAttributeSetState()
  760. *
  761. * Availability:
  762. * Non-Carbon CFM: not available
  763. * CarbonLib: not available
  764. * Mac OS X: not available
  765. */
  766. EXTERN_API_C( TQ3Status )
  767. Q3View_GetAttributeSetState(
  768. TQ3ViewObject view,
  769. TQ3AttributeSet * attributeSet);
  770. /*
  771. * Q3View_GetAttributeState()
  772. *
  773. * Availability:
  774. * Non-Carbon CFM: not available
  775. * CarbonLib: not available
  776. * Mac OS X: not available
  777. */
  778. EXTERN_API_C( TQ3Status )
  779. Q3View_GetAttributeState(
  780. TQ3ViewObject view,
  781. TQ3AttributeType attributeType,
  782. void * data);
  783. #endif /* CALL_NOT_IN_CARBON */
  784. #if PRAGMA_ENUM_ALWAYSINT
  785. #pragma enumsalwaysint reset
  786. #ifdef __QD3DVIEW__RESTORE_TWOBYTEINTS
  787. #pragma fourbyteints off
  788. #endif
  789. #elif PRAGMA_ENUM_OPTIONS
  790. #pragma option enum=reset
  791. #elif defined(__QD3DVIEW__RESTORE_PACKED_ENUMS)
  792. #pragma options(pack_enums)
  793. #endif
  794. #ifdef PRAGMA_IMPORT_OFF
  795. #pragma import off
  796. #elif PRAGMA_IMPORT
  797. #pragma import reset
  798. #endif
  799. #ifdef __cplusplus
  800. }
  801. #endif
  802. #endif /* __QD3DVIEW__ */