📄 trick_m.c
字号:
/***********************************************************************/
/* File: */
/* Copyright (c) 2000 ZORAN Corporation, All Rights Reserved */
/* THIS IS PROPRIETARY SOURCE CODE OF ZORAN CORPORATION */
/* */
/* =========== */
/* Descripton: */
/* =========== */
/* */
/* Log: */
/* === */
/* $Name: $
/* $Header: v:/dsg/rcs/dsg/vp2k/Customer/MENU/newzoran/trick_m.c 1.2 2001/06/26 09:20:37 dingming Exp $
/* $Log: trick_m.c $
/* Revision 1.2 2001/06/26 09:20:37 dingming
/* Revision 1.3 2001/04/13 07:25:42 fwang
/* Revision 1.2 2001/04/04 02:55:53 fwang
/* Revision 1.1 2001/03/14 04:12:02 cliff
/* Initial revision
/* Revision 1.2 2001/01/05 15:17:29 dingming
/* ini version
/***********************************************************************/
// For now, we disable everything
#ifdef D_TRICK_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"
#include "..\..\..\customer\dragon\strings\strings.h"
#include "menu_var.h"
#include "..\..\..\playcore\ps\ps.h"
#include "..\..\..\playcore\coremain\coregdef.h"
#include "..\..\..\kernel\eventdef.h"
#define LAYOUT_WIDTH 720
// Static text positions
// Widget positions
#define SCREEN_WIDTH 504
static const MS_POS screen_pos = {104, MS_LINE_1, SCREEN_WIDTH, MS_LINE_HEIGHT*3};
#define CHOICE_COLUMN_X 200
#define CHOICE_WIDTH 256
static const MS_POS dont_care_pos = {CHOICE_COLUMN_X+16, MS_LINE_1, 0, 0};
static const MS_POS region_choice_pos = {CHOICE_COLUMN_X+16, MS_LINE_1, CHOICE_WIDTH, MS_LINE_HEIGHT};
static const MS_STATIC mssregion = {
{
0,
ALIGN_LEFT,
I_COLOR,
{16, MS_LINE_1, CHOICE_COLUMN_X, MS_LINE_HEIGHT},
NO_PARENT,
static_user_op,
},
(void *)S_REGION,
};
#define ITEMNUM_TIMES_1 0
static const OSD_MESSAGES region_code_list_c[] = {
S_1,
S_2,
S_3,
S_4,
S_5,
S_6,
S_9
};
static const MS_TEXT_LIST region_code_list = {
7,(int *)region_code_list_c
};
#define TIMES_1 1
void region_code_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iDefault = gps->region_code;
if ( iDefault < 1 )
iDefault = 1;
else
if ( iDefault > 7 )
iDefault = 7;
iChoice = ITEMNUM_TIMES_1 + iDefault - TIMES_1;
msChoice->current_choice = iChoice;
}
static void region_code_action(int num)
{
DWORD d_Cmd;
BYTE region_code = num - ITEMNUM_TIMES_1 + TIMES_1;
#ifdef NO_C_STDLIB
dbouts("\nRegion is ");
dbouti( num );
#endif // NO_C_STDLIB
num = region_code;
if (num == 7)
num =9;
d_Cmd = (((DWORD)PS_UPDATE_REGION_CODE)<<16) + (DWORD) num;
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
}
#ifdef MACROVISION_SELECTION_ENABLE
static const MS_POS macrovision_choice_pos = {CHOICE_COLUMN_X, MS_LINE_2, CHOICE_WIDTH, MS_LINE_HEIGHT};
static const MS_STATIC mssmacrovision = {
{
0,
ALIGN_LEFT,
I_COLOR,
{16, MS_LINE_2, CHOICE_COLUMN_X, MS_LINE_HEIGHT},
NO_PARENT,
static_user_op,
},
(void *)S_MACROVISION,
};
#define ITEMNUM_MACROVISION_OFF 0
#define ITEMNUM_MACROVISION_ON 1
static const OSD_MESSAGES macrovision_list_c[] = {
S_OFF,
S_ON,
};
static const MS_TEXT_LIST macrovision_list = {
2,(int *)macrovision_list_c
};
void macrovision_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iMacrovision_mode = gps->macrovision_mode;
switch (iMacrovision_mode)
{
case MACROVISION_ON:
iChoice = ITEMNUM_MACROVISION_ON;
break;
case MACROVISION_OFF:
iChoice = ITEMNUM_MACROVISION_OFF;
break;
default:
iChoice = ITEMNUM_MACROVISION_ON;
}
msChoice->current_choice = iChoice;
}
static void macrovision_action(int num)
{
DWORD d_Cmd;
const int macrovision_mode[] = {MACROVISION_OFF, MACROVISION_ON};
#ifdef NO_C_STDLIB
dbouts("\nMacrovision mode is ");
dbouti( num );
#endif // NO_C_STDLIB
num = macrovision_mode[num];
d_Cmd = (((DWORD)PS_UPDATE_MACROVISION_MODE)<<16) + (DWORD) num;
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
}
#endif //MACROVISION_SELECTION_ENABLE
static void layout (void)
{
go_CurrentLayout.m_bBigMemMap =FALSE;// USE_BIGMEMMAP_WHEN_REQUIRED;
go_CurrentLayout.m_cPixRes = 0;
go_CurrentLayout.m_wOriginX = 0;
go_CurrentLayout.m_wOriginY = MS_LINE_1;
go_CurrentLayout.m_wWidth = LAYOUT_WIDTH;
go_CurrentLayout.m_wHeight = MS_LINE_3;
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);
#ifdef NO_C_STDLIB
dbouts("\nKARAOKE RECORDING LAYOUT");
#endif
}
static void on_region_close(void)
{
#ifdef NO_C_STDLIB
rtouts("Region screen closed\n");
#endif
SAFELY_DELETE(choice1)
#ifdef MACROVISION_SELECTION_ENABLE
SAFELY_DELETE(choice2)
#endif
}
void open_trick(void)
{
screen = MS_create_screen((MS_POS *)&screen_pos, screen_color, 0,on_region_close, layout);
choice1 = MS_create_choice(®ion_choice_pos,i_color,®ion_code_list,&dont_care_pos,region_code_action,MS_HOT_SPOT);
region_code_choice(choice1);
MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)choice1,1);
MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&mssregion,0);
#ifdef MACROVISION_SELECTION_ENABLE
choice2 = MS_create_choice(¯ovision_choice_pos,i_color,¯ovision_list,&dont_care_pos,macrovision_action,MS_HOT_SPOT);
macrovision_choice(choice2);
MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)choice2,0);
MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&mssmacrovision,0);
#endif
MS_dialog_display((MS_DIALOG*)screen);
}
#endif // D_TRICK_MENU
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -