www.pudn.com > iMagic_2006_0428_v098r23.rar > InfIduRep.h


/* 
**************************************************************** 
*                      Magic Pixel Inc. 
* 
*    Copyright 2004, Magic Pixel Inc., HsinChu, Taiwan 
*                    All rights reserved. 
* 
* 
* 
* Filename:    INFIDUREF.H 
* 
* Programmer:    Chiung-Hua Lee 
*                MPX E120 division 
* 
* Created: 07/28/2004 
* 
* Description: Class to access lcd-dependent capabilities. 
* 
*         
* Change History (most recent first): 
*     <1>     07/28/2004    C.H.Lee    first file 
**************************************************************** 
*/ 
// 
// $Id$ 
// 
 
#ifndef	__INFIDUREF_H_ 
#define	__INFIDUREF_H_ 
#include	"graphic.h" 
 
enum	IDUPANELMODEL{ 
	iduDefaultModel		=	0, 
	// AU group 
	iduH020HN01_V1_Model 	= 1, 
	iduH018IN03_Model 		= 2, 
	iduH018IN03_SUB_Model = 3, 
	// Samsung group 
	iduLTS222Q1_HF1_Model	=	11, 
	iduLTS200QC_H1L_Model	=	12, 
	iduLTS222QV_F01_Model	=	13, 
	// Sharp 
	iduLQ022B8UD04_Model	=	21, 
	// Toppoly 
	iduTD022SHEB2_Model	=	31,	 
}; 
typedef	WORD	IDULCDModel; 
 
enum{ 
	iduPanelPowerOff	=	0, 
	iduPanelPowerOn		=	1, 
	iduPanelDisplayOff=	2, 
	iduPanelDisplayOn	=	3, 
	iduPanelStandby		=	4, 
	iduPanelWakeup		=	iduPanelDisplayOn 
}; 
typedef BYTE IDUPanelStatus; 
 
// IDURep module result code 
#define	IDURepResultCodeBase		0x00000120 
enum{ 
	nullRepObjectErr = 1+IDURepResultCodeBase,	// iduRep object is not allocated 
	statusTransferErr = 2+IDURepResultCodeBase	// not transfer panel status from correct status 
}; 
 
// backup partial only for performance and space issue 
struct _panelinfo { 
  // main window info 
  DWORD ID_MW_ON_REG; 
  DWORD ID_MW_CFG_REG;   
  // sub window info 
  DWORD ID_SW_ON_REG; 
  DWORD ID_SW_CFG_REG; 
  DWORD ID_SW_DSP_REG; 
  DWORD ID_SW_DSZ_REG; 
  // mixer mode info 
  DWORD ID_MIX_MODE_REG; 
  DWORD ID_MIX_BG_REG; 
  DWORD ID_MIX_KEY_REG; 
  DWORD ID_MIX_ALPHA_REG; 
  // image window info 
  DWORD dwImageWindowSize; 
  DWORD dwImageWindowStart; 
}; 
typedef struct _panelinfo panelinfo; 
 
// LCD dependent    
struct _idurep { 
	SBYTE   status; 
	BYTE    type; 
	BYTE    clock; 
	BYTE    drai; 
	STIPIMAGESIZE size; 
	STIPRGBCOLOR  stImageBG; 
	   
    BYTE    hFacMul; 
    BYTE    hFacDiv; 
    BYTE    vFacMul; 
    BYTE    vFacDiv; 
     
    BYTE    *pbMainWindow1Addr; 
    BYTE    *pbMainWindow2Addr;  
     
    BYTE    *pbSubWindow1Addr; 
    BYTE    *pbSubWindow2Addr; 
    DWORD   dwFrameBufSize; 
    panelinfo stPanelInfo; // customized info 
   
	IDUErr (*iduconfiguration)(struct _idurep*); 
	IDUErr (*iduramaddress)(struct _idurep*, WORD, WORD);	 
	IDUErr (*idupoweron)(struct _idurep*); 
	IDUErr (*idudisplayon)(struct _idurep*); 
	IDUErr (*idudisplayoff)(struct _idurep*); 
	IDUErr (*idustandby)(struct _idurep*); 
	IDUErr (*iduwakeup)(struct _idurep*); 
	IDUErr (*idugetpanelstatus)(struct _idurep*, SBYTE*); 
	IDUErr (*idugetpanelwidth)(struct _idurep*, WORD*); 
	IDUErr (*idugetpanelheight)(struct _idurep*, WORD*);	 
}; 
typedef struct _idurep idurep; 
 
#endif	// __INFIDUREF_H_