/* clib/superview_protos.h          */
/* Version    : 9.1                 */
/* Date       : 29.09.1994          */
/* Written by : Andreas R. Kleinert */

#ifndef CLIB_SUPERVIEW_PROTOS_H
#define CLIB_SUPERVIEW_PROTOS_H

#ifndef SUPERVIEW_SUPERVIEW_H
#include <superview/superview.h>
#endif /* SUPERVIEW_SUPERVIEW_H */

APTR SVL_AllocHandle(       APTR future);
void SVL_FreeHandle(        APTR handle);
void SVL_CloseDisplay(      APTR handle);
void SVL_FreeResources(     APTR handle);
ULONG SVL_SuperView(        APTR handle,
                            char *filename);
ULONG SVL_SuperWrite(       APTR handle);
ULONG SVL_InitHandleAsDOS(  APTR handle,
                            APTR future);
ULONG SVL_InitHandleAsClip( APTR handle,
                            APTR future);
ULONG SVL_SetWriteType(     APTR handle,
                            ULONG akt_type,
                            APTR future);
ULONG SVL_SetWindowIDCMP(   APTR handle,
                            ULONG idcmp,
                            APTR future);
ULONG SVL_SetWindowFlags(   APTR handle,
                            ULONG flags,
                            APTR future);
ULONG SVL_SetScreenType(    APTR handle,
                            ULONG type,  
                            APTR future);
ULONG SVL_GetWindowAddress( APTR handle,
                            struct Window **window,
                            APTR future);
ULONG SVL_GetScreenAddress( APTR handle,
                            struct Screen **screen,
                            APTR future);
char * SVL_GetErrorString(  ULONG error_code);
ULONG SVL_SetWriteScreen(   APTR handle,
                            struct Screen *writescreen,
                            APTR future);
ULONG SVL_SetWriteName(     APTR handle,
                            UBYTE *writename,
                            APTR future);
ULONG SVL_FileInfoRequest(  APTR handle,
                            struct Window *window,
                            ULONG future);
/* added with V3 */
ULONG SVL_GetGlobalDriver(  struct SVD_DriverNode **driver,
                            ULONG future);
ULONG SVL_SetGlobalDriver(  struct SVD_DriverNode *driver,
                            ULONG future);
ULONG SVL_ReadToGfxBuffer(  APTR handle,
                            char *filename);
ULONG SVL_GetGfxBuffer(     APTR handle,
                            struct SV_GfxBuffer **buffer,
                            ULONG future);
ULONG SVL_SetGfxBuffer(     APTR handle,
                            struct SV_GfxBuffer *buffer,
                            ULONG future);
ULONG SVL_DisplayGfxBuffer( APTR handle,
                            struct SV_GfxBuffer *buffer,
                            ULONG future);
/* no functions added in V4 */
/* no functions added in V5 */
/* added with V6 */
ULONG SVL_GetSVObjectList(  struct SVObjectInfo **InfoList);
ULONG SVL_GetSVDriverList(  struct SVDriverInfo **InfoList);
void  SVL_FreeSVObjectList( struct SVObjectInfo *InfoList);
void  SVL_FreeSVDriverList( struct SVDriverInfo *InfoList);
/* added with V7 */
ULONG SVL_RemoveSVObject( struct SVO_ObjectNode *svo_node);
ULONG SVL_RemoveSVDriver( struct SVD_DriverNode *svd_node);
ULONG SVL_AddSVObject(    UBYTE *name);
ULONG SVL_AddSVDriver(    UBYTE *name);
/* added with V8 */
ULONG SVL_GetFileType(    APTR handle, UBYTE *filename, ULONG *filetype);
/* added with V9 */
ULONG SVL_DoOperation(    APTR handle, struct SV_GfxBuffer      *source,
                                       struct SV_GfxBuffer     **dest,
                                       struct SVP_OperatorNode  *operator,
                                       APTR                      future);
ULONG SVL_GetSVOperatorList(  struct SVOperatorInfo **InfoList);
void  SVL_FreeSVOperatorList( struct SVOperatorInfo *InfoList);
ULONG SVL_RemoveSVOperator( struct SVP_OperatorNode *svp_node);
ULONG SVL_AddSVOperator(    UBYTE *name);

#endif /* CLIB_SUPERVIEW_PROTOS_H */
