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

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: MS_LIB.H $             
  6.  *
  7.  * Description:
  8.  * ============
  9.  * menu library definitions
  10.  * 
  11.  * Log:
  12.  * ====
  13.  * $Revision: 37 $
  14.  * Last Modified by $Author: Angieh $ at $Modtime: 04-03-31 20:25 $ 
  15.  ****************************************************************************************
  16.  * Updates:
  17.  ****************************************************************************************
  18.  * $Log: /I76/I76_Common/I76_Reference/UI/Menu_sys/MS_LIB.H $
  19.  * 
  20.  * 37    04-03-31 20:25 Angieh
  21.  * Add support for page search menu.
  22.  * 
  23.  * 36    3/01/04 6:29p Lotan
  24.  * merge with Divx certification DB
  25.  * 
  26.  * 35    04-02-19 17:58 Jerryc
  27.  * add sacd code
  28.  * 
  29.  * 34    14/01/04 9:08 Lotan
  30.  * Update Divx auxiliary subtitles.
  31.  * 
  32.  * 33    12/31/03 4:33p Leslie
  33.  * Add AVI_DISPLAY_MENU_ID
  34.  * 
  35.  * 32    12/23/03 1:01p Leonh
  36.  * Angieh:Support for the hidden group search.
  37.  * 
  38.  * 31    9/29/03 12:04p Chaol
  39.  * remove BASS_MANAGEMENT_MENU_ID
  40.  * 
  41.  * 30    03-08-13 10:31 Hannahh
  42.  * 
  43.  * 29    03-07-23 15:43 Frankm
  44.  * 
  45.  * 28    03-07-17 11:01 Leonm
  46.  * 
  47.  * 27    03-07-16 10:50 Frankm
  48.  * Add AUDIO_ENHANCEMENT_PROLOGIC1_MENU_ID.
  49.  * 
  50.  * 26    03-07-09 15:53 Leonm
  51.  * New Pro Logic II setup menu
  52.  * 
  53.  * 25    3/27/03 4:00p Clifflv
  54.  * Add menu ID receiver used
  55.  * 
  56.  * 24    03-03-11 14:22 Billt
  57.  * 
  58.  * 23    03-02-10 11:45 Royz
  59.  * 
  60.  * 22    03-01-27 20:12 Rogerl
  61.  * Change line height for font Arail Narrow
  62.  * 
  63.  * 21    1/28/03 3:15a Adamw
  64.  * 
  65.  * 20    03-01-23 18:36 Rogerl
  66.  * Add stop menu id
  67.  * 
  68.  * 19    03-01-22 13:18 Janeg
  69.  * Add hidden menu.
  70.  * 
  71.  * 18    03-01-14 17:10 Janeg
  72.  * Add prologic2 setup menu.
  73.  * 
  74.  * 17    03-01-09 19:09 Royz
  75.  * 
  76.  * 16    03-01-09 4:43 Leslie
  77.  * Unicode support
  78.  * 
  79.  * 15    10/30/02 18:03 Rond
  80.  * 
  81.  * 12    30/05/02 16:29 Nirm
  82.  * - Changed teh value of INVALID_TIME.
  83.  * 
  84.  * 11    23/04/02 9:39 Nirm
  85.  * - Added dependency in "Config.h".
  86.  * 
  87.  * 10    3/27/02 13:18 Ettim
  88.  * Replaced D_PICTURE_CD_ENABLED with CLIPS_JPEG_SUPPORT
  89.  * 
  90.  * 9     3/05/02 11:25 Rinata
  91.  * fix num_to_str to support high num of digits
  92.  * 
  93.  * 8     3/01/02 4:21a Dingming
  94.  * rename the macro for PCD
  95.  * 
  96.  * 7     18/02/02 16:41 Nirm
  97.  * Added MS_LINEs.
  98.  * 
  99.  * 6     13/01/02 16:38 Atai
  100.  * Remove old Defines
  101.  * 
  102.  * 5     9/01/02 14:28 Nirm
  103.  * Corrected Include-Paths.
  104.  * 
  105.  * 4     8/01/02 16:25 Nirm
  106.  * Corrected Include-Paths.
  107.  * 
  108.  * 3     30/12/01 10:02 Atai
  109.  * Add function prototypes
  110.  * 
  111.  * 2     25/12/01 10:50 Atai
  112.  * Code cleaning
  113.  * 
  114.  * 
  115.  **************************************************************************************** */
  116. #include "Config.h" // Global Configuration - do not remove!
  117. #ifndef MS_LIB_H
  118. #define MS_LIB_H
  119. #include "Includesysdefs.h"
  120. #include "UIMenu_SysMS_WDGT.h"
  121. #define INVALID_MENU_ID 0xffff
  122. #define RUN_TIME_MENU_ID 0
  123. #define SETUP_MENU_ID 1
  124. #define DVD_DISPLAY_MENU_ID 3
  125. #define KARAOKE_MENU_ID 4
  126. #define VCD_DISPLAY_MENU_ID 5
  127. #ifdef D_NO_VID_ENHANCE_MENU
  128. #else
  129. #define VID_ENHANCE_MENU_ID 6
  130. #endif // D_NO_VID_ENHANCE_MENU
  131. #ifdef D_NO_LR_MENU
  132. #else
  133. #define LR_MENU_ID 7
  134. #endif // D_NO_LR_MENU
  135. #ifdef D_NO_AUDIO_RUN_TIME_MENU
  136. #else
  137. #define AUDIO_RUN_TIME_MENU_ID 8
  138. #endif // D_NO_AUDIO_RUN_TIME_MENU
  139. #define MODE_MENU_ID 9
  140. #define MODE_RUN_TIME_MENU_ID 10
  141. #ifdef D_NO_TIME_MENU
  142. #else
  143. #define TIME_MENU_ID 11
  144. #endif // D_NO_TIME_MENU
  145. #ifdef D_NO_PASSWORD_MENU
  146. #else
  147. #define PASSWORD_MENU_ID 12
  148. #endif // D_NO_TIME_MENU
  149. #define BOOKMARK_MENU_ID 13
  150. #define CLIPS_MENU_ID    14
  151. #ifdef D_NO_KARAOKE_RECORDING_MENU
  152. #else
  153. #define KARAOKE_RECORDING_MENU_ID 15
  154. #endif // D_NO_KARAOKE_RECORDING_MENU
  155. #ifdef D_SPECTRUM_ANALYZER_MENU
  156. #define SPECTRUM_ANALYZER_MENU_ID 16
  157. #endif // D_SPECTRUM_ANALYZER_MENU
  158.        
  159. //#ifdef D_GRAPHIC_EQUALIZER_MENU
  160. #define GRAPHIC_EQUALIZER_MENU_ID 17
  161. //#endif // D_GRAPHIC_EQUALIZER_MENU
  162. #ifdef D_NO_CD_UPDATE_MENU // Ban
  163. #else //
  164. #define FUPGRADE_MENU_ID    18 //
  165. #endif // D_NO_CD_UPDATE_MENU //
  166. #ifdef D_DIAGNOSTIC_MENU
  167. #define DECDBG_MENU_ID 19
  168. #endif
  169. #ifdef D_PLAYER_MENU_LANGUAGE_MENU
  170. #define PLAYER_MENU_LANGUAGE_MENU_ID 20
  171. #endif
  172. #ifdef D_DISC_MENU_LANGUAGE_MENU
  173. #define DISC_MENU_LANGUAGE_MENU_ID 21
  174. #endif
  175. #ifdef D_DISPLAY_OPTIONS_MENU
  176. #define DISPLAY_OPTIONS_MENU_ID 22
  177. #endif
  178. #ifdef D_AUDIO_LANGUAGE_MENU
  179. #define AUDIO_LANGUAGE_MENU_ID 23
  180. #endif
  181. #define REGISTERS_MENU_ID 24
  182. //  Hook Zoom Menu
  183. #ifdef D_ZOOM_MENU
  184. #define ZOOM_MENU_ID 25
  185. #endif
  186. // Hook Display 1 Menu
  187. #ifdef D_DISPLAY_1_MENU
  188. #define DISPLAY_1_MENU_ID 26
  189. #endif
  190. // Hook Display 2 Menu
  191. #ifdef D_DISPLAY_2_MENU
  192. #define DISPLAY_2_MENU_ID 27
  193. #endif
  194. //  Hook 3D Sound Menu
  195. #ifdef D_3D_SOUND_MENU
  196. #define TDS_MENU_ID 28
  197. #endif
  198. // Hook 3D Sound Menu
  199. #ifdef D_ANGLE_MENU
  200. #define ANGLE_MENU_ID 29
  201. #endif
  202. //  Hook Others Language Menu
  203. #ifdef D_OTHERS_LANGUAGE_MENU
  204. #define OTHERS_LANGUAGE_MENU_ID 30
  205. #endif
  206. // Hook Volume Control Menu
  207. #ifdef D_VOLUME_CONTROL_MENU
  208. #define VOLUME_CONTROL_MENU_ID 31
  209. #endif
  210. //  Hook Parental Control Menu
  211. #ifdef D_PARENTAL_CONTROL_MENU
  212. #define PARENTAL_CONTROL_MENU_ID 32
  213. #endif
  214. // Hook Rating Level Menu
  215. #ifdef D_RATING_LEVEL_MENU
  216. #define RATING_LEVEL_MENU_ID 33
  217. #endif
  218. //  Hook TV Aspect Menu
  219. #ifdef D_TV_ASPECT_MENU
  220. #define TV_ASPECT_MENU_ID 34
  221. #endif
  222. // Hook TV Aspect Menu
  223. #ifdef D_SUBTITLE_LANGUAGE_MENU
  224. #define SUBTITLE_LANGUAGE_MENU_ID 35
  225. #endif
  226. // Added Audio Language Menu
  227. #ifdef D_AUDIO_LANGUAGE_SETUP_MENU
  228. #define AUDIO_LANGUAGE_SETUP_MENU_ID 36
  229. #endif
  230. #ifdef D_SUBTITLE_LANGUAGE_SETUP_MENU
  231. #define SUBTITLE_LANGUAGE_SETUP_MENU_ID 37
  232. #endif
  233. // Added Create Password Menu
  234. #ifdef D_CREATE_PASSWORD_MENU
  235. #define CREATE_PASSWORD_MENU_ID 38
  236. #endif
  237. //  Use separate menu ID for Change Password
  238. #ifdef D_CREATE_PASSWORD_MENU
  239. #define CHANGE_PASSWORD_MENU_ID 39
  240. #endif
  241. //  Hook RF Registers Test Submenu
  242. #define RF_REGISTERS_MENU_ID 40
  243. #define FOCUSNORM_REGISTERS_MENU_ID 41
  244. #define FOCUSDOWN_REGISTERS_MENU_ID 42
  245. #define ACTION_TEST_MENU_ID 43
  246. #define TRACKINGNORM_REGISTERS_MENU_ID 44
  247. #define TRACKINGUP_REGISTERS_MENU_ID 45
  248. #define SLEDSPINDLE_REGISTERS_MENU_ID 46
  249. #define LAYERJMP0_REGISTERS_MENU_ID 47
  250. #define LAYERJMP1_REGISTERS_MENU_ID 48
  251. #define ADJUSTVALUE_REGISTERS_MENU_ID 49
  252. // Added Audio Options Menu and Repeat Menu
  253. #ifdef D_AUDIO_OPTIONS_MENU
  254. #define AUDIO_OPTIONS_MENU_ID 50
  255. #endif // D_AUDIO_OPTIONS_MENU
  256. #ifdef D_REPEAT_MENU
  257. #define REPEAT_MENU_ID 51
  258. #endif // D_REPEAT_MENU
  259. //  Added Program Menu
  260. #ifdef D_PROGRAM_MENU
  261. #define PROGRAM_MENU_ID 52
  262. #endif // D_PROGRAM_MENU
  263. // Added Servo Test Menu
  264. #ifdef D_SERVO_TEST_MENU
  265. #define SERVO_TEST_MENU_ID 53
  266. #endif // D_SERVO_TEST_MENU
  267. //  Added UI Test Menu
  268. #ifdef D_UI_TEST_MENU
  269. #define UI_TEST_MENU_ID 54
  270. #endif // D_UI_TEST_MENU
  271. // Add other Zoran China menu id's
  272. #define TRICK_MENU_ID 55
  273. #define PROGRAM_MODE_MENU_ID 56
  274. #define TRACK_SEARCH_MENU_ID 57
  275. #define DISC_SEARCH_MENU_ID 58
  276. #define DIGEST_MENU_ID 59
  277. //Add Digest Type menu
  278. #define DIGEST_TYPE_MENU_ID 60
  279. #define PICTURE_CD_MENU_ID    61
  280. // Merge display menus
  281. #ifdef D_MERGED_DISPLAY_MENU
  282. #define MERGED_DISPLAY_MENU_ID    62
  283. #endif // D_MERGED_DISPLAY_MENU
  284. #ifdef CLIPS_WMA_SUPPORT
  285. #define WMA_MENU_ID 63 //CLIPS_WMA_SUPPORT
  286. #endif
  287. #ifdef MULTI_FILE_PLAYBACK_SUPPORT
  288. #define MULTI_FILE_TYPE_MENU_ID 64
  289. #endif
  290. #ifdef DISPLAY_CLIPS_NUM_DURING_LOADING
  291. #define READ_STATE_MENU_ID 65
  292. #endif
  293. #define CLIPS_DIRECTORY_MENU_ID 66
  294. #define RESUME_CONFIRM_MENU_ID 67
  295. #define CAPTURE_LOGO_MENU_ID 68
  296. #define DISC_SEARCH2_MENU_ID 69
  297. #ifdef D_NO_PROLOGIC2_SETUP_MENU
  298. #else
  299. #define PROLOGIC2_SETUP_MENU_ID 70
  300. #endif
  301. #ifdef D_ENABLE_HIDDEN_MENU
  302. #define HIDDEN_MENU_ID 71
  303. #endif
  304. #ifdef D_ENABLE_STOP_MENU
  305. #define STOP_MENU_ID 72
  306. #endif
  307. #define ALL_VOLUME_MENU_ID 73
  308. #define LR_VOLUME_MENU_ID 74
  309. #define LR_SUR_VOLUME_MENU_ID 75
  310. #define CENTER_SW_VOLUME_MENU_ID 76
  311. #define BASE_SET_MENU_ID 77
  312. #define SOUND_EFFECT_MENU_ID 78
  313. #define DRC_SPEED_MENU_ID 79
  314. #define DRC_RANGE_MENU_ID 80
  315. #define DRC_SET_MENU_ID 81
  316. #ifdef D_NO_PROLOGIC2_SETUP_MENU
  317. #else
  318. #define AUDIO_ENHANCEMENT_MENU_ID      82
  319. #define RESTRICTED_ENHANCEMENT_MENU_ID 83
  320. #define AUDIO_ENHANCEMENT_PROLOGIC1_MENU_ID 84
  321. #endif
  322. #define AVI_DISPLAY_MENU_ID 85
  323. // auxiliary subtitles display
  324. #define AUX_SUBTITLES_MENU_ID 86
  325. #ifdef AVI_DRM_SUPPORT
  326. #define DIVX_AUTHORIZATION_ERROR_MSG_MENU_ID 87
  327. #define DIVX_RENTAL_EXPIRED_MSG_MENU_ID 88
  328. #define DIVX_RENTAL_CONFIRM_MENU_ID 89
  329. #endif //AVI_DRM_SUPPORT
  330. #if D_SUPPORT_SACD
  331. #define SACD_MENU_ID                    90
  332. #endif
  333. #if defined(DVD_AUDIO_SUPPORT) && defined(DVD_AUDIO_PAGE_SEARCH)
  334. #define PAGE_SEARCH_MENU_ID 91
  335. #endif
  336. #define DISPLAY_VERSION_MENU_ID 92
  337. #define PSCAN_WARNING_MENU_ID             93
  338. #ifdef D_LANGUAGE_OTHERS
  339. #define SUBTITLE_OTHERS_MENU_ID 94
  340. #define AUDIO_OTHERS_MENU_ID 95
  341. #define MENU_OTHERS_MENU_ID 96
  342. #endif
  343. #ifdef D_TEST
  344. #define VFD_TEST_MENU 97
  345. #endif
  346. #if defined(USE_JOG) && defined(D_SHOW_VOLUME_MENU)
  347. #define AUDIO_SINGLE_MENU_ID  98
  348. #endif
  349. #ifdef D_CD_GRAPHIC_ENABLED
  350. #define CD_GRAPHIC_MENU_ID 99
  351. #endif
  352. #ifdef GAME_SUPPORT
  353. #define GAME_MENU_ID 100
  354. #endif
  355. // <<< Robin_0903_2004
  356. #ifdef D_DIVX_EXTERNAL_SUBTITLE_SELECTION
  357. #define DIVX_EXTERNAL_SUBTITLE_SELECTION_MENU_ID 101
  358. #endif
  359. #ifdef D_KEYSHIFT_SINGLE_KEY
  360. #define KEY_SHIFT_MENU_ID 102
  361. #endif
  362. #define AUX_OSD_MENU_ID 103
  363. #ifdef D_YOUR_DVD_SUPPORT
  364. #define YOUR_DVD_MENU_ID 104
  365. #endif
  366. // >>> Robin_0903_2004
  367. //  Fix values for line doubling
  368. #define MS_W_ORIGIN_X    0
  369. #define MS_W_ORIGIN_Y    60
  370. // Screen position definitions (in the display domain)
  371. #ifdef D_LINE_DOUBLING
  372.   #define MS_MAX_LINES_BIGMM    480
  373.   #define MS_MAX_LINES_SMALLMM    288
  374.   // Changed from 32 to eliminate inter-line gap
  375.   #define MS_LINE_HEIGHT    30
  376.   #define MS_PIX_RES   X_1PIX_Y_2PIX
  377. #else // D_LINE_DOUBLING
  378. //Add 2 DRAM definitions
  379. //#ifdef TWO_DRAM
  380.   #define MS_MAX_LINES_BIGMM    480
  381.   #define MS_MAX_LINES_SMALLMM 480
  382. //#else
  383. //  #define MS_MAX_LINES_BIGMM 288
  384. //  #define MS_MAX_LINES_SMALLMM 144
  385. //#endif // TWO_DRAM
  386. // ZORAN CDE110901 >>>
  387. #ifdef FONT_ARIAL_NARROW_18
  388.   #define MS_LINE_HEIGHT                32
  389. #else
  390. #ifdef USE_FONT24x32  //enlarge line height to show large font, Roger 0205
  391.   #define MS_LINE_HEIGHT                36
  392. #else
  393.   #define MS_LINE_HEIGHT 30
  394. #endif // USE_FONT24x32
  395. #endif
  396.   #define MS_PIX_RES X_1PIX_Y_1PIX
  397. #endif // D_LINE_DOUBLING
  398. #define MS_NBRLINES_BIGMM   ( (MS_MAX_LINES_BIGMM / MS_LINE_HEIGHT) * MS_LINE_HEIGHT )
  399. #define MS_NBRLINES_SMALLMM   ( (MS_MAX_LINES_SMALLMM / MS_LINE_HEIGHT) * MS_LINE_HEIGHT )
  400. #define MS_LINE_0 0
  401. #define MS_LINE_1 MS_LINE_HEIGHT
  402. #define MS_LINE_2 (MS_LINE_HEIGHT * 2)
  403. #define MS_LINE_3 (MS_LINE_HEIGHT * 3)
  404. #define MS_LINE_4 (MS_LINE_HEIGHT * 4)
  405. #define MS_LINE_5 (MS_LINE_HEIGHT * 5)
  406. #define MS_LINE_6 (MS_LINE_HEIGHT * 6)
  407. #define MS_LINE_7 (MS_LINE_HEIGHT * 7)
  408. #define MS_LINE_8 (MS_LINE_HEIGHT * 8)
  409. #define MS_LINE_9 (MS_LINE_HEIGHT * 9)
  410. #define MS_LINE_10 (MS_LINE_HEIGHT * 10)
  411. #define MS_LINE_11 (MS_LINE_HEIGHT * 11)
  412. #define MS_LINE_12 (MS_LINE_HEIGHT * 12)
  413. #define MS_LINE(_lineNum_) (MS_LINE_HEIGHT * (_lineNum_))
  414. // Standard screen location 
  415. // Menu-specific values may be used instead
  416. #define MS_SCREEN_X 64
  417. #define MS_SCREEN_Y 60
  418. #define MS_SCREEN_HEIGHT 360
  419. #define MS_SLIDER_HEIGHT 28
  420. #ifdef D_COLOR_STRUCT
  421. #define I_COLOR   {2, 1, 6, 6}
  422. #define DIALOG_COLOR   {2, 3, 0, 0}
  423. #define SCREEN_COLOR   {2, 1, 0, 0}
  424. #define BAR_COLOR   {2, 4, 5, 5}
  425. #else
  426. #define I_COLOR 0x2166
  427. #define DIALOG_COLOR 0x2300
  428. #define SCREEN_COLOR 0x2100
  429. #define BAR_COLOR 0x2455
  430. #define SETUP_SCREEN_COLOR 0x2f00
  431. #endif // D_COLOR_STRUCT
  432. #define BUTTON_COLOR BAR_COLOR
  433. #define STAT_COLOR   SCREEN_COLOR
  434. extern CONST MS_COLOR i_color;
  435. extern CONST MS_COLOR dialog_color;
  436. extern CONST MS_COLOR screen_color;
  437. #define GROUP_COLOR 0x2366
  438. extern CONST MS_COLOR group_color;
  439. extern CONST MS_POS MS_toggle_pos;
  440. #define SAFELY_DELETE(_msWidget_)
  441.   if ( _msWidget_ )
  442.   {
  443. MS_delete((MS_WIDGET *) _msWidget_);
  444. _msWidget_ = NULL;
  445.   }
  446. #define SAFELY_DELETE_PTR(_ptr_)
  447.   if ( _ptr_ )
  448.   {
  449. free(_ptr_);
  450. (_ptr_) = NULL;
  451.   }
  452. #define num_to_ch(digit) ('0' + digit)
  453. #define SET_SELECTABLE(_complexWidget_)   (_complexWidget_)->widget.attr |= MS_SELECTABLE
  454. #define SET_NONSELECTABLE(_complexWidget_)   (_complexWidget_)->widget.attr &= ~MS_SELECTABLE
  455. int num_to_str(UINT32 num, wchar_t *str, int iNumDigits);
  456. #ifdef D_MS_EXTENSIONS
  457. void num_to_hex_str(int num, wchar_t *str, int iNumDigits);
  458. #endif // D_MS_EXTENSIONS
  459. #define ITEMNUM_KAR_OFF   0
  460. #define ITEMNUM_KAR_ON   1
  461. extern BOOL g_ms_bMustClose;
  462. extern void (*g_ms_deferred_action)(void);
  463. extern WORD g_ui_active_menu_id;
  464. extern WORD g_ui_default_menu_id;
  465. //#ifdef D_USE_RETURN_IN_MENUS
  466. extern WORD g_ui_next_menu_id;
  467. //#endif // D_USE_RETURN_IN_MENUS
  468. #ifdef D_MS_EXTENSIONS
  469. extern WORD g_ui_stopPending_menu_id;
  470. extern UINT g_ui_stopPending_cnt;
  471. #endif // D_MS_EXTENSIONS
  472. extern BOOL g_ms_bMustUseBigMemMap;
  473. //#define USE_BIGMEMMAP_WHEN_REQUIRED   ( g_ui_default_menu_id != RUN_TIME_MENU_ID )
  474. #define USE_BIGMEMMAP_WHEN_REQUIRED   ( g_ms_bMustUseBigMemMap )
  475. extern BYTE g_ui_bModePending;
  476. #ifdef D_NO_BOOKMARK_MENU
  477. #else
  478. extern unsigned char g_ui_ucBookmarkPending;
  479. unsigned char bm_check_bookmark_time(void);
  480. #endif // D_NO_BOOKMARK_MENU
  481. #ifdef D_SUBTITLE_LANGUAGE_MENU
  482. extern BOOL g_ui_bSubtitlePending;
  483. BOOL slm_refresh_subtitle(void);// BOOL slm_check_subtitle(void);
  484. #endif // D_SUBTITLE_LANGUAGE_MENU
  485. #ifdef D_DISPLAY_2_MENU
  486. BOOL d2m_refresh_subtitle(void); // BOOL d2m_check_subtitle(void);
  487. #endif // D_DISPLAY_2_MENU
  488. #ifdef D_AUDIO_LANGUAGE_MENU
  489. extern BOOL g_ui_bAudioPending;
  490. BOOL alm_refresh_audio(void); // BOOL alm_check_audio(void);
  491. #endif // D_AUDIO_LANGUAGE_MENU
  492. #ifdef D_DISPLAY_2_MENU
  493. BOOL d2m_refresh_audio(void); // BOOL d2m_check_audio(void);
  494. #endif // D_DISPLAY_2_MENU
  495. #ifdef D_DISPLAY_1_MENU
  496. extern BOOL g_ui_bTimePending;
  497. BOOL d1m_refresh_time(void); // BOOL d1m_check_time(void);
  498. #endif // D_DISPLAY_1_MENU
  499. int CalcKeyShift( int iHwValue );
  500. int CalcEcho( int iHwValue );
  501. void on_key_shift_change(unsigned char cur);
  502. void on_echo_change(unsigned char cur);
  503. #define B_OSD_ENABLED TRUE
  504. void ui_enable_OSD( BOOL bEnabled );
  505. void ui_get_OSD_enabled( BOOL *pbEnabled );
  506. BOOL isDigit( wchar_t ch );
  507. BOOL isHexDigit( wchar_t ch );
  508. wchar_t hex_char_to_num( wchar_t ch );
  509. #define char_to_num(_c_) ( (_c_) - '0' )
  510. #define INVALID_TIME  ((WORD) -2000)
  511. #ifdef D_ONE_HOUR_DIGIT
  512. #define EMPTY_TIME   L"-:--:--"
  513. #else
  514. #define EMPTY_TIME   L"--:--:--"
  515. #endif // D_ONE_HOUR_DIGIT
  516. #define EMPTY_CD_TIME L"--:--"
  517. #ifdef D_USE_RETURN_IN_MENUS
  518. typedef struct menu_info
  519. {
  520.   void *m_pMenuInfo;
  521.   WORD m_wMenuID;
  522. } MENU_INFO, *P_MENU_INFO;
  523. extern P_MENU_INFO g_ms_pMenuInfo;
  524. void push_menu( WORD wMenuID );
  525. WORD pop_menu( void );
  526. void flush_menu( void );
  527. void MS_return_to_menu( void );
  528. void MS_goto_next_menu( WORD wMenuID );
  529. void MS_goto_submenu( WORD wMenuID );
  530. #endif // D_USE_RETURN_IN_MENUS
  531. // Override standard user_op
  532. void *MS_override_user_op( MS_WIDGET *pmsw, void *pvNew_user_op );
  533. // ZORAN CDE0228 >>>
  534. void MS_adjust_current_layout(void);
  535. #ifdef D_MS_EXTENSIONS
  536. typedef struct o_nav
  537. {
  538.   MS_UOP m_uop;
  539.   WORD m_wNextItemNum;
  540. } O_NAV, *PO_NAV;
  541. #define MS_CHOICE_ITEMS_PER_COLUMN   6
  542. #endif // D_MS_EXTENSIONS
  543. #ifdef D_DISPLAY_1_MENU
  544. #define SECONDS_PER_MINUTE   (60)
  545. #define SECONDS_PER_HOUR   (60 * SECONDS_PER_MINUTE)
  546. void seconds_to_time_input_str( DWORD dwss, char *sz );
  547. #endif // D_DISPLAY_1_MENU
  548. #ifndef USE_AUX_SUBTITLES
  549. #define MS_STATIC_MAX_LENGTH   80
  550. #else
  551. #define MS_STATIC_MAX_LENGTH   100
  552. #endif
  553. void MS_display_in_container( MS_WIDGET *pmsw );
  554. void MS_adjust_layout(void);
  555. void MS_set_deferred_action( void (*pfnDeferred)(void) );
  556. #define MS_DISPLAY_IN_CONTAINER(_widget_)   MS_display_in_container((MS_WIDGET *) _widget_)
  557. #define MS_CALL_USER_OP(_widget_, _uop_, _focus_)   ((MS_WIDGET *)(_widget_))->user_op( (MS_WIDGET *)(_widget_), (_uop_), (_focus_) )
  558. #endif  // MS_LIB_H