MouseImpl.h revision 70c5cdbebee624ca386867b552ec032374bfaaf8
/* $Id$ */
/** @file
* VirtualBox COM class implementation
*/
/*
* Copyright (C) 2006-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 ____H_MOUSEIMPL
#define ____H_MOUSEIMPL
#include "MouseWrap.h"
#include "ConsoleImpl.h"
#include "EventImpl.h"
/** Maximum number of devices supported */
enum { MOUSE_MAX_DEVICES = 3 };
/** Mouse driver instance data. */
{
void FinalRelease();
// public initializer/uninitializer for internal purposes only
void uninit();
ConsoleMouseInterface *i_getParent() const
{
return mParent;
}
/** notify the front-end of guest capability changes */
{
}
// Wrapped IMouse properties
// Wrapped IMouse methods
static DECLCALLBACK(void) i_mouseReportModes(PPDMIMOUSECONNECTOR pInterface, bool fRel, bool fAbs, bool fMT);
HRESULT i_reportMultiTouchEventToDevice(uint8_t cContacts, const uint64_t *pau64Contacts, uint32_t u32ScanTime);
bool *pfValid);
void i_sendMouseCapsNotifications(void);
bool i_guestNeedsHostCursor(void);
bool i_vmmdevCanAbs(void);
bool i_deviceCanAbs(void);
bool i_supportsAbs(void);
bool i_supportsRel(void);
bool i_supportsMT(void);
ConsoleMouseInterface * const mParent;
/** Pointer to the associated mouse driver. */
struct
{
bool fVisible;
bool fAlpha;
} mPointerData;
const LONG64 *paContacts,
};
#endif // !____H_MOUSEIMPL
/* vi: set tabstop=4 shiftwidth=4 expandtab: */