using NTwain.Data; using NTwain.Internals; namespace NTwain.Triplets { /// /// Represents . /// public sealed class JpegCompression : OpBase { internal JpegCompression(ITwainSessionInternal session) : base(session) { } /// /// Causes the Source to return the parameters that will be used during the compression of data /// using the JPEG algorithms. /// /// The compression. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "0#")] public ReturnCode Get(out TWJpegCompression compression) { Session.VerifyState(4, 6, DataGroups.Image, DataArgumentType.JpegCompression, Message.Get); compression = new TWJpegCompression(); return Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.Get, compression); } /// /// Causes the Source to return the power-on default values applied to JPEG-compressed data /// transfers. /// /// The compression. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "0#")] public ReturnCode GetDefault(out TWJpegCompression compression) { Session.VerifyState(4, 6, DataGroups.Image, DataArgumentType.JpegCompression, Message.GetDefault); compression = new TWJpegCompression(); return Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.GetDefault, compression); } /// /// Return the Source to using its power-on default values for JPEG-compressed transfers. /// /// The compression. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "0#")] public ReturnCode Reset(out TWJpegCompression compression) { Session.VerifyState(4, 4, DataGroups.Image, DataArgumentType.JpegCompression, Message.Reset); compression = new TWJpegCompression(); return Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.Reset, compression); } /// /// Allows the application to configure the compression parameters to be used on all future JPEGcompressed /// transfers during the current session. The application should have already /// established that the requested values are supported by the Source. /// /// The compression. /// public ReturnCode Set(TWJpegCompression compression) { Session.VerifyState(4, 4, DataGroups.Image, DataArgumentType.JpegCompression, Message.Set); return Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.Set, compression); } } }