/* SV_ChangeSubs.c - Functions for controlling the SVObject - (c) 1990-94 by Andreas R. Kleinert Last changes : 14.02.1994 */ #include "svobject.h" ULONG __saveds __asm SVO_SetAccessMode( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG mode); ULONG __saveds __asm SVO_SetWriteSubType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 ULONG akt_type, register __a3 APTR future); ULONG __saveds __asm SVO_SetScreenType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG type, register __a2 APTR future); ULONG __saveds __asm SVO_SetWindowFlags( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG flags, register __a2 APTR future); ULONG __saveds __asm SVO_SetWindowIDCMP( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG idcmp, register __a2 APTR future); struct Screen * __saveds __asm SVO_GetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future); struct Window * __saveds __asm SVO_GetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future); ULONG __saveds __asm SVO_SetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Screen *writescreen, register __a3 APTR future); ULONG __saveds __asm SVO_SetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Window *writeWindow, register __a3 APTR future); ULONG __saveds __asm SVO_SetReadName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *readname, register __a3 APTR future); ULONG __saveds __asm SVO_SetWriteName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *writename, register __a3 APTR future); /* *************************************************** */ /* * * */ /* * SVO_SetAccessMode : ... * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetAccessMode( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG mode) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; ULONG retval = SVERR_NO_ERROR; if(!SVObjectHandle) return(SVERR_NO_HANDLE); switch(mode) { case AKO_MEDIUM_DISK : SVObjectHandle->ah_Medium = mode; case AKO_MEDIUM_CLIP : SVObjectHandle->ah_Medium = mode; break; default : retval = SVERR_ACTION_NOT_SUPPORTED; break; } return(retval); } /* *************************************************** */ /* * * */ /* * SVO_SetWriteType : * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetWriteSubType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 ULONG akt_type, register __a3 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_WriteMode = akt_type; return(SVERR_NO_ERROR); } /* *************************************************** */ /* * * */ /* * SVO_SetScreenType : * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetScreenType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG type, register __a2 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; ULONG retval = SVERR_NO_ERROR; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_ScreenType = type; if(SVObjectHandle->ah_SVDriverHandle) { struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase; retval = SVD_SetScreenType(SVObjectHandle->ah_SVDriverHandle, type, future); } return(retval); } /* *************************************************** */ /* * * */ /* * SVO_SetWindowFlags : * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetWindowFlags( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG flags, register __a2 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; ULONG retval = SVERR_NO_ERROR; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_WindowFlags = flags; if(SVObjectHandle->ah_SVDriverHandle) { struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase; retval = SVD_SetWindowFlags(SVObjectHandle->ah_SVDriverHandle, flags, future); } return(retval); } /* *************************************************** */ /* * * */ /* * SVO_SetWindowIDCMP : * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetWindowIDCMP( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG idcmp, register __a2 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; ULONG retval = SVERR_NO_ERROR; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_WindowIDCMP = idcmp; if(SVObjectHandle->ah_SVDriverHandle) { struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase; retval = SVD_SetWindowIDCMP(SVObjectHandle->ah_SVDriverHandle, idcmp, future); } return(retval); } /* *************************************************** */ /* * * */ /* * SVO_GetScreenAddress : * */ /* * * */ /* *************************************************** */ struct Screen * __saveds __asm SVO_GetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(N); if(SVObjectHandle->ah_SVDriverHandle) { struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase; return(SVD_GetScreenAddress(SVObjectHandle->ah_SVDriverHandle, future)); } return(SVObjectHandle->ah_Screen); } /* *************************************************** */ /* * * */ /* * SVO_GetWindowAddress : * */ /* * * */ /* *************************************************** */ struct Window * __saveds __asm SVO_GetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(N); if(SVObjectHandle->ah_SVDriverHandle) { struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase; return(SVD_GetWindowAddress(SVObjectHandle->ah_SVDriverHandle, future)); } return(SVObjectHandle->ah_Window); } /* *************************************************** */ /* * * */ /* * SVO_SetScreenAddress : ... * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Screen *writescreen, register __a3 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_WriteScreen = writescreen; return(SVERR_NO_ERROR); } /* *************************************************** */ /* * * */ /* * SVO_SetWindowAddress : ... * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Window *writeWindow, register __a3 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_WriteWindow = writeWindow; return(SVERR_NO_ERROR); } /* *************************************************** */ /* * * */ /* * SVO_SetReadName : * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetReadName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *readname, register __a3 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_ReadName = readname; return(SVERR_NO_ERROR); } /* *************************************************** */ /* * * */ /* * SVO_SetWriteName : * */ /* * * */ /* *************************************************** */ ULONG __saveds __asm SVO_SetWriteName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *writename, register __a3 APTR future) { struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1; if(!SVObjectHandle) return(SVERR_NO_HANDLE); SVObjectHandle->ah_WriteName = writename; return(SVERR_NO_ERROR); }