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_