⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s3c2410disp.h

📁 windows wm5 下的Lcd 驱动接口
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++
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.
--*/

#ifndef __S3C2410DISP_H__
#define __S3C2410DISP_H__


class S3C2410DISP : public DDGPE
{
private:
    GPEMode         m_ModeInfo;
    DWORD           m_cbScanLineLength;
    DWORD           m_colorDepth;
    DWORD           m_VirtualFrameBuffer;
    DWORD           m_DPI;
    DWORD           m_pvDRAMBuffer;
    DWORD           m_FrameBufferSize;
    BOOL            m_CursorDisabled;
    BOOL            m_CursorVisible;
    BOOL            m_CursorForcedOff;
    RECTL           m_CursorRect;
    POINTL          m_CursorSize;
    POINTL          m_CursorHotspot;
    UCHAR           *m_CursorBackingStore;
    UCHAR           *m_CursorXorShape;
    UCHAR           *m_CursorAndShape;

    volatile    struct lcdregs  *m_LCDRegs;
    volatile    struct gpioreg  *m_GPIORegs;

public:
                    S3C2410DISP(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 void    GetVirtualVideoMemory(unsigned long *virtualMemoryBase, unsigned long *videoMemorySize);
    virtual SCODE   AllocSurface(GPESurf **surface, INT width, INT height,
                                    EGPEFormat format, INT surfaceFlags);
    virtual SCODE   AllocSurface(DDGPESurf **surface, int width, int height,
                                    EGPEFormat format, EDDGPEPixelFormat pixelFormat, int surfaceFlags);
    virtual void    SetVisibleSurface(GPESurf * pSurf, BOOL bWaitForVBlank = FALSE);
    virtual SCODE   Line(GPELineParms *lineParameters, EGPEPhase phase);
    virtual SCODE   BltPrepare(GPEBltParms *blitParameters);
    virtual SCODE   BltComplete(GPEBltParms *blitParameters);
    virtual ULONG   GetGraphicsCaps();
#if defined(CLEARTYPE) || defined(ROTATE)
    virtual ULONG   DrvEscape(
                        SURFOBJ *pso,
                        ULONG    iEsc,
                        ULONG    cjIn,
                        PVOID    pvIn,
                        ULONG    cjOut,
                        PVOID    pvOut);
#endif 
    SCODE           WrappedEmulatedLine (GPELineParms *lineParameters);
    void            CursorOn (void);
    void            CursorOff (void);

    void            InitializeHardware (void);
#ifdef ROTATE
    void SetRotateParms();
    LONG DynRotate(int angle);
    int  GetRotateModeFromReg();
#endif //ROTATION
};

#endif // __S3C2410DISP_H__.

⌨️ 快捷键说明

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