71 lines
1.5 KiB
Java
71 lines
1.5 KiB
Java
//**********************************************************************************************
|
|
// (C) Copyright 2002 by Dipl. Phys. Joerg Plewe, HARDCODE Development
|
|
// All rights reserved. Copying, modification,
|
|
// distribution or publication without the prior written
|
|
// consent of the author is prohibited.
|
|
//
|
|
// Created on 27. Dezember 2001, 00:14
|
|
//**********************************************************************************************
|
|
package de.hardcode.jxinput.directinput;
|
|
|
|
import de.hardcode.jxinput.Axis;
|
|
|
|
/**
|
|
*
|
|
* @author Herkules
|
|
*/
|
|
class DIAxis implements Axis
|
|
{
|
|
private final int mDeviceIdx;
|
|
private final int mIdx;
|
|
|
|
/**
|
|
* Creates a new instance of DIAxis.
|
|
*/
|
|
DIAxis( int devidx, int idx )
|
|
{
|
|
mDeviceIdx = devidx;
|
|
mIdx = idx;
|
|
}
|
|
|
|
public String getName()
|
|
{
|
|
return DirectInputDriver.getAxisName( mDeviceIdx, mIdx );
|
|
}
|
|
|
|
|
|
/**
|
|
* Denote wether this feature has changed beyond it's resolution since it got last
|
|
* updated.
|
|
*/
|
|
public boolean hasChanged()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public double getValue()
|
|
{
|
|
return DirectInputDriver.getAxisValue( mDeviceIdx, mIdx );
|
|
}
|
|
|
|
public int getType()
|
|
{
|
|
return DirectInputDriver.getAxisType( mDeviceIdx, mIdx );
|
|
}
|
|
|
|
/**
|
|
* Inform about the resolution of the axis.
|
|
*
|
|
* @return resolution, e.g. 2^-16
|
|
*/
|
|
public double getResolution()
|
|
{
|
|
// extend the driver here!!
|
|
// Here I assume typical 16 bit resolution
|
|
return ( getType() == Axis.SLIDER ? 1.0/65536.0 : 2.0/65536.0 ) ;
|
|
}
|
|
|
|
}
|
|
|
|
|