unit VDMInterface; {VDMInterface.p} { This module defines the interface for the Video Digitizer Manager (VDM). } { This module is compiled into all application source modules that reference } { the Video Digitizer Manager software library. The application then can support } { the Video Digitizer Specification as proposed by MicroFrontier and Perceptics. } {Copyright 1990, Perceptics Corporation} {History:} { Oct 5, 1990 - Module created. } interface uses QuickDraw, VDigitizerDefs; var {$J+} ActvVDigitizer: VDHandle; {$J-} { Initialization and selection routines: } procedure InitVDigitizers; function GetFirstVDigitizer: VDHandle; function GetNextVDigitizer: VDHandle; function GetNthVDigitizer (whichDigitizer: Integer): VDHandle; function GetActiveVDigitizer: VDHandle; function SetFirstVDigitizer: OSErr; function SetNextVDigitizer: OSErr; function SetNthVDigitizer: OSErr; function SetVDigitizer (theDigitizer: VDHandle): OSErr; function GetVDigitizerID (var theID: Integer): OSErr; function GetVDigitizerSlot (var theSlot: Integer): OSErr; function GetVDigitizerMake (var theMake: Str255): OSErr; function GetVDigitizerModel (var theModel: Str255): OSErr; function GetVDigitizerModelNumber (var theModelNumber: Str255): OSErr; function GetVDigitizerDescription (var description: Str255): OSErr; function ResetVDigitizer: OSErr; { Digitizer modal fields and feature determination routines: } function GetVDigitizerNumModes (var numModes: Integer): OSErr; function GetVDigitizerModeInfo (modeInfo: VDMInfoPtr; theMode: Integer): OSErr; function GetVDigitizerModeName (theMode: Integer; var modeName: Str255): OSErr; function TestVDigitizerFeature (modeInfo: VDMInfoPtr; featureID: LongInt; var featurePresent: BOOLEAN): OSErr; function TestVDigitizerControl (modeInfo: VDMInfoPtr; controlID: LongInt; var isControllable: BOOLEAN): OSErr; function TestVDigitizerFunction (modeInfo: VDMInfoPtr; functionID: LongInt; var doesFunction: BOOLEAN): OSErr; function GetVDigitizerNumChannels (modeInfo: VDMInfoPtr; var numChannels: Integer): OSErr; function GetVDigitizerBitsPerChannel (modeInfo: VDMInfoPtr; var bitsPerChannel: Integer): OSErr; function GetVDigitizerNumInLUTs (modeInfo: VDMInfoPtr; var numInLUTs: Integer): OSErr; function GetVDigitizerInLUTSize (modeInfo: VDMInfoPtr; whichLUT: Integer; var inLUTSize: Integer): OSErr; function GetVDigitizerNumOutLUTs (modeInfo: VDMInfoPtr; var numOutLUTs: Integer): OSErr; function GetVDigitizerOutLUTSize (modeInfo: VDMInfoPtr; whichLUT: Integer; var outLUTSize: Integer): OSErr; function GetVDigitizerNumBuffers (modeInfo: VDMInfoPtr; var numBuffers: Integer): OSErr; function GetVDigitizerVideoSize (modeInfo: VDMInfoPtr; var videoImage: Point): OSErr; function GetVDigitizerFBSize (modeInfo: VDMInfoPtr; whichBuffer: Integer; var FBSize: Point): OSErr; function GetVDigitizerFBType (modeInfo: VDMInfoPtr; whichBuffer: Integer; var FBType: Integer): OSErr; function GetVDigitizerFBDepth (modeInfo: VDMInfoPtr; whichBuffer: Integer; var FBDepth: Integer): OSErr; function GetVDigitizerFBBaseAddr (modeInfo: VDMInfoPtr; whichBuffer: Integer; var FBBaseAddr: LongInt): OSErr; function GetVDigitizerFBRowBytes (modeInfo: VDMInfoPtr; whichBuffer: Integer; var FBRowBytes: Integer): OSErr; function GetVDigitizerDisplaySize (modeInfo: VDMInfoPtr; var displaySize: Point): OSErr; { Digitizer setup routines: } function GetVDigitizerMode (var theMode: Integer): OSErr; function SetVDigitizerMode (newMode: Integer): OSErr; function GetVDigitizerSrc (var source: Integer): OSErr; function SetVDigitizerSrc (source: Integer): OSErr; function GetVDigitizerInLUT (var LUT: Integer): OSErr; function SetVDigitizerInLUT (LUT: Integer): OSErr; function ReadVDigitizerInLUT (LUT: Integer; var LUTType: Integer; var LUTHandle: Handle): OSErr; function WriteVDigitizerInLUT (LUT: Integer; LUTType: Integer; LUTHandle: Handle): OSErr; function GetVDigitizerOutLUT (var LUT: Integer): OSErr; function SetVDigitizerOutLUT (LUT: Integer): OSErr; function ReadVDigitizerOutLUT (LUT: Integer; var LUTType: Integer; var LUTHandle: Handle): OSErr; function WriteVDigitizerOutLUT (LUT: Integer; LUTType: Integer; LUTHandle: Handle): OSErr; function GetVDigitizerFrameBuffer (var theBuffer: Integer): OSErr; function SetVDigitizerFrameBuffer (whichBuffer: Integer): OSErr; function GetVDigitizerTimeOut (var timeOut: Integer): OSErr; function SetVDigitizerTimeOut (timeOut: Integer): OSErr; function GetVDigitizerModalParams (MPListHdl: VDMPListHdl): OSErr; function SetVDigitizerModalParams (MPListHdl: VDMPListHdl): OSErr; function GetVDigitizerGainMinMax (var minGain, maxGain: Real): OSErr; function GetVDigitizerGain (var gain: Real): OSErr; function SetVDigitizerGain (gain: Real): OSErr; function GetVDigitizerOffsetMinMax (var minOffset, maxOffset: Real): OSErr; function GetVDigitizerOffset (var offset: Real): OSErr; function SetVDigitizerOffset (offset: Real): OSErr; function GetVDigitizerControlBits (var controlBits: LongInt): OSErr; function SetVDigitizerControlBits (controlBits: LongInt): OSErr; { Digitizer capture and display routines: } function CaptureVDigitizerFrames (var frames: Integer; operation: Integer; trigger: Integer; referencePM: PixMapHandle; params: Ptr; captureRect: Rect; offscreenPM: PixMapHandle; offscreenRect: Rect; theWindow: WindowPtr; displayRect: Rect): OSErr; function TaskVDigitizers: OSErr; function WaitVDigitizerCaptureDone: OSErr; function IsVDigitizerCapture: BOOLEAN; function AdjustVDigitizerWindow (theWindow: WindowPtr; captureRect: Rect): OSErr; function AdjustVDigitizerDisplayRect (theWindow: WindowPtr; var displayRect: Rect): OSErr; function AdjustVDigitizerGrabRect (var captureRect: Rect): OSErr; function ReadVDigitizerFrameCount (var NumFrames, NumTicks: LongInt): OSErr; function ReadVDigitizerFrmeBuf (buffer: Integer; firstRow, firstCol: Integer; var dstMap: PixMapHandle; dstRect: RectPtr): OSErr; function WriteVDigitizerFrmeBuf (buffer: Integer; firstRow, firstCol: Integer; srcMap: PixMapHandle; dstRect: RectPtr): OSErr; { Custom Function support routines: } function GetVDigitizerNumCustomFcns (modeInfo: VDMInfoPtr; var numCustomFcns: INTEGER): OSErr; function GetVDigitizerCustomFcnName (modeInfo: VDMInfoPtr; customFcn: Integer; var fcnName: Str255): OSErr; function DoVDigitizerCustomFunction (functionNumber: Integer): OSErr; { Miscellaneous routines: } function PreserveVDigitizer (storage: Handle): OSErr; function RestoreVDigitizer (storage: Handle): OSErr; function ReadVDigitizerReg (register: Integer; var value: LongInt): OSErr; function WriteVDigitizerReg (register: Integer; value: LongInt): OSErr; function ReadVDigitizerMemBlk (srcPtr: Ptr; var dstPtr: Ptr; var count: LongInt; read, skip: Integer): OSErr; function WriteVDigitizerMemBlk (srcPtr, dstPtr: Ptr; var count: LongInt; write, skip: Integer): OSErr; function InstallVDigitizerInterrupts: OSErr; function RemoveVDigitizerInterrupts: OSErr; function GetVDigitizerHistogram (histRect: Rect; hSampling, vSampling: Integer; histogramArray: histArrayPtr): OSErr; { Routines for AIA-standard camera selection and configuration: } function SetVDigitizerCamera (cameraTypeCode: Integer): OSErr; function GetVDigitizerCamera (var cameraTypeCode: Integer): OSErr; function SetVDigitizerCameraSize (cameraSize: Point): OSErr; function GetVDigitizerCameraSize (var cameraSize: Point): OSErr; function SetVDigitizerCameraEdges (cameraEdges: Rect): OSErr; function GetVDigitizerCameraEdges (var cameraEdges: Rect): OSErr; function SetVDigitizerCameraName (cameraName: Str31): OSErr; function GetVDigitizerCameraName (var cameraName: Str31): OSErr; function SetVDigitizerCameraLineTime (lineTime: Longint): OSErr; function GetVDigitizerCameraLineTime (var lineTime: Longint): OSErr; function SetVDigitizerCameraPixelInfo (depth, offset, bitsToShift: Integer): OSErr; function GetVDigitizerCameraPixelInfo (var depth, offset, bitsToShift: Integer): OSErr; function SetVDigitizerCameraSpecialInfo (specialInfo: Longint): OSErr; function GetVDigitizerCameraSpecialInfo (var specialInfo: Longint): OSErr; implementation end.