/*===========================================================
 * Copyright (c)      Realtek Semiconductor Corporation, 2005
 * All rights reserved.
 * ========================================================== */

/*==================== File Description ===================== */
/**
 * @file
 * 	This file is osd implement declaration for mode related functions.
 *
 * @author 	$Author: forster $
 * @date 	$Date: 2006-02-06 14:03:22 +0800 (?Ÿæ?ä¸€, 06 äºŒæ? 2006) $
 * @version $Revision: 2 $
 */

/**
 * @addtogroup osd
 * @{
 */

#ifndef _OSDFUNCTION_H
#define _OSDFUNCTION_H
/*===================== Module dependency  ================== */
#include "Core\Header\maindef.h"
#if (_CUSTOMER_TYPE == _SKYWORTH)
#include "Customer\Header\skyworth\osdobjectdef.h"
#endif
#include "Core\Header\global.h"


//-----------------------------sva----------------
// Bar value showing type.	Add by zhang_dc
//-------------------------------------------------
#define _SHOW_PERCENT			0
#define _SHOW_RAW				1


#define _SHOW_1                         			(0 << 4)
#define _SHOW_2                         			(1 << 4)
#define _SHOW_3                         			(2 << 4)
#define _SHOW_4                         			(3 << 4)
#define _SHOW_5                         			(4 << 4)



// Definitions of OSD Slider Function Used by COsdFxSlider()
//--------------------------------------------------
#define _SLIDER_RESOLUTION              		(6)
#define _SLIDER_START_ADDRESS       		(_OTHER_FONT_ADDRESS+0x00)//(0xB0)
#define _L_BAR                          			(_SLIDER_START_ADDRESS+0x00)
#define _R_BAR                          			(_SLIDER_START_ADDRESS+0x0A)
#define _EMPTY_BAR						(_SLIDER_START_ADDRESS+0x01)
#define _1_BAR							(_SLIDER_START_ADDRESS+0x02)
#define _2_BAR							(_SLIDER_START_ADDRESS+0x03)
#define _3_BAR							(_SLIDER_START_ADDRESS+0x04)
#define _4_BAR							(_SLIDER_START_ADDRESS+0x05)
#define _5_BAR							(_SLIDER_START_ADDRESS+0x06)
#define _6_BAR							(_SLIDER_START_ADDRESS+0x07)
#define _7_BAR							(_SLIDER_START_ADDRESS+0x08)
#define _8_BAR							(_SLIDER_START_ADDRESS+0x09)


//--------------------------------------------------

//--------------------------------------------------

//--------------------------------------------------






/*=======================  Types ===================== */

/*======================== Definitions ====================== */
//--------------------------------------------------
// Definitions of Different OSD Map Type
//--------------------------------------------------
#define _OSD_MAP0				0
#define _OSD_MAP1				1
#define _OSD_MAP2				2
#define _OSD_MAP3				3
#define _OSD_MAP4				4
#define _OSD_MAP5				5
#define _OSD_MAP6				6
#define _OSD_MAP7				7
#define _OSD_MAP8				8
#define _OSD_MAP9				9
#if _TYPEOF_OSD_KONSTA			//dong add 20081031
#define _OSD_MAPA				10
#define _OSD_MAPB				11
#endif

//--------------------------------------------------
// Definations of Write Byte
//--------------------------------------------------
#define _WRITE_BYTE0			0
#define _WRITE_BYTE1			1
#define _WRITE_BYTE2			2
#define _WRITE_BYTEALL			3

/*========================== Variables ====================== */

/*=================== Local Functions Phototype ==============*/

/*=========================== Functions ===================== */

// Initialize OSD
void COsdInitialize(void);
void COsdFxMapSetting(UINT8 ucOsdmaptype);
//void COsdFxInitExtendLevelWindow(ItemThreeLevelDialog* pItemThreeLevelDialog);


// Load font and bitmap function
//void COsdFxLoadVLCFont(UINT8 code *pArray, UINT16 usStart, UINT16 usLength);
//void COsdFxLoadAbsAddrVLCFont(UINT8 code *pArray, UINT16 usStart, UINT16 usLength);
//void COsdLoadFont(UINT8 code *pArray, UINT16 usStart, UINT16 usLength);
//void COsdFxLoadBitmap(UINT8 code *array ,UINT32 addr);
//void COsdFxLoad256Palette(UINT8 code *array);
//void COsdDispFirstTimeLoadFont(void);
#if _ADD_CHINESE
//void COsdLoadfontLoadChineseBankFont(UINT8 ucBank);
#if(_CHINESE_FONT_TYPE == _CH_FONT_2X1)
void COsdDispLoadChineseFont(UINT8 ucTmpMain); 
#endif
#endif



#if  0
void COsdFxLoadVbiFont(void);
void COsdVbiColorPalette(void);
#endif

//UINT8 COsdFxGetMapSetting();
// Enable/Disable OSD function
void COsdFxEnableOsd(void);
void COsdFxDisableOsd(void);
//void COsdFxEnableOsdWithBitmap(void);

//
//void COsdFxReset();

// The operation of Window
void COsdFxDrawWindow(WindowStyle * pStyle);
//void COsdFxMoveWindow(UINT8 ucWinNumber, ItemPosition* stPos);
void COsdFxMoveWindow(WindowStyle * pStyle,ItemPosition* stPos);//modified by xyw 080604
void COsdFxCloseWindow(UINT8 ucWinNumber);
void COsdFxCloseAllWindow(void);
//void COsdFxChnageWindowColor(UINT8 unWindowIndex, UINT8 ucColorIndex);
void	COsdFxSetWinRefPos(UINT16 uiXPos, UINT16 uiYPos);
//

// Store font and blank command into Rtd2620
//void COsdFxLoadChar(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength, UINT8 ucForegroundColor, UINT8 ucBackgroundColor, UINT8 ucSelChar);
void COsdFxLoadText(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength, UINT8 ucForegroundColor, UINT8 ucBackgroundColor, UINT8 ucSelect, UINT8 *pArray);
 
//void COsdFxLoadIcon(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength, UINT8 *pArray);
void COsdFxLoadIcon(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength, UINT8 ucType, UINT8 *pColor, UINT8 *pArray);
UINT8 COsdFxLoadBlankCmd(UINT8 ucRow, UINT8 ucCol, UINT16 ucLength);
void COsdFxClearText(UINT8 ucRow,UINT8 ucCol, UINT8 ucHeight, UINT8 ucWidth);
void COsdFxChange1bitColor(UINT8 ucRow, UINT8 ucCol, UINT8 ucSizeH, UINT8 ucSizeW, UINT8 ucForegroundColor, UINT8 ucBackgroundColor);
void COsdFxChange2bitColor(UINT8 ucRow, UINT8 ucCol, UINT8 ucSizeH, UINT8 ucSizeW, UINT8 ucColor0, UINT8 ucColor1, UINT8 ucColor2, UINT8 ucColor3);
//void COsdFxChange4bitColor(UINT8 ucRow, UINT8 ucCol, UINT8 ucSizeH, UINT8 ucSizeW);
#if(!_TYPEOF_OSD_KONSTA)
void COsdFxChange4bitLUTColor(BYTE ucRow, BYTE ucCol, BYTE ucSizeW, BYTE ucSizeH, BYTE ucColor0);
#endif
void COsdFxCalcStartAddress(UINT8 ucRow, UINT8 ucCol, UINT8 ucIndicate);
UINT8 COsdFxCalBlankCmdCount(UINT16 ucBKLength);
UINT8 COsdFxCalTextCount(UINT8 ucSelect, UINT8 *pArray);
UINT16 COsdFxCalTextWidth(UINT8 ucSelect, UINT8 *pArray);
 UINT8 COsdFxFontWidthLength(UINT8 ucFont);
//UINT8 COsdFxCalcMenuItemPos(UINT8 ucItemNo);
//
void COsdFxShowSubMenuItem(MenuItem *pMenuItem, ItemPosition* stMovePos);
#if _TYPEOF_OSD_KONSTA     //dong alter 20081014
void COsdFxFullSlider(UINT8 ucRow, UINT8 ucCol, UINT8 sliderlen, ItemSlider* pItemSlider, bit active);
#else
void COsdFxFullSlider(UINT8 ucRow, UINT8 ucCol, UINT8 sliderlen, ItemSlider* pItemSlider);
#endif
void COsdFxFullSlider1(UINT8 ucRow, UINT8 ucCol, ItemSlider1* pItemSlider1,UINT8 active);
//void COsdFxFullSlider1(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength, ItemSlider* pItemSlider, UINT8 ucMin, UINT8 ucMax, UINT8 ucMid);
void COsdDispFullSlider(BYTE ucRow, BYTE ucCol, BYTE ucLength, bit ucValueType,ItemSlider* pItemSlider);
void COsdFxTvShowFrequencySlider(UINT8 row, UINT8 col, UINT16 freq);

void COsdFxFullSlider2(UINT8 ucRow, UINT8 ucCol, ItemSlider2* pItemSlider2, UINT8 active);
void COsdFxSlider2(UINT8 ucRow, UINT8 ucCol, UINT8 ucLength, UINT8 ucValue, UINT8 ucMax, UINT8 ucMin, UINT8 ucColor);

void COsdFxLoadBracketText(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength,UINT8 ucType,  UINT8 ucForegroundColor, UINT8 ucBackgroundColor, UINT8 ucSelect, UINT8 *pArray);
//void COsdFxLoadBracketText1(UINT8 ucRow, UINT8 ucCol, UINT16 ucBKLength, UINT8 ucLength, UINT8 ucForegroundColor, UINT8 ucBackgroundColor, UINT8 ucSelect, UINT8 *pArray);

void COsdFxShowNumber(UINT8 ucRow, UINT8 ucCol, UINT32 ucValue, UINT8 ucPar, UINT8 ucColor);
void COsdFxHLine(UINT8 ucRow, UINT8 ucCol, UINT8 ucLength, UINT8 ucValue, UINT8 ucIndicate);
void COsdFxSetOsdFrameCtrlCommand(void);
//void COsdFxSetVbiFrameCtrlCommand(void);
void COsdFxSetMap(void);
void COsdColorPalette(BYTE *pColorPaletteArray);
//yf_zhang 2007-5-22 15:21
void COsdFx2bitSlider(UINT8 ucRow, UINT8 ucCol, UINT8 ucLength, UINT8 ucValue, UINT8 ucMax, UINT8 ucMin);

void COsdFxSetOsdSizeDouble(BYTE ucSize);
void COsdFxSlider(BYTE ucRow, BYTE ucCol, BYTE ucLength, BYTE usValue, BYTE usMax, BYTE usMin);

#endif // #ifndef _OSDFUNCTION_H

/**
 *
 * @}
 */

