Leaked source code of windows server 2003
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.
 
 
 
 
 
 

72 lines
2.2 KiB

/****************************************************************************/
// noeinl.h
//
// Function prototypes for NT OE inline API functions.
//
// Copyright (C) 1996-2000 Microsoft Corporation
/****************************************************************************/
#ifndef _H_NOEINL
#define _H_NOEINL
#define DC_INCLUDE_DATA
#include <noedata.c>
#undef DC_INCLUDE_DATA
/****************************************************************************/
// OE_SendAsOrder
//
// Check the negotiated data to determine if this call can be sent as a
// drawing order.
/****************************************************************************/
__inline BOOL RDPCALL OE_SendAsOrder(unsigned order)
{
return (BOOL)oeOrderSupported[oeEncToNeg[order]];
}
/****************************************************************************/
// OEGetSurfObjBitmap
//
// This function checks a SURFOBJ pointer, and if it points to a (the) device
// SURFOBJ, returns a pointer to the actual bitmap's SURFOBJ.
// Assumes that pso is non-NULL.
/****************************************************************************/
_inline SURFOBJ * RDPCALL OEGetSurfObjBitmap(SURFOBJ *pso, PDD_DSURF *ppdsurf)
{
DC_BEGIN_FN("OEGetSurfObjBitmap");
TRC_ASSERT(((pso) != NULL), (TB, "NULL surfobj"));
// Primary Device Surface, this is our backup frame buffer for
// the client desktop screen, the bitmap is saved in dhsurf
if (pso->iType == STYPE_DEVICE) {
TRC_ASSERT((pso->dhsurf != NULL),
(TB, "NULL dhsurf for pso(%p)", pso));
*ppdsurf = NULL;
return(SURFOBJ *)(pso->dhsurf);
}
// Offscreen Bitmap Surface, the backup offscreen bitmap
// is saved in the pso field of dhsurf.
else if (pso->iType == STYPE_DEVBITMAP) {
TRC_ASSERT((pso->dhsurf != NULL),
(TB, "NULL dhsurf for pso(%p)", pso));
*ppdsurf = (PDD_DSURF)(pso->dhsurf);
return ((PDD_DSURF)(pso->dhsurf))->pso;
}
// GDI handled DIB surface.
else {
*ppdsurf = NULL;
return pso;
}
DC_END_FN();
return pso;
}
#endif // !defined(_H_NOEINL)