 /* svoperator.h
    - Include File for ExtractGrayScales.svoperator -
    (c) 1990-94 by Andreas R. Kleinert
    Last changes : 30.10.1994
 */

#ifndef SVOPERATOR_H
#define SVOPERATOR_H

#ifndef SUPERVIEW_SUPERVIEWBASE_H
#include <superview/superviewbase.h>
#endif  /* SUPERVIEW_SUPERVIEWBASE_H */

#ifndef SVOPERATORS_SVOPERATORBASE_H
#include <svoperators/svoperatorbase.h>
#endif  /* SVOPERATORS_SVOPERATORBASE_H

#ifndef INTUITION_INTUITIONBASE_H
#include <intuition/intuitionbase.h>
#endif /* INTUITION_INTUITIONBASE_H */

#ifndef EXEC_MEMORY_H
#include <exec/memory.h>
#endif /* EXEC_MEMORY_H */

#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif /* EXEC_LISTS_H */

#ifndef EXEC_INTERRUPTS_H
#include <exec/interrupts.h>
#endif /* EXEC_INTERRUPTS_H */

#ifndef GRAPHICS_GFXBASE_H
#include <graphics/gfxbase.h>
#endif /* GRAPHICS_GFXBASE_H */

#ifndef GRAPHICS_VIEW_H
#include <graphics/view.h>
#endif /* GRAPHICS_VIEW_H */

#ifndef LIBRARIES_IFFPARSE_H
#include <libraries/iffparse.h>
#endif /* LIBRARIES_IFFPARSE_H */

#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/intuition.h>
#include <proto/graphics.h>
#include <proto/superviewsupport.h>

#include "ExtractGrayScales.h"


/* *************************************************** */
/* *						     * */
/* * SD_SuperVisor.c : Functions	             * */
/* *						     * */
/* *************************************************** */

extern struct SVOperatorHandle * __saveds __asm SVP_AllocHandle( register __a1 APTR future_a1);
extern void __saveds __asm SVP_FreeHandle( register __a1 struct SVOperatorHandle *SVOperatorHandle_a1);


/* *************************************************** */
/* *						     * */
/* * SD_BufferSubs.c : ...                           * */
/* *						     * */
/* *************************************************** */

extern ULONG __saveds __asm SVP_DoOperation(  register __a1 struct SVOperatorHandle  *SVOperatorHandle_a1,
                                              register __a2 struct SV_GfxBuffer      *source,
                                              register __a3 struct SV_GfxBuffer     **dest,
                                              register __d1 APTR                      future);


/* *************************************************** */
/* *						     * */
/* * Additional Base Declarations		     * */
/* *						     * */
/* *************************************************** */

extern struct SVOperatorBase  *SVOperatorBase;

extern struct ExecBase	    *SysBase;
extern struct DosLibrary    *DOSBase;
extern struct IntuitionBase *IntuitionBase;
extern struct GfxBase	    *GfxBase;
extern struct SVSupportBase *SVSupportBase;

struct SVOperatorHandle                   /* STRICTLY PRIVATE */
{
 APTR                 ah_ramhandle;

 struct SV_GfxBuffer *ah_SV_GfxBuffer;
};

#endif /* SVOPERATOR_H */
