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

📄 trick_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: $                                                            
/* $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(&region_choice_pos,i_color,&region_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(&macrovision_choice_pos,i_color,&macrovision_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 + -