mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.2 KiB
83 lines
2.2 KiB
/*******************************************************************
|
|
* ddhelpri.h
|
|
*
|
|
* private include file for the ddhel
|
|
*
|
|
* defines the dsmprivate structure which is stored in the directsurface's
|
|
* fpvidmem.
|
|
*
|
|
* history
|
|
*
|
|
* 4/15/95 created it andyco
|
|
* 5/20/95 added macros,etc. andyco
|
|
* 6/20/95 cruised the cahced infoheader andyco
|
|
*
|
|
* Copyright (c) Microsoft Corporation 1994-1995
|
|
*
|
|
*********************************************************************/
|
|
|
|
#ifndef __DDHELPRI_INCLUDED__
|
|
#define __DDHELPRI_INCLUDED__
|
|
|
|
#ifdef _WIN32
|
|
|
|
//#ifdef WINNT //NT_FIX
|
|
//typedef ULONG SCODE;
|
|
//#endif
|
|
|
|
//
|
|
// flags for our own dwReserved1 field (GLOBAL not LOCAL)
|
|
//
|
|
#define DDHEL_DONTFREE 0x00000001
|
|
|
|
//
|
|
// pointer value we use to mean, not valid
|
|
//
|
|
#define SCREEN_PTR 0xFFBADBAD
|
|
|
|
// some useful macros for extracting info from our private structures
|
|
// these macros will need to be extended to handle non-emulated surfaces
|
|
#define ISPRIMARY(psurf) ((psurf)->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
|
|
#define ISVISIBLE(psurf) ((psurf)->ddsCaps.dwCaps & DDSCAPS_VISIBLE)
|
|
#define ISEMULATED(psurf) ((psurf)->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY)
|
|
#define ISOVERLAY(psurf) ((psurf)->dwFlags & DDRAWISURF_HASOVERLAYDATA)
|
|
|
|
// prototypes
|
|
void PASCAL SurfDibInfo(LPDDRAWI_DDRAWSURFACE_LCL,LPBITMAPINFO);
|
|
LPBYTE PASCAL GetSurfPtr(LPDDRAWI_DDRAWSURFACE_LCL,RECTL*);
|
|
void PASCAL ReleaseSurfPtr(LPDDRAWI_DDRAWSURFACE_LCL);
|
|
|
|
// initial screen size.
|
|
#define DEFAULT_SCREENWIDTH 640
|
|
#define DEFAULT_SCREENHEIGHT 480
|
|
|
|
// ddhel data structures
|
|
|
|
// from gfxtypes.h
|
|
typedef BITMAPINFO * PDIBINFO;
|
|
typedef LPBYTE PDIBBITS;
|
|
typedef DWORD ALPHAREF;
|
|
#ifdef WIN95
|
|
typedef ALPHAREF __RPC_FAR *LPALPHAREF;
|
|
#else
|
|
typedef ALPHAREF *LPALPHAREF;
|
|
#endif //WIN95
|
|
#define ALPHA_INVALID 0xffffffff
|
|
|
|
// the dirty rect structure is used by the overlay code.
|
|
typedef struct _dirtyrect
|
|
{
|
|
BOOL bDelete;
|
|
RECT rcRect;
|
|
} DIRTYRECT;
|
|
|
|
typedef DIRTYRECT * PDIRTYRECT;
|
|
|
|
// functions in overlay.c called from myUpdateOverlay
|
|
SCODE UpdateDisplay(LPDDHAL_UPDATEOVERLAYDATA puod);
|
|
SCODE AddDirtyRect(LPRECT lpRect);
|
|
HRESULT OverlayPound(LPDDHAL_UPDATEOVERLAYDATA puod);
|
|
|
|
#endif // _WIN32
|
|
|
|
#endif // __DDHELPRI_INCLUDED__
|