9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* $Id$ */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/** @file
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VBox XPDM Display driver
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/*
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Copyright (C) 2011 Oracle Corporation
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync *
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 */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#ifndef VBOXDISPDRAWCMD_H
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#define VBOXDISPDRAWCMD_H
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#define VBVA_DECL_OP(__fn, __args) \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync void vbvaDrv##__fn __args; \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync void vrdpDrv##__fn __args;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(BitBlt, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoTrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoSrc, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoMask, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync XLATEOBJ *pxlo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclTrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlSrc, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlMask, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pbo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlBrush, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ROP4 rop4 \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(TextOut, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STROBJ *pstro, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync FONTOBJ *pfo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclExtra, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclOpaque, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pboFore, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pboOpaque, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlOrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync MIX mix \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(LineTo, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pbo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync LONG x1, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync LONG y1, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync LONG x2, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync LONG y2, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclBounds, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync MIX mix \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(StretchBlt, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoDest, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoSrc, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoMask, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync XLATEOBJ *pxlo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync COLORADJUSTMENT *pca, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlHTOrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclDest, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclSrc, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlMask, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ULONG iMode \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(CopyBits, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoDest, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *psoSrc, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync XLATEOBJ *pxlo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prclDest, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlSrc \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(Paint, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pbo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlBrushOrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync MIX mix \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(FillPath, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync PATHOBJ *ppo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pbo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlBrushOrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync MIX mix, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync FLONG flOptions \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(StrokePath, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync PATHOBJ *ppo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync XFORMOBJ *pxo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pbo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlBrushOrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync LINEATTRS *plineattrs, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync MIX mix \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ));
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(StrokeAndFillPath, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync PATHOBJ *ppo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync CLIPOBJ *pco, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync XFORMOBJ *pxo, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pboStroke, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync LINEATTRS *plineattrs, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync BRUSHOBJ *pboFill, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync POINTL *pptlBrushOrg, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync MIX mixFill, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync FLONG flOptions \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBVA_DECL_OP(SaveScreenBits, ( \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync SURFOBJ *pso, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ULONG iMode, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ULONG_PTR ident, \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync RECTL *prcl \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#undef VBVA_DECL_OP
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endif /*VBOXDISPDRAWCMD_H*/