/*===========================================================
 * Copyright (c)      Realtek Semiconductor Corporation, 2005 
 * All rights reserved.									  
 * ========================================================== */

/*==================== File Description ===================== */
/**
 * @file
 * 	This file is gobal parameter declaration for OSD related functions.
 * 
 * @author 	$Author: forster $
 * @date 	$Date: 2006-02-06 14:03:22 +0800 (星期一, 06 二月 2006) $
 * @version	$Revision: 2 $
 */
 
/**
 * @addtogroup osd
 * @{
 */
 
#ifndef _OSDPARAMETER_H
#define _OSDPARAMETER_H
/*===================== Module Dependency  ================== */
#include "Core\Header\maindef.h"
#if (_CUSTOMER_TYPE == _SKYWORTH)
#include "Customer\Header\skyworth\osdobjectdef.h"
#endif
#include "Core\Header\global.h"

#if 1//_TYPEOF_OSD_KONSTA
/*========================== Types ========================== */

/*======================== Definitions ====================== */

//#define _OSD_V_DELAY (_DV_ACT_STA_POS / 4)
//#define _OSD_H_DELAY (_DH_ACT_STA_POS /4)
//#define _OSD_H_LACK_OFFSET (4 - (_DH_ACT_STA_POS % 4))


///-------------------------------------------sva


#define WXSTART(x0,x1)					(0x000|((x1&0x01f)<<6)|((x0&0x0fc)>>2))	//add  by zhang_dc
#define WYSTART(x1,x2)					(0x000|(x2<<3)|((x1&0x0e0)>>5))			//add by zhang_dc
#define WXEND(x0,x1)					(0x000|((x1&0x01f)<<6)|((x0&0x0fc)>>2))	//add  by zhang_dc
#define WYEND(x1,x2)					(0x000|(x2<<3)|((x1&0x0e0)>>5))			//add by zhang_dc

#define _OSD_FMAIN_ROW				14
#define _OSD_FMAIN_COL					32//28

#define _OSD_UMAIN_ROW				20//14
#define _OSD_UMAIN_COL					28

#define _OSD_SOURCEMENU_ROW			8
#define _OSD_SOURCEMENU_COL			22

#define _OSD_SHORTCUT_ROW				4
#define _OSD_SHORTCUT_COL				24

#define _OSD_NOTE_ROW					5
#define _OSD_NOTE_COL					22

#define _OSD_SOURCENOTE_ROW			10
#define _OSD_SOURCENOTE_COL			30

#define _OSD_CC_NOTE_ROW				3
#define _OSD_CC_NOTE_COL				22

#define _OSD_SLEEP_NOTE_ROW			4
#define _OSD_SLEEP_NOTE_COL			22


//-------------------------------------------
#define _OSD_SIGNEL_STATE_ROW					3//14
#define _OSD_SIGNEL_STATE_COL					12//25

#define _OSD_SOURCE_SHOW_ROW			9
#define _OSD_SOURCE_SHOW_COL			30

#define _OSD_VOLUME_SHOW_ROW			9
#define _OSD_VOLUME_SHOW_COL			30
//-------------------------------------------------
#define _POWERON_LOGO_ROW			4
#define _POWERON_LOGO_COL				16
//
// RGB Settings for Colors
//
//--------------------------------------------------
// Definitions of Color Palette
//--------------------------------------------------
#define _CP_TRANS_BLACK_0			0
#define _CP_WHITE_1					1
#define _CP_GRAY102_2				2
#define _CP_BLACK_3					3
#define _CP_GRAY192_4				4
#define _CP_GRAY112_5				5
#define _CP_GRAY220_6				6
#define _CP_GRAY100_7				7

#define _CP_GRAY80_8				8
#define _CP_GRAY60_9				9
#define _CP_GRAY40_10				10
#define _CP_GRAY150_11				11
#define _CP_GRAY170_12				12
#define _CP_GRAY130_13				13
#define _CP_GRAY240_14				14
#define _CP_GRAY210_15				15




#define _RGE_TEST_GRAY0		0,0,0
#define _RGE_TEST_GRAY1		255,255,255
#define _RGE_TEST_GRAY2		102,102,102
#define _RGE_TEST_GRAY3		0,0,0
#define _RGE_TEST_GRAY4		192,192,192
#define _RGE_TEST_GRAY5		112,112,112
#define _RGE_TEST_GRAY6		220,220,220
#define _RGE_TEST_GRAY7		100,100,100	//120,150,210	// 90,120,200	// 100,100,100
#define _RGE_TEST_GRAY8		80,80,80
#define _RGE_TEST_GRAY9		60,60,60
#define _RGE_TEST_GRAY10		40,40,40
#define _RGE_TEST_GRAY11		150,150,150
#define _RGE_TEST_GRAY12		170,170,170
#define _RGE_TEST_GRAY13		130,130,130
//#define _RGE_TEST_GRAY14		240,240,240
#define _RGE_TEST_GRAY14		108,132,201
#define _RGE_TEST_GRAY15		210,210,210


////////////---------------------must delete-------------------
#define	_CP_YELLOW               10
#define	_CP_LIGHTBLUE          11
#define	_CP_BLUE                    12
#define	_CP_GREEN                  13

//-----------------------------------------------


//---------------------------------------------------------

/*
#define   _CP_BLACK                0
#define	_CP_WHITE               1
#define	_CP_RED                    2
#define	_CP_COLOR00           3
#define	_CP_COLOR01           4
#define	_CP_COLOR02           5
#define	_CP_COLOR03           6
#define	_CP_COLOR04           7
#define	_CP_GRAY                 8
#define	_CP_COLOR05           9
#define	_CP_COLOR06           10
#define	_CP_COLOR07           11
#define	_CP_COLOR08           12
#define	_CP_COLOR09           13
#define	_CP_DEEPBLUE         14
#define	_CP_COLOR10           15

*/


#define _RGB_BLACK  		0x00,0x00,0x00
#define _RGB_WHITE  	0xff,0xff,0xff
#define _RGB_RED		0xff,0x00,0x00
#define _RGB_GREEN  		0x00,0xff,0x00
#define _RGB_BLUE   		0x00,0x00,0xff
#define _RGB_YELLOW	0xf0,0xf0,0x00 //0xff,0xff,0x00
#define _RGB_GRAY   		0x80,0x80,0x80
#define _RGB_CYAN   		0x00,0x80,0xff
#define _RGB_DEEPBLUE   	0x40,0x40,0xff
#define _RGB_LIGHTBLUE  0x80,0x80,0xff
#define _RGB_COLOR00	0x00,0x00,0x80
#define _RGB_COLOR01	0x9d,0x9d,0xff
#define _RGB_PINK		255,128,255
#define _RGB_DARKBLUE	0x40,0x40,0xff	// 64, 64,255
#define _RGB_COLOR02	0x00,0xa0,0xf0    // 0,160,240
#define _RGB_COLOR03	0x6c,0xce,0xff	//108,206,255
#define _RGB_COLOR04	0xbb,0xe9,0xf6    // 187,233,246
#define _RGB_COLOR05	0x22,0x22,0x91	// 34,34,145
#define _RGB_COLOR06	0x44,0x44,0xa2	// 68,68,162
#define _RGB_COLOR07	0xab,0xab,0xd5	// 171,171,213
#define _RGB_COLOR08	0xdd,0xdd,0xee	// 221,221,238
#define _RGB_LOGOSVA1	52, 13, 113			//Add by zhang_dc
#define _RGB_LOGOSVA2	0, 137, 224			//Add by zhang_dc

//-------------------------------------------------------

//#define _RGB_BLACK  		0x00,0x00,0x00
//#define _RGB_WHITE  	0xff,0xff,0xff
//#define _RGB_RED		0xff,0x00,0x00
//#define _RGB_GREEN  		0x00,0xff,0x00
//#define _RGB_BLUE   		0x00,0x00,0xff
//#define _RGB_YELLOW	0xff,0xff,0x00
//#define _RGB_GRAY   		0x80,0x80,0x80
//#define _RGB_CYAN   		0x00,0x80,0xff
//#define _RGB_DEEPBLUE    1,14,65 // 1,20,97 //left window
//#define _RGB_PINK		255,128,255
//#define _RGB_DARKBLUE	0x40,0x40,0xff	// 64, 64,255


//#define _RGB_COLOR00	0,101,159//BACKGROUND WINDOW0xec,0x4a, 0x7c //   Move Windown Color
//#define _RGB_COLOR01	0,74,116//TITLE window54,84,133//TITLERIGHTWINDOW_COLOR
//#define _RGB_LIGHTBLUE	0x6c,0xce,0xff//
//#define _RGB_COLOR02 	1,66,98//1,47,71//2,65,98//190,219,222//sub menu item move window
//#define _RGB_COLOR03	18,144,205//font color //16,47,78//_POPDOWN_WINDOW_COLOR

//#define _RGB_COLOR04	1,96,128//1,102,146//180,190,200//220,200,180//	select line

//#define _RGB_COLOR05	150,160,170//180,160,140//  select line


//#define _RGB_COLOR06	158,238,248  // 0xdd,0xdd,0xee //slider bar

//#define _RGB_COLOR07	0xab,0xab,0xd5	// 171,171,213
//#define _RGB_COLOR08	0xdd,0xdd,0xee	// 221,221,238

//200724 for OSD Position

#define _HSTART_POS		32
#define _VSTART_POS		12



//20080901 ccy modify
#if (_PCB_TYPE == _PCB_TEST)
#define  _OSD_VERTICAL_DELAY 	((_DISP_LEN-_TITLEBACKGROUNDWINDOW_LEN*2)/2 + _VSTART_POS)
#define  _OSD_HORIZONTAL_DELAY 	((_DISP_WID  -_TITLEBACKGROUNDWINDOW_WID*2)/2 + _HSTART_POS-5)

#else
#define  _OSD_VERTICAL_DELAY 	((_DISP_LEN-_TITLEBACKGROUNDWINDOW_LEN)/2 + _VSTART_POS)
#define  _OSD_HORIZONTAL_DELAY 	((_DISP_WID  -_TITLEBACKGROUNDWINDOW_WID)/2 + _HSTART_POS-5)

#endif


//=====================================================
#define _ICON_SUM		5
#define _CHANGE_POSITION	2

#define _FIRSTER_ICON_START_ROW	1
#define _FIRSTER_ICON_START_COL	0
#define _ICON_WIDTH 			5

#define  _barL	0x80
#define _bar0	0x81
#define _bar1	0x82
#define  _bar2	0x83
#define  _bar3	0x84
#define  _barR	0x85
//-------------------------------------------------------------------
#define _MAINMENU_MAXROW		_OSD_UMAIN_ROW//14
#define _MAINMENU_MAXCOL		_OSD_UMAIN_COL//28

#define _TITLE_MAXROW			3////3
#define _TITLE_MAXCOL			_MAINMENU_MAXCOL


#define _POPDOWNMENU_MAXROW 2
#define _POPDOWNMENU_MAXCOL 	_MAINMENU_MAXCOL

#define _NOTE_MAXROW			1
#define _NOTE_MAXCOL			_MAINMENU_MAXCOL

#define _SHORTMENU_MAXCOL		25

#define _OSD_LOGO_ROW			_MAINMENU_MAXROW
#define _OSD_LOGO_COL			_MAINMENU_MAXCOL

/*======================== CONSTANTS =========================================*/

#define _TITLE_ROW(x)			x
#define _MAINMENU_ROW(x)		x//(_TITLE_MAXROW + x)
#define _POPDOWNMENU_ROW(x)	x//(_TITLE_MAXROW + _MAINMENU_MAXROW + x)
#define _NOTE_ROW(x)			x//(_TITLE_MAXROW + _MAINMENU_MAXROW + _POPDOWNMENU_MAXROW + x)

#ifndef _ROW_HEIGHT
#if (_PANEL_TYPE == _AU_TTL_20_V4)
#define _ROW_HEIGHT 24
#else
#define _ROW_HEIGHT 32
#endif
#endif

#ifndef _ROW_COUNT
#define _ROW_COUNT _OSD_UMAIN_ROW
#endif

#define _tOSD_OSDMAP_COUNT  (_MAINMENU_MAXROW*_MAINMENU_MAXCOL+_MAINMENU_MAXROW+1)

#define _FONT_WID 	12//one font wide( pixel) 
#define _FONT_LEN 	18//one  font length ( pixel )
#define _FONT_H_COUNT	40
#define _FONT_V_COUNT	20
#define _PER_ROW_HEIGHT	18//PIXEL
#define _TITLEBACKGROUNDWINDOW_WID  (_FONT_H_COUNT * _FONT_WID)//  40 font wide( pixel) 
#define _TITLEBACKGROUNDWINDOW_LEN	( _FONT_V_COUNT * _FONT_LEN)//17  font length ( pixel )
#define _TITLELEFTWINDOW_WID		( 13* _FONT_WID)
#define _MAINMENUWINDOW_WID ( 13* _FONT_WID)
#define _TITLELEFTWINDOW_LEN		( 3* _FONT_LEN)
#define _FOLLOW_BNKLENGTH			14
#define _ARROW_BRACKET_WID			7
//#define _POPDOWN_WINDOW_HSTART
#define _REMAIN_ROW_COUNT	 ((_DISP_LEN/_PER_ROW_HEIGHT-_FONT_V_COUNT)/2


#ifndef _FONTTABLE_STARTADDRESS
#define _FONTTABLE_STARTADDRESS (_tOSD_OSDMAP_COUNT +  _ROW_COUNT + 1)
#endif

#ifndef _OSD_FONT_START_POSITION
#define _OSD_FONT_START_POSITION  (_tOSD_OSDMAP_COUNT +  _ROW_COUNT + 1)  // 3: For Vbi 32 row 
#endif

#ifndef _MAINMENU_COUNT
#define _MAINMENU_COUNT 6
#endif


#ifndef _TITLEBACKGROUNDWINDOW_HSTART
#define _TITLEBACKGROUNDWINDOW_HSTART  WXSTART(0x30, 0x00)//12// ((_DISP_WID-_TITLEBACKGROUNDWINDOW_WID) /2)// 0
#endif

#ifndef _TITLEBACKGROUNDWINDOW_HEND
#define _TITLEBACKGROUNDWINDOW_HEND WXEND(0x90, 0x085)//488//(_TITLEBACKGROUNDWINDOW_HSTART + _TITLEBACKGROUNDWINDOW_WID)//(_TITLEWINDOW_HSTART + _DISP_WID + 2)
#endif

#ifndef _TITLEBACKGROUNDWINDOW_VSTART
#define _TITLEBACKGROUNDWINDOW_VSTART WYSTART(0x00, 0x01)//8//((_DISP_LEN-_TITLEBACKGROUNDWINDOW_LEN)/2)//+_FONT_LEN)// 0
#endif

#ifndef _TITLEBACKGROUNDWINDOW_VEND
#define _TITLEBACKGROUNDWINDOW_VEND WYEND(0x85, 0x028)//408//(_TITLEBACKGROUNDWINDOW_VSTART + _TITLEBACKGROUNDWINDOW_LEN)//(_TITLEWINDOW_VSTART + _ROW_HEIGHT + 12)
#endif 

/*****New Osd Window*************************************************************************/
#define _MAINICONSEL_WINDOW_HSTART		((_FIRSTER_ICON_START_COL+1)*_FONT_WIDTH-4)
#define _MAINICONSEL_WINDOW_HEND		(_MAINICONSEL_WINDOW_HSTART+3*_FONT_WIDTH+2)
#define _MAINICONSEL_WINDOW_VSTART		(1*18)
#define _MAINICONSEL_WINDOW_VEND		(3*18-2)//(4*18) 20081124 ccy modify

//20080919 ccy modify change to 1times
//main menu background window
#define _BG_WINDOW_HSTART		_MAINICONSEL_WINDOW_HSTART
#define _BG_WINDOW_HEND			((_OSD_UMAIN_COL+2)*_FONT_WIDTH)
#define _BG_WINDOW_VSTART			_MAINICONSEL_WINDOW_VSTART
#define _BG_WINDOW_VEND			(_OSD_UMAIN_ROW*18)
//20081008 ccy modify 
//page title line window
#define _TITLE_WINDOW_HSTART		_MAINICONSEL_WINDOW_HSTART
#define _TITLE_WINDOW_HEND		_BG_WINDOW_HEND
#define _TITLE_WINDOW_VSTART		(3*18-2)
#define _TITLE_WINDOW_VEND		(4*18)

//note message line window
#define _NOTE_WINDOW_HSTART		_MAINICONSEL_WINDOW_HSTART
#define _NOTE_WINDOW_HEND		_BG_WINDOW_HEND
#define _NOTE_WINDOW_VSTART		(19*18-2)
#define _NOTE_WINDOW_VEND		(20*18)

//20080919 ccy modify change to 2times
//extend adjust window
//20081008 ccy modify to 1times
#define _EXTADJ_WINDOW_HSTART		(1*12)
#define _EXTADJ_WINDOW_HEND			(_EXTADJ_WINDOW_HSTART+28*12)
#define _EXTADJ_WINDOW_VSTART		(0)
#define _EXTADJ_WINDOW_VEND			(6*18)

/*******************************************************************************************/



#ifndef _TITLELEFTWINDOW_HSTART
#define _TITLELEFTWINDOW_HSTART  0x0d//12//(_TITLEBACKGROUNDWINDOW_HSTART+1 )
#endif

#ifndef _TITLELEFTWINDOW_HEND
#define _TITLELEFTWINDOW_HEND WXEND(0x90, 0x85)//488//(_TITLELEFTWINDOW_HSTART + _TITLELEFTWINDOW_WID)
#endif

#ifndef _TITLELEFTWINDOW_VSTART
#define _TITLELEFTWINDOW_VSTART  WYSTART(0x00, 0x0B) //8//(_TITLEBACKGROUNDWINDOW_VSTART )// +_FONT_LEN/2)
#endif

#ifndef _TITLELEFTWINDOW_VEND
#define _TITLELEFTWINDOW_VEND WYEND(0x85, 0x0E)//44//(_TITLELEFTWINDOW_VSTART + _TITLELEFTWINDOW_LEN)
#endif




#ifndef _TITLERIGHTWINDOW_HSTART
#define _TITLERIGHTWINDOW_HSTART  0x0e//12//(_TITLELEFTWINDOW_HEND+2 )
#endif

#ifndef _TITLERIGHTWINDOW_HEND
#define _TITLERIGHTWINDOW_HEND WXEND(0x90, 0x85)//488//_TITLEBACKGROUNDWINDOW_HEND
#endif

#ifndef _TITLERIGHTWINDOW_VSTART
#define _TITLERIGHTWINDOW_VSTART  WYSTART(0x00, 0x05)//376//_TITLELEFTWINDOW_VSTART
#endif

#ifndef _TITLERIGHTWINDOW_VEND
#define _TITLERIGHTWINDOW_VEND WYEND(0x05, 0x25)//408//_TITLELEFTWINDOW_VEND
#endif





#ifndef _TITLEBACKGROUNDWINDOW_COLOR
#define _TITLEBACKGROUNDWINDOW_COLOR COLOR00(_CP_COLOR00)//(_CP_GRAY)//_CP_WHITE//_CP_GRAY
#endif


#ifndef _TITLELEFTWINDOW_COLOR
#define _TITLELEFTWINDOW_COLOR COLOR00(_CP_COLOR01)
#endif



#ifndef _TITLERIGHTWINDOW_COLOR
#define _TITLERIGHTWINDOW_COLOR (_CP_COLOR01)
#endif










#ifndef _MAINMENUWINDOW_HSTART
#define _MAINMENUWINDOW_HSTART 12//(_TITLEBACKGROUNDWINDOW_HSTART+1 )
#endif

#ifndef _MAINMENUWINDOW_HEND
#define _MAINMENUWINDOW_HEND 92//(_TITLELEFTWINDOW_HSTART + _MAINMENUWINDOW_WID)//_TITLELEFTWINDOW_HEND//(_MAINMENUWINDOW_HSTART + _DISP_WID + 2)
#endif

#ifndef _MAINMENUWINDOW_VSTART
#define _MAINMENUWINDOW_VSTART	48//(_TITLELEFTWINDOW_VEND+2)// _TITLEWINDOW_VEND
#endif

#ifndef _MAINMENUWINDOW_VEND
#if (_PANEL_TYPE == _AU_TTL_20_V4)
#define _MAINMENUWINDOW_VEND (_MAINMENUWINDOW_VSTART + _ROW_HEIGHT + 2)
#else
#define _MAINMENUWINDOW_VEND    372//(_TITLEBACKGROUNDWINDOW_VEND - _FONT_LEN*2-2)//(_MAINMENUWINDOW_VSTART + _ROW_HEIGHT + 12)
#endif //(_PCB_TYPE == _RTD2533V_VD2612_PREMIER_PCB)
#endif




#ifndef _MAINMENU_ITEM_WINDOW_HSTART
#define _MAINMENU_ITEM_WINDOW_HSTART 40//(_FIRSTER_ICON_START_COL*_FONT_WID+2)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _MAINMENU_ITEM_WINDOW_HEND
#define _MAINMENU_ITEM_WINDOW_HEND 85//(_MAINMENU_ITEM_WINDOW_HSTART + 5*_FONT_WID-4)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _MAINMENU_ITEM_WINDOW_VSTART
#define _MAINMENU_ITEM_WINDOW_VSTART 41//(_TITLELEFTWINDOW_VSTART+4)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _MAINMENU_ITEM_WINDOW_VEND
#define _MAINMENU_ITEM_WINDOW_VEND 80//(_TITLELEFTWINDOW_VEND - 4-2)// (_MAINMENUWINDOW_VEND + 4)
#endif




#ifndef _POPDOWN_WINDOW_HSTART
#define _POPDOWN_WINDOW_HSTART WXSTART(0x9C, 0x40)//102//(_MAINMENUWINDOW_HSTART)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _POPDOWN_WINDOW_HEND
#define _POPDOWN_WINDOW_HEND WXEND(0x30, 0x05)//482//(_MAINMENUWINDOW_HEND)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _POPDOWN_WINDOW_VSTART
#define _POPDOWN_WINDOW_VSTART WYSTART(0x40, 0x20)//52//(_TITLELEFTWINDOW_VEND+1)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _POPDOWN_WINDOW_VEND
#define _POPDOWN_WINDOW_VEND WYEND(0x05, 0x24)//84//(_POPDOWN_WINDOW_VSTART + _FONT_LEN/2)// (_MAINMENUWINDOW_VEND + 4)
#endif








#ifndef _MAINMENUWINDOW_COLOR
#define _MAINMENUWINDOW_COLOR COLOR00(_CP_COLOR01)
#endif

#ifndef _NOTEWINDOW_HSTART
#define _NOTEWINDOW_HSTART	(_TITLEBACKGROUNDWINDOW_HSTART+1)// 0
#endif

#ifndef _NOTEWINDOW_HEND
#define _NOTEWINDOW_HEND _TITLEBACKGROUNDWINDOW_HEND//(_NOTEWINDOW_HSTART + _DISP_WID + 2)// + 25
#endif

#ifndef _NOTEWINDOW_VSTART
#define _NOTEWINDOW_VSTART (_MAINMENUWINDOW_VEND+2)//(_DISP_LEN - _ROW_HEIGHT * 2)
#endif

#ifndef _NOTEWINDOW_VEND
#if (_PANEL_TYPE == _AU_TTL_20_V4)
#define _NOTEWINDOW_VEND (_NOTEWINDOW_VSTART + _ROW_HEIGHT * 2 + 16)
#else
#define _NOTEWINDOW_VEND _TITLEBACKGROUNDWINDOW_VEND//(_NOTEWINDOW_VSTART + _ROW_HEIGHT * 2 + 8)
#endif



#endif

#ifndef _NOTEWINDOIW_COLOR
#define _NOTEWINDOIW_COLOR COLOR00(_CP_GRAY)//(_CP_BLUE)
#endif

#ifndef _MAINMENU_ITEMWIDTH
#define _MAINMENU_ITEMCHAR	(12)
#define _MAINMENU_ITEMWIDTH 	(_FONT_WID*_MAINMENU_ITEMCHAR)
#define _SUBMENU_FROM_ITEMNAME 	(4)//(_FONT_WID*2)// DISP_WID / 6
#define _SUBMENU_SPACE 		(_FONT_WID*_SUBMENU_FROM_ITEMNAME)//(_FONT_WID*2)// DISP_WID / 6
#endif

#ifndef _MAINMENU_ACTIVE_COLOR
#define _MAINMENU_ACTIVE_COLOR COLOR00(_CP_COLOR00)
#endif

#ifndef _MAINMENU_INACTIVE_COLOR
#define _MAINMENU_INACTIVE_COLOR COLOR00(_CP_WHITE)
#endif

#ifndef _POPDOWN_WINDOW_COLOR
#define _POPDOWN_WINDOW_COLOR COLOR00(_CP_COLOR03)
//#define _POPDOWN_WINDOW_COLOR COLOR00(_CP_COLOR02)
#endif


//SOURCE SELECT WINDOW
#define _SOURCE_BACKGROUND_WINDOW_HSTART		4
#define _SOURCE_BACKGROUND_WINDOW_HEND		(_SOURCE_BACKGROUND_WINDOW_HSTART+_FONT_WID*12 )
#define _SOURCE_BACKGROUND_WINDOW_VSTART		0
#define _SOURCE_BACKGROUND_WINDOW_VEND			(_SOURCE_BACKGROUND_WINDOW_VSTART + _FONT_LEN*15+_FONT_LEN/2)

#define _SOURCE_TITLE_WINDOW_HSTART		_SOURCE_BACKGROUND_WINDOW_HSTART
#define _SOURCE_TITLE_WINDOW_HEND		_SOURCE_BACKGROUND_WINDOW_HEND
#define _SOURCE_TITLE_WINDOW_VSTART		(_SOURCE_BACKGROUND_WINDOW_VSTART+_FONT_LEN/2)
#define _SOURCE_TITLE_WINDOW_VEND		(_SOURCE_TITLE_WINDOW_VSTART+1*_FONT_LEN)

#define _SOURCE_FOREGROUND_WINDOW_HSTART	(_SOURCE_BACKGROUND_WINDOW_HSTART+_FONT_WID/2)
#define _SOURCE_FOREGROUND_WINDOW_HEND	(_SOURCE_FOREGROUND_WINDOW_HSTART+ _FONT_WID*11)
#define _SOURCE_FOREGROUND_WINDOW_VSTART	(_SOURCE_TITLE_WINDOW_VEND+6)
#define _SOURCE_FOREGROUND_WINDOW_VEND		(_SOURCE_FOREGROUND_WINDOW_VSTART+_FONT_LEN*13)



//Channel Edit Window----------------------------------------
#define _CHANNELEDIT_BACKGROUND_WINDOW_HSTART		4
#define _CHANNELEDIT_BACKGROUND_WINDOW_HEND		(_CHANNELEDIT_BACKGROUND_WINDOW_HSTART+_FONT_WID*34)
#define _CHANNELEDIT_BACKGROUND_WINDOW_VSTART		0
#define _CHANNELEDIT_BACKGROUND_WINDOW_VEND		(_FONT_LEN*17+_FONT_LEN/2)

#define _CHANNELEDIT_TITLE_WINDOW_HSTART	_CHANNELEDIT_BACKGROUND_WINDOW_HSTART
#define _CHANNELEDIT_TITLE_WINDOW_HEND		_CHANNELEDIT_BACKGROUND_WINDOW_HEND
#define _CHANNELEDIT_TITLE_WINDOW_VSTART	(_CHANNELEDIT_BACKGROUND_WINDOW_VSTART+_FONT_LEN/2)//_TITLERIGHTWINDOW_VSTART
#define _CHANNELEDIT_TITLE_WINDOW_VEND		(_CHANNELEDIT_TITLE_WINDOW_VSTART+_FONT_LEN+_FONT_LEN/2+4) //_TITLERIGHTWINDOW_VEND

#define _CHANNELEDIT_FOREGROUND_WINDOW_HSTART		(_CHANNELEDIT_BACKGROUND_WINDOW_HSTART+_FONT_WID/2)
#define _CHANNELEDIT_FOREGROUND_WINDOW_HEND		(_CHANNELEDIT_FOREGROUND_WINDOW_HSTART+_FONT_WID*33)//(_CHANNELEDIT_BACKGROUND_WINDOW_HEND-_FONT_WID/2)
#define _CHANNELEDIT_FOREGROUND_WINDOW_VSTART		(_CHANNELEDIT_TITLE_WINDOW_VSTART+2*_FONT_LEN+4)
#define _CHANNELEDIT_FOREGROUND_WINDOW_VEND		(_CHANNELEDIT_FOREGROUND_WINDOW_VSTART+_FONT_LEN*14)


//===============================================


#ifndef _TEXTBITMAP_SPACE
#define _TEXTBITMAP_SPACE 12
#endif

#ifndef	_MAXLAYER_NUM
#define _MAXLAYER_NUM  3
#endif

/*======================== MACROS ============================================*/
#define FONTBYTE0(x)                    HIBYTE(0x1000|x),LOBYTE(0x1000|x)
#define FONTBYTE1(x)                    HIBYTE(0x5000|x),LOBYTE(0x5000|x)
#define FONTBYTE2(x)                    HIBYTE(0x9000|x),LOBYTE(0x9000|x)
#define FONTALLBYTE(x)                  HIBYTE(0xD000|x),LOBYTE(0xD000|x)
#define WINDOWBYTE0(x)                  HIBYTE(0x0000|x),LOBYTE(0x0000|x)
#define WINDOWBYTE1(x)                  HIBYTE(0x4000|x),LOBYTE(0x4000|x)
#define WINDOWBYTE2(x)                  HIBYTE(0x8000|x),LOBYTE(0x8000|x)
#define WINDOWALLBYTE(x)                HIBYTE(0xC000|x),LOBYTE(0xC000|x)
#define FRAMEBYTE0(x)                   WINDOWBYTE0(x)
#define FRAMEBYTE1(x)                   WINDOWBYTE1(x)
#define FRAMEBYTE2(x)                   WINDOWBYTE2(x)
#define FRAMEALLBYTE(x)                 WINDOWALLBYTE(x)
#define WINNO(x)                        x
#define ROW(x)                          x
#define COL(x)                          x
#define WIDTH(x)                        x
#define HEIGHT(x)                       x
#define LENGTH(x)                       x
#define FGCOLOR(x)                      x
#define BGCOLOR(x)                      x
#define COLOR00(x)                      x
#define COLOR01(x)                      x
#define COLOR10(x)                      x
#define COLOR11(x)                      x
#define XSTART(x)                       x
#define YSTART(x)                       x
#define XEND(x)                         x
#define YEND(x)                         x

/*======================== TYPES =============================================*/

typedef enum  
{ 

     	_CP_BLACK = 0,
	_CP_WHITE,
	_CP_RED,
	_CP_COLOR00,
	_CP_COLOR01,
	_CP_COLOR02,
	_CP_COLOR03,
	_CP_COLOR04,
	_CP_GRAY,
	_CP_COLOR05,
	_CP_COLOR06,
	_CP_COLOR07,
	_CP_COLOR08,
	_CP_COLOR09,
	_CP_DEEPBLUE,
	_CP_COLOR10
}ColorPaletteDef;
typedef enum  
{ 
     	_CP_0,
     	_CP_1,
     	_CP_2,
     	_CP_3,
     	_CP_4,
     	_CP_5,
     	_CP_6,
     	_CP_7,
     	_CP_8,
     	_CP_9,
     	_CP_10,
     	_CP_11,
     	_CP_12,
     	_CP_13,
     	_CP_14,
     	_CP_15
}ColorPaletteDef2;

/*

{ 
	_CP_BLACK = 0,
	_CP_COLOR06,//_CP_RED, 
	_CP_WHITE, 
	_CP_BLUE,
	_CP_GREEN, 
	_CP_YELLOW, 
	_CP_DEEPBLUE, 
	_CP_GRAY, 
	_CP_COLOR00,
	_CP_COLOR01,
	_CP_LIGHTBLUE,
	_CP_COLOR02, 
	_CP_COLOR03, 
	_CP_COLOR04, 
	_CP_COLOR05, 
	_CP_RED,//_CP_COLOR06
} ColorPaletteDef;

*/
/*======================== VARIABLES =========================================*/

#define _OSD_MENU_FG_COLOR				_CP_COLOR05	//Character, item etc.
#define _OSD_MENU_BG_COLOR				_CP_COLOR01	//Main menu.
#define _OSD_MENU_DESCRIPTION_COLOR		_CP_DEEPBLUE	//Source, mode etc.
#define _OSD_BAR_FG_COLOR					_CP_COLOR06//modified by xyw 070929
#define _OSD_ITEM_ENABLED_COLOR			_OSD_BAR_FG_COLOR
#define _OSD_ITEM_DISABLED_COLOR			_CP_COLOR02

#define _FONT_WIDTH							(12)	//char width is 12 pixel
#define _FONT_HEIGH								(18)	//char heigh is 18 pixel


//Position Osd Page title name column position, such as image, misc,
#define _WIN_ITEMVAL_CHAR							12	//info win character numbers
#define _WIN_ITEMVAL_WIDTH						(_TITLEBACKGROUNDWINDOW_HEND-_TITLEBACKGROUNDWINDOW_HSTART)
#define _WIN_ITEMVAL_XS							_TITLEBACKGROUNDWINDOW_HSTART
#define GET_WIN_ITEMVAL_PREBLANK(language, ptr)	(_WIN_ITEMVAL_XS + (_WIN_ITEMVAL_WIDTH - COsdFxCalTextWidth(language, ptr)))/2
//Position Item Value column position
#define _WIN_TITLE_CHAR							12	//info win character numbers
#define _WIN_TITLE_WIDTH							(_TITLE_WINDOW_HEND-_TITLE_WINDOW_HSTART)
#define _WIN_TITLE_XS								_TITLE_WINDOW_HSTART
#define GET_WIN_TITLE_PREBLANK(language, ptr)		(_WIN_TITLE_XS + (_WIN_TITLE_WIDTH-2*_FONT_WID- COsdFxCalTextWidth(language, ptr)))/2      //dong alter 20081009

//tTitleBackgroundWindowStyle

//window position data
//info win position data
//osd H position from left side of panel
#define  _OSD_H_INFO_DELAY 					(_DISP_WID  - _WIN_INFO_WIDTH)
#define  _OSD_V_INFO_DELAY 						(0)
//info window
#define _WIN_INFO_CHAR							12	//info win character numbers
#define _WIN_INFO_WIDTH						DOUBLE(_WIN_INFO_CHAR*_FONT_WIDTH)
#define _WIN_INFO_XS							0
#define GET_WIN_INFO_PREBLANK(language, ptr)	(_WIN_INFO_XS + (_WIN_INFO_WIDTH/2 - COsdFxCalTextWidth(language, ptr)) - 4)/2
#define _INFOBG_WINDOW_HSTART				_WIN_INFO_XS
#define _INFOBG_WINDOW_HEND					(_WIN_INFO_WIDTH-4)//-4: right side is cut, unknow reason
#define _INFOBG_WINDOW_VSTART				(_FONT_HEIGH)
#define _INFOBG_WINDOW_VEND					(_INFOBG_WINDOW_VSTART+_FONT_HEIGH)//caculate by program
#ifdef DRAW_SLIDER
#define _WIN_LOADSTR_CHAR					12//30	//info win character numbers
#define _WIN_LOADSTR_LINES					4//7	//info win character numbers
#define _WIN_LOADSTR_WIDTH					(_WIN_NOSIGNAL_CHAR*_FONT_WIDTH)
#define _WIN_LOADSTR_LEN						(_WIN_NOSIGNAL_LINES*_FONT_HEIGH)
#endif

//nosignal win position data
//nosignal window
//20080918 ccy modify 
#define _WIN_NOSIGNAL_CHAR					12//30	//info win character numbers
#define _WIN_NOSIGNAL_LINES					3//7	//info win character numbers
#define _WIN_NOSIGNAL_WIDTH					(_WIN_NOSIGNAL_CHAR*_FONT_WIDTH)
#define _WIN_NOSIGNAL_LEN						(_WIN_NOSIGNAL_LINES*_FONT_HEIGH)
#define _WIN_NOSIGNAL_XS						0
#define GET_WIN_NOSIGNAL_PREBLANK(language, ptr)	(_WIN_NOSIGNAL_XS + (_WIN_NOSIGNAL_WIDTH - COsdFxCalTextWidth(language, ptr)))/2
#define _NOSIGNALBG_WINDOW_HSTART			_WIN_NOSIGNAL_XS
#define _NOSIGNALBG_WINDOW_HEND				_WIN_NOSIGNAL_WIDTH
#define _NOSIGNALBG_WINDOW_VSTART			(0)
#define _NOSIGNALBG_WINDOW_VEND				(/*_INFOBG_WINDOW_VSTART+*/_WIN_NOSIGNAL_LEN)//caculate by program
#if _TYPEOF_OSD_KONSTA
//Autoadjust win position data
#define _WIN_AUTOADJUST_CHAR					16//30	//info win character numbers
#define _WIN_AUTOADJUST_LINES					3//7	//info win character numbers
#define _WIN_AUTOADJUST_WIDTH					(_WIN_AUTOADJUST_CHAR*_FONT_WIDTH)
#define _WIN_AUTOADJUST_LEN						(_WIN_AUTOADJUST_LINES*_FONT_HEIGH)
#define _WIN_AUTOADJUST_XSTART						0
#define _WIN_AUTOADJUST_YSTART						0
#define GET_WIN_AUTOADJUST_PREBLANK(language, ptr)	(_WIN_AUTOADJUST_XSTART + (_WIN_AUTOADJUST_WIDTH - COsdFxCalTextWidth(language, ptr)))/2
//Sleep remind win position data
#define _WIN_SLEEPREMIND_CHAR					21//30	//info win character numbers
#define _WIN_SLEEPREMIND_LINES					4//7	//info win character numbers
#define _WIN_SLEEPREMIND_WIDTH					(_WIN_SLEEPREMIND_CHAR*_FONT_WIDTH)
#define _WIN_SLEEPREMIND_LEN						(_WIN_SLEEPREMIND_LINES*_FONT_HEIGH)
#define _WIN_SLEEPREMIND_XSTART						0
#define _WIN_SLEEPREMIND_YSTART						0
#define GET_WIN_SLEEPREMIND_PREBLANK(language, ptr)	(_WIN_SLEEPREMIND_XSTART + (_WIN_SLEEPREMIND_WIDTH - COsdFxCalTextWidth(language, ptr)))/2

#endif
//osd H position from left side of panel
//20080918 ccy test
#define  _OSD_H_NOSIGNAL_DELAY 				(_DISP_WID  - _WIN_NOSIGNAL_WIDTH)/2
#define  _OSD_V_NOSIGNAL_DELAY 				(_DISP_LEN - _WIN_NOSIGNAL_LEN)/2

//short menu H position from left side of panel
#define  _OSD_H_SHORTMENU_DELAY 				(_DISP_WID-DOUBLE(_SHORTMENU_MAXCOL*_FONT_WID))/2
#define  _OSD_V_SHORTMENU_DELAY 				(_DISP_LEN -DOUBLE(4*18))


#if _POWER_ON_LOGO_SUPPROT==_ON	

#define _WIN_POWERON_LOGO_CHAR					46	//info win character numbers
#define _WIN_POWERON_LOGO_LINES					6	//info win character numbers
#define _WIN_POWERON_LOGO_WIDTH					(_WIN_POWERON_LOGO_CHAR*_FONT_WIDTH)
#define _WIN_POWERON_LOGO_LEN						(_WIN_POWERON_LOGO_LINES*_FONT_HEIGH)
//20080826 ccy modify
#if (_PCB_TYPE == _PCB_TEST)
#define  _OSD_POWERON_LOGO_H_DELAY 				(_DISP_WID  - _WIN_POWERON_LOGO_WIDTH-200-200-100)/2
#define  _OSD_POWERON_LOGO_V_DELAY 				(_DISP_LEN - _WIN_POWERON_LOGO_LEN)/2
#else
#define  _OSD_POWERON_LOGO_H_DELAY 				(_DISP_WID  - _WIN_POWERON_LOGO_WIDTH*2)/2
#define  _OSD_POWERON_LOGO_V_DELAY 				(_DISP_LEN - _WIN_POWERON_LOGO_LEN*2)/2
#endif

#endif



#define _INFO_ROW		1
#define _INFO_COL		0

#define _MASK_ITEM_VGA_PG_CHANNEL	3	//channel (main page, 1 - n)
#define _MASK_ITEM_VGA_PICTMISC	2	//pict misc (sub page, 1-n)
#define _MASK_ITEM_HUE			3	//hue (sub page, 1-n))
#define GET_CP_MASK_ITEM()		_CP_15

#if _OSD_2X
#if _PCB_TYPE == _PCB_PT2662C1B
#define _MASK_ITEM_OSD_H		1	//hue
#define _MASK_ITEM_OSD_V		2	//hue
#else
#define _MASK_ITEM_OSD_H		2	//hue
#define _MASK_ITEM_OSD_V		3	//hue
#endif
#endif

#define _MASK_ITEM_CT			1	//VGA color temp type
#define _CONTENT_U_ROW		5
#define _CONTENT_U_COL			3
#define _CONTENT_U_HEIGH		7
#define _CONTENT_U_WIDTH		20
#define _ARROW_U_ROW			19//5
#define _ARROW_U_COL			2
#define _ARROW_U_HEIGH		_CONTENT_U_HEIGH
#define _ARROW_U_WIDTH		1

#define _CONTENT_F_ROW		1/// 3
#define _CONTENT_F_COL			0//  3    //dong alter 20080923
#define _CONTENT_F_HEIGH		(_OSD_FMAIN_ROW-2)
#define _CONTENT_F_WIDTH		20
#define _ARROW_F_ROW			_CONTENT_F_ROW
#define _ARROW_F_COL			2
#define _ARROW_F_HEIGH			_CONTENT_F_HEIGH
#define _ARROW_F_WIDTH		1

#define _VALUE_U_ROW			18//12
#define _VALUE_U_COL			0///2
#define _VALUE_U_HEIGH			1
#define _VALUE_U_WIDTH			_OSD_UMAIN_COL//24
#define _VALUE_F_ROW			(_OSD_FMAIN_ROW-1)
#define _VALUE_F_COL			0///2
#define _VALUE_F_HEIGH			1
#define _VALUE_F_WIDTH			_OSD_UMAIN_COL//24
#if _TYPEOF_OSD_KONSTA         //dong alter 20081009
#define _NOTE_U_ROW			19
#define _NOTE_U_COL				0
#else
#define _NOTE_U_ROW			19
#define _NOTE_U_COL				1
#endif

#define _TITLE_U_ROW			(_FIRSTER_ICON_START_ROW+2)
#define _TITLE_U_COL			0
#define _TITLE_U_HEIGH			1
#define _TITLE_U_WIDTH			28

#define _DESCRIBLE_F_ROW		0
#define _DESCRIBLE_F_COL		2

#define GET_CP_HINT_NORMAL()	(_CP_WHITE)
#define _CP_BG					(_CP_BLACK)

#define _CP_MENU_SLIDER		_CP_1//(_CP_COLOR05)


#if (_PCB_TYPE==_PCB_PT2662F1A ||_PCB_TYPE==_PCB_PT2662F1C)
#if _TYPEOF_INPUT == _TYPEOF_INPUT_8SRC
#define _SRC_COL_WIDTH			10	//review string if you change this
#define _ARROW_SRC_U_HEIGH	_SRC_MAP_ROW
#endif
#endif

#if _TYPEOF_OSD_KONSTA
//main menu
#define _ITEMSTR_START_COL				1	//item string start position
#define _ITEMVAL_START_COL				14	//item value start position
#define _ITEMVAL_START_COL_BRACKET	15	//bracket value start position
#define _ITEMSLIDER_LEN					14	//item value length: slider
#define _ITEMBRACKET_LEN				12	//item value length: bracket

#define _ITEMVAL_START_COL_TIMER		19	//bracket timer type start from this position

#define _ITEMSTR_START_ROW			5	//item line is Row 5 + 2*(0-6)                //dong alter 20081009

//sub window of item adjust
#define _OSD_ADJ_ROW					6
#define _OSD_ADJ_COL					28
//20080919 ccyadd adjust window position
#define _OSD_ADJ_H_DELAY				(_DISP_WID - _OSD_ADJ_COL*12)/2
#define _OSD_ADJ_V_DELAY				(_DISP_LEN -(_OSD_ADJ_ROW+4)*18)//(_DISP_LEN -_OSD_ADJ_ROW*18*3)

#define _ITEMSLIDER_EXTADJ_LEN			22
#define _ITEMSLIDER_ITEM_ROW			1            //dong add 20081009
#define _ITEMSLIDER_ITEM_COL			2		//dong add 20081009
#define _ITEMSLIDER_EXTADJ_ROW		3
#define _ITEMSLIDER_EXTADJ_COL			1		//dong alter 20081009
#define _ITEMSLIDER_EXTADJ_NUMCOL		(_ITEMSLIDER_EXTADJ_COL+_ITEMSLIDER_EXTADJ_LEN+3)
#define _ITEMSLIDER_EXTADJ_NUMCOLOR	(_CP_1)
#define _ITEMSLIDER_EXTADJ_COLOR	(_CP_12)//20081124 ccy modify

#else
#define _ITEMSLIDER_LEN			20
#endif

#ifdef _OSDPARAMETER_C
    #define EXTERN
#else
    #define EXTERN   extern
#endif
	EXTERN UINT8 code tOSD_OSDMAP_INF2[][2] ;//xyw after

#if _POWER_ON_LOGO_SUPPROT==_ON
	EXTERN UINT8 code Palette_logo[];
#endif
//20080826 ccy add
#if(_POWER_ON_LOGO_TYPE ==_POWER_ON_LOGO_OSTAR)
		EXTERN UINT8 code Palette_logo_OSTAR[];
#endif

	EXTERN UINT8 code Palette_7_4bit[];

	EXTERN WindowStyle code tTitleBackgroundWindowStyle;//20061227	
	EXTERN WindowStyle code tTitleLeftWindowStyle;
	EXTERN WindowStyle code tTitleRightWindowStyle;
	
	EXTERN WindowStyle code tMainMenuItemWindowStyle;
	//EXTERN WindowStyle code tPopdownWindowStyle;
	
	EXTERN WindowStyle code tPopdownMenuItemWindowStyle;
#if _TIMER_PAGE_SUPPORT
	EXTERN WindowStyle code tTimerPageTimeSegmentHourWindowStyle;									
#endif	//#if _TIMER_PAGE_SUPPORT

	EXTERN UINT8 code tOsdRowCommand0[];
	EXTERN UINT8 code tOsdRowCommand1[];
	EXTERN UINT8 code tOsdRowCommand2[];
	EXTERN UINT8 code tOsdRowCommand3[];
	EXTERN UINT8 code tOsdRowCommand4[];
	EXTERN UINT8 code tOsdRowCommand5[];
	EXTERN UINT8 code tOsdRowCommand6[];
	EXTERN UINT8 code tOsdRowCommand7[];
	EXTERN UINT8 code tOsdRowCommand8[];
	EXTERN UINT8 code tOsdRowCommand9[];
#if _TYPEOF_OSD_KONSTA         //dong add 20081031
	EXTERN UINT8 code tOsdRowCommandA[];
	EXTERN UINT8 code tOsdRowCommandB[];
	EXTERN WindowStyle code tOsdAutoAdjust_BackgroundWindow;
	EXTERN WindowStyle code tOsdSleep_BackgroundWindow;
#endif

	
	EXTERN WindowStyle code tOsdNoSignal_BackgroundWindowStyle;
	EXTERN WindowStyle code tOsdNoSignal_ForegroundWindowStyle;
	
#ifdef DRAW_SLIDER	
		EXTERN WindowStyle code tOsdSignalSource_BackgroundWindow1;
#endif
	
	
	EXTERN WindowStyle code tOsdSignalSource_BackgroundWindow;
	EXTERN WindowStyle code tOsdSignalSource_MoveWindow;
	EXTERN WindowStyle code tOsdSignalSource_TitleWindow ;
	EXTERN WindowStyle code tOsdDisplay_ModeWindow;
				
	EXTERN WindowStyle code tOsdICMMenu_BackgroundWindow;
	EXTERN WindowStyle code tOsdICMMenu_ForegroundWindow;
	EXTERN WindowStyle code tOsdICMMenu_MoveWindow;

	// ICM menu for D-SUB & DVI
	EXTERN WindowStyle code tOsdICMMenu_BackgroundWindow1;
	EXTERN WindowStyle code tOsdICMMenu_ForegroundWindow1;
	EXTERN WindowStyle code tOsdICMMenu_MoveWindow1;

// Parent Control

	EXTERN WindowStyle code tOsdVolume_BottomWindow;//tommy add for volume window

	//Factory Menu	2006.06.12
#if(_FACTORY_MENU_ENABLE)
	EXTERN WindowStyle code tOsdFactoryMenu_BackgroundWindow;
	EXTERN WindowStyle code tOsdFactoryMenu_ForegroundWindow;
	EXTERN WindowStyle code tOsdFactoryMenu_MoveWindow;

	EXTERN WindowStyle code tOsdFactorySubMenu_BackgroundWindow;
	EXTERN WindowStyle code tOsdFactorySubMenu_ForegroundWindow;
#endif	

#if _PCB_TYPE==_PCB_PT2660_KTC57924G
	EXTERN WindowStyle code tOsdItem_SelectWindow;
#endif	//#if _PCB_TYPE==_PCB_PT2660_KTC57924G


//main icon selected indicate window
	EXTERN WindowStyle code tMainIconSelWindowStyle;
//main menu background window
	EXTERN WindowStyle code tBGWindowStyle;
//page title line window
	EXTERN WindowStyle code tTitleWindowStyle;
//note message line window
	EXTERN WindowStyle code tNoteWindowStyleA;
//item extend adjust window
	EXTERN WindowStyle code tExtAdjWindowStyle;

#undef EXTERN
#else
/*========================== Types ========================== */

/*======================== Definitions ====================== */

//#define _OSD_V_DELAY (_DV_ACT_STA_POS / 4)
//#define _OSD_H_DELAY (_DH_ACT_STA_POS /4)
//#define _OSD_H_LACK_OFFSET (4 - (_DH_ACT_STA_POS % 4))


///-------------------------------------------sva


#define WXSTART(x0,x1)					(0x000|((x1&0x01f)<<6)|((x0&0x0fc)>>2))	//add  by zhang_dc
#define WYSTART(x1,x2)					(0x000|(x2<<3)|((x1&0x0e0)>>5))			//add by zhang_dc
#define WXEND(x0,x1)					(0x000|((x1&0x01f)<<6)|((x0&0x0fc)>>2))	//add  by zhang_dc
#define WYEND(x1,x2)					(0x000|(x2<<3)|((x1&0x0e0)>>5))			//add by zhang_dc

#define _OSD_FMAIN_ROW				14
#define _OSD_FMAIN_COL					28

#define _OSD_UMAIN_ROW				14
#define _OSD_UMAIN_COL					28

#define _OSD_SOURCEMENU_ROW			8
#define _OSD_SOURCEMENU_COL			22

#define _OSD_SHORTCUT_ROW				4
#define _OSD_SHORTCUT_COL				24

#define _OSD_NOTE_ROW					5
#define _OSD_NOTE_COL					22

#define _OSD_SOURCENOTE_ROW			10
#define _OSD_SOURCENOTE_COL			30

#define _OSD_CC_NOTE_ROW				3
#define _OSD_CC_NOTE_COL				22

#define _OSD_SLEEP_NOTE_ROW			4
#define _OSD_SLEEP_NOTE_COL			22


//-------------------------------------------
#define _OSD_SIGNEL_STATE_ROW					14
#define _OSD_SIGNEL_STATE_COL					25

#define _OSD_SOURCE_SHOW_ROW			9
#define _OSD_SOURCE_SHOW_COL			30

#define _OSD_VOLUME_SHOW_ROW			9
#define _OSD_VOLUME_SHOW_COL			30
//-------------------------------------------------
#define _POWERON_LOGO_ROW			4
#define _POWERON_LOGO_COL				16
//
// RGB Settings for Colors
//
//--------------------------------------------------
// Definitions of Color Palette
//--------------------------------------------------
#define _CP_TRANS_BLACK_0			0
#define _CP_WHITE_1					1
#define _CP_GRAY102_2				2
#define _CP_BLACK_3					3
#define _CP_GRAY192_4				4
#define _CP_GRAY112_5				5
#define _CP_GRAY220_6				6
#define _CP_GRAY100_7				7

#define _CP_GRAY80_8				8
#define _CP_GRAY60_9				9
#define _CP_GRAY40_10				10
#define _CP_GRAY150_11				11
#define _CP_GRAY170_12				12
#define _CP_GRAY130_13				13
#define _CP_GRAY240_14				14
#define _CP_GRAY210_15				15




#define _RGE_TEST_GRAY0		0,0,0
#define _RGE_TEST_GRAY1		255,255,255
#define _RGE_TEST_GRAY2		102,102,102
#define _RGE_TEST_GRAY3		0,0,0
#define _RGE_TEST_GRAY4		192,192,192
#define _RGE_TEST_GRAY5		112,112,112
#define _RGE_TEST_GRAY6		220,220,220
#define _RGE_TEST_GRAY7		100,100,100	//120,150,210	// 90,120,200	// 100,100,100
#define _RGE_TEST_GRAY8		80,80,80
#define _RGE_TEST_GRAY9		60,60,60
#define _RGE_TEST_GRAY10		40,40,40
#define _RGE_TEST_GRAY11		150,150,150
#define _RGE_TEST_GRAY12		170,170,170
#define _RGE_TEST_GRAY13		130,130,130
//#define _RGE_TEST_GRAY14		240,240,240
#define _RGE_TEST_GRAY14		108,132,201
#define _RGE_TEST_GRAY15		210,210,210


////////////---------------------must delete-------------------
#define	_CP_YELLOW               10
#define	_CP_LIGHTBLUE          11
#define	_CP_BLUE                    12
#define	_CP_GREEN                  13
//-----------------------------------------------


//---------------------------------------------------------

/*
#define   _CP_BLACK                0
#define	_CP_WHITE               1
#define	_CP_RED                    2
#define	_CP_COLOR00           3
#define	_CP_COLOR01           4
#define	_CP_COLOR02           5
#define	_CP_COLOR03           6
#define	_CP_COLOR04           7
#define	_CP_GRAY                 8
#define	_CP_COLOR05           9
#define	_CP_COLOR06           10
#define	_CP_COLOR07           11
#define	_CP_COLOR08           12
#define	_CP_COLOR09           13
#define	_CP_DEEPBLUE         14
#define	_CP_COLOR10           15

*/


#define _RGB_BLACK  		0x00,0x00,0x00
#define _RGB_WHITE  	0xff,0xff,0xff
#define _RGB_RED		0xff,0x00,0x00
#define _RGB_GREEN  		0x00,0xff,0x00
#define _RGB_BLUE   		0x00,0x00,0xff
#define _RGB_YELLOW	0xf0,0xf0,0x00 //0xff,0xff,0x00
#define _RGB_GRAY   		0x80,0x80,0x80
#define _RGB_CYAN   		0x00,0x80,0xff
#define _RGB_DEEPBLUE   	0x40,0x40,0xff
#define _RGB_LIGHTBLUE  0x80,0x80,0xff
#define _RGB_COLOR00	0x00,0x00,0x80
#define _RGB_COLOR01	0x9d,0x9d,0xff
#define _RGB_PINK		255,128,255
#define _RGB_DARKBLUE	0x40,0x40,0xff	// 64, 64,255
#define _RGB_COLOR02	0x00,0xa0,0xf0    // 0,160,240
#define _RGB_COLOR03	0x6c,0xce,0xff	//108,206,255
#define _RGB_COLOR04	0xbb,0xe9,0xf6    // 187,233,246
#define _RGB_COLOR05	0x22,0x22,0x91	// 34,34,145
#define _RGB_COLOR06	0x44,0x44,0xa2	// 68,68,162
#define _RGB_COLOR07	0xab,0xab,0xd5	// 171,171,213
#define _RGB_COLOR08	0xdd,0xdd,0xee	// 221,221,238
#define _RGB_LOGOSVA1	52, 13, 113			//Add by zhang_dc
#define _RGB_LOGOSVA2	0, 137, 224			//Add by zhang_dc

//-------------------------------------------------------

//#define _RGB_BLACK  		0x00,0x00,0x00
//#define _RGB_WHITE  	0xff,0xff,0xff
//#define _RGB_RED		0xff,0x00,0x00
//#define _RGB_GREEN  		0x00,0xff,0x00
//#define _RGB_BLUE   		0x00,0x00,0xff
//#define _RGB_YELLOW	0xff,0xff,0x00
//#define _RGB_GRAY   		0x80,0x80,0x80
//#define _RGB_CYAN   		0x00,0x80,0xff
//#define _RGB_DEEPBLUE    1,14,65 // 1,20,97 //left window
//#define _RGB_PINK		255,128,255
//#define _RGB_DARKBLUE	0x40,0x40,0xff	// 64, 64,255


//#define _RGB_COLOR00	0,101,159//BACKGROUND WINDOW0xec,0x4a, 0x7c //   Move Windown Color
//#define _RGB_COLOR01	0,74,116//TITLE window54,84,133//TITLERIGHTWINDOW_COLOR
//#define _RGB_LIGHTBLUE	0x6c,0xce,0xff//
//#define _RGB_COLOR02 	1,66,98//1,47,71//2,65,98//190,219,222//sub menu item move window
//#define _RGB_COLOR03	18,144,205//font color //16,47,78//_POPDOWN_WINDOW_COLOR

//#define _RGB_COLOR04	1,96,128//1,102,146//180,190,200//220,200,180//	select line

//#define _RGB_COLOR05	150,160,170//180,160,140//  select line


//#define _RGB_COLOR06	158,238,248  // 0xdd,0xdd,0xee //slider bar

//#define _RGB_COLOR07	0xab,0xab,0xd5	// 171,171,213
//#define _RGB_COLOR08	0xdd,0xdd,0xee	// 221,221,238

//200724 for OSD Position

#define _HSTART_POS		32
#define _VSTART_POS		12


#define  _OSD_VERTICAL_DELAY 	((_DISP_LEN-_TITLEBACKGROUNDWINDOW_LEN)/2 + _VSTART_POS)
#define  _OSD_HORIZONTAL_DELAY 	((_DISP_WID  -_TITLEBACKGROUNDWINDOW_WID)/2 + _HSTART_POS-5)


//=====================================================
#define _ICON_SUM		5
#define _CHANGE_POSITION	2
#define _FIRSTER_ICON_START_ROW	2
#define _FIRSTER_ICON_START_COL	3//15
#define _ICON_WIDTH 			5

#define  _barL	0x80
#define _bar0	0x81
#define _bar1	0x82
#define  _bar2	0x83
#define  _bar3	0x84
#define  _barR	0x85
//-------------------------------------------------------------------
#define _MAINMENU_MAXROW		14
#define _MAINMENU_MAXCOL		28

#define _TITLE_MAXROW			3////3
#define _TITLE_MAXCOL			_MAINMENU_MAXCOL


#define _POPDOWNMENU_MAXROW 2
#define _POPDOWNMENU_MAXCOL 	_MAINMENU_MAXCOL

#define _NOTE_MAXROW			1
#define _NOTE_MAXCOL			_MAINMENU_MAXCOL

#define _SHORTMENU_MAXCOL		25

#define _OSD_LOGO_ROW			_MAINMENU_MAXROW
#define _OSD_LOGO_COL			_MAINMENU_MAXCOL

/*======================== CONSTANTS =========================================*/

#define _TITLE_ROW(x)			x
#define _MAINMENU_ROW(x)		x//(_TITLE_MAXROW + x)
#define _POPDOWNMENU_ROW(x)	x//(_TITLE_MAXROW + _MAINMENU_MAXROW + x)
#define _NOTE_ROW(x)			x//(_TITLE_MAXROW + _MAINMENU_MAXROW + _POPDOWNMENU_MAXROW + x)

#ifndef _ROW_HEIGHT
#if (_PANEL_TYPE == _AU_TTL_20_V4)
#define _ROW_HEIGHT 24
#else
#define _ROW_HEIGHT 32
#endif
#endif

#ifndef _ROW_COUNT
#define _ROW_COUNT _OSD_UMAIN_ROW
#endif

#define _tOSD_OSDMAP_COUNT  (_MAINMENU_MAXROW*_MAINMENU_MAXCOL+_MAINMENU_MAXROW+1)
#define _FONT_WID 	12//one font wide( pixel) 
#define _FONT_LEN 	18//one  font length ( pixel )
#define _FONT_H_COUNT	40
#define _FONT_V_COUNT	20
#define _PER_ROW_HEIGHT	18//PIXEL
#define _TITLEBACKGROUNDWINDOW_WID  (_FONT_H_COUNT * _FONT_WID)//  40 font wide( pixel) 
#define _TITLEBACKGROUNDWINDOW_LEN	( _FONT_V_COUNT * _FONT_LEN)//17  font length ( pixel )
#define _TITLELEFTWINDOW_WID		( 13* _FONT_WID)
#define _MAINMENUWINDOW_WID ( 13* _FONT_WID)
#define _TITLELEFTWINDOW_LEN		( 3* _FONT_LEN)
#define _FOLLOW_BNKLENGTH			14
#define _ARROW_BRACKET_WID			7
//#define _POPDOWN_WINDOW_HSTART
#define _REMAIN_ROW_COUNT	 ((_DISP_LEN/_PER_ROW_HEIGHT-_FONT_V_COUNT)/2


#ifndef _FONTTABLE_STARTADDRESS
#define _FONTTABLE_STARTADDRESS (_tOSD_OSDMAP_COUNT +  _ROW_COUNT + 1)
#endif

#ifndef _OSD_FONT_START_POSITION
#define _OSD_FONT_START_POSITION  (_tOSD_OSDMAP_COUNT +  _ROW_COUNT + 1)  // 3: For Vbi 32 row 
#endif

#ifndef _MAINMENU_COUNT
#define _MAINMENU_COUNT 6
#endif


#ifndef _TITLEBACKGROUNDWINDOW_HSTART
#define _TITLEBACKGROUNDWINDOW_HSTART  WXSTART(0x30, 0x00)//12// ((_DISP_WID-_TITLEBACKGROUNDWINDOW_WID) /2)// 0
#endif

#ifndef _TITLEBACKGROUNDWINDOW_HEND
#define _TITLEBACKGROUNDWINDOW_HEND WXEND(0x90, 0x085)//488//(_TITLEBACKGROUNDWINDOW_HSTART + _TITLEBACKGROUNDWINDOW_WID)//(_TITLEWINDOW_HSTART + _DISP_WID + 2)
#endif

#ifndef _TITLEBACKGROUNDWINDOW_VSTART
#define _TITLEBACKGROUNDWINDOW_VSTART WYSTART(0x00, 0x01)//8//((_DISP_LEN-_TITLEBACKGROUNDWINDOW_LEN)/2)//+_FONT_LEN)// 0
#endif

#ifndef _TITLEBACKGROUNDWINDOW_VEND
#define _TITLEBACKGROUNDWINDOW_VEND WYEND(0x85, 0x028)//408//(_TITLEBACKGROUNDWINDOW_VSTART + _TITLEBACKGROUNDWINDOW_LEN)//(_TITLEWINDOW_VSTART + _ROW_HEIGHT + 12)
#endif 








#ifndef _TITLELEFTWINDOW_HSTART
#define _TITLELEFTWINDOW_HSTART  0x0d//12//(_TITLEBACKGROUNDWINDOW_HSTART+1 )
#endif

#ifndef _TITLELEFTWINDOW_HEND
#define _TITLELEFTWINDOW_HEND WXEND(0x90, 0x85)//488//(_TITLELEFTWINDOW_HSTART + _TITLELEFTWINDOW_WID)
#endif

#ifndef _TITLELEFTWINDOW_VSTART
#define _TITLELEFTWINDOW_VSTART  WYSTART(0x00, 0x0B) //8//(_TITLEBACKGROUNDWINDOW_VSTART )// +_FONT_LEN/2)
#endif

#ifndef _TITLELEFTWINDOW_VEND
#define _TITLELEFTWINDOW_VEND WYEND(0x85, 0x0E)//44//(_TITLELEFTWINDOW_VSTART + _TITLELEFTWINDOW_LEN)
#endif




#ifndef _TITLERIGHTWINDOW_HSTART
#define _TITLERIGHTWINDOW_HSTART  0x0e//12//(_TITLELEFTWINDOW_HEND+2 )
#endif

#ifndef _TITLERIGHTWINDOW_HEND
#define _TITLERIGHTWINDOW_HEND WXEND(0x90, 0x85)//488//_TITLEBACKGROUNDWINDOW_HEND
#endif

#ifndef _TITLERIGHTWINDOW_VSTART
#define _TITLERIGHTWINDOW_VSTART  WYSTART(0x00, 0x05)//376//_TITLELEFTWINDOW_VSTART
#endif

#ifndef _TITLERIGHTWINDOW_VEND
#define _TITLERIGHTWINDOW_VEND WYEND(0x05, 0x25)//408//_TITLELEFTWINDOW_VEND
#endif





#ifndef _TITLEBACKGROUNDWINDOW_COLOR
#define _TITLEBACKGROUNDWINDOW_COLOR COLOR00(_CP_COLOR00)//(_CP_GRAY)//_CP_WHITE//_CP_GRAY
#endif


#ifndef _TITLELEFTWINDOW_COLOR
#define _TITLELEFTWINDOW_COLOR COLOR00(_CP_COLOR01)
#endif



#ifndef _TITLERIGHTWINDOW_COLOR
#define _TITLERIGHTWINDOW_COLOR (_CP_COLOR01)
#endif










#ifndef _MAINMENUWINDOW_HSTART
#define _MAINMENUWINDOW_HSTART 12//(_TITLEBACKGROUNDWINDOW_HSTART+1 )
#endif

#ifndef _MAINMENUWINDOW_HEND
#define _MAINMENUWINDOW_HEND 92//(_TITLELEFTWINDOW_HSTART + _MAINMENUWINDOW_WID)//_TITLELEFTWINDOW_HEND//(_MAINMENUWINDOW_HSTART + _DISP_WID + 2)
#endif

#ifndef _MAINMENUWINDOW_VSTART
#define _MAINMENUWINDOW_VSTART	48//(_TITLELEFTWINDOW_VEND+2)// _TITLEWINDOW_VEND
#endif

#ifndef _MAINMENUWINDOW_VEND
#if (_PANEL_TYPE == _AU_TTL_20_V4)
#define _MAINMENUWINDOW_VEND (_MAINMENUWINDOW_VSTART + _ROW_HEIGHT + 2)
#else
#define _MAINMENUWINDOW_VEND    372//(_TITLEBACKGROUNDWINDOW_VEND - _FONT_LEN*2-2)//(_MAINMENUWINDOW_VSTART + _ROW_HEIGHT + 12)
#endif //(_PCB_TYPE == _RTD2533V_VD2612_PREMIER_PCB)
#endif




#ifndef _MAINMENU_ITEM_WINDOW_HSTART
#define _MAINMENU_ITEM_WINDOW_HSTART 40//(_FIRSTER_ICON_START_COL*_FONT_WID+2)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _MAINMENU_ITEM_WINDOW_HEND
#define _MAINMENU_ITEM_WINDOW_HEND 85//(_MAINMENU_ITEM_WINDOW_HSTART + 5*_FONT_WID-4)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _MAINMENU_ITEM_WINDOW_VSTART
#define _MAINMENU_ITEM_WINDOW_VSTART 41//(_TITLELEFTWINDOW_VSTART+4)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _MAINMENU_ITEM_WINDOW_VEND
#define _MAINMENU_ITEM_WINDOW_VEND 80//(_TITLELEFTWINDOW_VEND - 4-2)// (_MAINMENUWINDOW_VEND + 4)
#endif




#ifndef _POPDOWN_WINDOW_HSTART
#define _POPDOWN_WINDOW_HSTART WXSTART(0x9C, 0x40)//102//(_MAINMENUWINDOW_HSTART)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _POPDOWN_WINDOW_HEND
#define _POPDOWN_WINDOW_HEND WXEND(0x30, 0x05)//482//(_MAINMENUWINDOW_HEND)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _POPDOWN_WINDOW_VSTART
#define _POPDOWN_WINDOW_VSTART WYSTART(0x40, 0x20)//52//(_TITLELEFTWINDOW_VEND+1)//(_MAINMENUWINDOW_VEND + 4)
#endif

#ifndef _POPDOWN_WINDOW_VEND
#define _POPDOWN_WINDOW_VEND WYEND(0x05, 0x24)//84//(_POPDOWN_WINDOW_VSTART + _FONT_LEN/2)// (_MAINMENUWINDOW_VEND + 4)
#endif








#ifndef _MAINMENUWINDOW_COLOR
#define _MAINMENUWINDOW_COLOR COLOR00(_CP_COLOR01)
#endif

#ifndef _NOTEWINDOW_HSTART
#define _NOTEWINDOW_HSTART	(_TITLEBACKGROUNDWINDOW_HSTART+1)// 0
#endif

#ifndef _NOTEWINDOW_HEND
#define _NOTEWINDOW_HEND _TITLEBACKGROUNDWINDOW_HEND//(_NOTEWINDOW_HSTART + _DISP_WID + 2)// + 25
#endif

#ifndef _NOTEWINDOW_VSTART
#define _NOTEWINDOW_VSTART (_MAINMENUWINDOW_VEND+2)//(_DISP_LEN - _ROW_HEIGHT * 2)
#endif

#ifndef _NOTEWINDOW_VEND
#if (_PANEL_TYPE == _AU_TTL_20_V4)
#define _NOTEWINDOW_VEND (_NOTEWINDOW_VSTART + _ROW_HEIGHT * 2 + 16)
#else
#define _NOTEWINDOW_VEND _TITLEBACKGROUNDWINDOW_VEND//(_NOTEWINDOW_VSTART + _ROW_HEIGHT * 2 + 8)
#endif



#endif

#ifndef _NOTEWINDOIW_COLOR
#define _NOTEWINDOIW_COLOR COLOR00(_CP_GRAY)//(_CP_BLUE)
#endif

#ifndef _MAINMENU_ITEMWIDTH

#define _MAINMENU_ITEMWIDTH 128//(_FONT_WID*11)// DISP_WID / 6
#define _SUBMENU_SPACE 		(_FONT_WID*2)// DISP_WID / 6

#endif

#ifndef _MAINMENU_ACTIVE_COLOR
#define _MAINMENU_ACTIVE_COLOR COLOR00(_CP_COLOR00)
#endif

#ifndef _MAINMENU_INACTIVE_COLOR
#define _MAINMENU_INACTIVE_COLOR COLOR00(_CP_WHITE)
#endif

#ifndef _POPDOWN_WINDOW_COLOR
#define _POPDOWN_WINDOW_COLOR COLOR00(_CP_COLOR03)
//#define _POPDOWN_WINDOW_COLOR COLOR00(_CP_COLOR02)
#endif


//SOURCE SELECT WINDOW
#define _SOURCE_BACKGROUND_WINDOW_HSTART		4
#define _SOURCE_BACKGROUND_WINDOW_HEND		(_SOURCE_BACKGROUND_WINDOW_HSTART+_FONT_WID*12 )
#define _SOURCE_BACKGROUND_WINDOW_VSTART		0
#define _SOURCE_BACKGROUND_WINDOW_VEND			(_SOURCE_BACKGROUND_WINDOW_VSTART + _FONT_LEN*15+_FONT_LEN/2)

#define _SOURCE_TITLE_WINDOW_HSTART		_SOURCE_BACKGROUND_WINDOW_HSTART
#define _SOURCE_TITLE_WINDOW_HEND		_SOURCE_BACKGROUND_WINDOW_HEND
#define _SOURCE_TITLE_WINDOW_VSTART		(_SOURCE_BACKGROUND_WINDOW_VSTART+_FONT_LEN/2)
#define _SOURCE_TITLE_WINDOW_VEND		(_SOURCE_TITLE_WINDOW_VSTART+1*_FONT_LEN)

#define _SOURCE_FOREGROUND_WINDOW_HSTART	(_SOURCE_BACKGROUND_WINDOW_HSTART+_FONT_WID/2)
#define _SOURCE_FOREGROUND_WINDOW_HEND	(_SOURCE_FOREGROUND_WINDOW_HSTART+ _FONT_WID*11)
#define _SOURCE_FOREGROUND_WINDOW_VSTART	(_SOURCE_TITLE_WINDOW_VEND+6)
#define _SOURCE_FOREGROUND_WINDOW_VEND		(_SOURCE_FOREGROUND_WINDOW_VSTART+_FONT_LEN*13)



//Channel Edit Window----------------------------------------
#define _CHANNELEDIT_BACKGROUND_WINDOW_HSTART		4
#define _CHANNELEDIT_BACKGROUND_WINDOW_HEND		(_CHANNELEDIT_BACKGROUND_WINDOW_HSTART+_FONT_WID*34)
#define _CHANNELEDIT_BACKGROUND_WINDOW_VSTART		0
#define _CHANNELEDIT_BACKGROUND_WINDOW_VEND		(_FONT_LEN*17+_FONT_LEN/2)

#define _CHANNELEDIT_TITLE_WINDOW_HSTART	_CHANNELEDIT_BACKGROUND_WINDOW_HSTART
#define _CHANNELEDIT_TITLE_WINDOW_HEND		_CHANNELEDIT_BACKGROUND_WINDOW_HEND
#define _CHANNELEDIT_TITLE_WINDOW_VSTART	(_CHANNELEDIT_BACKGROUND_WINDOW_VSTART+_FONT_LEN/2)//_TITLERIGHTWINDOW_VSTART
#define _CHANNELEDIT_TITLE_WINDOW_VEND		(_CHANNELEDIT_TITLE_WINDOW_VSTART+_FONT_LEN+_FONT_LEN/2+4) //_TITLERIGHTWINDOW_VEND

#define _CHANNELEDIT_FOREGROUND_WINDOW_HSTART		(_CHANNELEDIT_BACKGROUND_WINDOW_HSTART+_FONT_WID/2)
#define _CHANNELEDIT_FOREGROUND_WINDOW_HEND		(_CHANNELEDIT_FOREGROUND_WINDOW_HSTART+_FONT_WID*33)//(_CHANNELEDIT_BACKGROUND_WINDOW_HEND-_FONT_WID/2)
#define _CHANNELEDIT_FOREGROUND_WINDOW_VSTART		(_CHANNELEDIT_TITLE_WINDOW_VSTART+2*_FONT_LEN+4)
#define _CHANNELEDIT_FOREGROUND_WINDOW_VEND		(_CHANNELEDIT_FOREGROUND_WINDOW_VSTART+_FONT_LEN*14)


//===============================================


#ifndef _TEXTBITMAP_SPACE
#define _TEXTBITMAP_SPACE 12
#endif

#ifndef	_MAXLAYER_NUM
#define _MAXLAYER_NUM  3
#endif

/*======================== MACROS ============================================*/
#define FONTBYTE0(x)                    HIBYTE(0x1000|x),LOBYTE(0x1000|x)
#define FONTBYTE1(x)                    HIBYTE(0x5000|x),LOBYTE(0x5000|x)
#define FONTBYTE2(x)                    HIBYTE(0x9000|x),LOBYTE(0x9000|x)
#define FONTALLBYTE(x)                  HIBYTE(0xD000|x),LOBYTE(0xD000|x)
#define WINDOWBYTE0(x)                  HIBYTE(0x0000|x),LOBYTE(0x0000|x)
#define WINDOWBYTE1(x)                  HIBYTE(0x4000|x),LOBYTE(0x4000|x)
#define WINDOWBYTE2(x)                  HIBYTE(0x8000|x),LOBYTE(0x8000|x)
#define WINDOWALLBYTE(x)                HIBYTE(0xC000|x),LOBYTE(0xC000|x)
#define FRAMEBYTE0(x)                   WINDOWBYTE0(x)
#define FRAMEBYTE1(x)                   WINDOWBYTE1(x)
#define FRAMEBYTE2(x)                   WINDOWBYTE2(x)
#define FRAMEALLBYTE(x)                 WINDOWALLBYTE(x)
#define WINNO(x)                        x
#define ROW(x)                          x
#define COL(x)                          x
#define WIDTH(x)                        x
#define HEIGHT(x)                       x
#define LENGTH(x)                       x
#define FGCOLOR(x)                      x
#define BGCOLOR(x)                      x
#define COLOR00(x)                      x
#define COLOR01(x)                      x
#define COLOR10(x)                      x
#define COLOR11(x)                      x
#define XSTART(x)                       x
#define YSTART(x)                       x
#define XEND(x)                         x
#define YEND(x)                         x

/*======================== TYPES =============================================*/

typedef enum  
{ 

     	_CP_BLACK = 0,
	_CP_WHITE,
	_CP_RED,
	_CP_COLOR00,
	_CP_COLOR01,
	_CP_COLOR02,
	_CP_COLOR03,
	_CP_COLOR04,
	_CP_GRAY,
	_CP_COLOR05,
	_CP_COLOR06,
	_CP_COLOR07,
	_CP_COLOR08,
	_CP_COLOR09,
	_CP_DEEPBLUE,
	_CP_COLOR10
//--------------------



/*
	_CP_BLACK = 0,
	_CP_COLOR06, //_CP_RED, 
	_CP_WHITE, 
	_CP_BLUE,
	_CP_GREEN, 
	_CP_YELLOW, 
	_CP_DEEPBLUE, 
	_CP_GRAY, 
	_CP_COLOR00,
	_CP_COLOR01,
	_CP_LIGHTBLUE,
	_CP_COLOR02, 
	_CP_COLOR03, 
	_CP_COLOR04, 
	_CP_COLOR05, 
	_CP_RED //_CP_COLOR06

	*/
}ColorPaletteDef;

/*

{ 
	_CP_BLACK = 0,
	_CP_COLOR06,//_CP_RED, 
	_CP_WHITE, 
	_CP_BLUE,
	_CP_GREEN, 
	_CP_YELLOW, 
	_CP_DEEPBLUE, 
	_CP_GRAY, 
	_CP_COLOR00,
	_CP_COLOR01,
	_CP_LIGHTBLUE,
	_CP_COLOR02, 
	_CP_COLOR03, 
	_CP_COLOR04, 
	_CP_COLOR05, 
	_CP_RED,//_CP_COLOR06
} ColorPaletteDef;

*/
/*======================== VARIABLES =========================================*/

#define _OSD_MENU_FG_COLOR				_CP_COLOR05	//Character, item etc.
#define _OSD_MENU_BG_COLOR				_CP_COLOR01	//Main menu.
#define _OSD_MENU_DESCRIPTION_COLOR		_CP_DEEPBLUE	//Source, mode etc.
#define _OSD_BAR_FG_COLOR					_CP_COLOR06//modified by xyw 070929
#define _OSD_ITEM_ENABLED_COLOR			_OSD_BAR_FG_COLOR
#define _OSD_ITEM_DISABLED_COLOR			_CP_COLOR02

#define _FONT_WIDTH							(12)	//char width is 12 pixel
#define _FONT_HEIGH								(18)	//char heigh is 18 pixel


//Position Osd Page title name column position, such as image, misc,
#define _WIN_ITEMVAL_CHAR							12	//info win character numbers
#define _WIN_ITEMVAL_WIDTH						(_TITLEBACKGROUNDWINDOW_HEND-_TITLEBACKGROUNDWINDOW_HSTART)
#define _WIN_ITEMVAL_XS							_TITLEBACKGROUNDWINDOW_HSTART
#define GET_WIN_ITEMVAL_PREBLANK(language, ptr)	(_WIN_ITEMVAL_XS + (_WIN_ITEMVAL_WIDTH - COsdFxCalTextWidth(language, ptr)))/2
//Position Item Value column position
#define _WIN_TITLE_CHAR							12	//info win character numbers
#define _WIN_TITLE_WIDTH							(_TITLEBACKGROUNDWINDOW_HEND-_TITLEBACKGROUNDWINDOW_HSTART)
#define _WIN_TITLE_XS								_TITLEBACKGROUNDWINDOW_HSTART
#define GET_WIN_TITLE_PREBLANK(language, ptr)		(_WIN_TITLE_XS + (_WIN_TITLE_WIDTH - COsdFxCalTextWidth(language, ptr)))/2

//tTitleBackgroundWindowStyle

//window position data
//info win position data
//osd H position from left side of panel
#define  _OSD_H_INFO_DELAY 					(_DISP_WID  - _WIN_INFO_WIDTH)
#define  _OSD_V_INFO_DELAY 						(0)
//info window
#define _WIN_INFO_CHAR							12	//info win character numbers
#define _WIN_INFO_WIDTH						DOUBLE(_WIN_INFO_CHAR*_FONT_WIDTH)
#define _WIN_INFO_XS							0
#define GET_WIN_INFO_PREBLANK(language, ptr)	(_WIN_INFO_XS + (_WIN_INFO_WIDTH/2 - COsdFxCalTextWidth(language, ptr)) - 4)/2
#define _INFOBG_WINDOW_HSTART				_WIN_INFO_XS
#define _INFOBG_WINDOW_HEND					(_WIN_INFO_WIDTH-4)//-4: right side is cut, unknow reason
#define _INFOBG_WINDOW_VSTART				(_FONT_HEIGH)
#define _INFOBG_WINDOW_VEND					(_INFOBG_WINDOW_VSTART+_FONT_HEIGH)//caculate by program
//nosignal win position data
//nosignal window
#define _WIN_NOSIGNAL_CHAR					30	//info win character numbers
#define _WIN_NOSIGNAL_LINES					7	//info win character numbers
#define _WIN_NOSIGNAL_WIDTH					(_WIN_NOSIGNAL_CHAR*_FONT_WIDTH)
#define _WIN_NOSIGNAL_LEN						(_WIN_NOSIGNAL_LINES*_FONT_HEIGH)
#define _WIN_NOSIGNAL_XS						0
#define GET_WIN_NOSIGNAL_PREBLANK(language, ptr)	(_WIN_NOSIGNAL_XS + (_WIN_NOSIGNAL_WIDTH - COsdFxCalTextWidth(language, ptr)))/2
#define _NOSIGNALBG_WINDOW_HSTART			_WIN_NOSIGNAL_XS
#define _NOSIGNALBG_WINDOW_HEND				_WIN_NOSIGNAL_WIDTH
#define _NOSIGNALBG_WINDOW_VSTART			(0)
#define _NOSIGNALBG_WINDOW_VEND				(_INFOBG_WINDOW_VSTART+_WIN_NOSIGNAL_LEN)//caculate by program
//osd H position from left side of panel
#define  _OSD_H_NOSIGNAL_DELAY 				(_DISP_WID  - _WIN_NOSIGNAL_WIDTH)/2
#define  _OSD_V_NOSIGNAL_DELAY 				(_DISP_LEN - _WIN_NOSIGNAL_LEN)/2

//short menu H position from left side of panel
#define  _OSD_H_SHORTMENU_DELAY 				(_DISP_WID-DOUBLE(_SHORTMENU_MAXCOL*_FONT_WID))/2
#define  _OSD_V_SHORTMENU_DELAY 				(_DISP_LEN - DOUBLE(4*18))


#if _POWER_ON_LOGO_SUPPROT==_ON	

#define _WIN_POWERON_LOGO_CHAR					46	//info win character numbers
#define _WIN_POWERON_LOGO_LINES					6	//info win character numbers
#define _WIN_POWERON_LOGO_WIDTH					(_WIN_POWERON_LOGO_CHAR*_FONT_WIDTH)
#define _WIN_POWERON_LOGO_LEN						(_WIN_POWERON_LOGO_LINES*_FONT_HEIGH)

#define  _OSD_POWERON_LOGO_H_DELAY 				(_DISP_WID  - _WIN_POWERON_LOGO_WIDTH*2)/2
#define  _OSD_POWERON_LOGO_V_DELAY 				(_DISP_LEN - _WIN_POWERON_LOGO_LEN*2)/2
#endif



#define _INFO_ROW		1
#define _INFO_COL		0

#if _PAL_MASK_HUE
#if _PICT_EFFECT_ONMENU_SUPPORT
#define _MASK_ITEM_HUE			6	//hue
#else	//#if _PICT_EFFECT_ONMENU_SUPPORT
#define _MASK_ITEM_HUE			5	//hue
#endif	//#if _PICT_EFFECT_ONMENU_SUPPORT
#define GET_CP_MASK_ITEM()		_CP_COLOR02
#endif
#if _OSD_2X
#if _PCB_TYPE == _PCB_PT2662C1B
#define _MASK_ITEM_OSD_H		1	//hue
#define _MASK_ITEM_OSD_V		2	//hue
#else
#define _MASK_ITEM_OSD_H		2	//hue
#define _MASK_ITEM_OSD_V		3	//hue
#endif
#endif

#define _CONTENT_U_ROW		5
#define _CONTENT_U_COL			3
#define _CONTENT_U_HEIGH		7
#define _CONTENT_U_WIDTH		20
#define _ARROW_U_ROW			5
#define _ARROW_U_COL			2
#define _ARROW_U_HEIGH		_CONTENT_U_HEIGH
#define _ARROW_U_WIDTH		1

#define _CONTENT_F_ROW		1/// 3
#define _CONTENT_F_COL			3
#define _CONTENT_F_HEIGH		(_OSD_FMAIN_ROW-2)
#define _CONTENT_F_WIDTH		20
#define _ARROW_F_ROW			_CONTENT_F_ROW
#define _ARROW_F_COL			2
#define _ARROW_F_HEIGH			_CONTENT_F_HEIGH
#define _ARROW_F_WIDTH		1

#define _VALUE_U_ROW			12
#define _VALUE_U_COL			0///2
#define _VALUE_U_HEIGH			1
#define _VALUE_U_WIDTH			_OSD_UMAIN_COL//24
#define _VALUE_F_ROW			(_OSD_FMAIN_ROW-1)
#define _VALUE_F_COL			0///2
#define _VALUE_F_HEIGH			1
#define _VALUE_F_WIDTH			_OSD_UMAIN_COL//24

#define _NOTE_U_ROW			13
#define _NOTE_U_COL				2


#define _TITLE_U_ROW			4
#define _TITLE_U_COL			3
#define _TITLE_U_HEIGH			1
#define _TITLE_U_WIDTH			24

#define _DESCRIBLE_F_ROW		0
#define _DESCRIBLE_F_COL		2

#define GET_CP_HINT_NORMAL()	(_CP_WHITE)
#define _CP_BG					(_CP_BLACK)

#define _CP_MENU_SLIDER		(_CP_COLOR05)


#if (_PCB_TYPE==_PCB_PT2662F1A ||_PCB_TYPE==_PCB_PT2662F1C)
#if _TYPEOF_INPUT == _TYPEOF_INPUT_8SRC
#define _SRC_COL_WIDTH			10	//review string if you change this
#define _ARROW_SRC_U_HEIGH	_SRC_MAP_ROW
#endif
#endif


#ifdef _OSDPARAMETER_C
    #define EXTERN
#else
    #define EXTERN   extern
#endif
	EXTERN UINT8 code tOSD_OSDMAP_INF2[][2] ;//xyw after

#if _POWER_ON_LOGO_SUPPROT==_ON
	EXTERN UINT8 code Palette_logo[];
#endif

	EXTERN UINT8 code Palette_7_4bit[];

	EXTERN WindowStyle code tTitleBackgroundWindowStyle;//20061227	
	EXTERN WindowStyle code tTitleLeftWindowStyle;
	EXTERN WindowStyle code tTitleRightWindowStyle;
	
	EXTERN WindowStyle code tMainMenuItemWindowStyle;
	//EXTERN WindowStyle code tPopdownWindowStyle;
	
	EXTERN WindowStyle code tPopdownMenuItemWindowStyle;
#if _TIMER_PAGE_SUPPORT
	EXTERN WindowStyle code tTimerPageTimeSegmentHourWindowStyle;									
#endif	//#if _TIMER_PAGE_SUPPORT

	EXTERN UINT8 code tOsdRowCommand0[];
	EXTERN UINT8 code tOsdRowCommand1[];
	EXTERN UINT8 code tOsdRowCommand2[];
	EXTERN UINT8 code tOsdRowCommand3[];
	EXTERN UINT8 code tOsdRowCommand4[];
	EXTERN UINT8 code tOsdRowCommand5[];
	EXTERN UINT8 code tOsdRowCommand6[];
	EXTERN UINT8 code tOsdRowCommand7[];
	EXTERN UINT8 code  tOsdRowCommand8[];
	
#if 0//(SKYWORTH_DISPLAYPROTECT == _ENABLE)

	EXTERN UINT8 code tOsdRowCommand9[];

#endif


	EXTERN code UINT8 tOsdRowCommand9[];


#if (_POWER_ON_LOGO_SUPPROT)
	EXTERN code UINT8 tOsdRowCommand8[];

#endif	


	
	EXTERN WindowStyle code tOsdNoSignal_BackgroundWindowStyle;
	EXTERN WindowStyle code tOsdNoSignal_ForegroundWindowStyle;
	
	
	
	EXTERN WindowStyle code tOsdSignalSource_BackgroundWindow;
	EXTERN WindowStyle code tOsdSignalSource_MoveWindow;
	EXTERN WindowStyle code tOsdSignalSource_TitleWindow ;
	EXTERN WindowStyle code tOsdDisplay_ModeWindow;
				
	EXTERN WindowStyle code tOsdICMMenu_BackgroundWindow;
	EXTERN WindowStyle code tOsdICMMenu_ForegroundWindow;
	EXTERN WindowStyle code tOsdICMMenu_MoveWindow;

	// ICM menu for D-SUB & DVI
	EXTERN WindowStyle code tOsdICMMenu_BackgroundWindow1;
	EXTERN WindowStyle code tOsdICMMenu_ForegroundWindow1;
	EXTERN WindowStyle code tOsdICMMenu_MoveWindow1;

// Parent Control

	EXTERN WindowStyle code tOsdVolume_BottomWindow;//tommy add for volume window

	//Factory Menu	2006.06.12
#if(_FACTORY_MENU_ENABLE)
	EXTERN WindowStyle code tOsdFactoryMenu_BackgroundWindow;
	EXTERN WindowStyle code tOsdFactoryMenu_ForegroundWindow;
	EXTERN WindowStyle code tOsdFactoryMenu_MoveWindow;

	EXTERN WindowStyle code tOsdFactorySubMenu_BackgroundWindow;
	EXTERN WindowStyle code tOsdFactorySubMenu_ForegroundWindow;
#endif	

#if _PCB_TYPE==_PCB_PT2660_KTC57924G
	EXTERN WindowStyle code tOsdItem_SelectWindow;
#endif	//#if _PCB_TYPE==_PCB_PT2660_KTC57924G

#undef EXTERN
#endif

/*======================== FUNCTIONS =========================================*/

#endif // #ifndef _OSDPARAMETER_H

/**
 * 
 * @}
 */

