📄 decdbg_m.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 + -