Lists.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:27k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       Lists.h
  3.  
  4.      Contains:   List Manager Interfaces.
  5.  
  6.      Version:    Technology: Mac OS 8
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1985-2001 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:      For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __LISTS__
  18. #define __LISTS__
  19. #ifndef __MACTYPES__
  20. #include "MacTypes.h"
  21. #endif
  22. #ifndef __CONTROLS__
  23. #include "Controls.h"
  24. #endif
  25. #if PRAGMA_ONCE
  26. #pragma once
  27. #endif
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. #if PRAGMA_IMPORT
  32. #pragma import on
  33. #endif
  34. #if PRAGMA_STRUCT_ALIGN
  35.     #pragma options align=mac68k
  36. #elif PRAGMA_STRUCT_PACKPUSH
  37.     #pragma pack(push, 2)
  38. #elif PRAGMA_STRUCT_PACK
  39.     #pragma pack(2)
  40. #endif
  41. typedef Point                           Cell;
  42. typedef Rect                            ListBounds;
  43. typedef char                            DataArray[32001];
  44. typedef char *                          DataPtr;
  45. typedef DataPtr *                       DataHandle;
  46. typedef CALLBACK_API( short , ListSearchProcPtr )(Ptr aPtr, Ptr bPtr, short aLen, short bLen);
  47. typedef CALLBACK_API( Boolean , ListClickLoopProcPtr )(void );
  48. /*
  49.     WARNING: ListClickLoopProcPtr uses register based parameters under classic 68k
  50.              and cannot be written in a high-level language without 
  51.              the help of mixed mode or assembly glue.
  52. */
  53. typedef STACK_UPP_TYPE(ListSearchProcPtr)                       ListSearchUPP;
  54. typedef REGISTER_UPP_TYPE(ListClickLoopProcPtr)                 ListClickLoopUPP;
  55. #if !TARGET_OS_MAC
  56. /* QuickTime 3.0 */
  57. typedef long                            ListNotification;
  58. enum {
  59.     listNotifyNothing           = FOUR_CHAR_CODE('nada'),       /* No (null) notification*/
  60.     listNotifyClick             = FOUR_CHAR_CODE('clik'),       /* Control was clicked*/
  61.     listNotifyDoubleClick       = FOUR_CHAR_CODE('dblc'),       /* Control was double-clicked*/
  62.     listNotifyPreClick          = FOUR_CHAR_CODE('pclk')        /* Control about to be clicked*/
  63. };
  64. #endif  /* !TARGET_OS_MAC */
  65. struct ListRec {
  66.     Rect                            rView;
  67.     GrafPtr                         port;
  68.     Point                           indent;
  69.     Point                           cellSize;
  70.     ListBounds                      visible;
  71.     ControlHandle                   vScroll;
  72.     ControlHandle                   hScroll;
  73.     SInt8                           selFlags;
  74.     Boolean                         lActive;
  75.     SInt8                           lReserved;
  76.     SInt8                           listFlags;
  77.     long                            clikTime;
  78.     Point                           clikLoc;
  79.     Point                           mouseLoc;
  80.     ListClickLoopUPP                lClickLoop;
  81.     Cell                            lastClick;
  82.     long                            refCon;
  83.     Handle                          listDefProc;
  84.     Handle                          userHandle;
  85.     ListBounds                      dataBounds;
  86.     DataHandle                      cells;
  87.     short                           maxIndex;
  88.     short                           cellArray[1];
  89. };
  90. typedef struct ListRec                  ListRec;
  91. typedef ListRec *                       ListPtr;
  92. typedef ListPtr *                       ListHandle;
  93. /* ListRef is obsolete.  Use ListHandle. */
  94. typedef ListHandle                      ListRef;
  95. enum {
  96.                                                                 /* ListRec.listFlags bits*/
  97.     lDoVAutoscrollBit           = 1,
  98.     lDoHAutoscrollBit           = 0
  99. };
  100. enum {
  101.                                                                 /* ListRec.listFlags masks*/
  102.     lDoVAutoscroll              = 2,
  103.     lDoHAutoscroll              = 1
  104. };
  105. enum {
  106.                                                                 /* ListRec.selFlags bits*/
  107.     lOnlyOneBit                 = 7,
  108.     lExtendDragBit              = 6,
  109.     lNoDisjointBit              = 5,
  110.     lNoExtendBit                = 4,
  111.     lNoRectBit                  = 3,
  112.     lUseSenseBit                = 2,
  113.     lNoNilHiliteBit             = 1
  114. };
  115. enum {
  116.                                                                 /* ListRec.selFlags masks*/
  117.     lOnlyOne                    = -128,
  118.     lExtendDrag                 = 64,
  119.     lNoDisjoint                 = 32,
  120.     lNoExtend                   = 16,
  121.     lNoRect                     = 8,
  122.     lUseSense                   = 4,
  123.     lNoNilHilite                = 2
  124. };
  125. enum {
  126.                                                                 /* LDEF messages*/
  127.     lInitMsg                    = 0,
  128.     lDrawMsg                    = 1,
  129.     lHiliteMsg                  = 2,
  130.     lCloseMsg                   = 3
  131. };
  132. typedef CALLBACK_API( void , ListDefProcPtr )(short lMessage, Boolean lSelect, Rect *lRect, Cell lCell, short lDataOffset, short lDataLen, ListHandle lHandle);
  133. typedef STACK_UPP_TYPE(ListDefProcPtr)                          ListDefUPP;
  134. #if OPAQUE_UPP_TYPES
  135.     EXTERN_API(ListSearchUPP)
  136.     NewListSearchUPP               (ListSearchProcPtr       userRoutine);
  137.     EXTERN_API(ListClickLoopUPP)
  138.     NewListClickLoopUPP            (ListClickLoopProcPtr    userRoutine);
  139.     EXTERN_API(ListDefUPP)
  140.     NewListDefUPP                  (ListDefProcPtr          userRoutine);
  141.     EXTERN_API(void)
  142.     DisposeListSearchUPP           (ListSearchUPP           userUPP);
  143.     EXTERN_API(void)
  144.     DisposeListClickLoopUPP        (ListClickLoopUPP        userUPP);
  145.     EXTERN_API(void)
  146.     DisposeListDefUPP              (ListDefUPP              userUPP);
  147.     EXTERN_API(short)
  148.     InvokeListSearchUPP            (Ptr                     aPtr,
  149.                                     Ptr                     bPtr,
  150.                                     short                   aLen,
  151.                                     short                   bLen,
  152.                                     ListSearchUPP           userUPP);
  153.     EXTERN_API(Boolean)
  154.     InvokeListClickLoopUPP         (ListClickLoopUPP        userUPP);
  155.     EXTERN_API(void)
  156.     InvokeListDefUPP               (short                   lMessage,
  157.                                     Boolean                 lSelect,
  158.                                     Rect *                  lRect,
  159.                                     Cell                    lCell,
  160.                                     short                   lDataOffset,
  161.                                     short                   lDataLen,
  162.                                     ListHandle              lHandle,
  163.                                     ListDefUPP              userUPP);
  164. #else
  165.     enum { uppListSearchProcInfo = 0x00002BE0 };                    /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 2_bytes) */
  166.     enum { uppListClickLoopProcInfo = 0x00000012 };                 /* register 1_byte:D0 Func() */
  167.     enum { uppListDefProcInfo = 0x000EBD80 };                       /* pascal no_return_value Func(2_bytes, 1_byte, 4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes) */
  168.     #define NewListSearchUPP(userRoutine)                           (ListSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListSearchProcInfo, GetCurrentArchitecture())
  169.     #define NewListClickLoopUPP(userRoutine)                        (ListClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListClickLoopProcInfo, GetCurrentArchitecture())
  170.     #define NewListDefUPP(userRoutine)                              (ListDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListDefProcInfo, GetCurrentArchitecture())
  171.     #define DisposeListSearchUPP(userUPP)                           DisposeRoutineDescriptor(userUPP)
  172.     #define DisposeListClickLoopUPP(userUPP)                        DisposeRoutineDescriptor(userUPP)
  173.     #define DisposeListDefUPP(userUPP)                              DisposeRoutineDescriptor(userUPP)
  174.     #define InvokeListSearchUPP(aPtr, bPtr, aLen, bLen, userUPP)    (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppListSearchProcInfo, (aPtr), (bPtr), (aLen), (bLen))
  175.     #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  176.     #pragma parameter __D0 InvokeListClickLoopUPP(__A0)
  177.     Boolean InvokeListClickLoopUPP(ListClickLoopUPP userUPP) = 0x4E90;
  178.     #else
  179.         #define InvokeListClickLoopUPP(userUPP)                         (Boolean)CALL_ZERO_PARAMETER_UPP((userUPP), uppListClickLoopProcInfo)
  180.     #endif
  181.     #define InvokeListDefUPP(lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle, userUPP)  CALL_SEVEN_PARAMETER_UPP((userUPP), uppListDefProcInfo, (lMessage), (lSelect), (lRect), (lCell), (lDataOffset), (lDataLen), (lHandle))
  182. #endif
  183. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  184. #define NewListSearchProc(userRoutine)                          NewListSearchUPP(userRoutine)
  185. #define NewListClickLoopProc(userRoutine)                       NewListClickLoopUPP(userRoutine)
  186. #define NewListDefProc(userRoutine)                             NewListDefUPP(userRoutine)
  187. #define CallListSearchProc(userRoutine, aPtr, bPtr, aLen, bLen) InvokeListSearchUPP(aPtr, bPtr, aLen, bLen, userRoutine)
  188. #define CallListClickLoopProc(userRoutine)                      InvokeListClickLoopUPP(userRoutine)
  189. #define CallListDefProc(userRoutine, lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle) InvokeListDefUPP(lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle, userRoutine)
  190. enum {
  191.     kListDefUserProcType        = 0,
  192.     kListDefStandardTextType    = 1,
  193.     kListDefStandardIconType    = 2
  194. };
  195. typedef UInt32                          ListDefType;
  196. struct ListDefSpec {
  197.     ListDefType                     defType;
  198.     union {
  199.         ListDefUPP                      userProc;
  200.     }                                 u;
  201. };
  202. typedef struct ListDefSpec              ListDefSpec;
  203. EXTERN_API( OSStatus )
  204. CreateCustomList                (const Rect *           rView,
  205.                                  const ListBounds *     dataBounds,
  206.                                  Point                  cellSize,
  207.                                  const ListDefSpec *    theSpec,
  208.                                  WindowPtr              theWindow,
  209.                                  Boolean                drawIt,
  210.                                  Boolean                hasGrow,
  211.                                  Boolean                scrollHoriz,
  212.                                  Boolean                scrollVert,
  213.                                  ListHandle *           outList);
  214. #if !TARGET_OS_MAC
  215. /* QuickTime 3.0 */
  216. typedef CALLBACK_API( void , ListNotificationProcPtr )(ListHandle theList, ListNotification notification, long param);
  217. typedef ListNotificationProcPtr         ListNotificationUPP;
  218. #if CALL_NOT_IN_CARBON
  219. EXTERN_API_C( void )
  220. LSetNotificationCallback        (ListNotificationProcPtr  callBack,
  221.                                  ListHandle             lHandle);
  222. EXTERN_API_C( void )
  223. GetListVisibleBounds            (ListHandle             theList,
  224.                                  Rect *                 visibleBounds);
  225. #endif  /* CALL_NOT_IN_CARBON */
  226. #endif  /* !TARGET_OS_MAC */
  227. EXTERN_API( ListHandle )
  228. LNew                            (const Rect *           rView,
  229.                                  const ListBounds *     dataBounds,
  230.                                  Point                  cSize,
  231.                                  short                  theProc,
  232.                                  WindowPtr              theWindow,
  233.                                  Boolean                drawIt,
  234.                                  Boolean                hasGrow,
  235.                                  Boolean                scrollHoriz,
  236.                                  Boolean                scrollVert)                         THREEWORDINLINE(0x3F3C, 0x0044, 0xA9E7);
  237. EXTERN_API( void )
  238. LDispose                        (ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0028, 0xA9E7);
  239. EXTERN_API( short )
  240. LAddColumn                      (short                  count,
  241.                                  short                  colNum,
  242.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0004, 0xA9E7);
  243. EXTERN_API( short )
  244. LAddRow                         (short                  count,
  245.                                  short                  rowNum,
  246.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0008, 0xA9E7);
  247. EXTERN_API( void )
  248. LDelColumn                      (short                  count,
  249.                                  short                  colNum,
  250.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0020, 0xA9E7);
  251. EXTERN_API( void )
  252. LDelRow                         (short                  count,
  253.                                  short                  rowNum,
  254.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0024, 0xA9E7);
  255. EXTERN_API( Boolean )
  256. LGetSelect                      (Boolean                next,
  257.                                  Cell *                 theCell,
  258.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x003C, 0xA9E7);
  259. EXTERN_API( Cell )
  260. LLastClick                      (ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0040, 0xA9E7);
  261. EXTERN_API( Boolean )
  262. LNextCell                       (Boolean                hNext,
  263.                                  Boolean                vNext,
  264.                                  Cell *                 theCell,
  265.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0048, 0xA9E7);
  266. EXTERN_API( Boolean )
  267. LSearch                         (const void *           dataPtr,
  268.                                  short                  dataLen,
  269.                                  ListSearchUPP          searchProc,
  270.                                  Cell *                 theCell,
  271.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0054, 0xA9E7);
  272. EXTERN_API( void )
  273. LSize                           (short                  listWidth,
  274.                                  short                  listHeight,
  275.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0060, 0xA9E7);
  276. EXTERN_API( void )
  277. LSetDrawingMode                 (Boolean                drawIt,
  278.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x002C, 0xA9E7);
  279. EXTERN_API( void )
  280. LScroll                         (short                  dCols,
  281.                                  short                  dRows,
  282.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0050, 0xA9E7);
  283. EXTERN_API( void )
  284. LAutoScroll                     (ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0010, 0xA9E7);
  285. EXTERN_API( void )
  286. LUpdate                         (RgnHandle              theRgn,
  287.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0064, 0xA9E7);
  288. EXTERN_API( void )
  289. LActivate                       (Boolean                act,
  290.                                  ListHandle             lHandle)                            TWOWORDINLINE(0x4267, 0xA9E7);
  291. EXTERN_API( void )
  292. LCellSize                       (Point                  cSize,
  293.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0014, 0xA9E7);
  294. EXTERN_API( Boolean )
  295. LClick                          (Point                  pt,
  296.                                  short                  modifiers,
  297.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0018, 0xA9E7);
  298. EXTERN_API( void )
  299. LAddToCell                      (const void *           dataPtr,
  300.                                  short                  dataLen,
  301.                                  Cell                   theCell,
  302.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x000C, 0xA9E7);
  303. EXTERN_API( void )
  304. LClrCell                        (Cell                   theCell,
  305.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x001C, 0xA9E7);
  306. EXTERN_API( void )
  307. LGetCell                        (void *                 dataPtr,
  308.                                  short *                dataLen,
  309.                                  Cell                   theCell,
  310.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0038, 0xA9E7);
  311. EXTERN_API( void )
  312. LRect                           (Rect *                 cellRect,
  313.                                  Cell                   theCell,
  314.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x004C, 0xA9E7);
  315. EXTERN_API( void )
  316. LSetCell                        (const void *           dataPtr,
  317.                                  short                  dataLen,
  318.                                  Cell                   theCell,
  319.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0058, 0xA9E7);
  320. EXTERN_API( void )
  321. LSetSelect                      (Boolean                setIt,
  322.                                  Cell                   theCell,
  323.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x005C, 0xA9E7);
  324. EXTERN_API( void )
  325. LDraw                           (Cell                   theCell,
  326.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0030, 0xA9E7);
  327. EXTERN_API( void )
  328. LGetCellDataLocation            (short *                offset,
  329.                                  short *                len,
  330.                                  Cell                   theCell,
  331.                                  ListHandle             lHandle)                            THREEWORDINLINE(0x3F3C, 0x0034, 0xA9E7);
  332. #if CALL_NOT_IN_CARBON
  333. #if CALL_NOT_IN_CARBON
  334. EXTERN_API( OSErr )
  335. SetListDefinitionProc           (SInt16                 resID,
  336.                                  ListDefUPP             defProc);
  337. #endif  /* CALL_NOT_IN_CARBON */
  338. #endif  /* CALL_NOT_IN_CARBON */
  339. #if !TARGET_OS_MAC
  340. /* QuickTime 3.0 */
  341. #if CALL_NOT_IN_CARBON
  342. EXTERN_API_C( void )
  343. LSetLDEF                        (ListDefProcPtr         proc,
  344.                                  ListRef                lHandle);
  345. #endif  /* CALL_NOT_IN_CARBON */
  346. #endif  /* !TARGET_OS_MAC */
  347. #if CALL_NOT_IN_CARBON
  348. EXTERN_API_C( void )
  349. laddtocell                      (const void *           dataPtr,
  350.                                  short                  dataLen,
  351.                                  const Cell *           theCell,
  352.                                  ListHandle             lHandle);
  353. EXTERN_API_C( void )
  354. lclrcell                        (const Cell *           theCell,
  355.                                  ListHandle             lHandle);
  356. EXTERN_API_C( void )
  357. lgetcelldatalocation            (short *                offset,
  358.                                  short *                len,
  359.                                  const Cell *           theCell,
  360.                                  ListHandle             lHandle);
  361. EXTERN_API_C( void )
  362. lgetcell                        (void *                 dataPtr,
  363.                                  short *                dataLen,
  364.                                  const Cell *           theCell,
  365.                                  ListHandle             lHandle);
  366. EXTERN_API_C( ListHandle )
  367. lnew                            (const Rect *           rView,
  368.                                  const ListBounds *     dataBounds,
  369.                                  Point *                cSize,
  370.                                  short                  theProc,
  371.                                  WindowPtr              theWindow,
  372.                                  Boolean                drawIt,
  373.                                  Boolean                hasGrow,
  374.                                  Boolean                scrollHoriz,
  375.                                  Boolean                scrollVert);
  376. EXTERN_API_C( void )
  377. lrect                           (Rect *                 cellRect,
  378.                                  const Cell *           theCell,
  379.                                  ListHandle             lHandle);
  380. EXTERN_API_C( void )
  381. lsetcell                        (const void *           dataPtr,
  382.                                  short                  dataLen,
  383.                                  const Cell *           theCell,
  384.                                  ListHandle             lHandle);
  385. EXTERN_API_C( void )
  386. lsetselect                      (Boolean                setIt,
  387.                                  const Cell *           theCell,
  388.                                  ListHandle             lHandle);
  389. EXTERN_API_C( void )
  390. ldraw                           (const Cell *           theCell,
  391.                                  ListHandle             lHandle);
  392. EXTERN_API_C( Boolean )
  393. lclick                          (Point *                pt,
  394.                                  short                  modifiers,
  395.                                  ListHandle             lHandle);
  396. EXTERN_API_C( void )
  397. lcellsize                       (Point *                cSize,
  398.                                  ListHandle             lHandle);
  399. #endif  /* CALL_NOT_IN_CARBON */
  400. #if OLDROUTINENAMES
  401. #define LDoDraw(drawIt, lHandle) LSetDrawingMode(drawIt, lHandle)
  402. #define LFind(offset, len, theCell, lHandle) LGetCellDataLocation(offset, len, theCell, lHandle)
  403. #if CGLUESUPPORTED
  404. #define lfind(offset, len, theCell, lHandle) lgetcelldatalocation(offset, len, theCell, lHandle)
  405. #endif
  406. #endif  /* OLDROUTINENAMES */
  407. #if ACCESSOR_CALLS_ARE_FUNCTIONS
  408. /* Getters */
  409. EXTERN_API( Rect *)
  410. GetListViewBounds               (ListRef                list,
  411.                                  Rect *                 view);
  412. EXTERN_API( CGrafPtr )
  413. GetListPort                     (ListRef                list);
  414. EXTERN_API( Point *)
  415. GetListCellIndent               (ListRef                list,
  416.                                  Point *                indent);
  417. EXTERN_API( Point *)
  418. GetListCellSize                 (ListRef                list,
  419.                                  Point *                size);
  420. EXTERN_API( ListBounds *)
  421. GetListVisibleCells             (ListRef                list,
  422.                                  ListBounds *           visible);
  423. EXTERN_API( ControlHandle )
  424. GetListVerticalScrollBar        (ListRef                list);
  425. EXTERN_API( ControlHandle )
  426. GetListHorizontalScrollBar      (ListRef                list);
  427. EXTERN_API( Boolean )
  428. GetListActive                   (ListRef                list);
  429. EXTERN_API( SInt32 )
  430. GetListClickTime                (ListRef                list);
  431. EXTERN_API( Point *)
  432. GetListClickLocation            (ListRef                list,
  433.                                  Point *                click);
  434. EXTERN_API( Point *)
  435. GetListMouseLocation            (ListRef                list,
  436.                                  Point *                mouse);
  437. EXTERN_API( ListClickLoopUPP )
  438. GetListClickLoop                (ListRef                list);
  439. EXTERN_API( SInt32 )
  440. GetListRefCon                   (ListRef                list);
  441. EXTERN_API( Handle )
  442. GetListDefinition               (ListRef                list);
  443. EXTERN_API( Handle )
  444. GetListUserHandle               (ListRef                list);
  445. EXTERN_API( ListBounds *)
  446. GetListDataBounds               (ListRef                list,
  447.                                  ListBounds *           bounds);
  448. EXTERN_API( DataHandle )
  449. GetListDataHandle               (ListRef                list);
  450. EXTERN_API( OptionBits )
  451. GetListFlags                    (ListRef                list);
  452. EXTERN_API( OptionBits )
  453. GetListSelectionFlags           (ListRef                list);
  454. /* Setters */
  455. EXTERN_API( void )
  456. SetListViewBounds               (ListRef                list,
  457.                                  const Rect *           view);
  458. EXTERN_API( void )
  459. SetListPort                     (ListRef                list,
  460.                                  CGrafPtr               port);
  461. EXTERN_API( void )
  462. SetListCellIndent               (ListRef                list,
  463.                                  Point *                indent);
  464. EXTERN_API( void )
  465. SetListClickTime                (ListRef                list,
  466.                                  SInt32                 time);
  467. EXTERN_API( void )
  468. SetListClickLoop                (ListRef                list,
  469.                                  ListClickLoopUPP       clickLoop);
  470. EXTERN_API( void )
  471. SetListLastClick                (ListRef                list,
  472.                                  Cell *                 lastClick);
  473. EXTERN_API( void )
  474. SetListRefCon                   (ListRef                list,
  475.                                  SInt32                 refCon);
  476. EXTERN_API( void )
  477. SetListUserHandle               (ListRef                list,
  478.                                  Handle                 userHandle);
  479. EXTERN_API( void )
  480. SetListFlags                    (ListRef                list,
  481.                                  OptionBits             listFlags);
  482. EXTERN_API( void )
  483. SetListSelectionFlags           (ListRef                list,
  484.                                  OptionBits             selectionFlags);
  485. /* WARNING: These may go away in a future build.  Beware! */
  486. #if CALL_NOT_IN_CARBON
  487. EXTERN_API( void )
  488. SetListDefinition               (ListRef                list,
  489.                                  Handle                 listDefProc);
  490. EXTERN_API( void )
  491. SetListCellSize                 (ListRef                list,
  492.                                  Point *                size);
  493. EXTERN_API( void )
  494. SetListHorizontalScrollBar      (ListRef                list,
  495.                                  ControlHandle          hScroll);
  496. EXTERN_API( void )
  497. SetListVerticalScrollBar        (ListRef                list,
  498.                                  ControlHandle          vScroll);
  499. EXTERN_API( void )
  500. SetListVisibleCells             (ListRef                list,
  501.                                  ListBounds *           visible);
  502. #endif  /* CALL_NOT_IN_CARBON */
  503. #endif  /* ACCESSOR_CALLS_ARE_FUNCTIONS */
  504. #if PRAGMA_STRUCT_ALIGN
  505.     #pragma options align=reset
  506. #elif PRAGMA_STRUCT_PACKPUSH
  507.     #pragma pack(pop)
  508. #elif PRAGMA_STRUCT_PACK
  509.     #pragma pack()
  510. #endif
  511. #ifdef PRAGMA_IMPORT_OFF
  512. #pragma import off
  513. #elif PRAGMA_IMPORT
  514. #pragma import reset
  515. #endif
  516. #ifdef __cplusplus
  517. }
  518. #endif
  519. #endif /* __LISTS__ */