[haiku-commits] r42033 - haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 8 Jun 2011 02:26:04 +0200 (CEST)

Author: mmlr
Date: 2011-06-08 02:26:04 +0200 (Wed, 08 Jun 2011)
New Revision: 42033
Changeset: https://dev.haiku-os.org/changeset/42033

Modified:
   haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.cpp
   haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.h
Log:
Add HIDReportItem::ScaledRangeData() that scales the data into a pariticular
range.


Modified: haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.cpp
===================================================================
--- haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.cpp      
2011-06-08 00:20:58 UTC (rev 42032)
+++ haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.cpp      
2011-06-08 00:26:04 UTC (rev 42033)
@@ -146,6 +146,20 @@
 }
 
 
+uint32
+HIDReportItem::ScaledRangeData(uint32 minimum, uint32 maximum)
+{
+       uint64 zeroBasedData;
+       if (Signed())
+               zeroBasedData = (int32)fData - (int32)fMinimum;
+       else
+               zeroBasedData = fData - fMinimum;
+
+       return zeroBasedData * (maximum - minimum + 1) / (fMaximum - fMinimum + 
1)
+               + minimum;
+}
+
+
 float
 HIDReportItem::ScaledFloatData()
 {

Modified: haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.h
===================================================================
--- haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.h        
2011-06-08 00:20:58 UTC (rev 42032)
+++ haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid/HIDReportItem.h        
2011-06-08 00:26:04 UTC (rev 42033)
@@ -37,6 +37,7 @@
                uint32                                  Data() { return fData; 
};
 
                uint32                                  ScaledData(uint8 
scaleToBits, bool toBeSigned);
+               uint32                                  ScaledRangeData(uint32 
minimum, uint32 maximum);
                float                                   ScaledFloatData();
 
                bool                                    Valid() { return 
fValid; };


Other related posts:

  • » [haiku-commits] r42033 - haiku/trunk/src/add-ons/kernel/drivers/input/usb_hid - mmlr