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

📄 halcaps.cpp

📁 IMX31开发板
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//-----------------------------------------------------------------------------
//  Copyright (C) 2004-2005, MOTOROLA, INC. All Rights Reserved
//  THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
//  BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
//  MOTOROLA, INC.
//------------------------------------------------------------------------------
//
//  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:  halcaps.cpp
//
//  Hardware abstraction layer capabilities.
//
//------------------------------------------------------------------------------
#include "precomp.h"


//------------------------------------------------------------------------------
// External Functions


//------------------------------------------------------------------------------
// External Variables


//------------------------------------------------------------------------------
// Defines
#define SCREEN_WIDTH    (g_pGPE->ScreenWidth())
#define SCREEN_HEIGHT   (g_pGPE->ScreenHeight())


//------------------------------------------------------------------------------
// Types


//------------------------------------------------------------------------------
// Global Variables


DWORD FSLFourCC[] = {
  MAKEFOURCC('Y', 'V', '1', '2'),
  MAKEFOURCC('U', 'Y', 'V', 'Y')
};
#define MAX_FOURCC        sizeof(FSLFourCC)/sizeof(DWORD)

#if defined(PLAT_WPC) || defined(PLAT_SMARTPHONE)
// callbacks from the DIRECTDRAW object
DDHAL_DDCALLBACKS cbDDCallbacks =
{
    sizeof( DDHAL_DDCALLBACKS ),
    DDHAL_CB32_CREATESURFACE |
    DDHAL_CB32_WAITFORVERTICALBLANK |
    DDHAL_CB32_CANCREATESURFACE |
//    DDHAL_CB32_CREATEPALETTE |
//    DDHAL_CB32_GETSCANLINE |
    0,
    DDGPECreateSurface,
    DDGPEWaitForVerticalBlank,
    DDGPECanCreateSurface,
    NULL,
    NULL
};

// callbacks from the DIRECTDRAWSURFACE object

DDHAL_DDSURFACECALLBACKS cbDDSurfaceCallbacks =
{
    sizeof( DDHAL_DDSURFACECALLBACKS ), // dwSize
    DDHAL_SURFCB32_DESTROYSURFACE |         // dwFlags
    DDHAL_SURFCB32_FLIP |
    DDHAL_SURFCB32_LOCK |
    DDHAL_SURFCB32_UNLOCK |
    DDHAL_SURFCB32_SETCOLORKEY |
    DDHAL_SURFCB32_GETBLTSTATUS |
    DDHAL_SURFCB32_GETFLIPSTATUS |
    DDHAL_SURFCB32_UPDATEOVERLAY |
    DDHAL_SURFCB32_SETOVERLAYPOSITION |
//    DDHAL_SURFCB32_SETPALETTE |
    0,
    DDGPEDestroySurface,
    HalFlip,
    DDGPELock,
    DDGPEUnlock,
    DDGPESetColorKey,
    HalGetBltStatus,
    DDGPEGetFlipStatus,
    HalUpdateOverlay,
    HalSetOverlayPosition,
    NULL
};

#else // PLAT_WPC || PLAT_SMARTPHONE

// callbacks from the DIRECTDRAW object
DDHAL_DDCALLBACKS cbDDCallbacks =
{
    sizeof( DDHAL_DDCALLBACKS ),          // dwSize
    DDHAL_CB32_DESTROYDRIVER |            // dwFlags
    DDHAL_CB32_CREATESURFACE |
    DDHAL_CB32_SETCOLORKEY |
    DDHAL_CB32_SETMODE |
    DDHAL_CB32_WAITFORVERTICALBLANK |
    DDHAL_CB32_CANCREATESURFACE |
    DDHAL_CB32_CREATEPALETTE |
    // DDHAL_CB32_GETSCANLINE |
    // DDHAL_CB32_SETEXCLUSIVEMODE |
    DDHAL_CB32_FLIPTOGDISURFACE |
    0,
    DDGPEDestroyDriver,                     // DestroyDriver
    HalCreateSurface,                     // CreateSurface
    DDGPESetColorKeyDrv,                  // SetColorKey
    DDGPESetMode,                         // SetMode
    HalWaitForVerticalBlank,              // WaitForVerticalBlank
    HalCanCreateSurface,                  // CanCreateSurface
    DDGPECreatePalette,                   // CreatePalette
    0, // HalGetScanLine,                 // GetScanLine
    0, // HalSetExclusiveMode,            // SetExclusiveMode
    DDGPEFlipToGDISurface                 // FlipToGDISurface
};


// callbacks from the DIRECTDRAWCOLORCONTROL pseudo object
DDHAL_DDCOLORCONTROLCALLBACKS ColorControlCallbacks =
{
    sizeof(DDHAL_DDCOLORCONTROLCALLBACKS),
    0,
};


// callbacks from the DIRECTDRAWEXEBUF psuedo object
DDHAL_DDEXEBUFCALLBACKS cbDDExeBufCallbacks =
{
    sizeof( DDHAL_DDEXEBUFCALLBACKS ),    // dwSize
    DDHAL_EXEBUFCB32_CANCREATEEXEBUF |
    DDHAL_EXEBUFCB32_CREATEEXEBUF    |
    DDHAL_EXEBUFCB32_DESTROYEXEBUF   |
    DDHAL_EXEBUFCB32_LOCKEXEBUF      |
    DDHAL_EXEBUFCB32_UNLOCKEXEBUF,        // dwFlags
    HalCanCreateSurface,                  // CanCreateExecuteBuffer
    DDGPECreateExecuteBuffer,             // CreateExecuteBuffer
    DDGPEDestroyExecuteBuffer,            // DestroyExecuteBuffer
    DDGPELock,                            // Lock
    DDGPEUnlock,                          // Unlock
};


// callbacks from the DIRECTDRAWKERNEL psuedo object
DDHAL_DDKERNELCALLBACKS KernelCallbacks =
{
    sizeof(DDHAL_DDKERNELCALLBACKS),
    0,
};


// callbacks from the DIRECTDRAWMISCELLANEOUS object
DDHAL_DDMISCELLANEOUSCALLBACKS MiscellaneousCallbacks =
{
    sizeof(DDHAL_DDMISCELLANEOUSCALLBACKS),
    0,
};


// callbacks from the DIRECTDRAWPALETTE object
DDHAL_DDPALETTECALLBACKS cbDDPaletteCallbacks =
{
    sizeof( DDHAL_DDPALETTECALLBACKS ),   // dwSize
    DDHAL_PALCB32_DESTROYPALETTE |        // dwFlags
    DDHAL_PALCB32_SETENTRIES |
    0,
    DDGPEDestroyPalette,                  // DestroyPalette
    DDGPESetEntries                       // SetEntries
};


// callbacks from the DIRECTDRAWSURFACE object
DDHAL_DDSURFACECALLBACKS cbDDSurfaceCallbacks =
{
    sizeof( DDHAL_DDSURFACECALLBACKS ),   // dwSize
    DDHAL_SURFCB32_DESTROYSURFACE |       // dwFlags
    DDHAL_SURFCB32_FLIP |
    // DDHAL_SURFCB32_SETCLIPLIST |
    DDHAL_SURFCB32_LOCK |
    DDHAL_SURFCB32_UNLOCK |
    DDHAL_SURFCB32_BLT |
    DDHAL_SURFCB32_SETCOLORKEY |
    DDHAL_SURFCB32_GETBLTSTATUS |
    DDHAL_SURFCB32_GETFLIPSTATUS |
    DDHAL_SURFCB32_UPDATEOVERLAY |
    DDHAL_SURFCB32_SETOVERLAYPOSITION |
    DDHAL_SURFCB32_SETPALETTE |
    0,
    DDGPEDestroySurface,                  // DestroySurface
    HalFlip,                              // Flip
    0, // HalSetClipList,                 // SetClipList
    DDGPELock,                            // Lock
    DDGPEUnlock,                          // Unlock
    DDGPEBlt,                             // Blt
    DDGPESetColorKey,                     // SetColorKey
    0, // HalAddAttachedSurface,          // AddAttachedSurface
    HalGetBltStatus,                      // GetBltStatus
    DDGPEGetFlipStatus,                   // GetFlipStatus
    HalUpdateOverlay,                     // UpdateOverlay
    HalSetOverlayPosition,                // SetOverlayPosition
    NULL,                                 // reserved4
    DDGPESetPalette,                      // SetPalette
};


DDHAL_DDHALMEMORYCALLBACKS HalMemoryCallbacks =
{
    sizeof(DDHAL_DDHALMEMORYCALLBACKS),
    0,
};


// callbacks from the DIRECTDRAWVIDEOPORT pseudo object
DDHAL_DDVIDEOPORTCALLBACKS VideoPortCallbacks =
{
    sizeof(DDHAL_DDVIDEOPORTCALLBACKS),
    0,
};

⌨️ 快捷键说明

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