using NTwain.Data;
using System;
using System.Collections.Generic;
namespace NTwain
{
///
/// Interface for providing basic functions at controlling caps.
///
public interface ICapControl : ITripletControl
{
///
/// Gets all the possible values for a capability.
///
/// The capability identifier.
///
IList CapGet(CapabilityId capabilityId);
///
/// Gets the current value for a capability.
///
/// The capability identifier.
///
object CapGetCurrent(CapabilityId capabilityId);
///
/// Gets the default value for a capability.
///
/// The capability identifier.
///
object CapGetDefault(CapabilityId capabilityId);
///
/// Gets the supported operations for a capability.
///
/// The capability identifier.
///
QuerySupports CapQuerySupport(CapabilityId capabilityId);
///
/// Resets the current value to power-on default.
///
/// The capability identifier.
///
ReturnCode CapReset(CapabilityId capabilityId);
///
/// Resets all values and constraints to power-on defaults.
///
/// The capability identifier.
///
ReturnCode CapResetAll(CapabilityId capabilityId);
//CapabilityControl CapAudioXferMech { get; }
//CapabilityControl CapDuplexEnabled { get; }
//CapabilityControl CapFeederEnabled { get; }
//CapabilityControl CapImageAutoDeskew { get; }
//CapabilityControl CapImageAutomaticBorderDetection { get; }
//CapabilityControl CapImageAutoRotate { get; }
//CapabilityControl CapImageCompression { get; }
//CapabilityControl CapImageFileFormat { get; }
//CapabilityControl CapImagePixelType { get; }
//CapabilityControl CapImageSupportedSize { get; }
//CapabilityControl CapImageXferMech { get; }
//CapabilityControl CapImageXResolution { get; }
//CapabilityControl CapImageYResolution { get; }
//CapabilityControl CapXferCount { get; }
}
}