VBoxGuestR3LibVideo.cpp revision b0dfb334954c0552bb583967a3077ec88fd00471
adf2bcd2e5d07d5a11553b88e147c1f4b2249bffvboxsync * VBoxGuestR3Lib - Ring-3 Support Library for VirtualBox guest additions, Video.
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * Copyright (C) 2007 innotek GmbH
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * available from http://www.virtualbox.org. This file is free software;
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * you can redistribute it and/or modify it under the terms of the GNU
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * General Public License (GPL) as published by the Free Software
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync/*******************************************************************************
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync* Header Files *
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync*******************************************************************************/
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * Enable or disable video acceleration.
edefdc20eedaf9ef5b1293e56ba9b8cca7b5c740vboxsync * @returns VBox status code.
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * @param fEnable Pass zero to disable, any other value to enable.
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsyncVBGLR3DECL(int) VbglR3VideoAccelEnable(uint32_t fEnable)
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync vmmdevInitRequest(&Req.header, VMMDevReq_VideoAccelEnable);
71c8a528203c289a8585ce10ac6bafc4274058c6vboxsync * Flush the video buffer.
147e101bcd061b5e085e4a2c0cc9fc35546ff1aavboxsync * @returns VBox status code.
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync vmmdevInitRequest(&Req.header, VMMDevReq_VideoAccelFlush);
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync * Send mouse pointer shape information to the host.
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync * @returns VBox status code.
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync * @param fFlags Mouse pointer flags.
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync * @param xHot X coordinate of hot spot.
c33fc49611f2444dade533488bf431e29eb88bcdvboxsync * @param yHot Y coordinate of hot spot.
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync * @param width Pointer width.
1bf151411167b02ebdc6d6a18de8b97030341e1fvboxsync * @param height Pointer height.
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync * @param pv Pointer to the image data (can be NULL).
6e12ccc60ac657fb87e27b7a2b26e0a63bebe024vboxsync * @param cbImgSize The size of the image data not including the pre-allocated area.
6e12ccc60ac657fb87e27b7a2b26e0a63bebe024vboxsync * This should be the size of the image data exceeding the size of
6e12ccc60ac657fb87e27b7a2b26e0a63bebe024vboxsync * the VMMDevReqMousePointer structure.
db0ecde8f28fdb4525bc6d94056166c70b02ebb8vboxsyncVBGLR3DECL(int) VbglR3SetPointerShape(uint32_t fFlags, uint32_t xHot, uint32_t yHot, uint32_t width, uint32_t height, void *pv, size_t cbImgSize)
9e4ea89b1085fdaa5861e45a729d9c978db1a8f1vboxsync int rc = vbglR3GRAlloc((VMMDevRequestHeader **)&pReq, sizeof(VMMDevReqMousePointer) + cbImgSize, VMMDevReq_SetPointerShape);