mirror of
https://github.com/soukoku/ntwain.git
synced 2025-09-19 18:27:56 +08:00
CapabilityControl idea progress.
This commit is contained in:
@@ -45,9 +45,15 @@
|
|||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="..\NTwain\CapabilityControl.cs">
|
||||||
|
<Link>CapabilityControl.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\NTwain\CapabilityReader.cs">
|
<Compile Include="..\NTwain\CapabilityReader.cs">
|
||||||
<Link>CapabilityReader.cs</Link>
|
<Link>CapabilityReader.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\NTwain\CapRoutines.cs">
|
||||||
|
<Link>CapRoutines.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\NTwain\DataSource.Caps.cs">
|
<Compile Include="..\NTwain\DataSource.Caps.cs">
|
||||||
<Link>DataSource.Caps.cs</Link>
|
<Link>DataSource.Caps.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
74
NTwain/CapRoutines.cs
Normal file
74
NTwain/CapRoutines.cs
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
using NTwain.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace NTwain
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Contains re-usable routines for cap use.
|
||||||
|
/// </summary>
|
||||||
|
public static class CapRoutines
|
||||||
|
{
|
||||||
|
#region handy conversions
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Routine that does nothing.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value">The value.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static object NoConvertRoutine(object value)
|
||||||
|
{
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Predefined routine for <see cref="BoolType"/>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value">The value.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static TEnum EnumRoutine<TEnum>(object value) where TEnum : struct, IConvertible
|
||||||
|
{
|
||||||
|
if (value != null)
|
||||||
|
{
|
||||||
|
return value.ConvertToEnum<TEnum>();
|
||||||
|
}
|
||||||
|
return default(TEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Predefined routine for <see cref="TWFix32"/>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value">The value.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static TWFix32 TWFix32Routine(object value)
|
||||||
|
{
|
||||||
|
if (value != null)
|
||||||
|
{
|
||||||
|
if (value is TWFix32)
|
||||||
|
{
|
||||||
|
return (TWFix32)value;
|
||||||
|
}
|
||||||
|
return Convert.ToSingle(value);
|
||||||
|
}
|
||||||
|
return default(TWFix32);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Predefined routine for <see cref="string"/>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value">The value.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string StringRoutine(object value)
|
||||||
|
{
|
||||||
|
if (value != null)
|
||||||
|
{
|
||||||
|
return value.ToString();
|
||||||
|
}
|
||||||
|
return default(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
245
NTwain/CapabilityControl.cs
Normal file
245
NTwain/CapabilityControl.cs
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
using NTwain.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace NTwain
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Wrapped class for reading/writing a TWAIN capability associated with a <see cref="DataSource"/>.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TValue">The TWAIN type of the value.</typeparam>
|
||||||
|
public class CapabilityControl<TValue>
|
||||||
|
{
|
||||||
|
DataSource _source;
|
||||||
|
Func<object, TValue> _converter;
|
||||||
|
Func<TValue, TWCapability> _setProvider;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="CapabilityControl"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="source">The source.</param>
|
||||||
|
/// <param name="capability">The capability.</param>
|
||||||
|
/// <param name="valueConversionRoutine">The value conversion routine.</param>
|
||||||
|
/// <param name="setCapProvider">Callback to provide the capability object for set method.</param>
|
||||||
|
/// <exception cref="System.ArgumentNullException">source</exception>
|
||||||
|
public CapabilityControl(DataSource source, CapabilityId capability, Func<object, TValue> valueConversionRoutine, Func<TValue, TWCapability> setCapProvider)
|
||||||
|
{
|
||||||
|
if (source == null) { throw new ArgumentNullException("source"); }
|
||||||
|
if (valueConversionRoutine == null) { throw new ArgumentNullException("valueConversionRoutine"); }
|
||||||
|
|
||||||
|
_source = source;
|
||||||
|
_converter = valueConversionRoutine;
|
||||||
|
_setProvider = setCapProvider;
|
||||||
|
Capability = capability;
|
||||||
|
SupportedActions = source.CapQuerySupport(capability);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Supports(QuerySupports flag)
|
||||||
|
{
|
||||||
|
return (SupportedActions & flag) == flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region properties
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The capability.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityId Capability { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the supported actions.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The supported actions.
|
||||||
|
/// </value>
|
||||||
|
public QuerySupports SupportedActions { get; private set; }
|
||||||
|
|
||||||
|
public bool IsSupported { get { return SupportedActions > QuerySupports.None; } }
|
||||||
|
public bool CanGet { get { return Supports(QuerySupports.Get); } }
|
||||||
|
public bool CanGetDefault { get { return Supports(QuerySupports.GetDefault); } }
|
||||||
|
public bool CanGetCurrent { get { return Supports(QuerySupports.GetCurrent); } }
|
||||||
|
public bool CanGetLabel { get { return Supports(QuerySupports.GetLabel); } }
|
||||||
|
public bool CanGetHelp { get { return Supports(QuerySupports.GetHelp); } }
|
||||||
|
public bool CanGetLabelEnum { get { return Supports(QuerySupports.GetLabelEnum); } }
|
||||||
|
public bool CanReset { get { return Supports(QuerySupports.Reset); } }
|
||||||
|
public bool CanSet { get { return Supports(QuerySupports.Set); } }
|
||||||
|
public bool CanSetConstraint { get { return Supports(QuerySupports.SetConstraint); } }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region get methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the default value of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public TValue GetDefault()
|
||||||
|
{
|
||||||
|
if (CanGetDefault)
|
||||||
|
{
|
||||||
|
return _converter(_source.CapGetDefault(Capability));
|
||||||
|
}
|
||||||
|
return default(TValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the current value of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public TValue GetCurrent()
|
||||||
|
{
|
||||||
|
if (CanGetCurrent)
|
||||||
|
{
|
||||||
|
return _converter(_source.CapGetCurrent(Capability));
|
||||||
|
}
|
||||||
|
return default(TValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets all the possible values of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public IList<TValue> Get()
|
||||||
|
{
|
||||||
|
if (CanGet)
|
||||||
|
{
|
||||||
|
return _source.CapGet(Capability).Select(o => _converter(o)).ToList();
|
||||||
|
}
|
||||||
|
return new List<TValue>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// [Experimental] Gets the label value of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string GetLabel()
|
||||||
|
{
|
||||||
|
object value = null;
|
||||||
|
if (CanGetLabel)
|
||||||
|
{
|
||||||
|
using (TWCapability cap = new TWCapability(Capability))
|
||||||
|
{
|
||||||
|
var rc = _source.DGControl.Capability.GetLabel(cap);
|
||||||
|
if (rc == ReturnCode.Success)
|
||||||
|
{
|
||||||
|
var read = CapabilityReader.ReadValue(cap);
|
||||||
|
|
||||||
|
switch (read.ContainerType)
|
||||||
|
{
|
||||||
|
case ContainerType.OneValue:
|
||||||
|
// most likely not correct
|
||||||
|
value = read.OneValue;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value == null ? null : value.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// [Experimental] Gets the help value of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string GetHelp()
|
||||||
|
{
|
||||||
|
object value = null;
|
||||||
|
if (CanGetHelp)
|
||||||
|
{
|
||||||
|
using (TWCapability cap = new TWCapability(Capability))
|
||||||
|
{
|
||||||
|
var rc = _source.DGControl.Capability.GetHelp(cap);
|
||||||
|
if (rc == ReturnCode.Success)
|
||||||
|
{
|
||||||
|
var read = CapabilityReader.ReadValue(cap);
|
||||||
|
|
||||||
|
switch (read.ContainerType)
|
||||||
|
{
|
||||||
|
case ContainerType.OneValue:
|
||||||
|
// most likely not correct
|
||||||
|
value = read.OneValue;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value == null ? null : value.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// [Experimental] Gets the display names for possible values of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public IList<string> GetLabelEnum()
|
||||||
|
{
|
||||||
|
var list = new List<object>();
|
||||||
|
if (CanGetLabelEnum)
|
||||||
|
{
|
||||||
|
using (TWCapability cap = new TWCapability(Capability))
|
||||||
|
{
|
||||||
|
var rc = _source.DGControl.Capability.GetLabelEnum(cap);
|
||||||
|
if (rc == ReturnCode.Success)
|
||||||
|
{
|
||||||
|
cap.ReadMultiCapValues(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list.Select(o => o.ToString()).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region set methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Resets all values and constraint to power-on defaults.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public ReturnCode ResetAll()
|
||||||
|
{
|
||||||
|
return _source.ResetAll(Capability);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Resets the current value to power-on default.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public ReturnCode Reset()
|
||||||
|
{
|
||||||
|
return _source.Reset(Capability);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the current value of this capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value">The value.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public ReturnCode Set(TValue value)
|
||||||
|
{
|
||||||
|
ReturnCode rc = ReturnCode.Failure;
|
||||||
|
if (CanSet && _setProvider != null)
|
||||||
|
{
|
||||||
|
using (var cap = _setProvider(value))
|
||||||
|
{
|
||||||
|
rc = _source.DGControl.Capability.Set(cap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public enum SetStrategy
|
||||||
|
{
|
||||||
|
Once,
|
||||||
|
Cascade,
|
||||||
|
Custom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
namespace NTwain
|
namespace NTwain
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The one-stop class for reading raw TWAIN cap values.
|
/// The one-stop class for reading raw TWAIN cap values from the cap container.
|
||||||
/// This contains all the properties for the 4 container types.
|
/// This contains all the properties for the 4 container types.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class CapabilityReader
|
public class CapabilityReader
|
||||||
|
@@ -1345,6 +1345,7 @@ namespace NTwain.Data
|
|||||||
/// This structure is used to pass specific information between the data source and the application
|
/// This structure is used to pass specific information between the data source and the application
|
||||||
/// through <see cref="TWExtImageInfo"/>.
|
/// through <see cref="TWExtImageInfo"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[DebuggerDisplay("Type = {ItemType}")]
|
||||||
public partial struct TWInfo
|
public partial struct TWInfo
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@@ -11,6 +11,8 @@ namespace NTwain
|
|||||||
|
|
||||||
partial class DataSource
|
partial class DataSource
|
||||||
{
|
{
|
||||||
|
#region low-level cap stuff
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the actual supported operations for a capability.
|
/// Gets the actual supported operations for a capability.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -52,7 +54,7 @@ namespace NTwain
|
|||||||
switch (read.ContainerType)
|
switch (read.ContainerType)
|
||||||
{
|
{
|
||||||
case ContainerType.Enum:
|
case ContainerType.Enum:
|
||||||
if (read.CollectionValues != null)
|
if (read.CollectionValues != null && read.CollectionValues.Count > read.EnumCurrentIndex)
|
||||||
{
|
{
|
||||||
return read.CollectionValues[read.EnumCurrentIndex];
|
return read.CollectionValues[read.EnumCurrentIndex];
|
||||||
}
|
}
|
||||||
@@ -74,13 +76,51 @@ namespace NTwain
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the default value for a capability.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="capId">The cap id.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public object CapGetDefault(CapabilityId capId)
|
||||||
|
{
|
||||||
|
using (TWCapability cap = new TWCapability(capId))
|
||||||
|
{
|
||||||
|
var rc = _session.DGControl.Capability.GetDefault(cap);
|
||||||
|
if (rc == ReturnCode.Success)
|
||||||
|
{
|
||||||
|
var read = CapabilityReader.ReadValue(cap);
|
||||||
|
|
||||||
|
switch (read.ContainerType)
|
||||||
|
{
|
||||||
|
case ContainerType.Enum:
|
||||||
|
if (read.CollectionValues != null && read.CollectionValues.Count > read.EnumDefaultIndex)
|
||||||
|
{
|
||||||
|
return read.CollectionValues[read.EnumDefaultIndex];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ContainerType.OneValue:
|
||||||
|
return read.OneValue;
|
||||||
|
case ContainerType.Range:
|
||||||
|
return read.RangeDefaultValue;
|
||||||
|
case ContainerType.Array:
|
||||||
|
// no source should ever return an array but anyway
|
||||||
|
if (read.CollectionValues != null)
|
||||||
|
{
|
||||||
|
return read.CollectionValues.FirstOrDefault();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A general method that tries to get capability values from current <see cref="DataSource" />.
|
/// A general method that tries to get capability values from current <see cref="DataSource" />.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="capabilityId">The capability unique identifier.</param>
|
/// <param name="capabilityId">The capability unique identifier.</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public IList<object> CapGetValues(CapabilityId capabilityId)
|
public IList<object> CapGet(CapabilityId capabilityId)
|
||||||
{
|
{
|
||||||
var list = new List<object>();
|
var list = new List<object>();
|
||||||
using (TWCapability cap = new TWCapability(capabilityId))
|
using (TWCapability cap = new TWCapability(capabilityId))
|
||||||
@@ -94,155 +134,217 @@ namespace NTwain
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region xfer mech
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the supported image <see cref="XferMech"/> for the current source.
|
/// Resets all values and constraint to power-on defaults.
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <param name="capabilityId">The capability identifier.</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public IList<XferMech> CapGetImageXferMech()
|
public ReturnCode ResetAll(CapabilityId capabilityId)
|
||||||
{
|
{
|
||||||
return CapGetValues(CapabilityId.ICapXferMech).CastToEnum<XferMech>(true);
|
using (TWCapability cap = new TWCapability(capabilityId)
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region compression
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the supported <see cref="CompressionType"/> for the current source.
|
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public IList<CompressionType> CapGetCompression()
|
|
||||||
{
|
|
||||||
return CapGetValues(CapabilityId.ICapCompression).CastToEnum<CompressionType>(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Change the image compression for the current source.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="compression">The compression.</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public ReturnCode CapSetImageCompression(CompressionType compression)
|
|
||||||
{
|
|
||||||
using (TWCapability compressCap = new TWCapability(CapabilityId.ICapCompression, new TWOneValue { Item = (uint)compression, ItemType = ItemType.UInt16 }))
|
|
||||||
{
|
{
|
||||||
return _session.DGControl.Capability.Set(compressCap);
|
ContainerType = ContainerType.DoNotCare
|
||||||
|
})
|
||||||
|
{
|
||||||
|
var rc = DGControl.Capability.ResetAll(cap);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Resets the current value to power-on default.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="capabilityId">The capability identifier.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public ReturnCode Reset(CapabilityId capabilityId)
|
||||||
|
{
|
||||||
|
using (TWCapability cap = new TWCapability(capabilityId)
|
||||||
|
{
|
||||||
|
ContainerType = ContainerType.DoNotCare
|
||||||
|
})
|
||||||
|
{
|
||||||
|
var rc = DGControl.Capability.Reset(cap);
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region image format
|
#region high-level caps
|
||||||
|
|
||||||
|
private CapabilityControl<XferMech> _imgXferMech;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the supported <see cref="FileFormat"/> for the current source.
|
/// Gets the property to work with image <see cref="XferMech"/> for the current source.
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <value>
|
||||||
public IList<FileFormat> CapGetImageFileFormat()
|
/// The image xfer mech.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityControl<XferMech> CapImageXferMech
|
||||||
{
|
{
|
||||||
return CapGetValues(CapabilityId.ICapImageFileFormat).CastToEnum<FileFormat>(true);
|
get
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Change the image format for the current source.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="format">The format.</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public ReturnCode CapSetImageFormat(FileFormat format)
|
|
||||||
{
|
|
||||||
using (TWCapability formatCap = new TWCapability(CapabilityId.ICapImageFileFormat, new TWOneValue { Item = (uint)format, ItemType = ItemType.UInt16 }))
|
|
||||||
{
|
{
|
||||||
return _session.DGControl.Capability.Set(formatCap);
|
if (_imgXferMech == null)
|
||||||
|
{
|
||||||
|
_imgXferMech = new CapabilityControl<XferMech>(this, CapabilityId.ICapXferMech, CapRoutines.EnumRoutine<XferMech>,
|
||||||
|
value => new TWCapability(CapabilityId.ICapXferMech, new TWOneValue
|
||||||
|
{
|
||||||
|
Item = (uint)value,
|
||||||
|
ItemType = ItemType.UInt16
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _imgXferMech;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region pixel type
|
private CapabilityControl<XferMech> _audXferMech;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the supported <see cref="PixelType"/> for the current source.
|
/// Gets the property to work with audio <see cref="XferMech"/> for the current source.
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <value>
|
||||||
public IList<PixelType> CapGetPixelTypes()
|
/// The audio xfer mech.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityControl<XferMech> CapAudioXferMech
|
||||||
{
|
{
|
||||||
return CapGetValues(CapabilityId.ICapPixelType).CastToEnum<PixelType>(true);
|
get
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Change the pixel type for the current source.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="type">The type.</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public ReturnCode CapSetPixelType(PixelType type)
|
|
||||||
{
|
|
||||||
var one = new TWOneValue();
|
|
||||||
one.Item = (uint)type;
|
|
||||||
one.ItemType = ItemType.UInt16;
|
|
||||||
using (TWCapability dx = new TWCapability(CapabilityId.ICapPixelType, one))
|
|
||||||
{
|
{
|
||||||
return _session.DGControl.Capability.Set(dx);
|
if (_audXferMech == null)
|
||||||
|
{
|
||||||
|
_audXferMech = new CapabilityControl<XferMech>(this, CapabilityId.ACapXferMech, CapRoutines.EnumRoutine<XferMech>,
|
||||||
|
value => new TWCapability(CapabilityId.ACapXferMech, new TWOneValue
|
||||||
|
{
|
||||||
|
Item = (uint)value,
|
||||||
|
ItemType = ItemType.UInt16
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _audXferMech;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region xfer mech
|
private CapabilityControl<CompressionType> _compression;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the supported image <see cref="XferMech"/> for the current source.
|
/// Gets the property to work with image <see cref="CompressionType"/> for the current source.
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <value>
|
||||||
public IList<XferMech> CapGetImageXferMechs()
|
/// The image compression.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityControl<CompressionType> CapImageCompression
|
||||||
{
|
{
|
||||||
return CapGetValues(CapabilityId.ICapXferMech).CastToEnum<XferMech>(true);
|
get
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the supported audio <see cref="XferMech"/> for the current source.
|
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public IList<XferMech> CapGetAudioXferMechs()
|
|
||||||
{
|
|
||||||
return CapGetValues(CapabilityId.ACapXferMech).CastToEnum<XferMech>(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Change the image xfer type for the current source.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="type">The type.</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public ReturnCode CapSetImageXferMech(XferMech type)
|
|
||||||
{
|
|
||||||
var one = new TWOneValue();
|
|
||||||
one.Item = (uint)type;
|
|
||||||
one.ItemType = ItemType.UInt16;
|
|
||||||
using (TWCapability dx = new TWCapability(CapabilityId.ICapXferMech, one))
|
|
||||||
{
|
{
|
||||||
return _session.DGControl.Capability.Set(dx);
|
if (_compression == null)
|
||||||
|
{
|
||||||
|
_compression = new CapabilityControl<CompressionType>(this, CapabilityId.ICapCompression, CapRoutines.EnumRoutine<CompressionType>,
|
||||||
|
value => new TWCapability(CapabilityId.ICapCompression, new TWOneValue
|
||||||
|
{
|
||||||
|
Item = (uint)value,
|
||||||
|
ItemType = ItemType.UInt16
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _compression;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CapabilityControl<FileFormat> _fileFormat;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Change the audio xfer type for the current source.
|
/// Gets the property to work with image <see cref="FileFormat"/> for the current source.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="type">The type.</param>
|
/// <value>
|
||||||
/// <returns></returns>
|
/// The image file format.
|
||||||
public ReturnCode CapSetAudioXferMech(XferMech type)
|
/// </value>
|
||||||
|
public CapabilityControl<FileFormat> CapImageFileFormat
|
||||||
{
|
{
|
||||||
var one = new TWOneValue();
|
get
|
||||||
one.Item = (uint)type;
|
|
||||||
one.ItemType = ItemType.UInt16;
|
|
||||||
using (TWCapability dx = new TWCapability(CapabilityId.ACapXferMech, one))
|
|
||||||
{
|
{
|
||||||
return _session.DGControl.Capability.Set(dx);
|
if (_fileFormat == null)
|
||||||
|
{
|
||||||
|
_fileFormat = new CapabilityControl<FileFormat>(this, CapabilityId.ICapImageFileFormat, CapRoutines.EnumRoutine<FileFormat>,
|
||||||
|
value => new TWCapability(CapabilityId.ICapImageFileFormat, new TWOneValue
|
||||||
|
{
|
||||||
|
Item = (uint)value,
|
||||||
|
ItemType = ItemType.UInt16
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _fileFormat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CapabilityControl<PixelType> _pixelType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the property to work with image <see cref="PixelType"/> for the current source.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The image pixel type.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityControl<PixelType> CapImagePixelType
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_pixelType == null)
|
||||||
|
{
|
||||||
|
_pixelType = new CapabilityControl<PixelType>(this, CapabilityId.ICapPixelType, CapRoutines.EnumRoutine<PixelType>,
|
||||||
|
value => new TWCapability(CapabilityId.ICapPixelType, new TWOneValue
|
||||||
|
{
|
||||||
|
Item = (uint)value,
|
||||||
|
ItemType = ItemType.UInt16
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _pixelType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CapabilityControl<SupportedSize> _supportSize;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the property to work with image <see cref="SupportedSize"/> for the current source.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The image supported size.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityControl<SupportedSize> CapImageSupportedSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_supportSize == null)
|
||||||
|
{
|
||||||
|
_supportSize = new CapabilityControl<SupportedSize>(this, CapabilityId.ICapSupportedSizes, CapRoutines.EnumRoutine<SupportedSize>,
|
||||||
|
value => new TWCapability(CapabilityId.ICapSupportedSizes, new TWOneValue
|
||||||
|
{
|
||||||
|
Item = (uint)value,
|
||||||
|
ItemType = ItemType.UInt16
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _supportSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CapabilityControl<BoolType> _autoDeskew;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the property to work with image auto deskew flag for the current source.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>
|
||||||
|
/// The image supported size.
|
||||||
|
/// </value>
|
||||||
|
public CapabilityControl<BoolType> CapImageAutoDeskew
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_autoDeskew == null)
|
||||||
|
{
|
||||||
|
_autoDeskew = new CapabilityControl<BoolType>(this, CapabilityId.ICapAutomaticDeskew, CapRoutines.EnumRoutine<BoolType>, null);
|
||||||
|
}
|
||||||
|
return _autoDeskew;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,7 +359,7 @@ namespace NTwain
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public IList<TWFix32> CapGetDPIs()
|
public IList<TWFix32> CapGetDPIs()
|
||||||
{
|
{
|
||||||
var list = CapGetValues(CapabilityId.ICapXResolution);
|
var list = CapGet(CapabilityId.ICapXResolution);
|
||||||
return list.Select(o => o.ConvertToFix32()).ToList();
|
return list.Select(o => o.ConvertToFix32()).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,38 +402,6 @@ namespace NTwain
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region supported paper size
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the supported <see cref="SupportedSize"/> for the current source.
|
|
||||||
/// Only call this at state 4 or higher.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public IList<SupportedSize> CapGetSupportedSizes()
|
|
||||||
{
|
|
||||||
return CapGetValues(CapabilityId.ICapSupportedSizes).CastToEnum<SupportedSize>(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Change the supported paper size for the current source.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="size">The size.</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public ReturnCode CapSetSupportedSize(SupportedSize size)
|
|
||||||
{
|
|
||||||
var one = new TWOneValue();
|
|
||||||
one.Item = (uint)size;
|
|
||||||
one.ItemType = ItemType.UInt16;
|
|
||||||
|
|
||||||
using (TWCapability xres = new TWCapability(CapabilityId.ICapSupportedSizes, one))
|
|
||||||
{
|
|
||||||
var rc = _session.DGControl.Capability.Set(xres);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region onesie flags
|
#region onesie flags
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@@ -185,7 +185,7 @@ namespace NTwain
|
|||||||
{
|
{
|
||||||
if (_supportedCaps == null && _session.State > 3)
|
if (_supportedCaps == null && _session.State > 3)
|
||||||
{
|
{
|
||||||
_supportedCaps = CapGetValues(CapabilityId.CapSupportedCaps).CastToEnum<CapabilityId>(false);
|
_supportedCaps = CapGet(CapabilityId.CapSupportedCaps).CastToEnum<CapabilityId>(false);
|
||||||
}
|
}
|
||||||
return _supportedCaps ?? _emptyCapList;
|
return _supportedCaps ?? _emptyCapList;
|
||||||
}
|
}
|
||||||
|
@@ -55,7 +55,9 @@
|
|||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="CapabilityControl.cs" />
|
||||||
<Compile Include="CapabilityReader.cs" />
|
<Compile Include="CapabilityReader.cs" />
|
||||||
|
<Compile Include="CapRoutines.cs" />
|
||||||
<Compile Include="Data\TypeReader.cs" />
|
<Compile Include="Data\TypeReader.cs" />
|
||||||
<Compile Include="Data\TwainTypesExtended.cs" />
|
<Compile Include="Data\TwainTypesExtended.cs" />
|
||||||
<Compile Include="DeviceEventArgs.cs" />
|
<Compile Include="DeviceEventArgs.cs" />
|
||||||
|
@@ -133,505 +133,505 @@ namespace Tester.WPF
|
|||||||
switch (cap)
|
switch (cap)
|
||||||
{
|
{
|
||||||
case CapabilityId.ACapXferMech:
|
case CapabilityId.ACapXferMech:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<XferMech>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<XferMech>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAlarms:
|
case CapabilityId.CapAlarms:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<AlarmType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<AlarmType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAlarmVolume:
|
case CapabilityId.CapAlarmVolume:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAuthor:
|
case CapabilityId.CapAuthor:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAutoFeed:
|
case CapabilityId.CapAutoFeed:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAutomaticCapture:
|
case CapabilityId.CapAutomaticCapture:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAutomaticSenseMedium:
|
case CapabilityId.CapAutomaticSenseMedium:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapAutoScan:
|
case CapabilityId.CapAutoScan:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapBatteryMinutes:
|
case CapabilityId.CapBatteryMinutes:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapBatteryPercentage:
|
case CapabilityId.CapBatteryPercentage:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCameraEnabled:
|
case CapabilityId.CapCameraEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCameraOrder:
|
case CapabilityId.CapCameraOrder:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCameraPreviewUI:
|
case CapabilityId.CapCameraPreviewUI:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCameraSide:
|
case CapabilityId.CapCameraSide:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<CameraSide>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<CameraSide>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCaption:
|
case CapabilityId.CapCaption:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapClearBuffers:
|
case CapabilityId.CapClearBuffers:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<ClearBuffer>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<ClearBuffer>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapClearPage:
|
case CapabilityId.CapClearPage:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCustomDSData:
|
case CapabilityId.CapCustomDSData:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapCustomInterfaceGuid:
|
case CapabilityId.CapCustomInterfaceGuid:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDeviceEvent:
|
case CapabilityId.CapDeviceEvent:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<DeviceEvent>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<DeviceEvent>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDeviceOnline:
|
case CapabilityId.CapDeviceOnline:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDeviceTimeDate:
|
case CapabilityId.CapDeviceTimeDate:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDoubleFeedDetection:
|
case CapabilityId.CapDoubleFeedDetection:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<DoubleFeedDetection>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<DoubleFeedDetection>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDoubleFeedDetectionLength:
|
case CapabilityId.CapDoubleFeedDetectionLength:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDoubleFeedDetectionResponse:
|
case CapabilityId.CapDoubleFeedDetectionResponse:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<DoubleFeedDetectionResponse>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<DoubleFeedDetectionResponse>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDoubleFeedDetectionSensitivity:
|
case CapabilityId.CapDoubleFeedDetectionSensitivity:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<DoubleFeedDetectionSensitivity>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<DoubleFeedDetectionSensitivity>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDuplex:
|
case CapabilityId.CapDuplex:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Duplex>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Duplex>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapDuplexEnabled:
|
case CapabilityId.CapDuplexEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapEnableDSUIOnly:
|
case CapabilityId.CapEnableDSUIOnly:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapEndorser:
|
case CapabilityId.CapEndorser:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapExtendedCaps:
|
case CapabilityId.CapExtendedCaps:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeederAlignment:
|
case CapabilityId.CapFeederAlignment:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FeederAlignment>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FeederAlignment>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeederEnabled:
|
case CapabilityId.CapFeederEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeederLoaded:
|
case CapabilityId.CapFeederLoaded:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeederOrder:
|
case CapabilityId.CapFeederOrder:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FeederOrder>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FeederOrder>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeederPocket:
|
case CapabilityId.CapFeederPocket:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FeederPocket>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FeederPocket>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeederPrep:
|
case CapabilityId.CapFeederPrep:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapFeedPage:
|
case CapabilityId.CapFeedPage:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapIndicators:
|
case CapabilityId.CapIndicators:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapIndicatorsMode:
|
case CapabilityId.CapIndicatorsMode:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<IndicatorsMode>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<IndicatorsMode>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapJobControl:
|
case CapabilityId.CapJobControl:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<JobControl>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<JobControl>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapLanguage:
|
case CapabilityId.CapLanguage:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Language>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Language>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapMaxBatchBuffers:
|
case CapabilityId.CapMaxBatchBuffers:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapMicrEnabled:
|
case CapabilityId.CapMicrEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPaperDetectable:
|
case CapabilityId.CapPaperDetectable:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPaperHandling:
|
case CapabilityId.CapPaperHandling:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PaperHandling>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PaperHandling>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPowerSaveTime:
|
case CapabilityId.CapPowerSaveTime:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPowerSupply:
|
case CapabilityId.CapPowerSupply:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PowerSupply>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PowerSupply>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinter:
|
case CapabilityId.CapPrinter:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Printer>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Printer>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterCharRotation:
|
case CapabilityId.CapPrinterCharRotation:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterEnabled:
|
case CapabilityId.CapPrinterEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterFontStyle:
|
case CapabilityId.CapPrinterFontStyle:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PrinterFontStyle>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PrinterFontStyle>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterIndex:
|
case CapabilityId.CapPrinterIndex:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterIndexLeadChar:
|
case CapabilityId.CapPrinterIndexLeadChar:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterIndexMaxValue:
|
case CapabilityId.CapPrinterIndexMaxValue:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterIndexNumDigits:
|
case CapabilityId.CapPrinterIndexNumDigits:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterIndexStep:
|
case CapabilityId.CapPrinterIndexStep:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterIndexTrigger:
|
case CapabilityId.CapPrinterIndexTrigger:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PrinterIndexTrigger>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PrinterIndexTrigger>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterMode:
|
case CapabilityId.CapPrinterMode:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PrinterMode>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PrinterMode>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterString:
|
case CapabilityId.CapPrinterString:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterStringPreview:
|
case CapabilityId.CapPrinterStringPreview:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterSuffix:
|
case CapabilityId.CapPrinterSuffix:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapPrinterVerticalOffset:
|
case CapabilityId.CapPrinterVerticalOffset:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapReacquireAllowed:
|
case CapabilityId.CapReacquireAllowed:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapRewindPage:
|
case CapabilityId.CapRewindPage:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapSegmented:
|
case CapabilityId.CapSegmented:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Segmented>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Segmented>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapSerialNumber:
|
case CapabilityId.CapSerialNumber:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapSupportedCaps:
|
case CapabilityId.CapSupportedCaps:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<CapabilityId>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<CapabilityId>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapSupportedCapsSegmentUnique:
|
case CapabilityId.CapSupportedCapsSegmentUnique:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapSupportedDATs:
|
case CapabilityId.CapSupportedDATs:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapThumbnailsEnabled:
|
case CapabilityId.CapThumbnailsEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapTimeBeforeFirstCapture:
|
case CapabilityId.CapTimeBeforeFirstCapture:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapTimeBetweenCaptures:
|
case CapabilityId.CapTimeBetweenCaptures:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapTimeDate:
|
case CapabilityId.CapTimeDate:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapUIControllable:
|
case CapabilityId.CapUIControllable:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CapXferCount:
|
case CapabilityId.CapXferCount:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.CustomBase:
|
case CapabilityId.CustomBase:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutoBright:
|
case CapabilityId.ICapAutoBright:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutoDiscardBlankPages:
|
case CapabilityId.ICapAutoDiscardBlankPages:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticBorderDetection:
|
case CapabilityId.ICapAutomaticBorderDetection:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticColorEnabled:
|
case CapabilityId.ICapAutomaticColorEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticColorNonColorPixelType:
|
case CapabilityId.ICapAutomaticColorNonColorPixelType:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PixelType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PixelType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticCropUsesFrame:
|
case CapabilityId.ICapAutomaticCropUsesFrame:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticDeskew:
|
case CapabilityId.ICapAutomaticDeskew:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticLengthDetection:
|
case CapabilityId.ICapAutomaticLengthDetection:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutomaticRotate:
|
case CapabilityId.ICapAutomaticRotate:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapAutoSize:
|
case CapabilityId.ICapAutoSize:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBarcodeDetectionEnabled:
|
case CapabilityId.ICapBarcodeDetectionEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBarcodeMaxRetries:
|
case CapabilityId.ICapBarcodeMaxRetries:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBarcodeMaxSearchPriorities:
|
case CapabilityId.ICapBarcodeMaxSearchPriorities:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBarcodeSearchMode:
|
case CapabilityId.ICapBarcodeSearchMode:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBarcodeSearchPriorities:
|
case CapabilityId.ICapBarcodeSearchPriorities:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBarcodeTimeout:
|
case CapabilityId.ICapBarcodeTimeout:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBitDepth:
|
case CapabilityId.ICapBitDepth:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBitDepthReduction:
|
case CapabilityId.ICapBitDepthReduction:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<BitDepthReduction>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<BitDepthReduction>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBitOrder:
|
case CapabilityId.ICapBitOrder:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<BitOrder>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<BitOrder>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBitOrderCodes:
|
case CapabilityId.ICapBitOrderCodes:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapBrightness:
|
case CapabilityId.ICapBrightness:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapCCITTKFactor:
|
case CapabilityId.ICapCCITTKFactor:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapColorManagementEnabled:
|
case CapabilityId.ICapColorManagementEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapCompression:
|
case CapabilityId.ICapCompression:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<CompressionType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<CompressionType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapContrast:
|
case CapabilityId.ICapContrast:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapCustHalftone:
|
case CapabilityId.ICapCustHalftone:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapExposureTime:
|
case CapabilityId.ICapExposureTime:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapExtImageInfo:
|
case CapabilityId.ICapExtImageInfo:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFeederType:
|
case CapabilityId.ICapFeederType:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FeederType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FeederType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFilmType:
|
case CapabilityId.ICapFilmType:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FilmType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FilmType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFilter:
|
case CapabilityId.ICapFilter:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FilterType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FilterType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFlashUsed:
|
case CapabilityId.ICapFlashUsed:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFlashUsed2:
|
case CapabilityId.ICapFlashUsed2:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFlipRotation:
|
case CapabilityId.ICapFlipRotation:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FlipRotation>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FlipRotation>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapFrames:
|
case CapabilityId.ICapFrames:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapGamma:
|
case CapabilityId.ICapGamma:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapHalftones:
|
case CapabilityId.ICapHalftones:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapHighlight:
|
case CapabilityId.ICapHighlight:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapICCProfile:
|
case CapabilityId.ICapICCProfile:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<IccProfile>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<IccProfile>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapImageDataSet:
|
case CapabilityId.ICapImageDataSet:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapImageFileFormat:
|
case CapabilityId.ICapImageFileFormat:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<FileFormat>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FileFormat>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapImageFilter:
|
case CapabilityId.ICapImageFilter:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<ImageFilter>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<ImageFilter>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapImageMerge:
|
case CapabilityId.ICapImageMerge:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<ImageMerge>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<ImageMerge>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapImageMergeHeightThreshold:
|
case CapabilityId.ICapImageMergeHeightThreshold:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapJpegPixelType:
|
case CapabilityId.ICapJpegPixelType:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PixelType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PixelType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapJpegQuality:
|
case CapabilityId.ICapJpegQuality:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<JpegQuality>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<JpegQuality>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapJpegSubsampling:
|
case CapabilityId.ICapJpegSubsampling:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<JpegSubsampling>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<JpegSubsampling>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapLampState:
|
case CapabilityId.ICapLampState:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapLightPath:
|
case CapabilityId.ICapLightPath:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<LightPath>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<LightPath>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapLightSource:
|
case CapabilityId.ICapLightSource:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<LightSource>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<LightSource>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapMaxFrames:
|
case CapabilityId.ICapMaxFrames:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapMinimumHeight:
|
case CapabilityId.ICapMinimumHeight:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapMinimumWidth:
|
case CapabilityId.ICapMinimumWidth:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapMirror:
|
case CapabilityId.ICapMirror:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Mirror>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Mirror>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapNoiseFilter:
|
case CapabilityId.ICapNoiseFilter:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<NoiseFilter>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<NoiseFilter>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapOrientation:
|
case CapabilityId.ICapOrientation:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<OrientationType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<OrientationType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapOverScan:
|
case CapabilityId.ICapOverScan:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<OverScan>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<OverScan>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPatchCodeDetectionEnabled:
|
case CapabilityId.ICapPatchCodeDetectionEnabled:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPatchCodeMaxRetries:
|
case CapabilityId.ICapPatchCodeMaxRetries:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPatchCodeMaxSearchPriorities:
|
case CapabilityId.ICapPatchCodeMaxSearchPriorities:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PatchCode>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PatchCode>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPatchCodeSearchMode:
|
case CapabilityId.ICapPatchCodeSearchMode:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPatchCodeSearchPriorities:
|
case CapabilityId.ICapPatchCodeSearchPriorities:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPatchCodeTimeout:
|
case CapabilityId.ICapPatchCodeTimeout:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
// TODO phys size are twfix32
|
// TODO phys size are twfix32
|
||||||
case CapabilityId.ICapPhysicalHeight:
|
case CapabilityId.ICapPhysicalHeight:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPhysicalWidth:
|
case CapabilityId.ICapPhysicalWidth:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPixelFlavor:
|
case CapabilityId.ICapPixelFlavor:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PixelFlavor>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PixelFlavor>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPixelFlavorCodes:
|
case CapabilityId.ICapPixelFlavorCodes:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPixelType:
|
case CapabilityId.ICapPixelType:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PixelType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PixelType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapPlanarChunky:
|
case CapabilityId.ICapPlanarChunky:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PlanarChunky>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PlanarChunky>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapRotation:
|
case CapabilityId.ICapRotation:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Rotation>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Rotation>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapShadow:
|
case CapabilityId.ICapShadow:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapSupportedBarcodeTypes:
|
case CapabilityId.ICapSupportedBarcodeTypes:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<BarcodeType>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<BarcodeType>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapSupportedExtImageInfo:
|
case CapabilityId.ICapSupportedExtImageInfo:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<ExtendedImageInfo>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<ExtendedImageInfo>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapSupportedPatchCodeTypes:
|
case CapabilityId.ICapSupportedPatchCodeTypes:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<PatchCode>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PatchCode>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapSupportedSizes:
|
case CapabilityId.ICapSupportedSizes:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<SupportedSize>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<SupportedSize>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapThreshold:
|
case CapabilityId.ICapThreshold:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapTiles:
|
case CapabilityId.ICapTiles:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapTimeFill:
|
case CapabilityId.ICapTimeFill:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapUndefinedImageSize:
|
case CapabilityId.ICapUndefinedImageSize:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapUnits:
|
case CapabilityId.ICapUnits:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<Unit>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Unit>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapXferMech:
|
case CapabilityId.ICapXferMech:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap).CastToEnum<XferMech>();
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<XferMech>();
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapXNativeResolution:
|
case CapabilityId.ICapXNativeResolution:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapXResolution:
|
case CapabilityId.ICapXResolution:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapXScaling:
|
case CapabilityId.ICapXScaling:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapYNativeResolution:
|
case CapabilityId.ICapYNativeResolution:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapYResolution:
|
case CapabilityId.ICapYResolution:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapYScaling:
|
case CapabilityId.ICapYScaling:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
case CapabilityId.ICapZoomFactor:
|
case CapabilityId.ICapZoomFactor:
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (cap > CapabilityId.CustomBase)
|
if (cap > CapabilityId.CustomBase)
|
||||||
{
|
{
|
||||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGetValues(cap);
|
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -3,6 +3,7 @@ using GalaSoft.MvvmLight.Messaging;
|
|||||||
using NTwain;
|
using NTwain;
|
||||||
using NTwain.Data;
|
using NTwain.Data;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
@@ -71,7 +72,7 @@ namespace Tester.WPF
|
|||||||
|
|
||||||
if (this.CurrentSource.CapGetCurrent(CapabilityId.ICapXferMech).ConvertToEnum<XferMech>() == XferMech.File)
|
if (this.CurrentSource.CapGetCurrent(CapabilityId.ICapXferMech).ConvertToEnum<XferMech>() == XferMech.File)
|
||||||
{
|
{
|
||||||
var formats = this.CurrentSource.CapGetImageFileFormat();
|
var formats = this.CurrentSource.CapImageFileFormat.Get();
|
||||||
var wantFormat = formats.Contains(FileFormat.Tiff) ? FileFormat.Tiff : FileFormat.Bmp;
|
var wantFormat = formats.Contains(FileFormat.Tiff) ? FileFormat.Tiff : FileFormat.Bmp;
|
||||||
|
|
||||||
var fileSetup = new TWSetupFileXfer
|
var fileSetup = new TWSetupFileXfer
|
||||||
@@ -122,14 +123,14 @@ namespace Tester.WPF
|
|||||||
{
|
{
|
||||||
if (State == 4)
|
if (State == 4)
|
||||||
{
|
{
|
||||||
if (this.CurrentSource.CapGetPixelTypes().Contains(PixelType.BlackWhite))
|
if (this.CurrentSource.CapImagePixelType.Get().Contains(PixelType.BlackWhite))
|
||||||
{
|
{
|
||||||
this.CurrentSource.CapSetPixelType(PixelType.BlackWhite);
|
this.CurrentSource.CapImagePixelType.Set(PixelType.BlackWhite);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.CurrentSource.CapGetImageXferMechs().Contains(XferMech.File))
|
if (this.CurrentSource.CapImageXferMech.Get().Contains(XferMech.File))
|
||||||
{
|
{
|
||||||
this.CurrentSource.CapSetImageXferMech(XferMech.File);
|
this.CurrentSource.CapImageXferMech.Set(XferMech.File);
|
||||||
}
|
}
|
||||||
|
|
||||||
var rc = this.CurrentSource.Enable(SourceEnableMode.NoUI, false, hwnd);
|
var rc = this.CurrentSource.Enable(SourceEnableMode.NoUI, false, hwnd);
|
||||||
|
@@ -273,11 +273,12 @@ namespace Tester.Winform
|
|||||||
|
|
||||||
private void LoadSourceCaps()
|
private void LoadSourceCaps()
|
||||||
{
|
{
|
||||||
var caps = _twain.CurrentSource.SupportedCaps;
|
var src = _twain.CurrentSource;
|
||||||
|
var caps = src.SupportedCaps;
|
||||||
_loadingCaps = true;
|
_loadingCaps = true;
|
||||||
if (groupDepth.Enabled = caps.Contains(CapabilityId.ICapPixelType))
|
if (groupDepth.Enabled = src.CapImagePixelType.IsSupported)
|
||||||
{
|
{
|
||||||
LoadDepth();
|
LoadDepth(src.CapImagePixelType);
|
||||||
}
|
}
|
||||||
if (groupDPI.Enabled = caps.Contains(CapabilityId.ICapXResolution) && caps.Contains(CapabilityId.ICapYResolution))
|
if (groupDPI.Enabled = caps.Contains(CapabilityId.ICapXResolution) && caps.Contains(CapabilityId.ICapYResolution))
|
||||||
{
|
{
|
||||||
@@ -288,23 +289,28 @@ namespace Tester.Winform
|
|||||||
{
|
{
|
||||||
LoadDuplex();
|
LoadDuplex();
|
||||||
}
|
}
|
||||||
if (groupSize.Enabled = caps.Contains(CapabilityId.ICapSupportedSizes))
|
if (groupSize.Enabled = src.CapImageSupportedSize.IsSupported)
|
||||||
{
|
{
|
||||||
LoadPaperSize();
|
LoadPaperSize(src.CapImageSupportedSize);
|
||||||
}
|
}
|
||||||
btnAllSettings.Enabled = caps.Contains(CapabilityId.CapEnableDSUIOnly);
|
btnAllSettings.Enabled = caps.Contains(CapabilityId.CapEnableDSUIOnly);
|
||||||
_loadingCaps = false;
|
_loadingCaps = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadPaperSize()
|
private void LoadPaperSize(CapabilityControl<SupportedSize> cap)
|
||||||
{
|
{
|
||||||
var list = _twain.CurrentSource.CapGetSupportedSizes();
|
var list = cap.Get();
|
||||||
comboSize.DataSource = list;
|
comboSize.DataSource = list;
|
||||||
var cur = _twain.CurrentSource.CapGetCurrent(CapabilityId.ICapSupportedSizes).ConvertToEnum<SupportedSize>();
|
var cur = cap.GetCurrent();
|
||||||
if (list.Contains(cur))
|
if (list.Contains(cur))
|
||||||
{
|
{
|
||||||
comboSize.SelectedItem = cur;
|
comboSize.SelectedItem = cur;
|
||||||
}
|
}
|
||||||
|
var labelTest = cap.GetLabel();
|
||||||
|
if (!string.IsNullOrEmpty(labelTest))
|
||||||
|
{
|
||||||
|
groupSize.Text = labelTest;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadDuplex()
|
private void LoadDuplex()
|
||||||
@@ -324,15 +330,20 @@ namespace Tester.Winform
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadDepth()
|
private void LoadDepth(CapabilityControl<PixelType> cap)
|
||||||
{
|
{
|
||||||
var list = _twain.CurrentSource.CapGetPixelTypes();
|
var list = cap.Get();
|
||||||
comboDepth.DataSource = list;
|
comboDepth.DataSource = list;
|
||||||
var cur = _twain.CurrentSource.CapGetCurrent(CapabilityId.ICapPixelType).ConvertToEnum<PixelType>();
|
var cur = cap.GetCurrent();
|
||||||
if (list.Contains(cur))
|
if (list.Contains(cur))
|
||||||
{
|
{
|
||||||
comboDepth.SelectedItem = cur;
|
comboDepth.SelectedItem = cur;
|
||||||
}
|
}
|
||||||
|
var labelTest = cap.GetLabel();
|
||||||
|
if (!string.IsNullOrEmpty(labelTest))
|
||||||
|
{
|
||||||
|
groupDepth.Text = labelTest;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void comboSize_SelectedIndexChanged(object sender, EventArgs e)
|
private void comboSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
@@ -340,7 +351,7 @@ namespace Tester.Winform
|
|||||||
if (!_loadingCaps && _twain.State == 4)
|
if (!_loadingCaps && _twain.State == 4)
|
||||||
{
|
{
|
||||||
var sel = (SupportedSize)comboSize.SelectedItem;
|
var sel = (SupportedSize)comboSize.SelectedItem;
|
||||||
_twain.CurrentSource.CapSetSupportedSize(sel);
|
_twain.CurrentSource.CapImageSupportedSize.Set(sel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -349,7 +360,7 @@ namespace Tester.Winform
|
|||||||
if (!_loadingCaps && _twain.State == 4)
|
if (!_loadingCaps && _twain.State == 4)
|
||||||
{
|
{
|
||||||
var sel = (PixelType)comboDepth.SelectedItem;
|
var sel = (PixelType)comboDepth.SelectedItem;
|
||||||
_twain.CurrentSource.CapSetPixelType(sel);
|
_twain.CurrentSource.CapImagePixelType.Set(sel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user