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

📄 halcaps.cpp

📁 Microsoft WinCE 6.0 BSP FINAL release source code for use with the i.MX27ADS TO2 WCE600_FINAL_MX27_S
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//------------------------------------------------------------------------------
//
//  Copyright (c) Microsoft Corporation.  All rights reserved.
//
//------------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//  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, 2007, 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)


// callbacks from the DIRECTDRAW object
DDHAL_DDCALLBACKS cbDDCallbacks =
{
    sizeof( DDHAL_DDCALLBACKS ),          // dwSize
    DDHAL_CB32_CREATESURFACE |
    DDHAL_CB32_WAITFORVERTICALBLANK |
    DDHAL_CB32_CANCREATESURFACE |
    DDHAL_CB32_CREATEPALETTE |
    // DDHAL_CB32_GETSCANLINE |
    // DDHAL_CB32_SETEXCLUSIVEMODE |
    0,
    DDGPECreateSurface,
    DDGPEWaitForVerticalBlank,
    DDGPECanCreateSurface,
    DDGPECreatePalette,                   // CreatePalette
    NULL // HalGetScanLine,                 // GetScanLine
};


// 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_SETCOLORKEY |
    DDHAL_SURFCB32_GETBLTSTATUS |
    DDHAL_SURFCB32_GETFLIPSTATUS |
    DDHAL_SURFCB32_UPDATEOVERLAY |
    DDHAL_SURFCB32_SETOVERLAYPOSITION |
    DDHAL_SURFCB32_SETPALETTE |
    0,
    DDGPEDestroySurface,                  // DestroySurface
    HalFlip,                              // Flip
    DDGPELock,                            // Lock
    DDGPEUnlock,                          // Unlock
    DDGPESetColorKey,                     // SetColorKey
    HalGetBltStatus,                      // GetBltStatus
    DDGPEGetFlipStatus,                   // GetFlipStatus
    HalUpdateOverlay,                     // UpdateOverlay
    HalSetOverlayPosition,                // SetOverlayPosition
    DDGPESetPalette,                      // SetPalette
};


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


// InitDDHALInfo must set up this information
unsigned long    g_nVideoMemorySize        = 0L;
unsigned char *  g_pVideoMemory            = NULL;    // virtual address of video memory from client's side


//------------------------------------------------------------------------------
// Local Variables


//------------------------------------------------------------------------------
// Local Functions


//------------------------------------------------------------------------------
//
// Function: buildDDHALInfo
//
// This function sets up the global variables that DDGPE requires.
// The buildDDHALInfo function then populates the specified DDHALINFO 
// structure with the appropriate DirectDraw callbacks, caps, and 
// other driver-specific parameters. These are filled out both at 

⌨️ 快捷键说明

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