home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gfx / superview-lib-9.12.lha / SuperView-Lib / Programmers / Docs / SuperView_Ref_ENG.doc < prev    next >
Encoding:
Text File  |  1994-12-28  |  42.9 KB  |  1,782 lines

  1.  
  2.    $VER: SuperView_Ref_ENG.doc V9.9 (14.12.94)
  3.  
  4.    © 1994 by Andreas R. Kleinert. All rights reserved.
  5.  
  6.    - Feel free to translate this Doc-File into other languages. -
  7.  
  8.           Andreas R. Kleinert,
  9.           Grube Hohe Grethe 23,
  10.           D-57074 Siegen,
  11.           Germany.
  12.  
  13.     Phone:  +49-271-331859 (weekdays after 18.00h)
  14.             +49-271-332147 (weekdays after 18.00h)
  15.     EMail:  Fido             Andreas Kleinert 2:2457/435.10
  16.             Usenet/InterNet  Andreas_Kleinert@superview.ftn.sub.org
  17.  
  18.       If nothing else works, try one of these Fido-InterNet gateways:
  19.  
  20.             Andreas_Kleinert@p10.f435.n2457.z2.fido.sub.org (Germany)
  21.             Andreas_Kleinert@p10.f435.n2457.z2.fidonet.org  (US)
  22.  
  23.  
  24.    Please note the version-dependencies :
  25.  
  26.     superview.library      SVObjects      SVDrivers      SVOperators
  27.  
  28.     Version 1              -              -              -
  29.     Version 2              Version 1      -              -
  30.     Version 3-8            Version 1,2    Version 1      -
  31.     Version 9              Version 1,2    Version 1      Version 1
  32.  
  33.    Request at least :  V2+    for SVObjects
  34.                        V3+    for SVDrivers
  35.                        V4+    for bug-fixed ClipBoard-Support
  36.                               with the supplied SVObjects
  37.                        V5+    for bug-fixed GfxBuffer-Functions
  38.                        V6+    for working GfxBuffer-Writing
  39.                               with the supplied SVObjects
  40.                        V7+    for adding/removing single SVObjects/SVDrivers
  41.                        V8+    for filetype recognition without loading
  42.                        V9+    for SVOperator functions
  43.  
  44.  
  45.    Here is a listing of all currently available functions of the
  46.    superview.library in an Autodoc-like style of description :
  47.  
  48.         SVL_AllocHandle            ; since Version 1
  49.         SVL_FreeHandle
  50.         SVL_CloseDisplay
  51.         SVL_FreeResources
  52.         SVL_SuperView
  53.         SVL_SuperWrite
  54.         SVL_InitHandleAsDOS
  55.         SVL_InitHandleAsClip
  56.         SVL_SetWriteType
  57.         SVL_SetWindowIDCMP
  58.         SVL_SetWindowFlags
  59.         SVL_SetScreenType
  60.         SVL_GetWindowAddress
  61.         SVL_GetScreenAddress
  62.         SVL_GetErrorString
  63.         SVL_SetWriteScreen
  64.         SVL_SetWriteName
  65.         SVL_FileInfoRequest
  66.                    ; no functions added in Version 2
  67.         SVL_GetGlobalDriver        ; since Version 3
  68.         SVL_SetGlobalDriver
  69.         SVL_ReadToGfxBuffer
  70.         SVL_GetGfxBuffer
  71.         SVL_SetGfxBuffer
  72.         SVL_DisplayGfxBuffer
  73.                    ; no functions added in Version 4
  74.                    ; no functions added in Version 5
  75.         SVL_GetSVObjectList        ; since Version 6
  76.         SVL_GetSVDriverList
  77.         SVL_FreeSVObjectList
  78.         SVL_FreeSVDriverList
  79.         SVL_RemoveSVObject         ; since Version 7
  80.         SVL_RemoveSVDriver
  81.         SVL_AddSVObject
  82.         SVL_AddSVDriver
  83.         SVL_GetFileType            ; since Version 8
  84.         SVL_DoOperation            ; since Version 9
  85.         SVL_GetSVOperatorList
  86.         SVL_FreeSVOperatorList
  87.         SVL_RemoveSVOperator
  88.         SVL_AddSVOperator
  89.  
  90. -----------------------------------------------------------------------------
  91.    Functions available since Version 1 - 2 :
  92. -----------------------------------------------------------------------------
  93.  
  94.    NAME
  95.         SVL_AllocHandle
  96.  
  97.    SYNOPSIS
  98.  
  99.         APTR SVL_AllocHandle(APTR future)
  100.         D0   -$1e            A1
  101.  
  102.    FUNCTION
  103.  
  104.         Allocates a handle for accessing a Graphic via SVObjects.
  105.  
  106.    INPUT(S)
  107.  
  108.         future - always NULL yet
  109.  
  110.    RESULT
  111.  
  112.         A pointer to a new allocated Handle or NULL, if allocation failed.
  113.  
  114.    WARNING
  115.  
  116.         Test, if the result was NULL, or not !
  117.  
  118.    SINCE
  119.  
  120.         ... version 1 of the superview.library.
  121.  
  122.    SEE ALSO
  123.  
  124.         SVL_FreeResources, SVL_FreeHandle
  125.  
  126. -----------------------------------------------------------------------------
  127.  
  128.    NAME
  129.         SVL_FreeHandle
  130.  
  131.    SYNOPSIS
  132.  
  133.         VOID SVL_FreeHandle(APTR handle)
  134.         D0   -$24           A1
  135.  
  136.    FUNCTION
  137.  
  138.        Stops showing, frees all Resources and delocates a Handle, which has
  139.        been allocated with SVL_AllocHandle before.
  140.  
  141.  
  142.        For programmers of SVObjects :
  143.  
  144.        Note, that this functions calls
  145.  
  146.           SVL_CloseDisplay(SVHandle);
  147.           SVL_FreeResources(SVHandle);
  148.  
  149.        for internal SVObjects and
  150.  
  151.           SVO_FreeHandle(SVHandle->ah_SVHandle);
  152.  
  153.           CloseLibrary((APTR) SVObjectBase);
  154.  
  155.        for external SVObjects.
  156.        So do not forget to do the SVO_CloseDisplay() and SVO_FreeResources()
  157.        calls inside SVO_FreeHandle().
  158.        Otherwise memory might be lost.
  159.  
  160.    INPUT(S)
  161.  
  162.         handle - a valid handle
  163.  
  164.    RESULT
  165.  
  166.         -
  167.  
  168.    BUGS
  169.  
  170.         This function was buggy for external SVObjects (never closed, memory
  171.         loss) upto V2.4.
  172.  
  173.    SINCE
  174.  
  175.         ... version 1 of the superview.library.
  176.  
  177.    SEE ALSO
  178.  
  179.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeResources
  180.  
  181. -----------------------------------------------------------------------------
  182.  
  183.    NAME
  184.         SVL_CloseDisplay
  185.  
  186.    SYNOPSIS
  187.  
  188.         VOID SVL_CloseDisplay(APTR handle)
  189.         D0   -$2a             A1
  190.  
  191.    FUNCTION
  192.  
  193.         Stops showing the Graphic, indentified by the handle.
  194.         The Display-Screen is closed, but no Resources are given free.
  195.  
  196.    INPUT(S)
  197.  
  198.         handle - a valid handle
  199.  
  200.    RESULT
  201.  
  202.         -
  203.  
  204.    SINCE
  205.  
  206.         ... version 1 of the superview.library.
  207.  
  208.    SEE ALSO
  209.  
  210.         SVL_FreeResources, SVL_FreeHandle
  211.  
  212. -----------------------------------------------------------------------------
  213.  
  214.    NAME
  215.         SVL_FreeResources
  216.  
  217.    SYNOPSIS
  218.  
  219.         VOID SVL_FreeResources(APTR handle)
  220.         D0   -$30              A1
  221.  
  222.    FUNCTION
  223.  
  224.         Frees all resources belonging to the specific Graphic,
  225.         indentified by the handle, which are not needed to just show it.
  226.         The Display will not be closed.
  227.  
  228.         Note, that SVL_FileInfoRequest() will no longer work, then
  229.         ("No file loaded" or similar request appears).
  230.  
  231.    INPUT(S)
  232.  
  233.         handle - a valid handle
  234.  
  235.    RESULT
  236.  
  237.         -
  238.  
  239.    SINCE
  240.  
  241.         ... version 1 of the superview.library.
  242.  
  243.    SEE ALSO
  244.  
  245.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeHandle
  246.  
  247. -----------------------------------------------------------------------------
  248.  
  249.    NAME
  250.         SVL_SuperView
  251.  
  252.    SYNOPSIS
  253.  
  254.         ULONG SVL_SuperView(APTR handle, char *filename)
  255.         D0    -$36          A1           A2
  256.  
  257.    FUNCTION
  258.  
  259.         Loads and shows the Graphic described by FileName.
  260.         The handle is initialized and the fitting SVObject is opened
  261.         and accessed for showing the Graphic.
  262.  
  263.         Showing can be stopped either via full delocation of the handle
  264.         or via Closing the Display with SVL_CloseDisplay.
  265.  
  266.    INPUT(S)
  267.  
  268.         handle   - a valid handle
  269.         filename - a valid AmigaDOS FilePath and -Name
  270.  
  271.    RESULT
  272.  
  273.         NULL or an adequate SVERR-Errorcode.
  274.  
  275.    SINCE
  276.  
  277.         ... version 1 of the superview.library.
  278.  
  279.    SEE ALSO
  280.  
  281.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeHandle
  282.  
  283. -----------------------------------------------------------------------------
  284.  
  285.    NAME
  286.         SVL_SuperWrite
  287.  
  288.    SYNOPSIS
  289.  
  290.         ULONG SVL_SuperWrite(APTR handle)
  291.         D0    -$3c           A1
  292.  
  293.    FUNCTION
  294.  
  295.         Before Version 3 a Graphic had to be loaded AND showed via
  296.         SVL_SuperView : No separate reading and showing calls were done.
  297.         For writing - that means : converting - a Graphic, you at first
  298.         have to display, then to save it. Use the following order :
  299.  
  300.         (But check the "result" value AFTER EACH function call, like this
  301.          has been done in the example SourceCodes ...)
  302.  
  303.         source_handle = SVL_AllocHandle(N);
  304.         /* result     = SVL_InitHandleAsDOS(source_handle, N); */ /* default */
  305.         result        = SVL_SetWindowIDCMP(source_handle,
  306.                                     IDCMP_MOUSEBUTTONS | IDCMP_VANILLAKEY, N)))
  307.         result        = SVL_SetScreenType(source_handle, CUSTOMSCREEN, N)))
  308.         result        = SVL_SuperView(source_handle, source_filename)))
  309.         result        = SVL_GetScreenAddress(source_handle, &sv_screen, N)))
  310.         result        = SVL_GetWindowAddress(source_handle, &sv_window, N)))
  311.  
  312.         dest_handle   = SVL_AllocHandle(N);
  313.         /* result     = SVL_InitHandleAsDOS(dest_handle, N); */ /* default */
  314.         result        = SVL_SetWriteType(dest_handle, dest_type, N)))
  315.         result        = SVL_SetWriteName(dest_handle, dest_filename, N)))
  316.         result        = SVL_SetWriteScreen(dest_handle, sv_screen, N)))
  317.         result        = SVL_SuperWrite(dest_handle);
  318.         SVL_FreeHandle(dest_handle);
  319.  
  320.         SVL_FreeHandle(source_handle);
  321.  
  322.  
  323.         Since Version 3 it is also possible to save the contents of
  324.         SV_GfxBuffers, so that not necessarily a Screen has to be the
  325.         source for writing to Disk/ClipBoard (or to whatever).
  326.         Not all SVObjects may necessarily support this (return-code
  327.         becomes SVERR_ACTION_NOT_SUPPORTED).
  328.         But since Version 6 all of the supplied SVObjects (those which come
  329.         with superview.library and contain Write-Support) allow this.
  330.         So, if you request at least V6+, the likelihood will be with you ...
  331.  
  332.         All available values for dest_type can be found in the specific
  333.         SVObject-List in SuperViewBase.
  334.         The values WILL change with every re-initialization of
  335.         superview.library, so update them with every new opening
  336.         (read them from the SVObject-List inside SuperViewBase or use the
  337.          new functions, which have been introduced with V6).
  338.         Only ILBM.svobject and ACBM.svobject (and the internal Datatype-
  339.         svobject, which cannot be used for saving, anyway) keep the same
  340.         values for compatibility reasons, but since two of these are now
  341.         external you might not be sure, if they are available
  342.         (which means : actually in "LIBS:svobjects") or not ...
  343.  
  344.    INPUT(S)
  345.  
  346.         handle        - a valid handle        (used for Write Access)
  347.  
  348.    RESULT
  349.  
  350.         NULL or an adequate SVERR-Errorcode.
  351.  
  352.    SINCE
  353.  
  354.         ... version 1 of the superview.library.
  355.  
  356.    SEE ALSO
  357.  
  358.  
  359.  
  360.         SVL_AllocHandle, SVL_FreeHandle
  361.  
  362. -----------------------------------------------------------------------------
  363.  
  364.    NAME
  365.         SVL_InitHandleAsDOS
  366.  
  367.    SYNOPSIS
  368.  
  369.         ULONG SVL_InitHandleAsDOS(APTR handle, APTR future)
  370.         D0    -$42                A1           A2
  371.  
  372.    FUNCTION
  373.  
  374.         Initializes a Handle for AmigaDOS access, so that the given
  375.         AmigaDOS FileNames are used.
  376.         Another possibility is sometimes to initialize Handles
  377.         for ClipBoard Access (depending on the specific SVObject,
  378.         e.g. IFF-ILBM).
  379.  
  380.    INPUT(S)
  381.  
  382.         handle - a valid handle
  383.         future - always NULL yet
  384.  
  385.    RESULT
  386.  
  387.         NULL or an adequate SVERR-Errorcode.
  388.  
  389.    BUGS
  390.  
  391.         During V2.4 upto V3.8 this was done automatically ALWAYS.
  392.         This was fixed in V4.1
  393.         See BUGS under SVL_InitHandleAsClip.
  394.  
  395.    SINCE
  396.  
  397.         ... version 1 of the superview.library.
  398.  
  399.    SEE ALSO
  400.  
  401.         SVL_InitHandleAsClip
  402.  
  403. -----------------------------------------------------------------------------
  404.  
  405.    NAME
  406.         SVL_InitHandleAsClip
  407.  
  408.    SYNOPSIS
  409.  
  410.         ULONG SVL_InitHandleAsClip(APTR handle, APTR future)
  411.         D0    -$48                 A1           A2
  412.  
  413.    FUNCTION
  414.  
  415.         Initializes a Handle for ClipBoard access, so that the (possibly)
  416.         given AmigaDOS FileNames are ignored.
  417.         The nearly always used possibility is to initialize Handles
  418.         for AmigaDOS Access (supported by ALL SVObjects).
  419.  
  420.    INPUT(S)
  421.  
  422.         handle - a valid handle
  423.         future - always NULL yet
  424.  
  425.    RESULT
  426.  
  427.         NULL or an adequate SVERR-Errorcode.
  428.  
  429.    BUGS
  430.  
  431.         From 2.4 to 3.8 this function-call was useless, since
  432.         superview.library blocked all medias other than
  433.         AKO_MEDIUM_DISK for external SVObjects :
  434.         For reading calls, this resulted in a "file not found" message
  435.         from superview.library, for writing calls, this resulted in an
  436.         empty filename string, which caused the SVObject to reject the
  437.         disk access (other accesses were not set correctly).
  438.         This was fixed in 4.1, by using the SVO_SetAccessMode() function
  439.         with the right parameters now and by using the "future" parameter
  440.         of SVO_CheckFileType() - only when using other media than
  441.         AKO_MEDIUM_DISK - as a pointer to an additional SVOCheckFileInfo
  442.         structure now.
  443.         This is 100% compatible, since superview.library has always set
  444.         this value to NULL, so that older SVObjects will simply ignore
  445.         this pointer and newer versions will only interpret it, if it's
  446.         not NULL.
  447.  
  448.    SINCE
  449.  
  450.         ... version 1 of the superview.library. (request V4+)
  451.  
  452.    SEE ALSO
  453.  
  454.         SVL_InitHandleAsDOS
  455.  
  456. -----------------------------------------------------------------------------
  457.  
  458.    NAME
  459.         SVL_SetWriteType
  460.  
  461.    SYNOPSIS
  462.  
  463.         ULONG SVL_SetWriteType(APTR handle, ULONG write_type, APTR future)
  464.         D0    -$4e             A1           A2                A3
  465.  
  466.    FUNCTION
  467.  
  468.         Sets the write_type for a SVL_SuperWrite() call.
  469.         See description there and example SourceCodes for more and
  470.         detailed information.
  471.  
  472.    INPUT(S)
  473.  
  474.         handle     - a valid handle
  475.         write_type - a valid temporary SubTypeCode from the SVObject-List
  476.         future     - always NULL yet
  477.  
  478.    RESULT
  479.  
  480.         NULL or an adequate SVERR-Errorcode.
  481.  
  482.    SINCE
  483.  
  484.         ... version 1 of the superview.library.
  485.  
  486.    SEE ALSO
  487.  
  488.         SVL_SuperWrite
  489.  
  490. -----------------------------------------------------------------------------
  491.  
  492.    NAME
  493.         SVL_SetWindowIDCMP
  494.  
  495.    SYNOPSIS
  496.  
  497.         ULONG SVL_SetWindowIDCMP(APTR handle, ULONG idcmp, APTR future)
  498.         D0    -$54               A1           A2           A3
  499.  
  500.    FUNCTION
  501.  
  502.         Sets the default IDCMP-Flags for a SVL_SuperView() call.
  503.         While displaying, the Address of the Window can be get via the
  504.         SVL_GetWindowAddress() function.
  505.         See description there and example SourceCodes for more and
  506.         detailed information.
  507.  
  508.    INPUT(S)
  509.  
  510.         handle - a valid handle
  511.         idcmp  - a valid number of IDCMP-Flags
  512.         future - always NULL yet
  513.  
  514.    RESULT
  515.  
  516.         NULL or an adequate SVERR-Errorcode.
  517.  
  518.    SINCE
  519.  
  520.         ... version 1 of the superview.library.
  521.  
  522.    SEE ALSO
  523.  
  524.         SVL_SuperView
  525.  
  526. -----------------------------------------------------------------------------
  527.  
  528.    NAME
  529.         SVL_SetWindowFlags
  530.  
  531.    SYNOPSIS
  532.  
  533.         ULONG SVL_SetWindowFlags(APTR handle, ULONG flags, APTR future)
  534.         D0    -$5a               A1           A2           A3
  535.  
  536.    FUNCTION
  537.  
  538.         Sets the default Window-Flags for a SVL_SuperView() call.
  539.         While displaying, the Address of the Window can be get via the
  540.         SVL_GetWindowAddress() function.
  541.         See description there and example SourceCodes for more and
  542.         detailed information.
  543.  
  544.    INPUT(S)
  545.  
  546.         handle - a valid handle
  547.         flags  - a valid number of Window-Flags
  548.         future - always NULL yet
  549.  
  550.    RESULT
  551.  
  552.         NULL or an adequate SVERR-Errorcode.
  553.  
  554.    SINCE
  555.  
  556.         ... version 1 of the superview.library.
  557.  
  558.    SEE ALSO
  559.  
  560.         SVL_SuperView
  561.  
  562. -----------------------------------------------------------------------------
  563.  
  564.    NAME
  565.         SVL_SetScreenType
  566.  
  567.    SYNOPSIS
  568.  
  569.         ULONG SVL_SetScreenType(APTR handle, ULONG type, APTR future)
  570.         D0    -$60              A1           A2          A3
  571.  
  572.    FUNCTION
  573.  
  574.         Sets the default Screen-Type for a SVL_SuperView() call.
  575.         While displaying, the Address of the Screen can be get via the
  576.         SVL_GetScreenAddress() function.
  577.         See description there and example SourceCodes for more and
  578.         detailed information.
  579.  
  580.    INPUT(S)
  581.  
  582.         handle - a valid handle
  583.         type   - a valid ScreenType value (e.g. CUSTOMSCREEN)
  584.         future - always NULL yet
  585.  
  586.    RESULT
  587.  
  588.         NULL or an adequate SVERR-Errorcode.
  589.  
  590.    SINCE
  591.  
  592.         ... version 1 of the superview.library.
  593.  
  594.    SEE ALSO
  595.  
  596.         SVL_SuperView
  597.  
  598. -----------------------------------------------------------------------------
  599.  
  600.    NAME
  601.         SVL_GetWindowAddress
  602.  
  603.    SYNOPSIS
  604.  
  605.         ULONG SVL_GetWindowAddress(APTR handle, struct Window **window,
  606.         D0    -$66                 A1           A2
  607.  
  608.                                    APTR future)
  609.                                    A3
  610.  
  611.    FUNCTION
  612.  
  613.         While displaying, the Address of the DisplayWindow can be get
  614.         via this function.
  615.         See description there and example SourceCodes for more and
  616.         detailed information.
  617.  
  618.    INPUT(S)
  619.  
  620.         handle - a valid handle
  621.         window - a valid address of a Window-Pointer
  622.         future - always NULL yet
  623.  
  624.    RESULT
  625.  
  626.         NULL or an adequate SVERR-Errorcode.
  627.  
  628.    SINCE
  629.  
  630.         ... version 1 of the superview.library.
  631.  
  632.    SEE ALSO
  633.  
  634.         SVL_SuperWrite
  635.  
  636. -----------------------------------------------------------------------------
  637.  
  638.    NAME
  639.         SVL_GetScreenAddress
  640.  
  641.    SYNOPSIS
  642.  
  643.         ULONG SVL_GetScreenAddress(APTR handle, struct Screen **screen,
  644.         D0    -$66                 A1           A2
  645.  
  646.                                    APTR future)
  647.                                    A3
  648.  
  649.    FUNCTION
  650.  
  651.         While displaying, the Address of the DisplayScreen can be get
  652.         via this function.
  653.         See description there and example SourceCodes for more and
  654.         detailed information.
  655.  
  656.    INPUT(S)
  657.  
  658.         handle - a valid handle
  659.         screen - a valid address of a Screen-Pointer
  660.         future - always NULL yet
  661.  
  662.    RESULT
  663.  
  664.         NULL or an adequate SVERR-Errorcode.
  665.  
  666.    SINCE
  667.  
  668.         ... version 1 of the superview.library.
  669.  
  670.    SEE ALSO
  671.  
  672.         SVL_SuperWrite
  673.  
  674. -----------------------------------------------------------------------------
  675.  
  676.    NAME
  677.         SVL_GetErrorString
  678.  
  679.    SYNOPSIS
  680.  
  681.         char * SVL_GetErrorString(ULONG error_code)
  682.         D0    -$72                A1
  683.  
  684.    FUNCTION
  685.  
  686.         Returns the Error Message for a specific Error Code, returned
  687.         by any function of the superview.library.
  688.  
  689.    INPUT(S)
  690.  
  691.         error_code - any SVERR Error Code
  692.  
  693.    RESULT
  694.  
  695.         read-only pointer to a SVERR Error String
  696.  
  697.    SINCE
  698.  
  699.         ... version 1 of the superview.library.
  700.  
  701.    SEE ALSO
  702.  
  703.         -
  704.  
  705. -----------------------------------------------------------------------------
  706.  
  707.    NAME
  708.         SVL_SetWriteScreen
  709.  
  710.    SYNOPSIS
  711.  
  712.         ULONG SVL_SetWriteScreen(APTR handle, struct Screen *screen,
  713.         D0    -$78               A1           A2
  714.  
  715.                                  APTR future)
  716.                                  A3
  717.  
  718.    FUNCTION
  719.  
  720.         Sets the Source Screen for a SVL_SuperWrite() call.
  721.         See description there and example SourceCodes for more and
  722.         detailed information.
  723.  
  724.         This will overwrite a previously done SVL_SetGfxBuffer() call.
  725.  
  726.    INPUT(S)
  727.  
  728.         handle - a valid handle
  729.         screen - a valid pointer to an opened Screen
  730.         future - always NULL yet
  731.  
  732.    RESULT
  733.  
  734.         NULL or an adequate SVERR-Errorcode.
  735.  
  736.    SINCE
  737.  
  738.         ... version 1 of the superview.library.
  739.  
  740.    SEE ALSO
  741.  
  742.         SVL_SuperWrite
  743.  
  744. -----------------------------------------------------------------------------
  745.  
  746.    NAME
  747.         SVL_SetWriteName
  748.  
  749.    SYNOPSIS
  750.  
  751.         ULONG SVL_SetWriteName(APTR handle, ULONG write_name, APTR future)
  752.         D0    -$7e             A1           A2                A3
  753.  
  754.    FUNCTION
  755.  
  756.         Sets the write_name for a SVL_SuperWrite() call.
  757.         See description there and example SourceCodes for more and
  758.         detailed information.
  759.  
  760.    INPUT(S)
  761.  
  762.         handle     - a valid handle
  763.         write_name - a valid AmigaDOS FilePath and -Name description
  764.         future     - always NULL yet
  765.  
  766.  
  767.    RESULT
  768.  
  769.         NULL or an adequate SVERR-Errorcode.
  770.  
  771.    SINCE
  772.  
  773.         ... version 1 of the superview.library.
  774.  
  775.    SEE ALSO
  776.  
  777.         SVL_SuperWrite
  778.  
  779. -----------------------------------------------------------------------------
  780.  
  781.    NAME
  782.         SVL_FileInfoRequest
  783.  
  784.    SYNOPSIS
  785.  
  786.         ULONG SVL_FileInfoRequest(APTR handle, struct Window *window,
  787.         D0    -$84                A1           A2
  788.  
  789.                                   APTR future)
  790.                                   A3
  791.  
  792.    FUNCTION
  793.  
  794.         Pops up an Info-Requester with more or less detailed information
  795.         on the currently loaded Graphic.
  796.         A window pointer may be given to select the place to pop it up.
  797.  
  798.         Note, that this function will fail, if you already called
  799.         SVL_FreeResources() (might result in a "No file loaded" message) !
  800.  
  801.    INPUT(S)
  802.  
  803.         handle - a valid handle
  804.         window - a valid Window Pointer or NULL
  805.         future - always NULL yet
  806.  
  807.    RESULT
  808.  
  809.         NULL or an adequate SVERR-Errorcode.
  810.  
  811.    BUGS
  812.  
  813.         None known, but :
  814.         For non-internal SVObjects SVO_FileInfoRequest() is called, thus
  815.         if this one is buggy, ...
  816.  
  817.         The Easy-Requester (or whatever else it is) will usually be attached
  818.         to IntuitionBase->ActiveWindow, if window is NULL.
  819.         This may cause problems sometimes, so always specify a WindowPtr,
  820.         if possible !
  821.  
  822.    SINCE
  823.  
  824.         ... version 1 of the superview.library.
  825.  
  826.    SEE ALSO
  827.  
  828.         -
  829.  
  830. -----------------------------------------------------------------------------
  831.    Functions added with Version 3 - 5 :
  832. -----------------------------------------------------------------------------
  833.  
  834.    NAME
  835.         SVL_GetGlobalDriver
  836.  
  837.    SYNOPSIS
  838.  
  839.         ULONG SVL_GetGlobalDriver(struct SVD_DriverNode **driver,
  840.         D0    -$8a                A1
  841.  
  842.                                   ULONG future)
  843.                                   A2
  844.  
  845.    FUNCTION
  846.  
  847.         Gets the Global Default ScreenDriver (SVDriver) from the
  848.         specific field of SuperViewBase.
  849.  
  850.         Always use this function. Do not access SuperViewBase directly !
  851.  
  852.    INPUT(S)
  853.  
  854.         driver - a pointer to a SVD_DriverNode pointer
  855.         future - always NULL yet
  856.  
  857.  
  858.    RESULT
  859.  
  860.         NULL or an adequate SVERR-Errorcode.
  861.  
  862.    BUGS
  863.  
  864.         -
  865.  
  866.    SINCE
  867.  
  868.         ... version 3 of the superview.library.
  869.  
  870.    SEE ALSO
  871.  
  872.         SVL_SetGlobalDriver()
  873.  
  874. -----------------------------------------------------------------------------
  875.  
  876.    NAME
  877.         SVL_SetGlobalDriver
  878.  
  879.    SYNOPSIS
  880.  
  881.         ULONG SVL_SetGlobalDriver(struct SVD_DriverNode *driver,
  882.         D0    -$90                A1
  883.  
  884.                                   ULONG future)
  885.                                   A2
  886.  
  887.    FUNCTION
  888.  
  889.         Sets a new Global Default ScreenDriver (SVDriver) in the
  890.         specific field of SuperViewBase.
  891.  
  892.         Always use this function. Do not access SuperViewBase directly !
  893.  
  894.    INPUT(S)
  895.  
  896.         driver - a pointer to a SVD_DriverNode
  897.         future - always NULL yet
  898.  
  899.    RESULT
  900.  
  901.         NULL or an adequate SVERR-Errorcode.
  902.  
  903.    BUGS
  904.  
  905.         -
  906.  
  907.    SINCE
  908.  
  909.         ... version 3 of the superview.library.
  910.  
  911.    SEE ALSO
  912.  
  913.         SVL_GetGlobalDriver()
  914.  
  915. -----------------------------------------------------------------------------
  916.  
  917.    NAME
  918.         SVL_ReadToGfxBuffer
  919.  
  920.    SYNOPSIS
  921.  
  922.         ULONG SVL_ReadToGfxBuffer(APTR handle, char *filename)
  923.         D0    -$96                A1           A2
  924.  
  925.    FUNCTION
  926.  
  927.         Reads the graphic file - specified with filename - into
  928.         a SV_GfxBuffer structure.
  929.  
  930.         Access to this structure can be managed via SVL_GetGfxBuffer().
  931.  
  932.         The combination SVL_ReadToGfxBuffer() and SVL_DisplayGfxBuffer()
  933.         has the same effect as a call to SVL_SuperView().
  934.         But note, that GfxBuffer-functions only work with Version 2
  935.         SVObjects, while SVL_SuperView() also fits to Version 1 SVObjects.
  936.         Internally, the result is the same, anyway.
  937.  
  938.    INPUT(S)
  939.  
  940.         handle   - a valid handle
  941.         filename - a valid AmigaDOS FilePath and -Name
  942.  
  943.    RESULT
  944.  
  945.         NULL or an adequate SVERR-Errorcode.
  946.  
  947.    BUGS
  948.  
  949.         This function was broken from V3.x to V4.x !
  950.  
  951.    SINCE
  952.  
  953.         ... version 3 of the superview.library. (request V5+)
  954.  
  955.    SEE ALSO
  956.  
  957.         SVL_GetGfxBuffer(), SVL_DisplayGfxBuffer()
  958.  
  959. -----------------------------------------------------------------------------
  960.  
  961.    NAME
  962.         SVL_GetGfxBuffer
  963.  
  964.    SYNOPSIS
  965.  
  966.         ULONG SVL_GetGfxBuffer(APTR handle, struct SV_GfxBuffer **buffer,
  967.         D0    -$9c             A1           A2
  968.  
  969.                                ULONG future)
  970.                                A3
  971.  
  972.  
  973.    FUNCTION
  974.  
  975.         For READ accessing the SV_GfxBuffer structure, which has been
  976.         created with SVL_ReadGfxBuffer() before.
  977.  
  978.         Do not change, write to or free this structure by hand.
  979.         Nevertheless you may create your own structures.
  980.  
  981.    INPUT(S)
  982.  
  983.         handle - a valid handle
  984.         buffer - a pointer to a valid SV_GfxBuffer pointer
  985.         future - always NULL yet
  986.  
  987.  
  988.    RESULT
  989.  
  990.         NULL or an adequate SVERR-Errorcode.
  991.  
  992.    BUGS
  993.  
  994.         This function was broken from V3.x to V4.x !
  995.  
  996.    SINCE
  997.  
  998.         ... version 3 of the superview.library. (request V5+)
  999.  
  1000.    SEE ALSO
  1001.  
  1002.         SVL_ReadGfxBuffer(), SVL_DisplayGfxBuffer()
  1003.  
  1004. -----------------------------------------------------------------------------
  1005.  
  1006.    NAME
  1007.         SVL_SetGfxBuffer
  1008.  
  1009.    SYNOPSIS
  1010.  
  1011.         ULONG SVL_SetGfxBuffer(APTR handle, struct SV_GfxBuffer *buffer,
  1012.         D0    -$a2             A1           A2
  1013.  
  1014.                                ULONG future)
  1015.                                A3
  1016.  
  1017.  
  1018.    FUNCTION
  1019.  
  1020.         This functions allows you to pass your own, self-created
  1021.         SV_GfxBuffer structures or also structures accessed via
  1022.         SVL_GetGfxBuffer() to the library.
  1023.  
  1024.         This will overwrite a previously done SVL_SetWriteScreen() call.
  1025.  
  1026.         The next SVL_SuperWrite() call will use the supplied SV_GfxBuffer
  1027.         as the source for creating the destinaion graphics file.
  1028.  
  1029.         The structures still have to be freed the way they have been
  1030.         allocated : - self-created       : ...
  1031.                     - SVL_GetGfxBuffer() : SVL_FreeResources(),
  1032.                                            SVL_FreeHandle()
  1033.  
  1034.    INPUT(S)
  1035.  
  1036.         handle - a valid handle
  1037.         buffer - a valid SV_GfxBuffer pointer
  1038.         future - always NULL yet
  1039.  
  1040.    RESULT
  1041.  
  1042.         NULL or an adequate SVERR-Errorcode.
  1043.  
  1044.    WARNING
  1045.  
  1046.         Before V6 the documentation said under FUNCTION :
  1047.         "If also a valid Screen Pointer is supplied, the SV_GfxBuffer
  1048.          is ignored".
  1049.  
  1050.         There's no guarantee for that AND you never should supply
  1051.         TWO Sources for ONE Destination.
  1052.  
  1053.         GfxBuffer-Writing works since V6 with the supplied SVObjects
  1054.         and they do prefer GfxBuffers, NOT Screens.
  1055.         Screens have to be converted into GfxBuffers internally, before
  1056.         they can written, so GfxBuffers should take less memory ...
  1057.         Last not least : This function was broken upto V5, anyway.
  1058.  
  1059.    BUGS
  1060.  
  1061.         This function was broken from V3.x to V5.x !
  1062.  
  1063.    SINCE
  1064.  
  1065.         ... version 3 of the superview.library. (request V6+)
  1066.  
  1067.    SEE ALSO
  1068.  
  1069.         SVL_ReadGfxBuffer(), SVL_SuperWrite()
  1070.  
  1071. -----------------------------------------------------------------------------
  1072.  
  1073.    NAME
  1074.         SVL_DisplayGfxBuffer
  1075.  
  1076.    SYNOPSIS
  1077.  
  1078.         ULONG SVL_DisplayGfxBuffer(APTR handle, struct SV_GfxBuffer *buffer,
  1079.         D0    -$a8                 A1           A2
  1080.  
  1081.                                    ULONG future)
  1082.                                    A3
  1083.  
  1084.  
  1085.    FUNCTION
  1086.  
  1087.         The combination SVL_ReadToGfxBuffer() and SVL_DisplayGfxBuffer()
  1088.         has the same effect as a call to SVL_SuperView().
  1089.         But note, that GfxBuffer-functions only work with Version 2
  1090.         SVObjects, while SVL_SuperView() also fits to Version 1 SVObjects.
  1091.         Internally, the result is the same, anyway.
  1092.  
  1093.         The difference is : Multiple displaying is possible
  1094.         (SVL_DisplayGfxBuffer(), SVL_CloseDisplay(), SVL_DisplayGfxBuffer(),
  1095.          ... and so on).
  1096.  
  1097.         The SV_GfxBuffer still has to be freed the way it has been
  1098.         allocated : - self-created       : ...
  1099.                     - SVL_GetGfxBuffer() : SVL_FreeResources(),
  1100.                                            SVL_FreeHandle()
  1101.  
  1102.    INPUT(S)
  1103.  
  1104.         handle - a valid handle
  1105.         buffer - a valid SV_GfxBuffer pointer
  1106.         future - always NULL yet
  1107.  
  1108.    RESULT
  1109.  
  1110.         NULL or an adequate SVERR-Errorcode.
  1111.  
  1112.    WARNING
  1113.  
  1114.         Only pass the ORIGINAL SV_GfxBuffer pointer to this function
  1115.         (get it via SVL_GetGfxBuffer()) !
  1116.         Currently this Buffer-pointer is not really passed through
  1117.         to the SVObjects : They always use the pointer, which they
  1118.         initialized while loading the picture.
  1119.  
  1120.         So if you would pass a pointer to an other GfxBuffer, it would be
  1121.         be simply ignored and the internal pointer would be used, if valid.
  1122.         On the other hand, do NEVER set this pointer simply to NULL
  1123.         (thinking : it'll be ignored, anyway), because this may change
  1124.         in future versions !
  1125.  
  1126.    BUGS
  1127.  
  1128.         -
  1129.  
  1130.    SINCE
  1131.  
  1132.         ... version 3 of the superview.library.
  1133.  
  1134.    SEE ALSO
  1135.  
  1136.         SVL_ReadGfxBuffer(), SVL_SuperWrite()
  1137.  
  1138. -----------------------------------------------------------------------------
  1139.    Functions added with Version 6 :
  1140. -----------------------------------------------------------------------------
  1141.  
  1142.    NAME
  1143.         SVL_GetSVObjectList
  1144.  
  1145.    SYNOPSIS
  1146.  
  1147.         ULONG SVL_GetSVObjectList(struct SVObjectInfo **listhead)
  1148.         D0    -$ae                A1
  1149.  
  1150.    FUNCTION
  1151.  
  1152.         Creates a simplified list of all SVObjects (SubTypes), which
  1153.         may be used for read-only purposes until it has been freed
  1154.         via SVL_FreeSVObjectList.
  1155.  
  1156.    INPUT(S)
  1157.  
  1158.         listhead - a pointer to a SVObjectInfo structure pointer
  1159.  
  1160.    RESULT
  1161.  
  1162.         NULL or an adequate SVERR-Errorcode.
  1163.  
  1164.    BUGS
  1165.  
  1166.         This functions was slightly buggy in V6.x versions.
  1167.         The List was not chained right, so that only the last
  1168.         SubType of each SVObject was linked to the list and the rest
  1169.         went to Nirwana, so that there also was a (small) memory loss.
  1170.         This bug has been fixed in V7.1.
  1171.  
  1172.    SINCE
  1173.  
  1174.         ... version 6 of the superview.library. (request V7+)
  1175.  
  1176.    SEE ALSO
  1177.  
  1178.         SVL_FreeSVObjectList
  1179.  
  1180. -----------------------------------------------------------------------------
  1181.  
  1182.    NAME
  1183.         SVL_GetSVDriverList
  1184.  
  1185.    SYNOPSIS
  1186.  
  1187.         ULONG SVL_GetSVDriverList(struct SVDriverInfo **listhead)
  1188.         D0    -$b4                A1
  1189.  
  1190.    FUNCTION
  1191.  
  1192.         Creates a simplified list of all SVDrivers, which
  1193.         may be used for read-only purposes until it has been freed
  1194.         via SVL_FreeSVDriverList.
  1195.  
  1196.    INPUT(S)
  1197.  
  1198.         listhead - a pointer to a SVDriverInfo structure pointer
  1199.  
  1200.    RESULT
  1201.  
  1202.         NULL or an adequate SVERR-Errorcode.
  1203.  
  1204.    BUGS
  1205.  
  1206.         -
  1207.  
  1208.    SINCE
  1209.  
  1210.         ... version 6 of the superview.library.
  1211.  
  1212.    SEE ALSO
  1213.  
  1214.         SVL_FreeSVDriverList
  1215.  
  1216. -----------------------------------------------------------------------------
  1217.  
  1218.    NAME
  1219.         SVL_FreeSVObjectList
  1220.  
  1221.    SYNOPSIS
  1222.  
  1223.         ULONG SVL_FreeSVObjectList(struct SVObjectInfo *listhead)
  1224.         D0    -$ba                 A1
  1225.  
  1226.    FUNCTION
  1227.  
  1228.         Frees a list returned by SVL_GetSVObjectList.
  1229.  
  1230.         Pass the List-Header, not an entry !
  1231.  
  1232.    INPUT(S)
  1233.  
  1234.         listhead - a pointer to a SVObjectInfo structure
  1235.  
  1236.    RESULT
  1237.  
  1238.         NULL or an adequate SVERR-Errorcode.
  1239.  
  1240.    BUGS
  1241.  
  1242.         -
  1243.  
  1244.    SINCE
  1245.  
  1246.         ... version 6 of the superview.library.
  1247.  
  1248.    SEE ALSO
  1249.  
  1250.         SVL_GetSVObjectList
  1251.  
  1252. -----------------------------------------------------------------------------
  1253.  
  1254.    NAME
  1255.         SVL_FreeSVDriverList
  1256.  
  1257.    SYNOPSIS
  1258.  
  1259.         ULONG SVL_FreeSVDriverList(struct SVDriverInfo *listhead)
  1260.         D0    -$c0                 A1
  1261.  
  1262.    FUNCTION
  1263.  
  1264.         Frees a list returned by SVL_GetSVDriverList.
  1265.  
  1266.         Pass the List-Header, not an entry !
  1267.  
  1268.    INPUT(S)
  1269.  
  1270.         listhead - a pointer to a SVDriverInfo structure
  1271.  
  1272.    RESULT
  1273.  
  1274.         NULL or an adequate SVERR-Errorcode.
  1275.  
  1276.    BUGS
  1277.  
  1278.         -
  1279.  
  1280.    SINCE
  1281.  
  1282.         ... version 6 of the superview.library.
  1283.  
  1284.    SEE ALSO
  1285.  
  1286.         SVL_GetSVDriverList
  1287.  
  1288. -----------------------------------------------------------------------------
  1289.    Functions added with Version 7 :
  1290. -----------------------------------------------------------------------------
  1291.  
  1292.    NAME
  1293.         SVL_RemoveSVObject
  1294.  
  1295.    SYNOPSIS
  1296.  
  1297.         ULONG SVL_RemoveSVObject(struct SVO_ObjectNode *svo_node)
  1298.         D0    -$c6               A1
  1299.  
  1300.    FUNCTION
  1301.  
  1302.         Removes an SVObject from the internal List of SVObjects and tries
  1303.         to remove it from memory.
  1304.  
  1305.         This does only work, if not more than one programm is accessing
  1306.         superview.library and the SVObject.
  1307.  
  1308.         ***
  1309.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOBJECT-LISTS
  1310.         AFTER SUCH AN ACTION !
  1311.         ***
  1312.  
  1313.    INPUT(S)
  1314.  
  1315.         svo_node - a pointer to a SVO_ObjectNode structure
  1316.  
  1317.    RESULT
  1318.  
  1319.         boolean value
  1320.  
  1321.    WARNING
  1322.  
  1323.         This function invalidates the internal SVObject-List of
  1324.         superview.library.
  1325.         Remember to update your personal copies of this list,
  1326.         before accessing any specific SVObjects again
  1327.         (e.g. for Write-Operations).
  1328.  
  1329.    BUGS
  1330.  
  1331.         No bugs known yet.
  1332.         But this function operates "deep in the system", so that
  1333.         there may occur interferences in very special situations
  1334.         (but usuallly should not).
  1335.  
  1336.    SINCE
  1337.  
  1338.         ... version 7 of the superview.library.
  1339.  
  1340.    SEE ALSO
  1341.  
  1342.         SVL_RemoveSVDriver
  1343.  
  1344. -----------------------------------------------------------------------------
  1345.  
  1346.    NAME
  1347.         SVL_RemoveSVDriver
  1348.  
  1349.    SYNOPSIS
  1350.  
  1351.         ULONG SVL_RemoveSVDriver(struct SVD_DriverNode *svd_node)
  1352.         D0    -$cc               A1
  1353.  
  1354.    FUNCTION
  1355.  
  1356.         Removes an SVDriver from the internal List of SVDrivers and tries
  1357.         to remove it from memory.
  1358.  
  1359.         This does only work, if not more than one programm is accessing
  1360.         superview.library and the SVDriver.
  1361.  
  1362.         ***
  1363.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVDRIVER-LISTS
  1364.         AFTER SUCH AN ACTION !
  1365.         ***
  1366.  
  1367.    INPUT(S)
  1368.  
  1369.         svd_node - a pointer to a SVD_DriverNode structure
  1370.  
  1371.    RESULT
  1372.  
  1373.         boolean value
  1374.  
  1375.    WARNING
  1376.  
  1377.         This function invalidates the internal SVDriver-List of
  1378.         superview.library.
  1379.         Remember to update your personal copies of this list,
  1380.         before accessing any specific SVDrivers again
  1381.         (e.g. for displaying graphics).
  1382.  
  1383.    BUGS
  1384.  
  1385.         No bugs known yet.
  1386.         But this function operates "deep in the system", so that
  1387.         there may occur interferences in very special situations
  1388.         (but usuallly should not).
  1389.  
  1390.    SINCE
  1391.  
  1392.         ... version 7 of the superview.library.
  1393.  
  1394.    SEE ALSO
  1395.  
  1396.         SVL_RemoveSVObject
  1397.  
  1398. -----------------------------------------------------------------------------
  1399.  
  1400.    NAME
  1401.         SVL_AddSVObject
  1402.  
  1403.    SYNOPSIS
  1404.  
  1405.         ULONG SVL_AddSVObject(UBYTE *name)
  1406.         D0    -$d2            A1
  1407.  
  1408.    FUNCTION
  1409.  
  1410.         Tries to open the specified SVObject (full AmigaDOS-Path) and
  1411.         attempts to add it to the internal Lists.
  1412.  
  1413.         ***
  1414.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOBJECT-LISTS
  1415.         AFTER SUCH AN ACTION !
  1416.         ***
  1417.  
  1418.    INPUT(S)
  1419.  
  1420.         name - full AmigaDOS-Path of the SVObject to add to the lists
  1421.  
  1422.    RESULT
  1423.  
  1424.         boolean value
  1425.  
  1426.    WARNING
  1427.  
  1428.         This function invalidates the internal SVObject-List of
  1429.         superview.library.
  1430.         Remember to update your personal copies of this list,
  1431.         before accessing any specific SVObjects again
  1432.         (e.g. for Write-Operations).
  1433.  
  1434.         Secondly, it is not checked, whether the added Library is
  1435.         _really_ a SVObject.
  1436.         Adding other libraries may result in a damaged internal
  1437.         SVObject-List in superview.library.
  1438.  
  1439.    SINCE
  1440.  
  1441.         ... version 7 of the superview.library.
  1442.  
  1443.    SEE ALSO
  1444.  
  1445.         SVL_AddSVDriver
  1446.  
  1447. -----------------------------------------------------------------------------
  1448.  
  1449.    NAME
  1450.         SVL_AddSVDriver
  1451.  
  1452.    SYNOPSIS
  1453.  
  1454.         ULONG SVL_AddSVDriver(UBYTE *name)
  1455.         D0    -$d8            A1
  1456.  
  1457.    FUNCTION
  1458.  
  1459.         Tries to open the specified SVDriver (full AmigaDOS-Path) and
  1460.         attempts to add it to the internal Lists.
  1461.  
  1462.         ***
  1463.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVDRIVER-LISTS
  1464.         AFTER SUCH AN ACTION !
  1465.         ***
  1466.  
  1467.    INPUT(S)
  1468.  
  1469.         name - full AmigaDOS-Path of the SVDriver to add to the lists
  1470.  
  1471.    RESULT
  1472.  
  1473.         boolean value
  1474.  
  1475.    WARNING
  1476.  
  1477.         This function invalidates the internal SVDriver-List of
  1478.         superview.library.
  1479.         Remember to update your personal copies of this list,
  1480.         before accessing any specific SVDrivers again
  1481.         (e.g. for displaying graphics).
  1482.  
  1483.         Secondly, it is not checked, whether the added Library is
  1484.         _really_ a SVDriver.
  1485.         Adding other libraries may result in a damaged internal
  1486.         SVDriver-List in superview.library.
  1487.  
  1488.    SINCE
  1489.  
  1490.         ... version 7 of the superview.library.
  1491.  
  1492.    SEE ALSO
  1493.  
  1494.         SVL_AddSVObject
  1495.  
  1496. -----------------------------------------------------------------------------
  1497.    Functions added with Version 8 :
  1498. -----------------------------------------------------------------------------
  1499.  
  1500.    NAME
  1501.         SVL_GetFileType
  1502.  
  1503.    SYNOPSIS
  1504.  
  1505.         ULONG SVL_GetFileType(APTR handle, char *filename, ULONG *filetype)
  1506.         D0    -$de            A1           A2              A3
  1507.  
  1508.    FUNCTION
  1509.  
  1510.         Finds out superview-specific FileType-Code
  1511.         (redefined with every re-initialization of the Library) or
  1512.         SV_FILE_TYPE_UNKNOWN (== NULL == FALSE).
  1513.  
  1514.         Use the following call for a simple check :
  1515.  
  1516.         handle   = SVL_AllocHandle(N);
  1517.         sverr    = SVL_GetFileType(handle, filename, &filetype);
  1518.                    SVL_FreeHandle(handle);
  1519.  
  1520.         This handle should NOT be used for any further operations
  1521.         on the file (will be opened and checked twice but only
  1522.         closed once, etc).
  1523.         Initialization operations are allowed nevertheless
  1524.         (e.g. SVL_InitHandleAsClip() ).
  1525.  
  1526.         Note, that this function fills in FILETYPES, not SUBTYPES.
  1527.         For e.g. writing you must specify SUBTYPES
  1528.         (ILBM-0, ILBM-1 or GIF87, GIF89a).
  1529.  
  1530.         FILETYPES are only for short identification and do only
  1531.         specify the global file type (ILBM, GIF, PCX).
  1532.  
  1533.    INPUT(S)
  1534.  
  1535.         handle   - a valid handle
  1536.         filename - a valid AmigaDOS FilePath and -Name
  1537.         filetype - pointer to ULONG for SV_FILETYPE-Value
  1538.  
  1539.    RESULT
  1540.  
  1541.         NULL or an adequate SVERR-Errorcode.
  1542.  
  1543.    SINCE
  1544.  
  1545.         ... version 8 of the superview.library.
  1546.  
  1547.    SEE ALSO
  1548.  
  1549.         SVL_AllocHandle(), SVL_FreeHandle()
  1550.  
  1551. -----------------------------------------------------------------------------
  1552.    Functions added with Version 9 :
  1553. -----------------------------------------------------------------------------
  1554.  
  1555.    NAME
  1556.         SVL_DoOperation
  1557.  
  1558.    SYNOPSIS
  1559.  
  1560.         ULONG SVL_DoOperation(APTR handle, struct SV_GfxBuffer *source,
  1561.         D0    -$e4            A1           A2
  1562.  
  1563.                               struct SV_GfxBuffer **dest,
  1564.                               A3
  1565.  
  1566.                               struct SVOperatorNode *operator, APTR future);
  1567.                               D2                               D3
  1568.  
  1569.  
  1570.    FUNCTION
  1571.  
  1572.         handle   = SVL_AllocHandle(N);
  1573.         sverr    = SVL_DoOperation( ... );
  1574.                    SVL_FreeHandle(handle);
  1575.  
  1576.         This function allows to do any available operations (via SVOperators)
  1577.         on a given SV_GfxBuffer.
  1578.  
  1579.         The Source buffer is not touched this way, but a new buffer will
  1580.         be allocated instead.
  1581.         The pointer of the new buffer is returned by writing it to a given
  1582.         pointer variable or may be examined by calling SVL_GetGfxBuffer()
  1583.         also.
  1584.  
  1585.    INPUT(S)
  1586.  
  1587.         handle   - a valid handle
  1588.         source   - a SV_GfxBuffer to be used as "source"
  1589.         dest     - a pointer to a pointer for the "destination" SV_GfxBuffer
  1590.         operator - an SVOperator description, as found in the internal
  1591.                    list of SuperViewBase
  1592.         future   - always NULL yet
  1593.  
  1594.    RESULT
  1595.  
  1596.         NULL or an adequate SVERR-Errorcode.
  1597.  
  1598.    SINCE
  1599.  
  1600.         ... version 9 of the superview.library.
  1601.  
  1602.    SEE ALSO
  1603.  
  1604.         SVL_AllocHandle(), SVL_FreeHandle(), SVL_GetGfxBuffer()
  1605.  
  1606. -----------------------------------------------------------------------------
  1607.  
  1608.    NAME
  1609.         SVL_GetSVOperatorList
  1610.  
  1611.    SYNOPSIS
  1612.  
  1613.         ULONG SVL_GetSVOperatorList(struct SVOperatorInfo **listhead)
  1614.         D0    -$ea                  A1
  1615.  
  1616.    FUNCTION
  1617.  
  1618.         Creates a simplified list of all SVOperators, which
  1619.         may be used for read-only purposes until it has been freed
  1620.         via SVL_FreeSVOperatorList.
  1621.  
  1622.    INPUT(S)
  1623.  
  1624.         listhead - a pointer to a SVOperatorInfo structure pointer
  1625.  
  1626.    RESULT
  1627.  
  1628.         NULL or an adequate SVERR-Errorcode.
  1629.  
  1630.    BUGS
  1631.  
  1632.         -
  1633.  
  1634.    SINCE
  1635.  
  1636.         ... version 9 of the superview.library.
  1637.  
  1638.    SEE ALSO
  1639.  
  1640.         SVL_FreeSVOperatorList
  1641.  
  1642. -----------------------------------------------------------------------------
  1643.  
  1644.    NAME
  1645.         SVL_FreeSVOperatorList
  1646.  
  1647.    SYNOPSIS
  1648.  
  1649.         ULONG SVL_FreeSVOperatorList(struct SVOperatorInfo *listhead)
  1650.         D0    -$f0                   A1
  1651.  
  1652.    FUNCTION
  1653.  
  1654.         Frees a list returned by SVL_GetSVOperatorList.
  1655.  
  1656.         Pass the List-Header, not an entry !
  1657.  
  1658.    INPUT(S)
  1659.  
  1660.         listhead - a pointer to a SVOperatorInfo structure
  1661.  
  1662.    RESULT
  1663.  
  1664.         NULL or an adequate SVERR-Errorcode.
  1665.  
  1666.    BUGS
  1667.  
  1668.         -
  1669.  
  1670.    SINCE
  1671.  
  1672.         ... version 9 of the superview.library.
  1673.  
  1674.    SEE ALSO
  1675.  
  1676.         SVL_GetSVOperatorList
  1677.  
  1678. -----------------------------------------------------------------------------
  1679.  
  1680.    NAME
  1681.         SVL_RemoveSVOperator
  1682.  
  1683.    SYNOPSIS
  1684.  
  1685.         ULONG SVL_RemoveSVOperator(struct SVP_OperatorNode *svp_node)
  1686.         D0    -$f6                 A1
  1687.  
  1688.    FUNCTION
  1689.  
  1690.         Removes an SVOperator from the internal List of SVOperators and
  1691.         tries to remove it from memory.
  1692.  
  1693.         This does only work, if not more than one programm is accessing
  1694.         superview.library and the SVOperator.
  1695.  
  1696.         ***
  1697.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOPERATOR-LISTS
  1698.         AFTER SUCH AN ACTION !
  1699.         ***
  1700.  
  1701.    INPUT(S)
  1702.  
  1703.         svp_node - a pointer to a SVP_OperatorNode structure
  1704.  
  1705.    RESULT
  1706.  
  1707.         boolean value
  1708.  
  1709.    WARNING
  1710.  
  1711.         This function invalidates the internal SVOperator-List of
  1712.         superview.library.
  1713.         Remember to update your personal copies of this list,
  1714.         before accessing any specific SVOperators again.
  1715.  
  1716.    BUGS
  1717.  
  1718.         No bugs known yet.
  1719.         But this function operates "deep in the system", so that
  1720.         there may occur interferences in very special situations
  1721.         (but usuallly should not).
  1722.  
  1723.    SINCE
  1724.  
  1725.         ... version 9 of the superview.library.
  1726.  
  1727.    SEE ALSO
  1728.  
  1729.         SVL_RemoveSVOperator
  1730.  
  1731. -----------------------------------------------------------------------------
  1732.  
  1733.    NAME
  1734.         SVL_AddSVOperator
  1735.  
  1736.    SYNOPSIS
  1737.  
  1738.         ULONG SVL_AddSVOperator(UBYTE *name)
  1739.         D0    -$fc              A1
  1740.  
  1741.    FUNCTION
  1742.  
  1743.         Tries to open the specified SVOperator (full AmigaDOS-Path) and
  1744.         attempts to add it to the internal Lists.
  1745.  
  1746.         ***
  1747.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOPERATOR-LISTS
  1748.         AFTER SUCH AN ACTION !
  1749.         ***
  1750.  
  1751.    INPUT(S)
  1752.  
  1753.         name - full AmigaDOS-Path of the SVObject to add to the lists
  1754.  
  1755.    RESULT
  1756.  
  1757.         boolean value
  1758.  
  1759.    WARNING
  1760.  
  1761.         This function invalidates the internal SVOperator-List of
  1762.         superview.library.
  1763.         Remember to update your personal copies of this list,
  1764.         before accessing any specific SVOperators again.
  1765.  
  1766.         Secondly, it is not checked, whether the added Library is
  1767.         _really_ a SVOperator.
  1768.         Adding other libraries may result in a damaged internal
  1769.         SVOperator-List in superview.library.
  1770.  
  1771.    SINCE
  1772.  
  1773.         ... version 9 of the superview.library.
  1774.  
  1775.    SEE ALSO
  1776.  
  1777.         SVL_AddSVOperator
  1778.  
  1779. -----------------------------------------------------------------------------
  1780.  
  1781.  
  1782.