/* clib/superview_protos.h          */
/* Version    : 11.1                */
/* Date       : 18.02.1995          */
/* 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);
/* no functions added in V10 */
/* added with V11 */
ULONG SVL_GetModeList(        APTR handle, struct SVModeList **modelist, struct SV_GfxBuffer *refbuf, ULONG future);

#endif /* CLIB_SUPERVIEW_PROTOS_H */
