/// <summary> /// Return max normal pressure supported by tablet. /// </summary> /// <param name="getNormalPressure_I">TRUE=> normal pressure; /// FALSE=> tangential pressure (not supported on all tablets)</param> /// <returns>maximum pressure value or zero on error</returns> public static Int32 GetMaxPressure(bool getNormalPressure_I = true) { WintabAxis pressureAxis = new WintabAxis(); IntPtr buf = CMemUtils.AllocUnmanagedBuf(pressureAxis); EWTIDevicesIndex devIdx = (getNormalPressure_I ? EWTIDevicesIndex.DVC_NPRESSURE : EWTIDevicesIndex.DVC_TPRESSURE); try { int size = (int)CWintabFuncs.WTInfoA( (uint)EWTICategoryIndex.WTI_DEVICES, (uint)devIdx, buf); pressureAxis = CMemUtils.MarshalUnmanagedBuf <WintabAxis>(buf, size); } catch (Exception ex) { MessageBox.Show("FAILED GetMaxPressure: " + ex.ToString()); } CMemUtils.FreeUnmanagedBuf(buf); return(pressureAxis.axMax); }
/// <summary> /// Return max normal pressure supported by tablet. /// </summary> /// <param name="getNormalPressure_I">TRUE=> normal pressure; /// FALSE=> tangential pressure (not supported on all tablets)</param> /// <returns>maximum pressure value or zero on error</returns> public static Int32 GetMaxPressure(bool getNormalPressure_I = true) { WintabAxis pressureAxis = new WintabAxis(); IntPtr buf = CMemUtils.AllocUnmanagedBuf(pressureAxis); EWTIDevicesIndex devIdx = (getNormalPressure_I ? EWTIDevicesIndex.DVC_NPRESSURE : EWTIDevicesIndex.DVC_TPRESSURE); try { int size = (int)CWintabFuncs.WTInfo( (uint)EWTICategoryIndex.WTI_DEVICES, (uint)devIdx, buf); pressureAxis = CMemUtils.MarshalUnmanagedBuf <WintabAxis>(buf, size); } finally { CMemUtils.FreeUnmanagedBuf(buf); } return(pressureAxis.axMax); }