//////////////////////////////////////////////////////////////////////////////
//
// Asura_PS2_usbmouse.h
//
// Created by Neil Massey.
//
// Copyright (c) 2002 Rebellion. All rights reserved.
//
// Derived class implementation of USB mouse support
//
//////////////////////////////////////////////////////////////////////////////

// B E G I N   F I L E   W R A P P E R ///////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef ___ASURA_PS2_USBMOUSE_H___
#define ___ASURA_PS2_USBMOUSE_H___ 1

#include "Input/Asura_PS2_USBDevice.h"
#include "Input/Logitech/liblgkbm.h"

class Asura_PS2_USBMouse : public Asura_PS2_USBDevice
{
public:
	Asura_PS2_USBMouse(int iPortNumber);
	virtual ~Asura_PS2_USBMouse(void);

	virtual void Update(void);
	virtual void Translate(u_char *piAsuraInputBufferOffset, float *piAsuraAxis_BufferOffset);
	virtual bool Available(void);

    void Initialise(void);

protected:

private:
    lgMouseDeviceDesc   m_xMouseDeviceDesc;
    int                 m_iEnumNeeded;
    lgMouseData         m_xMouseData; 
    int                 m_iMouseDevice;
    int                 m_iLocation;
    ASURA_PS2_USB_PHASE m_eCurrentPhase;
    
};

// E N D   F I L E   W R A P P E R ///////////////////////////////////////////

#endif // #ifndef ___ASURA_PS2_USBMOUSE_H___
