📄 ipu_adc.h
字号:
//------------------------------------------------------------------------------
//
// Copyright (C) 2004-2006, Freescale Semiconductor, Inc. All Rights Reserved.
// THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
// AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
//
//------------------------------------------------------------------------------
//
// File: ipu_adc.h
//
// Description: This header file defines class IPU_ADC.
// The IPU ADC display driver is GPE based. IPU_ADC is a subclass
// of GPE.
//
//------------------------------------------------------------------------------
#ifndef __IPU_ADC_H__
#define __IPU_ADC_H__
#include <dispdrvr.h>
//------------------------------------------------------------------------------
// Defines
//------------------------------------------------------------------------------
// Class
class IPU_ADC : public GPE
{
private:
GPEMode m_ModeInfo;
void *m_pVirtualFrameBuffer;
int m_nVideoMemorySize; // Size in bytes of video RAM total
DWORD m_PowerState;
Node2D *m_p2DVideoMemory;
public:
IPU_ADC();
virtual int NumModes();
virtual SCODE SetMode(int modeId, HPALETTE *pPalette);
virtual int InVBlank();
virtual SCODE SetPalette(const PALETTEENTRY *src,
unsigned short firstEntry,
unsigned short numEntries);
virtual SCODE GetModeInfo(GPEMode *pMode, int modeNo);
virtual SCODE SetPointerShape(GPESurf *pMask,
GPESurf *pColorSurf,
int xHot,
int yHot,
int cx,
int cy);
virtual SCODE MovePointer(int x, int y);
virtual void WaitForNotBusy();
virtual int IsBusy();
virtual void GetPhysicalVideoMemory(unsigned long *physicalMemoryBase,
unsigned long *videoMemorySize);
virtual SCODE AllocSurface(GPESurf **ppSurf,
int width,
int height,
EGPEFormat format,
int surfaceFlags);
virtual SCODE Line(GPELineParms *pLineParms, EGPEPhase phase);
virtual SCODE BltPrepare(GPEBltParms *pBltParms);
virtual SCODE BltComplete(GPEBltParms *pBltParms);
virtual BOOL ContrastControl(ULONG cmd, ULONG *pValue);
void PowerHandler(BOOL bOff);
ULONG DrvEscape(SURFOBJ *pso,
ULONG iEsc,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut);
int GetRotateModeFromReg();
void SetRotateParams();
LONG DynRotate(int angle);
private:
SCODE AcceleratedFillRect(GPEBltParms *pBltParms);
SCODE AcceleratedSrcCopyBlt(GPEBltParms *pBltParms);
};
class IPU_ADCSurf : public GPESurf
{
private:
Node2D *m_pNode2D;
public:
IPU_ADCSurf(int width,
int height,
ULONG offset,
PVOID pBits,
int stride,
EGPEFormat format,
Node2D *pNode);
~IPU_ADCSurf(void);
int Top(void) { return m_pNode2D->Top(); }
int Left(void) { return m_pNode2D->Left(); }
};
#endif // __IPU_ADC_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -