gpeaccel.h

来自「收集到的orion_ep93xx_wince_bsp_1-3-507显示驱动源码」· C头文件 代码 · 共 107 行

H
107
字号
//**********************************************************************
//                                                                      
// Filename: GPEAccel.h
//                                                                      
// Description: Header file for the GPEAccel Class.
//                                                                      
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// Copyright(c) Cirrus Logic Corporation 2001, All Rights Reserved                       
//                                                                      
//**********************************************************************

#ifndef __GPEACCELERATED_H__
#define __GPEACCELERATED_H__

class GPE;


struct LineConversionStruct
{
    SCODE       (GPE::*pfnLine)(struct GPELineParms *);     
    ULONG       (*pfnForground)(ULONG);
    ULONG       (*pfnBackground)(ULONG);
    ULONG       ulBlockControl;
};


class GPEAccel : public GPE
{
private:

    GPEMode         m_ModeInfo;
    DWORD           m_pvFlatFrameBuffer;
    DWORD           m_cbScanLineLength;
    DWORD           m_cxPhysicalScreen;
    DWORD           m_cyPhysicalScreen;
    DWORD           m_ulColorDepth;
    DWORD           m_VirtualFrameBuffer;
    DWORD           m_RedMaskSize;
    DWORD           m_RedMaskPosition;
    DWORD           m_GreenMaskSize;
    DWORD           m_GreenMaskPosition;
    DWORD           m_BlueMaskSize;
    DWORD           m_BlueMaskPosition;

    DWORD           m_dwPhysCursorAddress;
    PUCHAR          m_pCursor;
    
    BOOL            m_bCursorEnabled;
    BOOL            m_bCursorHasShape;
    DWORD           m_xPosition;
    DWORD           m_yPosition;
    ULONG           m_ulVideoAttrib;

    

    //
    // Save for debug purposes.
    //
    RECTL           m_CursorRect;
    POINTL          m_CursorSize;
    POINTL          m_CursorHotspot;
    
    PALETTEENTRY    m_Palette[256];
    StartStop       m_StartStop;
    Ep931xRegistrySettings m_Registry;

    //
    // Hardware Graphics variables.
    //
    // BOOL            m_bGraphicsIntInit;
    // HANDLE          m_hGraphicsEvent;

    SCODE           WrappedEmulatedLine (GPELineParms *lineParameters);
    SCODE           AcceleratedLine (GPELineParms *lineParameters);
    SCODE           AcceleratedFillRect (GPEBltParms *pBltParms);


public:
                    GPEAccel(void);
    virtual INT     NumModes(void);
    virtual SCODE   SetMode(INT modeId, HPALETTE *palette);
    virtual INT     InVBlank(void);
    virtual SCODE   SetPalette(const PALETTEENTRY *source, USHORT firstEntry,
                                USHORT numEntries);
    virtual SCODE   GetModeInfo(GPEMode *pMode, INT modeNumber);
    virtual SCODE   SetPointerShape(GPESurf *mask, GPESurf *colorSurface,
                                    INT xHot, INT yHot, INT cX, INT cY);
    virtual SCODE   MovePointer(INT xPosition, INT yPosition);
    virtual void    WaitForNotBusy(void);
    virtual INT     IsBusy(void);
    virtual void    GetPhysicalVideoMemory(unsigned long *physicalMemoryBase, unsigned long *videoMemorySize);
    virtual SCODE   AllocSurface(GPESurf **surface, INT width, INT height,
                                    EGPEFormat format, INT surfaceFlags);
    virtual SCODE   Line(GPELineParms *lineParameters, EGPEPhase phase);
    virtual SCODE   BltPrepare(GPEBltParms *blitParameters);
    virtual SCODE   BltComplete(GPEBltParms *blitParameters);
    virtual ULONG   GetGraphicsCaps();
    virtual VOID    PowerHandler( BOOL bOff);
};


#endif __GPEACCELERATED_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?