home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / viewer / SuperView-Lib.LHA / superview-lib / Programmers / Example_SVObjects / SVO / SV_ChangeSubs.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-10  |  8.7 KB  |  245 lines

  1.  
  2.  /* SV_ChangeSubs.c
  3.     - Functions for controlling the SVObject -
  4.     (c) 1990-94 by Andreas R. Kleinert
  5.     Last changes : 14.02.1994
  6.  */
  7.  
  8. #include "svobject.h"
  9.  
  10. ULONG __saveds __asm SVO_SetAccessMode(  register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG mode);
  11. ULONG __saveds __asm SVO_SetWriteSubType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 ULONG akt_type, register __a3 APTR future);
  12. ULONG __saveds __asm SVO_SetScreenType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG type, register __a2 APTR future);
  13. ULONG __saveds __asm SVO_SetWindowFlags( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG flags, register __a2 APTR future);
  14. ULONG __saveds __asm SVO_SetWindowIDCMP( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG idcmp, register __a2 APTR future);
  15. struct Screen * __saveds __asm SVO_GetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future);
  16. struct Window * __saveds __asm SVO_GetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future);
  17. ULONG __saveds __asm SVO_SetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Screen *writescreen, register __a3 APTR future);
  18. ULONG __saveds __asm SVO_SetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Window *writeWindow, register __a3 APTR future);
  19. ULONG __saveds __asm SVO_SetReadName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *readname, register __a3 APTR future);
  20. ULONG __saveds __asm SVO_SetWriteName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *writename, register __a3 APTR future);
  21.  
  22.  
  23. /* *************************************************** */
  24. /* *                             * */
  25. /* * SVO_SetAccessMode : ...                         * */
  26. /* *                             * */
  27. /* *************************************************** */
  28.  
  29. ULONG __saveds __asm SVO_SetAccessMode(  register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG mode)
  30. {
  31.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  32.  ULONG retval = SVERR_NO_ERROR;
  33.  
  34.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  35.  
  36.  if(mode != AKO_MEDIUM_DISK) retval = SVERR_ACTION_NOT_SUPPORTED;
  37.   else                       SVObjectHandle->ah_Medium = mode;
  38.  
  39.  return(retval);
  40. }
  41.  
  42. /* *************************************************** */
  43. /* *                             * */
  44. /* * SVO_SetWriteType :                              * */
  45. /* *                             * */
  46. /* *************************************************** */
  47.  
  48. ULONG __saveds __asm SVO_SetWriteSubType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 ULONG akt_type, register __a3 APTR future)
  49. {
  50.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  51.  
  52.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  53.  
  54.  SVObjectHandle->ah_WriteMode = akt_type;
  55.  
  56.  return(SVERR_NO_ERROR);
  57. }
  58.  
  59. /* *************************************************** */
  60. /* *                             * */
  61. /* * SVO_SetScreenType :                             * */
  62. /* *                             * */
  63. /* *************************************************** */
  64.  
  65. ULONG __saveds __asm SVO_SetScreenType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG type, register __a2 APTR future)
  66. {
  67.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  68.  ULONG retval = SVERR_NO_ERROR;
  69.  
  70.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  71.  
  72.  SVObjectHandle->ah_ScreenType = type;
  73.  
  74.  if(SVObjectHandle->ah_SVDriverHandle)
  75.   {
  76.    struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase;
  77.  
  78.    retval = SVD_SetScreenType(SVObjectHandle->ah_SVDriverHandle, type, future);
  79.   }
  80.  
  81.  return(retval);
  82. }
  83.  
  84. /* *************************************************** */
  85. /* *                             * */
  86. /* * SVO_SetWindowFlags :                            * */
  87. /* *                             * */
  88. /* *************************************************** */
  89.  
  90. ULONG __saveds __asm SVO_SetWindowFlags( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG flags, register __a2 APTR future)
  91. {
  92.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  93.  ULONG retval = SVERR_NO_ERROR;
  94.  
  95.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  96.  
  97.  SVObjectHandle->ah_WindowFlags = flags;
  98.  
  99.  if(SVObjectHandle->ah_SVDriverHandle)
  100.   {
  101.    struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase;
  102.  
  103.    retval = SVD_SetWindowFlags(SVObjectHandle->ah_SVDriverHandle, flags, future);
  104.   }
  105.  
  106.  return(retval);
  107. }
  108.  
  109. /* *************************************************** */
  110. /* *                             * */
  111. /* * SVO_SetWindowIDCMP :                            * */
  112. /* *                             * */
  113. /* *************************************************** */
  114.  
  115. ULONG __saveds __asm SVO_SetWindowIDCMP( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG idcmp, register __a2 APTR future)
  116. {
  117.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  118.  ULONG retval = SVERR_NO_ERROR;
  119.  
  120.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  121.  
  122.  SVObjectHandle->ah_WindowIDCMP = idcmp;
  123.  
  124.  if(SVObjectHandle->ah_SVDriverHandle)
  125.   {
  126.    struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase;
  127.  
  128.    retval = SVD_SetWindowIDCMP(SVObjectHandle->ah_SVDriverHandle, idcmp, future);
  129.   }
  130.  
  131.  return(retval);
  132. }
  133.  
  134. /* *************************************************** */
  135. /* *                             * */
  136. /* * SVO_GetScreenAddress :                          * */
  137. /* *                             * */
  138. /* *************************************************** */
  139.  
  140. struct Screen * __saveds __asm SVO_GetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future)
  141. {
  142.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  143.  
  144.  if(!SVObjectHandle) return(N);
  145.  
  146.  if(SVObjectHandle->ah_SVDriverHandle)
  147.   {
  148.    struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase;
  149.  
  150.    return(SVD_GetScreenAddress(SVObjectHandle->ah_SVDriverHandle, future));
  151.   }
  152.  
  153.  return(SVObjectHandle->ah_Screen);
  154. }
  155.  
  156. /* *************************************************** */
  157. /* *                             * */
  158. /* * SVO_GetWindowAddress :                          * */
  159. /* *                             * */
  160. /* *************************************************** */
  161.  
  162. struct Window * __saveds __asm SVO_GetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future)
  163. {
  164.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  165.  
  166.  if(!SVObjectHandle) return(N);
  167.  
  168.  if(SVObjectHandle->ah_SVDriverHandle)
  169.   {
  170.    struct SVDriverBase *SVDriverBase = SVObjectHandle->ah_DriverBase;
  171.  
  172.    return(SVD_GetWindowAddress(SVObjectHandle->ah_SVDriverHandle, future));
  173.   }
  174.  
  175.  return(SVObjectHandle->ah_Window);
  176. }
  177.  
  178. /* *************************************************** */
  179. /* *                             * */
  180. /* * SVO_SetScreenAddress : ...                      * */
  181. /* *                             * */
  182. /* *************************************************** */
  183.  
  184. ULONG __saveds __asm SVO_SetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Screen *writescreen, register __a3 APTR future)
  185. {
  186.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  187.  
  188.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  189.  
  190.  SVObjectHandle->ah_WriteScreen = writescreen;
  191.  
  192.  return(SVERR_NO_ERROR);
  193. }
  194.  
  195. /* *************************************************** */
  196. /* *                             * */
  197. /* * SVO_SetWindowAddress : ...                      * */
  198. /* *                             * */
  199. /* *************************************************** */
  200.  
  201. ULONG __saveds __asm SVO_SetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Window *writeWindow, register __a3 APTR future)
  202. {
  203.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  204.  
  205.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  206.  
  207.  SVObjectHandle->ah_WriteWindow = writeWindow;
  208.  
  209.  return(SVERR_NO_ERROR);
  210. }
  211.  
  212. /* *************************************************** */
  213. /* *                             * */
  214. /* * SVO_SetReadName :                               * */
  215. /* *                             * */
  216. /* *************************************************** */
  217.  
  218. ULONG __saveds __asm SVO_SetReadName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *readname, register __a3 APTR future)
  219. {
  220.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  221.  
  222.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  223.  
  224.  SVObjectHandle->ah_ReadName = readname;
  225.  
  226.  return(SVERR_NO_ERROR);
  227. }
  228.  
  229. /* *************************************************** */
  230. /* *                             * */
  231. /* * SVO_SetWriteName :                              * */
  232. /* *                             * */
  233. /* *************************************************** */
  234.  
  235. ULONG __saveds __asm SVO_SetWriteName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *writename, register __a3 APTR future)
  236. {
  237.  struct SVObjectHandle *SVObjectHandle = SVObjectHandle_a1;
  238.  
  239.  if(!SVObjectHandle) return(SVERR_NO_HANDLE);
  240.  
  241.  SVObjectHandle->ah_WriteName = writename;
  242.  
  243.  return(SVERR_NO_ERROR);
  244. }
  245.