COMMENT @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

	Copyright (c) Geoworks 1994 -- All Rights Reserved

PROJECT:	
MODULE:		Include - Scan Libraary Definitions
FILE:		scan.def

AUTHOR:		Lulu Lin, Oct  5, 1994

MACROS:
	Name			Description
	----			-----------

REVISION HISTORY:
	Name	Date		Description
	----	----		-----------
	LL	10/ 5/94   	Initial revision


DESCRIPTION:
	
		
	$Id: scan.def,v 1.1 97/04/04 14:26:26 newdeal Exp $

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@
SetDef	__SCAN

include	graphics.def
include ieCommon.def
UseLib	grobj.def

StartLibrary	scan

;
; GenApplication GCN lists to be placed on:
;	GAGCNLT_SELF_LOAD_OPTIONS		<--- not sure yet

GenScanControlClass	class	GenControlClass

;-----------------------------------------------------------------------------
;		Methods
;-----------------------------------------------------------------------------

MSG_GEN_SCAN_CONTROL_INITIATE_SCAN		message
;
; Initiate scan
;
; Context:	
; Source:	
; Destination:	GenScanControlClass object
; Interception: 
;
; Pass:		nothing
; Return:	nothing
; Destroyed:	ax, cx, dx, bp
;

MSG_GEN_SCAN_CONTROL_SET_ATTRS			message
;
; Set ScanAttrs
;
; Context:	
; Source:	
; Destination:  GenScanControlClass object
; Interception: 
;
; Pass:
; Return:
; Destroyed:
;

MSG_GEN_SCAN_CONTROL_GET_ATTRS			message
;
; Get ScanAttrs
;
; Context:	
; Source:	
; Destination:	GenScanControlClass object
; Interception: 
;
; Pass:
; Return:
; Destroyed:
;

MSG_GEN_SCAN_CONTROL_STOP_SCAN			message
;
; Stop scanning
;
; Context:	
; Source:	
; Destination:	GenScanControlClass object
; Interception: 
;
; Pass:		nothing
; Return:	nothing
; Destroyed:	ax, cx, dx, bp
;

;-----------------------------------------------------------------------------
;		Internal Methods
;-----------------------------------------------------------------------------

; Do *NOT* send any of the following internal methods to the GenScanControl.
; They are for internal use only, but must be declared here so that this
; class may use them
;

MSG_GEN_SCAN_CONTROL_CONTINUE_INITIATE_SCAN	message
;
; Continuation of initiate scan (MSG_GEN_SCAN_CONTROL_INITIATE_SCAN).
;
; Context:	
; Source:	GenScanControlClass object
; Destination:	GenScanControlClass object
; Interception:	should not be intercepted
;
; Pass:		nothing
; Return:	nothing
; Destroyed:	ax, cx, dx, bp
;

MSG_GEN_SCAN_CONTROL_SCAN			message
;
; Scan image
;
; Context:	
; Source:	GenScanControlClass object
; Destination:	GenScanControlClass object
; Interception: 
;
; Pass:		nothing
; Return:	nothing
; Destroyed:	ax, cx, dx, bp
;

;-----------------------------------------------------------------------------
;		Constants & Structures
;-----------------------------------------------------------------------------

GenScanControlFeatures		record
    SCANCF_SCAN_TRIGGER:1			; wants a scan trigger
GenScanControlFeatures		end

GenScanControlToolboxFeatures	record
    SCANCTF_SCAN_TRIGGER:1			; wants a fax tool trigger
GenScanControlToolboxFeatures	end

SCANC_DEFAULT_FEATURES		equ	mask SCANCF_SCAN_TRIGGER
SCANC_DEFAULT_TOOLBOX_FEATURES	equ	mask SCANCTF_SCAN_TRIGGER


ScanQualityEnum	etype	byte, 0, 1
    SQT_GRAPHIC_LOW	enum	ScanQualityEnum
    SQT_GRAPHIC_HIGH	enum	ScanQualityEnum
    SQT_TEXT_DRAFT	enum	ScanQualityEnum
    SQT_TEXT_HIGH	enum	ScanQualityEnum

ScanStatusReport	etype	word, 0, 1
    SS_NOT_CONNECTED	enum	ScanStatusReport
    SS_BUFFER_FULL	enum	ScanStatusReport
    SS_SCAN_ERROR	enum	ScanStatusReport
		
ScanAttrs	struct
    SCA_USES_DIALOG_BOX	byte
    SCA_RESOLUTION	word	; 100, 200, 300, 400 dpi
    SCA_FORMAT		BMType	; bitmap format of the object
    SCA_SCAN_QUALITY	ScanQualityEnum
ScanAttrs	ends

;-----------------------------------------------------------------------------
;		Instance Data
;
; Note: Please refer to the documentation under PrintControlClass
;       for more information on all of the following instance data
;-----------------------------------------------------------------------------
	
    GSCI_attrs		ScanAttrs
    GSCI_driverHandle	word	; the driver handle loaded in when the
				; dialog box comes up
;-----------------------------------------------------------------------------
;		Variable instance data
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;		Attrs
;-----------------------------------------------------------------------------

ATTR_GEN_SCAN_CONTROL_APP_UI		vardata	optr
;
; Attribute to allow applications to add their own UI to the Scan DB.
; The generic tree whose optr is stored here must *not* be set USABLE.
; This is different from ATTR_GEN_CONTROL_APP_UI, which would add
; triggers into the menu where your ScanControl object is a child.
;

;-----------------------------------------------------------------------------
;		Hints
;-----------------------------------------------------------------------------

GenScanControlClass	endc

EndLibrary	scan
