home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / libraries / svlib97d.lha / superview-lib_DEV / Programmers / Docs / SuperView_Ref_ENG.doc < prev    next >
Encoding:
Text File  |  1994-10-29  |  42.9 KB  |  1,831 lines

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