/*
 * $Id: TwainSource.h.txt,v 1.2 2003/03/14 18:04:06 ppolakov Exp $
 *
 * Copyright (c) 2003 Gnome spol. s r.o. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of
 * Gnome spol. s r.o. You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms
 * of the license agreement you entered into with Gnome.
 */

#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>

@interface TwainSource : NSObject
{ void *source; // C++ TwainSource instance
}

- (NSImage *)acquireImage:(BOOL)uiVisible;
- (void)maskUnsupportedCapabilityException:(BOOL)mask;
- (void)maskBadValueException:(BOOL)mask;
- (void)setBehaviorMask:(unsigned long)mask;

- (BOOL)hasMoreImages;
- (BOOL)endOfJob;
- (void)setFrame:(NSRect *)rect;
- (BOOL)isFlashUsed;
- (void)clearPage;
- (void)feedPage;
- (void)rewindPage;

- (int) audioFileFormat;
- (NSArray *) supportedAudioFileFormat;
- (void) setAudioFileFormat:(int)value;
- (int) audioTransferMech;
- (NSArray *) supportedAudioTransferMech;
- (void) setAudioTransferMech:(int)value;
- (int) alarmVolume;
- (void) setAlarmVolume:(int)value;
- (char *) author;
- (void) setAuthor:(char *)value;
- (int) autoFeed;
- (void) setAutoFeed:(int)value;
- (int) automaticCapture;
- (void) setAutomaticCapture:(int)value;
- (int) autoScan;
- (void) setAutoScan:(int)value;
- (int) batteryMinutes;
- (int) batteryPercentage;
- (int) cameraPreviewUI;
- (char *) caption;
- (void) setCaption:(char *)value;
- (int) clearBuffers;
- (void) setClearBuffers:(int)value;
- (int) customDSData;
- (int) deviceOnLine;
- (char *) deviceTimeDate;
- (void) setDeviceTimeDate:(char *)value;
- (int) duplex;
- (int) duplexEnabled;
- (void) setDuplexEnabled:(int)value;
- (int) enableDSUIOnly;
- (int) endorser;
- (void) setEndorser:(int)value;
- (int) feederAlignment;
- (void) setFeederAlignment:(int)value;
- (int) feederEnabled;
- (void) setFeederEnabled:(int)value;
- (int) feederLoaded;
- (int) feederOrder;
- (void) setFeederOrder:(int)value;
- (int) indicators;
- (void) setIndicators:(int)value;
- (int) jobControl;
- (NSArray *) supportedJobControl;
- (void) setJobControl:(int)value;
- (int) language;
- (NSArray *) supportedLanguage;
- (void) setLanguage:(int)value;
- (int) maxBatchBuffers;
- (NSArray *) supportedMaxBatchBuffers;
- (void) setMaxBatchBuffers:(int)value;
- (int) paperDetectable;
- (int) powerSupply;
- (NSArray *) supportedPowerSupply;
- (int) printer;
- (NSArray *) supportedPrinter;
- (void) setPrinter:(int)value;
- (int) printerEnabled;
- (void) setPrinterEnabled:(int)value;
- (int) printerIndex;
- (void) setPrinterIndex:(int)value;
- (int) printerMode;
- (NSArray *) supportedPrinterMode;
- (void) setPrinterMode:(int)value;
- (char *) printerString;
- (void) setPrinterString:(char *)value;
- (char *) printerSuffix;
- (void) setPrinterSuffix:(char *)value;
- (char *) serialNumber;
- (int) timeBeforeFirstCapture;
- (void) setTimeBeforeFirstCapture:(int)value;
- (int) timeBetweenCaptures;
- (void) setTimeBetweenCaptures:(int)value;
- (char *) timeDate;
- (int) thumbnailsEnabled;
- (void) setThumbnailsEnabled:(int)value;
- (int) uIControllable;
- (int) transferCount;
- (void) setTransferCount:(int)value;
- (int) automaticBorderDetection;
- (void) setAutomaticBorderDetection:(int)value;
- (int) autoBright;
- (void) setAutoBright:(int)value;
- (int) automaticDeskew;
- (void) setAutomaticDeskew:(int)value;
- (int) automaticRotate;
- (void) setAutomaticRotate:(int)value;
- (int) barCodeDetectionEnabled;
- (void) setBarCodeDetectionEnabled:(int)value;
- (int) barCodeMaxRetries;
- (NSArray *) supportedBarCodeMaxRetries;
- (void) setBarCodeMaxRetries:(int)value;
- (int) barCodeMaxSearchPriorities;
- (NSArray *) supportedBarCodeMaxSearchPriorities;
- (void) setBarCodeMaxSearchPriorities:(int)value;
- (int) barCodeSearchMode;
- (NSArray *) supportedBarCodeSearchMode;
- (void) setBarCodeSearchMode:(int)value;
- (int) barCodeTimeout;
- (NSArray *) supportedBarCodeTimeout;
- (void) setBarCodeTimeout:(int)value;
- (int) bitDepth;
- (NSArray *) supportedBitDepth;
- (void) setBitDepth:(int)value;
- (int) bitDepthReduction;
- (NSArray *) supportedBitDepthReduction;
- (void) setBitDepthReduction:(int)value;
- (int) bitOrder;
- (NSArray *) supportedBitOrder;
- (void) setBitOrder:(int)value;
- (int) bitOrderCodes;
- (NSArray *) supportedBitOrderCodes;
- (void) setBitOrderCodes:(int)value;
- (double) brightness;
- (NSArray *) supportedBrightness;
- (void) setBrightness:(double)value;
- (int) cCITTKFactor;
- (void) setCCITTKFactor:(int)value;
- (int) compression;
- (NSArray *) supportedCompression;
- (void) setCompression:(int)value;
- (double) contrast;
- (NSArray *) supportedContrast;
- (void) setContrast:(double)value;
- (double) exposureTime;
- (NSArray *) supportedExposureTime;
- (void) setExposureTime:(double)value;
- (int) extImageInfo;
- (void) setExtImageInfo:(int)value;
- (int) filter;
- (void) setFilter:(int)value;
- (int) flashUsed;
- (NSArray *) supportedFlashUsed;
- (void) setFlashUsed:(int)value;
- (int) flipRotation;
- (void) setFlipRotation:(int)value;
- (double) gamma;
- (void) setGamma:(double)value;
- (char *) halftones;
- (void) setHalftones:(char *)value;
- (double) highlight;
- (NSArray *) supportedHighlight;
- (void) setHighlight:(double)value;
- (int) imageDataSet;
- (void) setImageDataSet:(int)value;
- (int) imageFileFormat;
- (NSArray *) supportedImageFileFormat;
- (void) setImageFileFormat:(int)value;
- (int) imageFilter;
- (NSArray *) supportedImageFilter;
- (void) setImageFilter:(int)value;
- (int) jPEGPixelType;
- (NSArray *) supportedJPEGPixelType;
- (void) setJPEGPixelType:(int)value;
- (int) jPEGQuality;
- (NSArray *) supportedJPEGQuality;
- (void) setJPEGQuality:(int)value;
- (int) lampState;
- (NSArray *) supportedLampState;
- (void) setLampState:(int)value;
- (int) lightPath;
- (NSArray *) supportedLightPath;
- (void) setLightPath:(int)value;
- (int) lightSource;
- (NSArray *) supportedLightSource;
- (void) setLightSource:(int)value;
- (int) maxFrames;
- (void) setMaxFrames:(int)value;
- (double) minimumHeight;
- (double) minimumWidth;
- (int) noiseFilter;
- (NSArray *) supportedNoiseFilter;
- (void) setNoiseFilter:(int)value;
- (int) orientation;
- (NSArray *) supportedOrientation;
- (void) setOrientation:(int)value;
- (int) overscan;
- (NSArray *) supportedOverscan;
- (void) setOverscan:(int)value;
- (int) patchCodeDetectionEnabled;
- (void) setPatchCodeDetectionEnabled:(int)value;
- (int) patchCodeMaxRetries;
- (NSArray *) supportedPatchCodeMaxRetries;
- (void) setPatchCodeMaxRetries:(int)value;
- (int) patchCodeMaxSearchPriorities;
- (NSArray *) supportedPatchCodeMaxSearchPriorities;
- (void) setPatchCodeMaxSearchPriorities:(int)value;
- (int) patchCodeSearchMode;
- (NSArray *) supportedPatchCodeSearchMode;
- (void) setPatchCodeSearchMode:(int)value;
- (int) patchCodeTimeout;
- (NSArray *) supportedPatchCodeTimeout;
- (void) setPatchCodeTimeout:(int)value;
- (double) physicalHeight;
- (double) physicalWidth;
- (int) pixelFlavor;
- (NSArray *) supportedPixelFlavor;
- (void) setPixelFlavor:(int)value;
- (int) pixelFlavorCodes;
- (NSArray *) supportedPixelFlavorCodes;
- (void) setPixelFlavorCodes:(int)value;
- (int) pixelType;
- (NSArray *) supportedPixelType;
- (void) setPixelType:(int)value;
- (int) planarChunky;
- (NSArray *) supportedPlanarChunky;
- (void) setPlanarChunky:(int)value;
- (double) rotation;
- (NSArray *) supportedRotation;
- (void) setRotation:(double)value;
- (double) shadow;
- (NSArray *) supportedShadow;
- (void) setShadow:(double)value;
- (int) supportedPathCodeTypes;
- (int) supportedSizes;
- (NSArray *) supportedSupportedSizes;
- (void) setSupportedSizes:(int)value;
- (double) threshold;
- (NSArray *) supportedThreshold;
- (void) setThreshold:(double)value;
- (int) tiles;
- (void) setTiles:(int)value;
- (int) timeFill;
- (void) setTimeFill:(int)value;
- (int) undefinedImageSize;
- (void) setUndefinedImageSize:(int)value;
- (int) units;
- (NSArray *) supportedUnits;
- (void) setUnits:(int)value;
- (int) transferMech;
- (NSArray *) supportedTransferMech;
- (void) setTransferMech:(int)value;
- (double) xNativeResolution;
- (NSArray *) supportedXNativeResolution;
- (double) xResolution;
- (NSArray *) supportedXResolution;
- (void) setXResolution:(double)value;
- (double) xScaling;
- (NSArray *) supportedXScaling;
- (void) setXScaling:(double)value;
- (double) yNativeResolution;
- (NSArray *) supportedYNativeResolution;
- (double) yResolution;
- (NSArray *) supportedYResolution;
- (void) setYResolution:(double)value;
- (double) yScaling;
- (NSArray *) supportedYScaling;
- (void) setYScaling:(double)value;
- (int) zoomFactor;
- (NSArray *) supportedZoomFactor;
- (void) setZoomFactor:(int)value;

@end
