cspslcdcclass.h

来自「i.mx27 soc for wince 6.0」· C头文件 代码 · 共 90 行

H
90
字号
//------------------------------------------------------------------------------
//
//  Copyright (c) Microsoft Corporation.  All rights reserved.
//
//------------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Copyright (C) 2005-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:       CSPSlcdcClass.h
//  Purpose:    Macros and Function Prototypes for SLCD Controller
//
//------------------------------------------------------------------------------


#ifndef __CSP_SLCDC_CLASS_H__
#define __CSP_SLCDC_CLASS_H__

//------------------------------------------------------------------------------
// DEFINITIONS
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// Surface class
//------------------------------------------------------------------------------
class SlcdcSurf : public GPESurf
{
    private:
    
    Node2D *node_2d;
        
    public:
    
    SlcdcSurf(int width, int height, int offset, void *pBits, int stride, EGPEFormat format, 
        Node2D *pNode);
    ~SlcdcSurf(void);
};

//------------------------------------------------------------------------------
// CSP SLCDC class
//------------------------------------------------------------------------------
class CSPSlcdcClass : public GPE
{
    protected:
    
    CSP_SLCDC_REGS *slcdc;                                      // SLCDC registers
    GPEMode mode;                                               // Graphics mode info
    Node2D* m_p2DVideoMemory;                                   // Base entry representing all video memory
    UINT16 *video_mem;                                          // Frambuffer pointer
    UINT32 stride;                                              // Number of words / line
    
    public:
    
    CSPSlcdcClass(void);    // Constructor
    ~CSPSlcdcClass(void);   // Destructor
    
    // The following methods implement the default function. 
    // the derived-class can override it.
    SCODE SetMode(int modeId, HPALETTE *pPalette);
    SCODE GetModeInfo(GPEMode *pMode, int modeNo);
    int NumModes(void);
    void PowerHandler(BOOL bOff);
    
    int InVBlank(void);
    SCODE SetPalette(const PALETTEENTRY *src, unsigned short firstEntry, 
        unsigned short numEntries);
    BOOL ContrastControl(ULONG cmd, ULONG *pValue);
    SCODE SetPointerShape(GPESurf *pMask, GPESurf *pColorSurf, int xHot, int yHot, 
        int cx, int cy);
    SCODE MovePointer(int x, int y );
    SCODE SetCursorColor(UINT8 red, UINT8 green, UINT8 blue);
    SCODE Line( GPELineParms *pLineParms, EGPEPhase phase = gpeSingle);
    SCODE BltPrepare (GPEBltParms *pBltParms);  
    SCODE BltComplete(GPEBltParms *pBltParms);
    SCODE AllocSurface(GPESurf **ppSurf, int width, int height, EGPEFormat format, int surfaceFlags);
    ULONG   DrvEscape( SURFOBJ *pso,
                                ULONG    iEsc,
                                ULONG    cjIn,
                                PVOID    pvIn,
                                ULONG    cjOut,
                                PVOID    pvOut);

};

#endif // __CSP_SLCDC_CLASS_H__

⌨️ 快捷键说明

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