9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VBox XPDM Display driver, internal header
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Copyright (C) 2011 Oracle Corporation
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * available from http://www.virtualbox.org. This file is free software;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * you can redistribute it and/or modify it under the terms of the GNU
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * General Public License (GPL) as published by the Free Software
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* 4bytes tag passed to EngAllocMem.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Note: chars are reverse order.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* Helper macros */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync } while (0)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync return (_rc); \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync } while (0)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync return (_ret); \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync } while (0)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#define VBOX_WARNRC_RETRC(_rc) VBOX_WARNRC_RETV(_rc, _rc)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync } while (0)
537fd29f53a2dbf9a93091bb52a3ddb7f16ba97evboxsync } while (0)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#define VBOX_WARN_IOCTLCB_RETRC(_ioctl, _cbreturned, _cbexpected, _rc) \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync WARN((_ioctl " returned %d, expected %d bytes!", _cbreturned, _cbexpected)); \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync return (_rc); \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync } while (0)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL rclDstOrig; /* Original bounding rectangle. */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL rclDst; /* Bounding rectangle of all rects. */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* Mouse pointer related functions */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncint VBoxDispInitPointerCaps(PVBOXDISPDEV pDev, DEVINFO *pDevInfo);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* Palette related functions */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncint VBoxDispInitPalette(PVBOXDISPDEV pDev, DEVINFO *pDevInfo);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* VBVA related */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvoid VBoxDispVBVAHostCommandComplete(PVBOXDISPDEV pDev, VBVAHOSTCMD *pCmd);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvoid vrdpReportDirtyRect(PVBOXDISPDEV pDev, RECTL *prcl);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvoid vbvaReportDirtyRect(PVBOXDISPDEV pDev, RECTL *prcl);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncBOOL vbvaFindChangedRect(SURFOBJ *psoDest, SURFOBJ *psoSrc, RECTL *prclDest, POINTL *pptlSrc);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endif /* VBOX_VBVA_ADJUST_RECT */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncBOOL vrdpReportText(PVBOXDISPDEV pDev, VRDPCLIPRECTS *pClipRects, STROBJ *pstro, FONTOBJ *pfo,
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclOpaque, ULONG ulForeRGB, ULONG ulBackRGB);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncBOOL vrdpReportOrderGeneric(PVBOXDISPDEV pDev, const VRDPCLIPRECTS *pClipRects,
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync const void *pvOrder, unsigned cbOrder, unsigned code);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncBOOL vrdpDrvRealizeBrush(BRUSHOBJ *pbo, SURFOBJ *psoTarget, SURFOBJ *psoPattern, SURFOBJ *psoMask,
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncDECLINLINE(int) format2BytesPerPixel(const SURFOBJ *pso)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endif /*VBOXDISPINTERNAL_H*/