mirror of
https://github.com/soukoku/ntwain.git
synced 2025-09-19 01:57:56 +08:00
More ICaps
This commit is contained in:
@@ -354,6 +354,7 @@ namespace NTwain
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="System.InvalidOperationException">Simple Set() is not defined for this capability.</exception>
|
||||
public ReturnCode Set(TValue value)
|
||||
{
|
||||
ReturnCode rc = ReturnCode.Failure;
|
||||
@@ -370,6 +371,28 @@ namespace NTwain
|
||||
rc = _source.DGControl.Capability.Set(cap);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("Simple Set() is not defined for this capability.");
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A version of Set that uses an array.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns></returns>
|
||||
public ReturnCode Set(TWArray value)
|
||||
{
|
||||
ReturnCode rc = ReturnCode.Failure;
|
||||
if (CanSet)
|
||||
{
|
||||
using (var cap = new TWCapability(Capability, value))
|
||||
{
|
||||
rc = _source.DGControl.Capability.Set(cap);
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
@@ -654,7 +654,6 @@ namespace NTwain.Data
|
||||
public TWCapability(CapabilityId capability, TWOneValue value, IMemoryManager memoryManager)
|
||||
{
|
||||
Capability = capability;
|
||||
ContainerType = ContainerType.OneValue;
|
||||
SetOneValue(value, memoryManager);
|
||||
}
|
||||
|
||||
@@ -675,7 +674,6 @@ namespace NTwain.Data
|
||||
public TWCapability(CapabilityId capability, TWEnumeration value, IMemoryManager memoryManager)
|
||||
{
|
||||
Capability = capability;
|
||||
ContainerType = ContainerType.Enum;
|
||||
SetEnumValue(value, memoryManager);
|
||||
}
|
||||
|
||||
@@ -696,9 +694,28 @@ namespace NTwain.Data
|
||||
public TWCapability(CapabilityId capability, TWRange value, IMemoryManager memoryManager)
|
||||
{
|
||||
Capability = capability;
|
||||
ContainerType = ContainerType.Range;
|
||||
SetRangeValue(value, memoryManager);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="TWCapability" /> class.
|
||||
/// </summary>
|
||||
/// <param name="capability">The capability.</param>
|
||||
/// <param name="value">The value.</param>
|
||||
public TWCapability(CapabilityId capability, TWArray value)
|
||||
: this(capability, value, PlatformInfo.Current.MemoryManager) { }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="TWCapability" /> class.
|
||||
/// </summary>
|
||||
/// <param name="capability">The capability.</param>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <param name="memoryManager">The memory manager.</param>
|
||||
public TWCapability(CapabilityId capability, TWArray value, IMemoryManager memoryManager)
|
||||
{
|
||||
Capability = capability;
|
||||
SetArrayValue(value, memoryManager);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region properties
|
||||
@@ -759,7 +776,6 @@ namespace NTwain.Data
|
||||
memoryManager.Unlock(baseAddr);
|
||||
}
|
||||
|
||||
|
||||
void SetRangeValue(TWRange value, IMemoryManager memoryManager)
|
||||
{
|
||||
if (value == null) { throw new ArgumentNullException("value"); }
|
||||
@@ -774,6 +790,28 @@ namespace NTwain.Data
|
||||
Marshal.StructureToPtr(value, _hContainer, false);
|
||||
}
|
||||
}
|
||||
|
||||
void SetArrayValue(TWArray value, IMemoryManager memoryManager)
|
||||
{
|
||||
if (value == null) { throw new ArgumentNullException("value"); }
|
||||
ContainerType = ContainerType.Array;
|
||||
|
||||
Int32 valueSize = 6 + value.ItemList.Length * TypeReader.GetItemTypeSize(value.ItemType);
|
||||
|
||||
int offset = 0;
|
||||
_hContainer = memoryManager.Allocate((uint)valueSize);
|
||||
IntPtr baseAddr = memoryManager.Lock(_hContainer);
|
||||
|
||||
// can't safely use StructureToPtr here so write it our own
|
||||
WriteValue(baseAddr, ref offset, ItemType.UInt16, value.ItemType);
|
||||
WriteValue(baseAddr, ref offset, ItemType.UInt32, (uint)value.ItemList.Length);
|
||||
foreach (var item in value.ItemList)
|
||||
{
|
||||
WriteValue(baseAddr, ref offset, value.ItemType, item);
|
||||
}
|
||||
memoryManager.Unlock(baseAddr);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region writes
|
||||
|
@@ -225,7 +225,7 @@ namespace NTwain.Data
|
||||
/// Corresponds to TWBP_* values.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1028:EnumStorageShouldBeInt32")]
|
||||
public enum BlankPage : short
|
||||
public enum BlankPage //: short
|
||||
{
|
||||
Invalid = 0,
|
||||
Disable = -2,
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
||||
using NTwain.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
namespace NTwain
|
||||
{
|
||||
|
||||
@@ -57,19 +58,44 @@ namespace NTwain
|
||||
/// </value>
|
||||
bool CanGetLabelEnum { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether <see cref="Reset"/> is supported.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// <c>true</c> if this capability can reset; otherwise, <c>false</c>.
|
||||
/// </value>
|
||||
bool CanReset { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether <see cref="Set"/> is supported.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// <c>true</c> if this capability can set; otherwise, <c>false</c>.
|
||||
/// </value>
|
||||
bool CanSet { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether <see cref="SetConstraint"/> is supported.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// <c>true</c> if this capability can set constraint; otherwise, <c>false</c>.
|
||||
/// </value>
|
||||
bool CanSetConstraint { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the capability.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The capability.
|
||||
/// </value>
|
||||
NTwain.Data.CapabilityId Capability { get; }
|
||||
CapabilityId Capability { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets all the possible values of this capability.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
System.Collections.Generic.IList<TValue> Get();
|
||||
IList<TValue> Get();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current value of this capability.
|
||||
@@ -99,7 +125,7 @@ namespace NTwain
|
||||
/// [Experimental] Gets the display names for possible values of this capability.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
System.Collections.Generic.IList<string> GetLabelEnum();
|
||||
IList<string> GetLabelEnum();
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether this capability is supported.
|
||||
@@ -115,7 +141,7 @@ namespace NTwain
|
||||
/// <value>
|
||||
/// The supported actions.
|
||||
/// </value>
|
||||
NTwain.Data.QuerySupports SupportedActions { get; }
|
||||
QuerySupports SupportedActions { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -124,42 +150,24 @@ namespace NTwain
|
||||
/// <typeparam name="TValue">The TWAIN type of the value.</typeparam>
|
||||
public interface ICapWrapper<TValue> : IReadOnlyCapWrapper<TValue>
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether <see cref="Reset"/> is supported.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// <c>true</c> if this capability can reset; otherwise, <c>false</c>.
|
||||
/// </value>
|
||||
bool CanReset { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether <see cref="Set"/> is supported.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// <c>true</c> if this capability can set; otherwise, <c>false</c>.
|
||||
/// </value>
|
||||
bool CanSet { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether <see cref="SetConstraint"/> is supported.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// <c>true</c> if this capability can set constraint; otherwise, <c>false</c>.
|
||||
/// </value>
|
||||
bool CanSetConstraint { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Resets the current value to power-on default.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
NTwain.Data.ReturnCode Reset();
|
||||
ReturnCode Reset();
|
||||
|
||||
/// <summary>
|
||||
/// Simplified version that sets the current value of this capability.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns></returns>
|
||||
NTwain.Data.ReturnCode Set(TValue value);
|
||||
ReturnCode Set(TValue value);/// <summary>
|
||||
///
|
||||
/// A version of Set that uses an array.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns></returns>
|
||||
ReturnCode Set(TWArray value);
|
||||
|
||||
/// <summary>
|
||||
/// Sets the constraint value of this capability.
|
||||
|
@@ -23,7 +23,7 @@ namespace NTwain
|
||||
/// <summary>
|
||||
/// The build release version number.
|
||||
/// </summary>
|
||||
public const string Build = "3.1.1"; // change this for each nuget release
|
||||
public const string Build = "3.2.0"; // change this for each nuget release
|
||||
|
||||
|
||||
}
|
||||
|
@@ -126,7 +126,7 @@ namespace Tester.WPF
|
||||
switch (cap)
|
||||
{
|
||||
case CapabilityId.ACapXferMech:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAudioXferMech.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ACapXferMech.Get();
|
||||
break;
|
||||
case CapabilityId.CapAlarms:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAlarmVolume.Get();
|
||||
@@ -357,13 +357,13 @@ namespace Tester.WPF
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapAutoBright:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageAutoBright.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutoBright.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutoDiscardBlankPages:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutoDiscardBlankPages.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticBorderDetection:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageAutomaticBorderDetection.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticBorderDetection.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticColorEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
@@ -375,70 +375,70 @@ namespace Tester.WPF
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticDeskew:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageAutoDeskew.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticDeskew.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticLengthDetection:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticRotate:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageAutoRotate.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticRotate.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutoSize:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutoSize.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeDetectionEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeDetectionEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeMaxRetries:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeMaxRetries.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeMaxSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeSearchMode:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeSearchMode.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeTimeout:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeTimeout.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitDepth:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitDepth.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitDepthReduction:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<BitDepthReduction>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitDepthReduction.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitOrder:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageBitOrder.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitOrder.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitOrderCodes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitOrderCodes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBrightness:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageBrightness.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBrightness.Get();
|
||||
break;
|
||||
case CapabilityId.ICapCCITTKFactor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageCCITTKFactor.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapCCITTKFactor.Get();
|
||||
break;
|
||||
case CapabilityId.ICapColorManagementEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapCompression:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageCompression.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapCompression.Get();
|
||||
break;
|
||||
case CapabilityId.ICapContrast:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageContrast.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapContrast.Get();
|
||||
break;
|
||||
case CapabilityId.ICapCustHalftone:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapExposureTime:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageExposureTime.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapExposureTime.Get();
|
||||
break;
|
||||
case CapabilityId.ICapExtImageInfo:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapExtImageInfo.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFeederType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FeederType>();
|
||||
@@ -447,40 +447,40 @@ namespace Tester.WPF
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FilmType>();
|
||||
break;
|
||||
case CapabilityId.ICapFilter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FilterType>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFilter.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFlashUsed:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapFlashUsed2:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FlashedUsed>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFlashUsed2.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFlipRotation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<FlipRotation>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFlipRotation.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFrames:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapGamma:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageGamma.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapGamma.Get();
|
||||
break;
|
||||
case CapabilityId.ICapHalftones:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapHighlight:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageHighlight.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapHighlight.Get();
|
||||
break;
|
||||
case CapabilityId.ICapICCProfile:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<IccProfile>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapICCProfile.Get();
|
||||
break;
|
||||
case CapabilityId.ICapImageDataSet:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapImageFileFormat:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageFileFormat.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapImageFileFormat.Get();
|
||||
break;
|
||||
case CapabilityId.ICapImageFilter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageFilter.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapImageMerge:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<ImageMerge>();
|
||||
@@ -489,137 +489,137 @@ namespace Tester.WPF
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapJpegPixelType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PixelType>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapJpegPixelType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapJpegQuality:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<JpegQuality>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapJpegQuality.Get();
|
||||
break;
|
||||
case CapabilityId.ICapJpegSubsampling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<JpegSubsampling>();
|
||||
break;
|
||||
case CapabilityId.ICapLampState:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageLameState.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapLampState.Get();
|
||||
break;
|
||||
case CapabilityId.ICapLightPath:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageLightPath.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapLightPath.Get();
|
||||
break;
|
||||
case CapabilityId.ICapLightSource:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageLightSource.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapLightSource.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMaxFrames:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageMaxFrames.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMaxFrames.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMinimumHeight:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMinimumHeight.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMinimumWidth:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMinimumWidth.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMirror:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<Mirror>();
|
||||
break;
|
||||
case CapabilityId.ICapNoiseFilter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<NoiseFilter>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapNoiseFilter.Get();
|
||||
break;
|
||||
case CapabilityId.ICapOrientation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageOrientation.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapOrientation.Get();
|
||||
break;
|
||||
case CapabilityId.ICapOverScan:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<OverScan>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapOverScan.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeDetectionEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeDetectionEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeMaxRetries:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeMaxRetries.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeMaxSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PatchCode>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeMaxSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeSearchMode:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeSearchMode.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeTimeout:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeTimeout.Get();
|
||||
break;
|
||||
// TODO phys size are twfix32
|
||||
case CapabilityId.ICapPhysicalHeight:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImagePhysicalHeight.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPhysicalHeight.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPhysicalWidth:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImagePhysicalWidth.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPhysicalWidth.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPixelFlavor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImagePixelFlavor.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPixelFlavor.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPixelFlavorCodes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPixelFlavorCodes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPixelType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImagePixelType.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPixelType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPlanarChunky:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImagePlanarChunky.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPlanarChunky.Get();
|
||||
break;
|
||||
case CapabilityId.ICapRotation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageRotation.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapRotation.Get();
|
||||
break;
|
||||
case CapabilityId.ICapShadow:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageShadow.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapShadow.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedBarcodeTypes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<BarcodeType>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedBarcodeTypes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedExtImageInfo:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<ExtendedImageInfo>();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedPatchCodeTypes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap).CastToEnum<PatchCode>();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedPatchCodeTypes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedSizes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageSupportedSize.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedSizes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapThreshold:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapThreshold.Get();
|
||||
break;
|
||||
case CapabilityId.ICapTiles:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageTiles.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapTiles.Get();
|
||||
break;
|
||||
case CapabilityId.ICapTimeFill:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapTimeFill.Get();
|
||||
break;
|
||||
case CapabilityId.ICapUndefinedImageSize:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapUndefinedImageSize.Get();
|
||||
break;
|
||||
case CapabilityId.ICapUnits:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageUnits.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapUnits.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXferMech:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageXferMech.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXferMech.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXNativeResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageXNativeResolution.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXNativeResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageXResolution.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXScaling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXScaling.Get();
|
||||
break;
|
||||
case CapabilityId.ICapYNativeResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageYNativeResolution.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapYNativeResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapYResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapImageYResolution.Get();
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapYResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapYScaling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapYScaling.Get();
|
||||
break;
|
||||
case CapabilityId.ICapZoomFactor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapZoomFactor.Get();
|
||||
break;
|
||||
default:
|
||||
if (cap > CapabilityId.CustomBase)
|
||||
|
@@ -72,7 +72,7 @@ namespace Tester.WPF
|
||||
|
||||
if (this.CurrentSource.CapGetCurrent(CapabilityId.ICapXferMech).ConvertToEnum<XferMech>() == XferMech.File)
|
||||
{
|
||||
var formats = this.CurrentSource.CapImageFileFormat.Get();
|
||||
var formats = this.CurrentSource.ICapImageFileFormat.Get();
|
||||
var wantFormat = formats.Contains(FileFormat.Tiff) ? FileFormat.Tiff : FileFormat.Bmp;
|
||||
|
||||
var fileSetup = new TWSetupFileXfer
|
||||
@@ -123,14 +123,14 @@ namespace Tester.WPF
|
||||
{
|
||||
if (State == 4)
|
||||
{
|
||||
if (this.CurrentSource.CapImagePixelType.Get().Contains(PixelType.BlackWhite))
|
||||
if (this.CurrentSource.ICapPixelType.Get().Contains(PixelType.BlackWhite))
|
||||
{
|
||||
this.CurrentSource.CapImagePixelType.Set(PixelType.BlackWhite);
|
||||
this.CurrentSource.ICapPixelType.Set(PixelType.BlackWhite);
|
||||
}
|
||||
|
||||
if (this.CurrentSource.CapImageXferMech.Get().Contains(XferMech.File))
|
||||
if (this.CurrentSource.ICapXferMech.Get().Contains(XferMech.File))
|
||||
{
|
||||
this.CurrentSource.CapImageXferMech.Set(XferMech.File);
|
||||
this.CurrentSource.ICapXferMech.Set(XferMech.File);
|
||||
}
|
||||
|
||||
var rc = this.CurrentSource.Enable(SourceEnableMode.NoUI, false, hwnd);
|
||||
|
@@ -286,22 +286,22 @@ namespace Tester.Winform
|
||||
var src = _twain.CurrentSource;
|
||||
var caps = src.SupportedCaps;
|
||||
_loadingCaps = true;
|
||||
if (groupDepth.Enabled = src.CapImagePixelType.IsSupported)
|
||||
if (groupDepth.Enabled = src.ICapPixelType.IsSupported)
|
||||
{
|
||||
LoadDepth(src.CapImagePixelType);
|
||||
LoadDepth(src.ICapPixelType);
|
||||
}
|
||||
if (groupDPI.Enabled = src.CapImageXResolution.IsSupported && src.CapImageYResolution.IsSupported)
|
||||
if (groupDPI.Enabled = src.ICapXResolution.IsSupported && src.ICapYResolution.IsSupported)
|
||||
{
|
||||
LoadDPI(src.CapImageXResolution);
|
||||
LoadDPI(src.ICapXResolution);
|
||||
}
|
||||
// TODO: find out if this is how duplex works or also needs the other option
|
||||
if (groupDuplex.Enabled = src.CapDuplexEnabled.IsSupported)
|
||||
{
|
||||
LoadDuplex(src.CapDuplexEnabled);
|
||||
}
|
||||
if (groupSize.Enabled = src.CapImageSupportedSize.IsSupported)
|
||||
if (groupSize.Enabled = src.ICapSupportedSizes.IsSupported)
|
||||
{
|
||||
LoadPaperSize(src.CapImageSupportedSize);
|
||||
LoadPaperSize(src.ICapSupportedSizes);
|
||||
}
|
||||
btnAllSettings.Enabled = caps.Contains(CapabilityId.CapEnableDSUIOnly);
|
||||
_loadingCaps = false;
|
||||
@@ -363,7 +363,7 @@ namespace Tester.Winform
|
||||
if (!_loadingCaps && _twain.State == 4)
|
||||
{
|
||||
var sel = (SupportedSize)comboSize.SelectedItem;
|
||||
_twain.CurrentSource.CapImageSupportedSize.Set(sel);
|
||||
_twain.CurrentSource.ICapSupportedSizes.Set(sel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -372,7 +372,7 @@ namespace Tester.Winform
|
||||
if (!_loadingCaps && _twain.State == 4)
|
||||
{
|
||||
var sel = (PixelType)comboDepth.SelectedItem;
|
||||
_twain.CurrentSource.CapImagePixelType.Set(sel);
|
||||
_twain.CurrentSource.ICapPixelType.Set(sel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -381,8 +381,8 @@ namespace Tester.Winform
|
||||
if (!_loadingCaps && _twain.State == 4)
|
||||
{
|
||||
var sel = (TWFix32)comboDPI.SelectedItem;
|
||||
_twain.CurrentSource.CapImageXResolution.Set(sel);
|
||||
_twain.CurrentSource.CapImageYResolution.Set(sel);
|
||||
_twain.CurrentSource.ICapXResolution.Set(sel);
|
||||
_twain.CurrentSource.ICapYResolution.Set(sel);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user