Digest.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:4k
源码类别:

DVD

开发平台:

Others

  1. /* **************************************************************************************
  2.  *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
  3.  *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
  4.  *
  5.  *  File: $Workfile: Digest.h $             
  6.  *  Author: Etti Malka
  7.  *
  8.  * Description:
  9.  * ============
  10.  * Implementation of the digest mechanism.
  11.  * 
  12.  * Log:
  13.  * ====
  14.  * $Revision: 8 $
  15.  * Last Modified by $Author: Johnk $ at $Modtime: 4/01/04 9:55p $ 
  16.  ****************************************************************************************
  17.  * Updates:
  18.  ****************************************************************************************
  19.  * $Log: /I76/I76_Common/I76_Reference/Playcore/Digest/Digest.h $
  20.  * 
  21.  * 8     4/01/04 10:48p Johnk
  22.  * display 6 pcs in thumnails display for S1 spec
  23.  * 
  24.  * 7     03-01-28 2:26 Leslie
  25.  * Support eTrackDiscView
  26.  * 
  27.  * 6     10/30/02 17:48 Rond
  28.  * 
  29.  * 3     11/09/02 15:47 Atai
  30.  * Vaddis 5e production update
  31.  * 
  32.  * 10    18/08/02 14:01 Nirm
  33.  * - Interface changes in order to allow Error-Recovery.
  34.  * 
  35.  * 9     7/08/02 22:50 Nirm
  36.  * - Extended Digest capability to support more than 256 items.
  37.  * 
  38.  * 8     1/08/02 23:37 Nirm
  39.  * - Enhanced Digest to support initial-item selection; the initial item
  40.  * is always presented as the first item on a Page.
  41.  * 
  42.  * 7     23/04/02 9:29 Nirm
  43.  * - Added dependency in "Config.h".
  44.  * 
  45.  * 6     11/04/02 9:34 Ettim
  46.  * Updated version with intro frames count setting on Digest_init.
  47.  * 
  48.  * 5     10/04/02 12:23 Ettim
  49.  * Moved the structure Digest_Unit_TAG into nav_svcd.h
  50.  * 
  51.  * 4     3/31/02 14:43 Ettim
  52.  * Reducing the load from the ADP by approaching it every other tick.
  53.  * Adding the function Digest_setIntroFramesCount.
  54.  * 
  55.  * 3     3/20/02 19:24 Ettim
  56.  * Adding the function Digest_firstItemDisplayed() that returns the
  57.  * indication whether the first item on screen has already been displayed.
  58.  * 
  59.  * 2     3/10/02 17:30 Ettim
  60.  * Added Motion Digest support. 
  61.  * 
  62.  * 
  63.  **************************************************************************************** */
  64. #include "Config.h" // Global Configuration - do not remove!
  65. #ifndef __DIGEST_H_
  66. #define __DIGEST_H_
  67. #include "Includesysdefs.h"
  68. /////////////////////////////////////////////////////////////////////////////
  69. // Constants
  70. #ifdef EXINO2
  71. #define DIGEST_MAX_FRAMES_ON_SCREEN 6
  72. #else
  73. #define DIGEST_MAX_FRAMES_ON_SCREEN 9
  74. #endif
  75. typedef enum { eTrackView, eDiscView, eTrackDiscView } enDigestMode;
  76. //callback function definition 
  77. typedef enum { 
  78. eDigestQuery_Start, 
  79. eDigestQuery_Stop, 
  80. eDigestQuery_IsFinished 
  81. } enDigestQuery;
  82. typedef BOOL (*CallbackFuncPtr)(UINT16, enDigestQuery);
  83. //valid operations in the navigator while digest screen is displayed
  84. typedef enum {
  85. eDIGEST_OP_NONE = 0x00,
  86. eDIGEST_OP_NEXT = 0x01,
  87. eDIGEST_OP_PREV = 0x02
  88. } enDIGEST_VALID_OP;
  89. /////////////////////////////////////////////////////////////////////////////
  90. // Digest Interface
  91. BOOL Digest_init(CallbackFuncPtr pfCallback, UINT16 i_uDigestUnitsCnt, 
  92.  enDigestMode i_eDigestMode, UINT8 i_uIntroFramesCount); 
  93. void  Digest_terminate(void);
  94. void  Digest_start(UINT16 i_uInitialItem);
  95. void  Digest_next(void);
  96. void  Digest_prev(void);
  97. UINT16 Digest_getCurrentDisplayed(void);
  98. enDigestMode  Digest_getDigestMode(void);
  99. BOOL  Digest_setFocus(UINT16 i_uItem);
  100. void  Digest_onItemLostFocus(void);
  101. void  Digest_getVisibleRange(UINT16 *o_pFirstItem, UINT16 *o_pLastItem);
  102. enDIGEST_VALID_OP Digest_getValidOp(void);
  103. BOOL  Digest_firstItemDisplayed(void);
  104. BOOL Digest_IsFirstDigestWindow(void);
  105. #endif //__DIGEST_H_