VBoxDispInternal.h revision 9055f61bb57d2a625c6434d55beac7565c3b3c0d
/* $Id$ */
/** @file
* VBox XPDM Display driver, internal header
*/
/*
* Copyright (C) 2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef VBOXDISPINTERNAL_H
#define VBOXDISPINTERNAL_H
#define LOG_GROUP LOG_GROUP_DRV_DISPLAY
#include <windef.h>
#include <wingdi.h>
#include <winddi.h>
#include <ntddvdeo.h>
#include <winerror.h>
#include <devioctl.h>
#define VBOX_VIDEO_LOG_NAME "VBoxDisp"
#include "common/VBoxVideoLog.h"
#include "common/xpdm/VBoxVideoPortAPI.h"
#include "common/xpdm/VBoxVideoIOCTL.h"
#include <VBox/VBoxVideo.h>
#include <VBox/VBoxVideoGuest.h>
#include <VBoxDisplay.h>
typedef struct _VBOXDISPDEV *PVBOXDISPDEV;
#ifdef VBOX_WITH_VIDEOHWACCEL
# include "VBoxDispVHWA.h"
#endif
/* 4bytes tag passed to EngAllocMem.
* Note: chars are reverse order.
*/
#define MEM_ALLOC_TAG 'bvDD'
/* Helper macros */
#define VBOX_WARN_WINERR(_winerr) \
do { \
{ \
} \
} while (0)
do { \
{ \
return (_rc); \
} \
} while (0)
do { \
if (RT_FAILURE(_rc)) \
{ \
return (_ret); \
} \
} while (0)
#define VBOX_WARNRC(_rc) \
do { \
if (RT_FAILURE(_rc)) \
{ \
} \
} while (0)
do { \
if ((_cbreturned)!=(_cbexpected)) \
{ \
return (_rc); \
} \
} while (0)
typedef struct _CLIPRECTS {
ULONG c;
} CLIPRECTS;
typedef struct _VRDPCLIPRECTS
{
/* Mouse pointer related functions */
/* Palette related functions */
/* VBVA related */
#ifdef VBOX_VBVA_ADJUST_RECT
#endif /* VBOX_VBVA_ADJUST_RECT */
#define VRDP_TEXT_MAX_GLYPH_SIZE 0x100
#define VRDP_TEXT_MAX_GLYPHS 0xfe
{
switch (pso->iBitmapFormat)
{
case BMF_16BPP: return 2;
case BMF_24BPP: return 3;
case BMF_32BPP: return 4;
}
return 0;
}
#endif /*VBOXDISPINTERNAL_H*/