⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decdbg_m.c

📁 Zoran VP2K731 DVD源代码,极具参考价值!
💻 C
字号:
/***********************************************************************/
/* File:															   */
/*	  Copyright (c) 2000 ZORAN Corporation, All Rights Reserved		   */
/*	  THIS IS PROPRIETARY SOURCE CODE OF ZORAN CORPORATION             */
/*																	   */
/* ===========                                                         */
/* Descripton:                                                         */
/* ===========                                                         */
/*                                                                     */
/* Log:                                                                */
/* ===                                                                 */
/* $Name: V_1_16 V_1_15 V_1_14 V_1_13 V_1_12 NV_1_00 V_1_11 $                                                            
/* $Header: v:/dsg/rcs/dsg/vp2k/Customer/menu/zoran/decdbg_m.c 1.3 2001/06/06 06:15:07 dingming Exp $                                                          
/* $Log: decdbg_m.c $										                       
/* Revision 1.3  2001/06/06 06:15:07  dingming										                       
/* font 32X24 complile										                       
/* Revision 1.2  2000/12/20 03:31:03  charlie										                       
/* Added comment to ending #endif										                       
/* Revision 1.1  2000/12/14 22:00:41  tia										                       
/* Initial revision										                       
/***********************************************************************/

#ifdef D_DIAGNOSTIC_MENU

#include <stdio.h>
#include <string.h>
#include "sysdefs.h"
#include "..\..\..\ui\menu_sys\ms_wdgt.h"
#include "..\..\..\ui\menu_sys\ms_lib.h"
#include "..\..\..\ui\menu_sys\osd_drv.h"
#include "..\..\..\decoder\osdrendr.h"
#include "..\..\..\decoder\osdlayou.h"
#ifdef FONT32X24   //DM0605
#include "..\..\..\customer\dragon\strings\strings.h"
#else
#include "..\..\..\ui\strings\strings.h"
#endif
#include "menu_var.h"
#include "..\..\..\playcore\ps\ps.h"
#include "..\..\..\playcore\coremain\coregdef.h"
#include "..\..\..\kernel\eventdef.h"
#include "..\..\..\playcore\scpad\scmgr.h"
#include "../../../kernel/ker_api.h"

// REMINDER This is not needed if we don't use oHWLimit
#include "..\..\..\Decoder\decoder.h"

#define BUTTON_COLOR	I_COLOR
#define OPTION_HEIGHT	MS_LINE_HEIGHT	  

/*unsigned short g_decdbg_info1 = 0;
unsigned short g_decdbg_info2 = 0;
unsigned short g_decdbg_info3 = 0;
unsigned short g_decdbg_info4 = 0;
unsigned short g_decdbg_info5 = 0;
unsigned short g_decdbg_info6 = 0;
unsigned short g_decdbg_info7 = 0;
unsigned short g_decdbg_info8 = 0;
*/
unsigned short g_decdbg_info[8];

/*static char decdbg_info1_str[6] = "---- ";
static char decdbg_info2_str[6] = "---- ";
static char decdbg_info3_str[6] = "---- ";
static char decdbg_info4_str[6] = "---- ";
static char decdbg_info5_str[6] = "---- ";
static char decdbg_info6_str[6] = "---- ";
static char decdbg_info7_str[6] = "---- ";
static char decdbg_info8_str[6] = "---- ";
*/

#define USE_UNION
#ifdef USE_UNION
#define MEMBER(_member_)	gu_ms.m_decdbgm._member_
#else
static char decdbg_str1[25] = {0};
static char decdbg_str2[25] = {0};
#endif

static void decdbg_cancel_action(void);
//static void refresh_decdbg_str(MS_STATIC *ms_info, unsigned short value);

// Static text positions
// Widget positions
static const MS_POS	  screen_pos = {104, MS_LINE_2, 496, MS_MAX_LINES_SMALLMM};

/*#define POS1_STAT_LOC		  {0, MS_LINE_1, 200, MS_LINE_HEIGHT}
#define POS2_STAT_LOC		  {90, MS_LINE_1, 200, MS_LINE_HEIGHT}
#define POS3_STAT_LOC		  {180, MS_LINE_1, 200, MS_LINE_HEIGHT}
#define POS4_STAT_LOC		  {270, MS_LINE_1, 200, MS_LINE_HEIGHT}
#define POS5_STAT_LOC		  {0, MS_LINE_2, 200, MS_LINE_HEIGHT}
#define POS6_STAT_LOC		  {90, MS_LINE_2, 200, MS_LINE_HEIGHT}
#define POS7_STAT_LOC		  {180, MS_LINE_2, 200, MS_LINE_HEIGHT}
#define POS8_STAT_LOC		  {270, MS_LINE_2, 200, MS_LINE_HEIGHT}
*/
#define POS1_STAT_LOC		  {0, MS_LINE_1, 200, MS_LINE_HEIGHT}
#define POS2_STAT_LOC		  {0, MS_LINE_2, 200, MS_LINE_HEIGHT}

static const MS_STATIC mss_info1 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS1_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)MEMBER(decdbg_str1)
};

static const MS_STATIC mss_info2 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS2_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)MEMBER(decdbg_str2)
};

/*static const MS_STATIC decdbg_info3 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS3_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)decdbg_info3_str
};

static const MS_STATIC decdbg_info4 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS4_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)decdbg_info4_str
};

static const MS_STATIC decdbg_info5 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS5_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)decdbg_info5_str
};

static const MS_STATIC decdbg_info6 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS6_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)decdbg_info6_str
};

static const MS_STATIC decdbg_info7 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS7_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)decdbg_info7_str
};

static const MS_STATIC decdbg_info8 = {
	{
	MS_ASCII,
	ALIGN_LEFT,
	I_COLOR,
	POS8_STAT_LOC,
	NO_PARENT,
	static_user_op,
	},
	(char *)decdbg_info8_str
};
*/
static const MS_BUTTON cancel_btn = {
	{
	{MS_HOT_SPOT,
	ALIGN_CENTER,
	BUTTON_COLOR,
	{0, MS_LINE_3, 100, OPTION_HEIGHT},
	NO_PARENT,
	button_user_op},
	(void *)S_CANCEL},
	decdbg_cancel_action
};

static void layout (void)
{
	go_CurrentLayout.m_bBigMemMap = USE_BIGMEMMAP_WHEN_REQUIRED;
	go_CurrentLayout.m_cPixRes = 0;
	go_CurrentLayout.m_wOriginX = 0;
	go_CurrentLayout.m_wOriginY = 60;
	go_CurrentLayout.m_wWidth = 720;
	go_CurrentLayout.m_wHeight = 120;
	go_CurrentLayout.m_cNbrHole = 0;
	go_CurrentLayout.m_cInitColor = 0;
	go_CurrentLayout.m_cNbrColor = 16;
	go_CurrentLayout.m_pColorPalette = (OSD_Palette *)MenuBitmapColor;

	OSDSetLayout();
	OSDSetFont(0);

	printf("DECDBG SCREEN LAYOUT\n");
}

void open_decdbg(void)
{
	printf("ENTERING DECDBG MENU\n");
	screen = MS_create_screen((MS_POS *)&screen_pos, screen_color, 0, decdbg_cancel_action, layout);
	if (!screen){
		printf("ERROR creating DECDBG SCREEN!\n");
	}
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&mss_info1,0);
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&mss_info2,0);
/*	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&decdbg_info3,0);
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&decdbg_info4,0);
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&decdbg_info5,0);
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&decdbg_info6,0);
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&decdbg_info7,0);
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&decdbg_info8,0);
*/
	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&cancel_btn,1);
	
	MS_dialog_display((MS_DIALOG*)screen);
}

static void decdbg_cancel_action(void)
{
#ifdef NO_C_STDLIB
  	printf("Cancel Button Pressed\n");
#endif
	g_ms_bMustClose = TRUE;
}

static const char hexlut[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
void num_to_ascii_hex( unsigned short word, char *str)
{
	int i;
	
	for(i=0;i<4;i++){
		str[3-i]= (char) hexlut[word & 0x0F];
		word >>= 4;
	}
	str[4] = ' ';
	str[5] = ' ';
}

/*static void refresh_decdbg_str(MS_STATIC *ms_info, unsigned short value)
{
	num_to_ascii_hex(value, ms_info->text);
	//MS_hide(ms_info,(MS_DIALOG *)screen);
	static_user_op(ms_info, MS_UOP_DISPLAY, 0);
}*/

void refresh_decdbg(void)
{
	int i;

	for (i=0;i<4;i++) {
		num_to_ascii_hex (g_decdbg_info[i], (char *)&MEMBER(decdbg_str1)[i*6]);
		num_to_ascii_hex (g_decdbg_info[i+4], (char *)&MEMBER(decdbg_str2)[i*6]);
	}
	MEMBER(decdbg_str1)[24] = 0;
	MEMBER(decdbg_str2)[24] = 0;
	static_user_op((MS_STATIC *)&mss_info1, MS_UOP_DISPLAY, 0);
	static_user_op((MS_STATIC *)&mss_info2, MS_UOP_DISPLAY, 0);
	
/*	for (i=0;i<8;i++) {			// TEST
		g_decdbg_info[i]++;
	}
*/	
/*	refresh_decdbg_str ((MS_STATIC *)&decdbg_info1, g_decdbg_info1++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info2, g_decdbg_info2++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info3, g_decdbg_info3++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info4, g_decdbg_info4++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info5, g_decdbg_info5++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info6, g_decdbg_info6++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info7, g_decdbg_info7++);
	refresh_decdbg_str ((MS_STATIC *)&decdbg_info8, g_decdbg_info8++);
*/
}

#endif // D_DIAGNOSTIC_MENU

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -