📄 halcaps.cpp
字号:
//-----------------------------------------------------------------------------
// 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 + -