home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / gfx / show / superview-lib / programmers / example_svobjects / svo / svobject.h < prev   
Encoding:
C/C++ Source or Header  |  1995-05-28  |  8.1 KB  |  219 lines

  1.  
  2.  /* svobject.h
  3.     - Include File for SVO.svobject -
  4.     (c) 1990-95 by Andreas R. Kleinert
  5.     Last changes : 21.02.1995
  6.  */
  7.  
  8. #ifndef SVOBJECT_H
  9. #define SVOBJECT_H
  10.  
  11. #ifndef SUPERVIEW_SUPERVIEWBASE_H
  12. #include <superview/superviewbase.h>
  13. #endif  /* SUPERVIEW_SUPERVIEWBASE_H */
  14.  
  15. #ifndef SVOBJECTS_SVOBJECTBASE_H
  16. #include <svobjects/svobjectbase.h>
  17. #endif  /* SVOBJECTS_SVOBJECTBASE_H
  18.  
  19. #ifndef SVDRIVERS_SVDRIVERBASE_H
  20. #include <svdrivers/svdriverbase.h>
  21. #endif  /* SVDRIVERS_SVDRIVERBASE_H
  22.  
  23. #ifndef INTUITION_INTUITIONBASE_H
  24. #include <intuition/intuitionbase.h>
  25. #endif /* INTUITION_INTUITIONBASE_H */
  26.  
  27. #ifndef EXEC_MEMORY_H
  28. #include <exec/memory.h>
  29. #endif /* EXEC_MEMORY_H */
  30.  
  31. #ifndef EXEC_LISTS_H
  32. #include <exec/lists.h>
  33. #endif /* EXEC_LISTS_H */
  34.  
  35. #ifndef EXEC_INTERRUPTS_H
  36. #include <exec/interrupts.h>
  37. #endif /* EXEC_INTERRUPTS_H */
  38.  
  39. #ifndef GRAPHICS_GFXBASE_H
  40. #include <graphics/gfxbase.h>
  41. #endif /* GRAPHICS_GFXBASE_H */
  42.  
  43. #ifndef GRAPHICS_VIEW_H
  44. #include <graphics/view.h>
  45. #endif /* GRAPHICS_VIEW_H */
  46.  
  47.  
  48. #include <libraries/xpk.h>
  49.  
  50.  
  51. #include <proto/exec.h>
  52. #include <proto/dos.h>
  53. #include <proto/intuition.h>
  54. #include <proto/graphics.h>
  55. #include <proto/iffparse.h>
  56. #include <proto/utility.h>
  57. #include <proto/superview.h>
  58. #include <proto/svdrivers.h>
  59. #include <proto/superviewsupport.h>
  60.  
  61.  
  62. #include "svo.h"
  63.  
  64.  
  65. /* *************************************************** */
  66. /* *                             * */
  67. /* * SV_SuperVisor.c : Functions                 * */
  68. /* *                             * */
  69. /* *************************************************** */
  70.  
  71. extern struct SVObjectHandle * __saveds __asm SVO_AllocHandle( register __a1 APTR future_a1);
  72. extern void __saveds __asm SVO_FreeHandle( register __a1 struct SVObjectHandle *SVObjectHandle_a1);
  73. extern void __saveds __asm SVO_CloseDisplay( register __a1 struct SVObjectHandle *SVObjectHandle_a1);
  74. extern void __saveds __asm SVO_FreeResources( register __a1 struct SVObjectHandle *SVObjectHandle_a1);
  75.  
  76.  
  77. /* *************************************************** */
  78. /* *                             * */
  79. /* * SV_WriteSubs.c : ...                            * */
  80. /* *                             * */
  81. /* *************************************************** */
  82.  
  83. extern ULONG __saveds __asm SVO_Write( register __a1 struct SVObjectHandle *SVObjectHandle_a1);
  84.  
  85.  
  86. /* *************************************************** */
  87. /* *                             * */
  88. /* * SV_PackSubs.c : ...                             * */
  89. /* *                             * */
  90. /* *************************************************** */
  91.  
  92. extern ULONG __saveds __stdargs DoPack(BYTE *buffer, BYTE *destbuffer, long lines, long depth, long bpl);
  93.  
  94.  
  95. /* *************************************************** */
  96. /* *                             * */
  97. /* * SV_InfoSubs.c : ...                             * */
  98. /* *                             * */
  99. /* *************************************************** */
  100.  
  101. extern ULONG __saveds __asm SVO_FileInfoRequest( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Window *window, register __a3 ULONG future);
  102. extern ULONG __saveds __asm SVO_CheckFileType(register __a1 BPTR handle_a1, register __a2 UBYTE *filename, register __a3 APTR future);
  103.  
  104.  
  105. extern void __saveds __stdargs SVLI_SPrintf(APTR buffer, char *formatstring, ...);
  106.  
  107.  
  108. /* *************************************************** */
  109. /* *                             * */
  110. /* * SV_ChangeSubs.c : ...                           * */
  111. /* *                             * */
  112. /* *************************************************** */
  113.  
  114. extern ULONG __saveds __asm SVO_SetAccessMode(  register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG mode);
  115. extern ULONG __saveds __asm SVO_SetWriteSubType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 ULONG akt_type, register __a3 APTR future);
  116. extern ULONG __saveds __asm SVO_SetScreenType( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG type, register __a2 APTR future);
  117. extern ULONG __saveds __asm SVO_SetWindowFlags( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG flags, register __a2 APTR future);
  118. extern ULONG __saveds __asm SVO_SetWindowIDCMP( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __d1 ULONG idcmp, register __a2 APTR future);
  119. extern struct Screen * __saveds __asm SVO_GetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future);
  120. extern struct Window * __saveds __asm SVO_GetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 APTR future);
  121. extern ULONG __saveds __asm SVO_SetScreenAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Screen *writescreen, register __a3 APTR future);
  122. extern ULONG __saveds __asm SVO_SetWindowAddress( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 struct Window *writewindow, register __a3 APTR future);
  123. extern ULONG __saveds __asm SVO_SetReadName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *readname, register __a3 APTR future);
  124. extern ULONG __saveds __asm SVO_SetWriteName( register __a1 struct SVObjectHandle *SVObjectHandle_a1, register __a2 char *writename, register __a3 APTR future);
  125.  
  126.  
  127. /* *************************************************** */
  128. /* *                             * */
  129. /* * SV_BufferSubs.c : ...                           * */
  130. /* *                             * */
  131. /* *************************************************** */
  132.  
  133. extern ULONG __saveds __asm SVO_ReadToGfxBuffer( register __a1 struct SVObjectHandle *SVObjectHandle_a1);
  134. extern ULONG __saveds __asm SVO_GetGfxBuffer(    register __a1 struct SVObjectHandle *SVObjectHandle_a1,
  135.                                                  register __a2 struct SV_GfxBuffer **bufferhandle,
  136.                                                  register __a3 ULONG future);
  137. extern ULONG __saveds __asm SVO_SetGfxBuffer(    register __a1 struct SVObjectHandle *SVObjectHandle_a1,
  138.                                                  register __a2 struct SV_GfxBuffer *bufferhandle,
  139.                                                  register __a3 ULONG future);
  140.  
  141.  
  142. /* *************************************************** */
  143. /* *                             * */
  144. /* * SV_ShowSubs.c : ...                             * */
  145. /* *                             * */
  146. /* *************************************************** */
  147.  
  148. extern ULONG __saveds __asm SVO_Show( register __a1 struct SVObjectHandle *SVObjectHandle_a1);
  149.  
  150.  
  151. /* *************************************************** */
  152. /* *                             * */
  153. /* * Additional Base Declarations             * */
  154. /* *                             * */
  155. /* *************************************************** */
  156.  
  157. extern struct SVObjectBase  *SVObjectBase;
  158.  
  159. extern struct ExecBase        *SysBase;
  160. extern struct DosLibrary    *DOSBase;
  161. extern struct IntuitionBase *IntuitionBase;
  162. extern struct GfxBase        *GfxBase;
  163. extern struct Library       *UtilityBase;
  164. extern struct Library       *XpkBase;
  165. extern struct SVSupportBase *SVSupportBase;
  166.  
  167.  
  168.  /* some useful Defines */
  169.  
  170. #define ColorAcc(x) (1<<x)
  171.  
  172.  
  173.  /* structures for File-Handling */
  174.  
  175. struct SVObjectHandle                   /* STRICTLY PRIVATE */
  176. {
  177.  BPTR                   ah_filehandle_source;
  178.  BPTR                   ah_filehandle_source2;
  179.  BPTR                   ah_filehandle_dest;
  180.  BPTR                   ah_filehandle_dest2;
  181.  
  182.  char                  *ah_ReadName;
  183.  char                  *ah_WriteName;
  184.  
  185.  struct Screen         *ah_Screen;
  186.  struct Screen         *ah_WriteScreen;
  187.  
  188.  struct Window         *ah_Window;
  189.  struct Window         *ah_WriteWindow;
  190.  
  191.  ULONG                  ah_ScreenType;
  192.  ULONG                  ah_WindowFlags;
  193.  ULONG                  ah_WindowIDCMP;
  194.  
  195.  ULONG                  ah_FileType;           /* SV_FILETYPE_ ... */
  196.  ULONG                  ah_Type;               /* SV_SUBTYPE_  ... */
  197.  ULONG                  ah_WriteMode;          /* SV_SUBTYPE_  ... */
  198.  ULONG                  ah_Medium;             /* AKO_MEDIUM_  ... */
  199.  
  200.  APTR                   ah_ramhandle;
  201.  
  202.  /* For SVO Files */
  203.  
  204.  struct SVOHeader      *ah_SVOHeader;
  205.  APTR                   ah_XpkBuffer;
  206.  ULONG                  ah_XpkBufferSize;
  207.  
  208.  /* For SVDriver Support */
  209.  
  210.  struct SVDriverBase   *ah_DriverBase;  /* Library-Base of svobject.    */
  211.  struct SVD_DriverNode *ah_SVDriver;
  212.  APTR                   ah_SVDriverHandle;
  213.  
  214.  struct SV_GfxBuffer   *ah_SV_GfxBuffer;  /* for read-/write-access   */
  215.  struct SV_GfxBuffer   *ah_SV_GfxBuffer2; /* as source for conversion */
  216. };
  217.  
  218. #endif /* SVOBJECT_H */
  219.