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

  1.  
  2.    $VER: SVSupport_Reference.doc V6.2 (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.    Here is a listing of all currently available functions of the
  25.    superviewsupport.library in an Autodoc-like style of description :
  26.  
  27.         SVSUP_GetMemList           ; since Version 1
  28.         SVSUP_FreeMemList
  29.         SVSUP_AddMemEntry
  30.         SVSUP_AllocMemEntry
  31.         SVSUP_CheckInterleaved
  32.         SVSUP_GetXAspect
  33.         SVSUP_GetYAspect
  34.         SVSUP_GetBitMapDepth
  35.         SVSUP_GetBitMapHeight
  36.         SVSUP_GetBodySize
  37.         SVSUP_GetStdScreenSize
  38.         SVSUP_GetBestModeID
  39.         SVSUP_CopyScreenToBuffer8   *** OBSOLETE : Use ScreenToOnePlane8
  40.         SVSUP_LoadControlPad       ; since Version 2
  41.         SVSUP_SaveControlPad
  42.         SVSUP_FreeControlPad
  43.         SVSUP_FindControlPad
  44.         SVSUP_BitPlaneToOnePlane8  ; since Version 3
  45.         SVSUP_OnePlaneToBitPlane8
  46.         SVSUP_ScreenToOnePlane8
  47.         SVSUP_ScreenToBitPlane8
  48.         SVSUP_DisplayGfxBuffer     ; since Version 4
  49.         SVSUP_UnDisplayGfxBuffer
  50.         SVSUP_FreeGfxBuffer
  51.         SVSUP_FindControlPadNoCase ; since Version 5
  52.         SVSUP_ModifyControlPad
  53.         SVSUP_AddControlPad
  54.         SVSUP_AllocVMemEntry       ; since Version 6
  55.         SVSUP_AccessVMemEntry
  56.         SVSUP_ReleaseVMemEntry
  57.         SVSUP_ReadVMemBytes
  58.         SVSUP_WriteVMemBytes
  59.         SVSUP_VecToVMemEntry
  60.         SVSUP_GetVMemSize
  61.  
  62. -----------------------------------------------------------------------------
  63.    Functions available since Version 1 :
  64. -----------------------------------------------------------------------------
  65.  
  66.    NAME
  67.         SVSUP_GetMemList
  68.  
  69.    SYNOPSIS
  70.  
  71.         APTR SVSUP_GetMemList(void)
  72.         D0   -$1e
  73.  
  74.    FUNCTION
  75.  
  76.         Allocates a handle for accessing a memory allocation list.
  77.  
  78.    INPUT(S)
  79.  
  80.         -
  81.  
  82.    RESULT
  83.  
  84.         A pointer to a new allocated Handle or NULL, if allocation failed.
  85.  
  86.    WARNING
  87.  
  88.         Test, if the result was NULL, or not !
  89.  
  90.    BUGS
  91.  
  92.         -
  93.  
  94.    SINCE
  95.  
  96.         ... version 1 of the superviewsupport.library.
  97.  
  98.    SEE ALSO
  99.  
  100.         SVSUP_FreeMemList
  101.  
  102. -----------------------------------------------------------------------------
  103.  
  104.    NAME
  105.         SVSUP_FreeMemList
  106.  
  107.    SYNOPSIS
  108.  
  109.         VOID SVSUP_FreeMemList(APTR handle)
  110.         D0   -$24              A1
  111.  
  112.    FUNCTION
  113.  
  114.        Frees all memory from the given memory allocation list
  115.        and also delocates the list itself !
  116.  
  117.    INPUT(S)
  118.  
  119.        handle - a valid handle
  120.  
  121.    RESULT
  122.  
  123.         -
  124.  
  125.    SINCE
  126.  
  127.         ... version 1 of the superviewsupport.library.
  128.  
  129.    SEE ALSO
  130.  
  131.         SVSUP_GetMemList
  132.  
  133. -----------------------------------------------------------------------------
  134.  
  135.    NAME
  136.         SVSUP_AddMemEntry
  137.  
  138.    SYNOPSIS
  139.  
  140.         ULONG SVSUP_AddMemEntry(APTR handle, APTR pointer)
  141.         D0    -$2a              A1           A2
  142.  
  143.    FUNCTION
  144.  
  145.         Adds an "AllocVec"ed memory pointer to the memory list,
  146.         to be remembered for delocation later.
  147.  
  148.    INPUT(S)
  149.  
  150.         handle  - a valid handle
  151.         pointer - a pointer to a chunk of memory, which has been
  152.                   allocated with Exec's AllocVec() function
  153.  
  154.    RESULT
  155.  
  156.         Boolean value : The memory will be freed immediately, if
  157.         remembering failed.
  158.  
  159.    BUGS
  160.  
  161.         -
  162.  
  163.    SINCE
  164.  
  165.         ... version 1 of the superviewsupport.library.
  166.  
  167.    SEE ALSO
  168.  
  169.         SVSUP_FreeMemList
  170.  
  171. -----------------------------------------------------------------------------
  172.  
  173.    NAME
  174.         SVSUP_AllocMemEntry
  175.  
  176.    SYNOPSIS
  177.  
  178.         APTR SVSUP_AllocMemEntry(APTR handle, size, type)
  179.         D0   -$30                A1           D0    D1
  180.  
  181.    FUNCTION
  182.  
  183.         Allocates memory just like AllocVec(), but remembers this
  184.         in the given memory allocation list.
  185.  
  186.    INPUT(S)
  187.  
  188.         handle - a valid handle
  189.         size   - needed size for the memory chunk
  190.         type   - "MEMF_"-specification of the memory type
  191.  
  192.    RESULT
  193.  
  194.         pointer to memory or NULL.
  195.  
  196.    BUGS
  197.  
  198.         -
  199.  
  200.    SINCE
  201.  
  202.         ... version 1 of the superviewsupport.library.
  203.  
  204.    SEE ALSO
  205.  
  206.         SVSUP_GetMemList, SVSUP_FreeMemList
  207.  
  208. -----------------------------------------------------------------------------
  209.  
  210.    NAME
  211.         SVSUP_CheckInterleaved
  212.  
  213.    SYNOPSIS
  214.  
  215.         ULONG SVSUP_CheckInterleaved(struct Screen *sc)
  216.         D0    -$36                   A1
  217.  
  218.    FUNCTION
  219.  
  220.         Is the BitMap of the given Screen of type "interleaved"
  221.         (possible since OS V39 with AGA) ?
  222.  
  223.    INPUT(S)
  224.  
  225.         sc - a valid Screen Pointer
  226.  
  227.    RESULT
  228.  
  229.         Boolean value.
  230.  
  231.    BUGS
  232.  
  233.         -
  234.  
  235.    SINCE
  236.  
  237.         ... version 1 of the superviewsupport.library.
  238.  
  239.    SEE ALSO
  240.  
  241.         -
  242.  
  243. -----------------------------------------------------------------------------
  244.  
  245.    NAME
  246.         SVSUP_GetXAspect
  247.  
  248.    SYNOPSIS
  249.  
  250.         UBYTE SVSUP_GetXAspect(struct Screen *sc)
  251.         D0    -$3c             A1
  252.  
  253.    FUNCTION
  254.  
  255.         Calculates an ILBM compatible XAspect-value for any ScreenMode.
  256.  
  257.    INPUT(S)
  258.  
  259.         sc - a valid Screen Pointer
  260.  
  261.    RESULT
  262.  
  263.         XAspect value for the given Screen.
  264.  
  265.    BUGS
  266.  
  267.         -
  268.  
  269.    SINCE
  270.  
  271.         ... version 1 of the superviewsupport.library.
  272.  
  273.    SEE ALSO
  274.  
  275.         SVSUP_GetXAspect
  276.  
  277. -----------------------------------------------------------------------------
  278.  
  279.    NAME
  280.         SVSUP_GetYAspect
  281.  
  282.    SYNOPSIS
  283.  
  284.         UBYTE SVSUP_GetYAspect(struct Screen *sc)
  285.         D0    -$42             A1
  286.  
  287.    FUNCTION
  288.  
  289.         Calculates an ILBM compatible YAspect-value for any ScreenMode.
  290.  
  291.    INPUT(S)
  292.  
  293.         sc - a valid Screen Pointer
  294.  
  295.    RESULT
  296.  
  297.         YAspect value for the given Screen.
  298.  
  299.    BUGS
  300.  
  301.         -
  302.  
  303.    SINCE
  304.  
  305.         ... version 1 of the superviewsupport.library.
  306.  
  307.    SEE ALSO
  308.  
  309.         SVSUP_GetXAspect
  310.  
  311. -----------------------------------------------------------------------------
  312.  
  313.    NAME
  314.         SVSUP_GetBitMapDepth
  315.  
  316.    SYNOPSIS
  317.  
  318.         ULONG SVSUP_GetBitMapDepth(struct Screen *sc)
  319.         D0    -$48                 A1
  320.  
  321.    FUNCTION
  322.  
  323.         Finds out the depth of the BitMap of a given Screen.
  324.         This is safer than accessing the various structures under V39+.
  325.  
  326.    INPUT(S)
  327.  
  328.         sc - a valid Screen Pointer
  329.  
  330.    RESULT
  331.  
  332.         depth of the Screen's BitMap.
  333.  
  334.    BUGS
  335.  
  336.         -
  337.  
  338.    SINCE
  339.  
  340.         ... version 1 of the superviewsupport.library.
  341.  
  342.    SEE ALSO
  343.  
  344.         SVSUP_GetBitMapHeight
  345.  
  346. -----------------------------------------------------------------------------
  347.  
  348.    NAME
  349.         SVSUP_GetBitMapHeight
  350.  
  351.    SYNOPSIS
  352.  
  353.         ULONG SVSUP_GetBitMapHeight(struct Screen *sc)
  354.         D0    -$4e                 A1
  355.  
  356.    FUNCTION
  357.  
  358.         Finds out the height of the BitMap of a given Screen.
  359.         This is safer than accessing the various structures under V39+.
  360.  
  361.    INPUT(S)
  362.  
  363.         sc - a valid Screen Pointer
  364.  
  365.    RESULT
  366.  
  367.         height of the Screen's BitMap.
  368.  
  369.    BUGS
  370.  
  371.         -
  372.  
  373.    SINCE
  374.  
  375.         ... version 1 of the superviewsupport.library.
  376.  
  377.    SEE ALSO
  378.  
  379.         SVSUP_GetBitMapDepth
  380.  
  381. -----------------------------------------------------------------------------
  382.  
  383.    NAME
  384.         SVSUP_GetBodySize
  385.  
  386.    SYNOPSIS
  387.  
  388.         ULONG SVSUP_GetBodySize(struct Screen *sc)
  389.         D0    -$54              A1
  390.  
  391.    FUNCTION
  392.  
  393.         This function calculates the size of a buffer to hold the
  394.         given Screen's BitMap.
  395.         As the name reflects, this buffer confirms to the needs
  396.         of a "BODY" (or ABIT) chunk for ILBM (or ACBM) Files.
  397.         No alignment things are done.
  398.  
  399.    INPUT(S)
  400.  
  401.         sc - a valid Screen Pointer
  402.  
  403.    RESULT
  404.  
  405.         NULL or an adequate SVERR-Errorcode.
  406.  
  407.    BUGS
  408.  
  409.         -
  410.  
  411.    SINCE
  412.  
  413.         ... version 1 of the superviewsupport.library.
  414.  
  415.    SEE ALSO
  416.  
  417.         -
  418.  
  419. -----------------------------------------------------------------------------
  420.  
  421.    NAME
  422.         SVSUP_GetStdScreenSize
  423.  
  424.    SYNOPSIS
  425.  
  426.         ULONG SVSUP_GetStdScreenSize(ULONG mode_id, ULONG *width,
  427.         D0    -$5a                   D0             A1
  428.  
  429.                                      ULONG *height)
  430.                                      A2
  431.  
  432.  
  433.    FUNCTION
  434.  
  435.         Gets the standard dimensions for a given ScreenMode.
  436.         For e.g. "PAL:HighRes", this would be 640 and 256.
  437.         The values are written into the supplied ULONGs.
  438.  
  439.         This function may FAIL !
  440.  
  441.    INPUT(S)
  442.  
  443.         sc - a valid Screen Pointer
  444.  
  445.    RESULT
  446.  
  447.         Boolean value.
  448.  
  449.    BUGS
  450.  
  451.         -
  452.  
  453.    SINCE
  454.  
  455.         ... version 1 of the superviewsupport.library.
  456.  
  457.    SEE ALSO
  458.  
  459.         SVSUP_SuperView
  460.  
  461. -----------------------------------------------------------------------------
  462.  
  463.    NAME
  464.         SVSUP_GetBestModeID
  465.  
  466.    SYNOPSIS
  467.  
  468.         ULONG SVSUP_GetBestModeID(ULONG width, ULONG height, ULONG depth)
  469.         D0    -$60                D0           D1            D2
  470.  
  471.    FUNCTION
  472.  
  473.         Returns the best ScreenMode ID for a hypothetical Screen with the
  474.         given dimensions.
  475.         Under V37 ECS is assumed, under V39 the appropriate Gfx-Library's
  476.         function is used for that.
  477.  
  478.    INPUT(S)
  479.  
  480.         width, height, depth - Screen dimension values
  481.  
  482.    RESULT
  483.  
  484.         a ModeID value.
  485.  
  486.    BUGS
  487.  
  488.         -
  489.  
  490.    SINCE
  491.  
  492.         ... version 1 of the superviewsupport.library.
  493.  
  494.    SEE ALSO
  495.  
  496.         -
  497.  
  498. -----------------------------------------------------------------------------
  499.  
  500.    NAME
  501.         SVSUP_CopyScreenToBuffer8   *** OBSOLETE : Use ScreenToOnePlane8
  502.  
  503.    SYNOPSIS
  504.  
  505.         ULONG SVSUP_CopyScreenToBuffer8(struct Screen *sc, UBYTE *buffer,
  506.         D0    -$66                      A1           A2
  507.  
  508.                                         ULONG width, ULONG height,
  509.                                         D0           D1
  510.  
  511.                                         ULONG depth)
  512.                                         D2
  513.  
  514.    FUNCTION
  515.  
  516.         *** You should use SVSUP_ScreenToOnePlane8() instead, which
  517.             is more easy to handle and uses this function, anyway ...
  518.  
  519.         This function copies the content of a common Intuition Screen
  520.         into a buffer in the "ChunkyPixel" (8 Bit) format.
  521.         The buffer itself (with size = width * height) has to be supplied.
  522.         The width, height and depth values (depth must be smaller than 8)
  523.         have to be supplied also. These are not read from the Screen.
  524.  
  525.         This function may FAIL.
  526.  
  527.    INPUT(S)
  528.  
  529.         sc     - a valid ScreenPointer
  530.         buffer - a pointer to a buffer with size = width * height
  531.         width  - Screen's Width
  532.         height - Screen's Height
  533.         depth  - Screen's Depth
  534.  
  535.    RESULT
  536.  
  537.         Boolean value.
  538.  
  539.    BUGS
  540.  
  541.         -
  542.  
  543.    SINCE
  544.  
  545.         ... version 1 of the superviewsupport.library.
  546.  
  547.    SEE ALSO
  548.  
  549.         SVSUP_SuperWrite
  550.  
  551. -----------------------------------------------------------------------------
  552.    Functions available since Version 2 :
  553. -----------------------------------------------------------------------------
  554.  
  555.    NAME
  556.         SVSUP_LoadControlPad
  557.  
  558.    SYNOPSIS
  559.  
  560.         ULONG SVSUP_LoadControlPad(UBYTE *filename, struct SV_ControlPad **pad)
  561.         D0    -$6c                 A1               A2
  562.  
  563.    FUNCTION
  564.  
  565.         Opens and reads a standard Configuration File for superview.library's
  566.         SVObjects, SVDrivers, etc.
  567.         It consists of Tooltype-like entries in the form :
  568.         <Name>=<Content> or <Keyword>, where each entry is built of one
  569.         line of the file.
  570.         All lines beginning with "/" or ";" or just blank lines are handled
  571.         as comments and are ignored.
  572.  
  573.         All ControlPads are chained in a single-linked List.
  574.         Remember to save the head-pointer to the List somewhere,
  575.         because it's needed for free'ing the List.
  576.  
  577.         Only READ-ACCESSES should be done to the list entries, but if you
  578.         want to add more entries to the list, note that all entries have
  579.         to be allocated with AllocVec() and delocated with FreeVec().
  580.  
  581.    INPUT(S)
  582.  
  583.         filename - a FileName for AmigaDOS
  584.         pad      - a pointer to a ControlPad-Structure pointer
  585.  
  586.    RESULT
  587.  
  588.         Boolean value.
  589.  
  590.         If the function returned FALSE, pad will also be NULL.
  591.  
  592.    BUGS
  593.  
  594.         SVSUP_FindControlPad, SVSUP_SaveControlPad, SVSUP_FreeControlPad
  595.  
  596.    SINCE
  597.  
  598.         ... version 2 of the superviewsupport.library.
  599.  
  600.    SEE ALSO
  601.  
  602.         -
  603.  
  604. -----------------------------------------------------------------------------
  605.  
  606.    NAME
  607.         SVSUP_SaveControlPad
  608.  
  609.    SYNOPSIS
  610.  
  611.         ULONG SVSUP_SaveControlPad(UBYTE *filename, struct SV_ControlPad *pad)
  612.         D0    -$72                 A1               A2
  613.  
  614.    FUNCTION
  615.  
  616.         Writes a standard Configuration File for superview.library's
  617.         SVObjects, SVDrivers, etc.
  618.  
  619.         You have to supply your own ControlPad-List (or one supplied from
  620.         SVSUP_LoadControlPad).
  621.  
  622.    INPUT(S)
  623.  
  624.         filename - a FileName for AmigaDOS
  625.         pad      - a pointer to a ControlPad-Structure (List-Head)
  626.  
  627.    RESULT
  628.  
  629.         Boolean value.
  630.  
  631.    BUGS
  632.  
  633.         -
  634.  
  635.    SINCE
  636.  
  637.         ... version 2 of the superviewsupport.library.
  638.  
  639.    SEE ALSO
  640.  
  641.         SVSUP_FindControlPad, SVSUP_LoadControlPad, SVSUP_FreeControlPad
  642.  
  643. -----------------------------------------------------------------------------
  644.  
  645.    NAME
  646.         SVSUP_FreeControlPad
  647.  
  648.    SYNOPSIS
  649.  
  650.         ULONG SVSUP_FreeControlPad(struct SV_ControlPad *pad)
  651.         D0    -$78                 A1
  652.  
  653.    FUNCTION
  654.  
  655.         Frees a single-chained list of ControlPads, which has been
  656.         allocated and initialized via SVSUP_LoadControlPad() before.
  657.  
  658.         If you want to free your own, self-created ControlPad lists,
  659.         note that all entries have to be allocated with AllocVec() and
  660.         delocated with FreeVec().
  661.  
  662.    INPUT(S)
  663.  
  664.         pad      - a pointer to a ControlPad-Structure (List-Head)
  665.  
  666.    RESULT
  667.  
  668.         Boolean value.
  669.  
  670.         (returns FALSE when pad is a NULL pointer)
  671.  
  672.    BUGS
  673.  
  674.         -
  675.  
  676.    SINCE
  677.  
  678.         ... version 2 of the superviewsupport.library.
  679.  
  680.    SEE ALSO
  681.  
  682.         SVSUP_FindControlPad, SVSUP_SaveControlPad, SVSUP_LoadControlPad
  683.  
  684. -----------------------------------------------------------------------------
  685.  
  686.    NAME
  687.         SVSUP_FindControlPad
  688.  
  689.    SYNOPSIS
  690.  
  691.         ULONG SVSUP_FindControlPad(struct SV_ControlPad *pad,
  692.         D0    -$7e                 A1
  693.  
  694.                                    UBYTE *name,
  695.                                    A2
  696.  
  697.                                    UBYTE **content)
  698.                                    A3
  699.  
  700.    FUNCTION
  701.  
  702.         A ControlPad-List consists of Tooltype-like entries in the form :
  703.         <Name>=<Content> or <Keyword>.
  704.  
  705.         This function scans through such a list and searches for the
  706.         Content of an Entry with a specific name.
  707.         For Keywords the result is TRUE, but the Content pointer will
  708.         be NULL nevertheless.
  709.  
  710.         Searching IS case-sensitive !
  711.         Only READ-ACCESS to the content is allowed.
  712.  
  713.    INPUT(S)
  714.  
  715.         pad      - a pointer to a ControlPad-Structure (List-Head)
  716.         name     - the name of the entry to search for
  717.         content  - a pointer to a string pointer
  718.                    (the string pointer will be initialized with a pointer
  719.                     to the Content or NULL)
  720.  
  721.    RESULT
  722.  
  723.         Boolean value.
  724.  
  725.    BUGS
  726.  
  727.         -
  728.  
  729.    SINCE
  730.  
  731.         ... version 2 of the superviewsupport.library.
  732.  
  733.    SEE ALSO
  734.  
  735.         SVSUP_LoadControlPad, SVSUP_SaveControlPad, SVSUP_FreeControlPad
  736.  
  737. -----------------------------------------------------------------------------
  738.    Functions available since Version 3 :
  739. -----------------------------------------------------------------------------
  740.  
  741.    NAME
  742.         SVSUP_BitPlaneToOnePlane8
  743.  
  744.    SYNOPSIS
  745.  
  746.         ULONG SVSUP_BitPlaneToOnePlane8(struct SV_GfxBuffer *gfxb,
  747.         D0    -$84                      A1
  748.  
  749.                                         struct SV_GfxBuffer **destgfxb)
  750.                                         A2
  751.  
  752.    FUNCTION
  753.  
  754.         This function takes a GfxBuffer of type BITPLANE and creates
  755.         a GfxBuffer of type ONEPLANE out of it. This works with upto
  756.         8 Bit ColorDepth (256 Colors).
  757.  
  758.         The new GfxBuffer has to be given free by the user.
  759.  
  760.    INPUT(S)
  761.  
  762.         gfx      - a pointer to the Source GfxBuffer (BITPLANE)
  763.         destgfx  - a pointer to a pointer for the Destination
  764.                    GfxBuffer (ONEPLANE)
  765.  
  766.    RESULT
  767.  
  768.         NULL or a SVERR-Errorcode.
  769.  
  770.    BUGS
  771.  
  772.         -
  773.  
  774.    SINCE
  775.  
  776.         ... version 3 of the superviewsupport.library.
  777.  
  778.    SEE ALSO
  779.  
  780.         SVSUP_OnePlaneToBitPlane8
  781.  
  782. -----------------------------------------------------------------------------
  783.    NAME
  784.         SVSUP_OnePlaneToBitPlane8
  785.  
  786.    SYNOPSIS
  787.  
  788.         ULONG SVSUP_OnePlaneToBitPlane8(struct SV_GfxBuffer *gfxb,
  789.         D0    -$8a                      A1
  790.  
  791.                                         struct SV_GfxBuffer **destgfxb)
  792.                                         A2
  793.  
  794.    FUNCTION
  795.  
  796.         This function takes a GfxBuffer of type ONEPLANE and creates
  797.         a GfxBuffer of type BITPLANE out of it. This works with upto
  798.         8 Bit ColorDepth (256 Colors).
  799.  
  800.         The new GfxBuffer has to be given free by the user.
  801.  
  802.    INPUT(S)
  803.  
  804.         gfx      - a pointer to the Source GfxBuffer (ONEPLANE)
  805.         destgfx  - a pointer to a pointer for the Destination
  806.                    GfxBuffer (BITPLANE)
  807.  
  808.    RESULT
  809.  
  810.         NULL or a SVERR-Errorcode.
  811.  
  812.    BUGS
  813.  
  814.         -
  815.  
  816.    SINCE
  817.  
  818.         ... version 3 of the superviewsupport.library.
  819.  
  820.    SEE ALSO
  821.  
  822.         SVSUP_BitPlaneToOnePlane8
  823.  
  824. -----------------------------------------------------------------------------
  825.  
  826.    NAME
  827.         SVSUP_ScreenToOnePlane8
  828.  
  829.    SYNOPSIS
  830.  
  831.         ULONG SVSUP_ScreenToOnePlane8(struct Screen *sc,
  832.         D0    -$90                    A1
  833.  
  834.                                       struct SV_GfxBuffer **destgfxb)
  835.                                       A2
  836.  
  837.    FUNCTION
  838.  
  839.         This function takes an Intuition Screen and creates
  840.         a GfxBuffer of type ONEPLANE out of it. This works with upto
  841.         8 Bit ColorDepth (256 Colors).
  842.  
  843.         The new GfxBuffer has to be given free by the user.
  844.  
  845.    INPUT(S)
  846.  
  847.         gfx      - a pointer to an Intuition Screen
  848.         destgfx  - a pointer to a pointer for the Destination
  849.                    GfxBuffer (ONEPLANE)
  850.  
  851.    RESULT
  852.  
  853.         NULL or a SVERR-Errorcode.
  854.  
  855.    BUGS
  856.  
  857.         -
  858.  
  859.    SINCE
  860.  
  861.         ... version 3 of the superviewsupport.library.
  862.  
  863.    SEE ALSO
  864.  
  865.         SVSUP_ScreenToBitPlane8
  866.  
  867. -----------------------------------------------------------------------------
  868.    NAME
  869.         SVSUP_ScreenToBitPlane8
  870.  
  871.    SYNOPSIS
  872.  
  873.         ULONG SVSUP_ScreenToBitPlane8(struct Screen *sc,
  874.         D0    -$96                    A1
  875.  
  876.                                       struct SV_GfxBuffer **destgfxb)
  877.                                       A2
  878.  
  879.    FUNCTION
  880.  
  881.         This function takes an Intuition Screen and creates
  882.         a GfxBuffer of type BITPLANE out of it. This works with upto
  883.         8 Bit ColorDepth (256 Colors).
  884.  
  885.         The new GfxBuffer has to be given free by the user.
  886.  
  887.    INPUT(S)
  888.  
  889.         gfx      - a pointer to an Intuition Screen
  890.         destgfx  - a pointer to a pointer for the Destination
  891.                    GfxBuffer (BITPLANE)
  892.  
  893.    RESULT
  894.  
  895.         NULL or a SVERR-Errorcode.
  896.  
  897.    BUGS
  898.  
  899.         -
  900.  
  901.    SINCE
  902.  
  903.         ... version 3 of the superviewsupport.library.
  904.  
  905.    SEE ALSO
  906.  
  907.         SVSUP_ScreenToOnePlane8
  908.  
  909. -----------------------------------------------------------------------------
  910.    Functions available since Version 4 :
  911. -----------------------------------------------------------------------------
  912.  
  913.    NAME
  914.         SVSUP_DisplayGfxBuffer
  915.  
  916.    SYNOPSIS
  917.  
  918.         ULONG SVSUP_DisplayGfxBuffer(struct SVSUP_DisplayHandle *disphandle)
  919.         D0    -$9c                   A1
  920.  
  921.    FUNCTION
  922.  
  923.         This function allows displaying of GfxBuffers, e.g. for
  924.         test-purposes.
  925.  
  926.         This will may you, if you simply want to check the results
  927.         of self-created GfxBuffers or compare the results of
  928.         a GfxBuffer-conversion via e.g. SVSUP_OnePlaneToBitPlane8.
  929.  
  930.         The following code is quite senseless, because it is much easier
  931.         to use SVL_DisplayGfxBuffer() instead, but it demonstrates
  932.         quite good, how this function may be used (and _this_ example
  933.         definitely works ...) :
  934.  
  935.         ULONG GfxBufferShow(char *filename)
  936.          {
  937.           ULONG                       retval        = SVERR_NO_ERROR;
  938.           APTR                        handle        = N;
  939.           struct SVSUP_DisplayHandle *displayhandle = N;
  940.  
  941.           displayhandle = AllocVec(sizeof(struct SVSUP_DisplayHandle), MEMF_CLEAR|MEMF_PUBLIC);
  942.           if(displayhandle)
  943.            {
  944.             SVL_GetGlobalDriver(&displayhandle->SVDriverNode, N);
  945.  
  946.             handle = SVL_AllocHandle(N);
  947.             if(handle)
  948.              {
  949.               if(!(retval = SVL_InitHandleAsDOS(handle, N)))
  950.                {
  951.                 displayhandle->WinIDCMP = IDCMP_MOUSEBUTTONS;
  952.                 displayhandle->ScrType  = CUSTOMSCREEN;
  953.  
  954.                             retval = SVL_ReadToGfxBuffer(handle, filename);
  955.                 if(!retval) retval = SVL_GetGfxBuffer(   handle, &displayhandle->SVGfxBuffer, N);
  956.  
  957.                 if(!retval && displayhandle->SVGfxBuffer)
  958.                  {
  959.                   retval = SVSUP_DisplayGfxBuffer(displayhandle);
  960.                   if(!retval)
  961.                    {
  962.                     if(displayhandle->Window)
  963.                      {
  964.                       WaitPort(displayhandle->Window->UserPort);
  965.                      }
  966.                    }
  967.  
  968.                   SVSUP_UnDisplayGfxBuffer(displayhandle);
  969.                  }
  970.                }
  971.  
  972.               SVL_FreeHandle(handle);
  973.  
  974.              }else retval = SVERR_NO_HANDLE;
  975.  
  976.             FreeVec(displayhandle);
  977.  
  978.            }else retval = SVERR_NO_MEMORY;
  979.  
  980.           return(retval);
  981.          }
  982.  
  983.  
  984.         The Handle has to be allocated and initialized before passing it
  985.         to this function. After usage - and after calling SVSUP_UnDisplay-
  986.         GfxBuffer() - it has still to be delocated.
  987.  
  988.         You do not need (or must) initialize all fields of the Handle
  989.         structure, but set them to NULL, if you do not (or must not).
  990.         It is suggested, that you'll use AllocMem/AllocVec() with the
  991.         MEMF_CLEAR flag.
  992.  
  993.         Initialize at least the following fields :
  994.  
  995.           - Version              (currently 4)
  996.           - SVGfxBuffer          (the GfxBuffer)
  997.           - SVDriverNode         (as returned by SVL_GetGlobalDriver)
  998.  
  999.         Optionally initialize the following fields :
  1000.  
  1001.           - WinIDCMP
  1002.           - WinFlags
  1003.           - ScrType
  1004.  
  1005.         After calling SVSUP_DisplayGfxBuffer(), but before
  1006.         SVSUP_UnDisplayGfxBuffer() you may use the following fields
  1007.         for read-only purposes ::
  1008.  
  1009.           - Window;
  1010.           - Screen;
  1011.  
  1012.  
  1013.         All values are used and have to be interpreted just like the
  1014.         corresponding parameters of the similar SVL_/SVO_ or SVD_
  1015.         function calls :
  1016.         If you do not supply values for ScreenType, WindowIDCMP and
  1017.         WindowFlags, default-values will be used instead.
  1018.  
  1019.    INPUT(S)
  1020.  
  1021.         displayhandle - a handle, as defined in "superviewsupport.h".
  1022.                         Has to be allocated and initalized by the User !!
  1023.  
  1024.    RESULT
  1025.  
  1026.         NULL or a SVERR-Errorcode.
  1027.  
  1028.    BUGS
  1029.  
  1030.         -
  1031.  
  1032.    SINCE
  1033.  
  1034.         ... version 4 of the superviewsupport.library.
  1035.  
  1036.    SEE ALSO
  1037.  
  1038.         SVSUP_UnDisplayGfxBuffer
  1039.  
  1040. -----------------------------------------------------------------------------
  1041.  
  1042.    NAME
  1043.         SVSUP_UnDisplayGfxBuffer
  1044.  
  1045.    SYNOPSIS
  1046.  
  1047.         ULONG SVSUP_UnDisplayGfxBuffer(struct SVSUP_DisplayHandle *disphandle)
  1048.         D0    -$a2                     A1
  1049.  
  1050.    FUNCTION
  1051.  
  1052.         This function closes a display, which has been opened via
  1053.         SVSUP_DisplayGfxBuffer() before.
  1054.  
  1055.         All temporary buffers etc. will be delocated, then.
  1056.         The supplied GfxBuffer and the Handle itself will be left intact.
  1057.  
  1058.         This call requires a valid displayhandle (which has been passed
  1059.         to SVSUP_DisplayGfxBuffer before).
  1060.  
  1061.         See SourceCode-example under SVSUP_DisplayGfxBuffer().
  1062.  
  1063.    INPUT(S)
  1064.  
  1065.         displayhandle - a handle, as defined in "superviewsupport.h".
  1066.                         Has still to be delocated by the User !!
  1067.  
  1068.    RESULT
  1069.  
  1070.         -
  1071.  
  1072.    BUGS
  1073.  
  1074.         -
  1075.  
  1076.    SINCE
  1077.  
  1078.         ... version 4 of the superviewsupport.library.
  1079.  
  1080.    SEE ALSO
  1081.  
  1082.         SVSUP_DisplayGfxBuffer
  1083.  
  1084. -----------------------------------------------------------------------------
  1085.  
  1086.    NAME
  1087.         SVSUP_FreeGfxBuffer
  1088.  
  1089.    SYNOPSIS
  1090.  
  1091.         ULONG SVSUP_FreeGfxBuffer(struct SV_GfxBuffer *gfxbuffer)
  1092.         D0    -$a8                A1
  1093.  
  1094.    FUNCTION
  1095.  
  1096.         Use this function to free GfxBuffers, which are not related to
  1097.         any SVObject-Handles.
  1098.  
  1099.         E.g. any of the SVSUP_ScreenToXXXPlane() and SVSUP_XXXPlaneToXXXPlane()
  1100.         functions produce GfxBuffer, which have to be given free either
  1101.         via separate FreeVec() calls for the ImageData-Buffer and for
  1102.         the GfxBuffer itself or just by calling this function and then
  1103.         forgetting about it.
  1104.  
  1105.         Do not try to free buffers, which will already be freed via the
  1106.         next SVL_FreeHandle call.
  1107.         These are Buffers, which are returned by SVL_GetGfxBuffer().
  1108.  
  1109.    INPUT(S)
  1110.  
  1111.         gfxbuffer - a valid pointer to a "stand-alone" GfxBuffer
  1112.  
  1113.    RESULT
  1114.  
  1115.         -
  1116.  
  1117.    BUGS
  1118.  
  1119.         -
  1120.  
  1121.    SINCE
  1122.  
  1123.         ... version 4 of the superviewsupport.library.
  1124.  
  1125.    SEE ALSO
  1126.  
  1127.         SVSUP_ScreenToXXXPlane(), SVSUP_XXXPlaneToXXXPlane()
  1128.  
  1129.         (XXX = (Bit | One)
  1130.  
  1131. -----------------------------------------------------------------------------
  1132.    Functions available since Version 5 :
  1133. -----------------------------------------------------------------------------
  1134.  
  1135.    NAME
  1136.         SVSUP_FindControlPadNoCase
  1137.  
  1138.    SYNOPSIS
  1139.  
  1140.         ULONG SVSUP_FindControlPadNoCase(struct SV_ControlPad *pad,
  1141.         D0    -$ae                       A1
  1142.  
  1143.                                          UBYTE *name,
  1144.                                          A2
  1145.  
  1146.                                          UBYTE **content)
  1147.                                          A3
  1148.  
  1149.    FUNCTION
  1150.  
  1151.         like SVSUP_FindControlPad(), not not case-sensitive.
  1152.  
  1153.    INPUT(S)
  1154.  
  1155.         like SVSUP_FindControlPad()
  1156.  
  1157.    RESULT
  1158.  
  1159.         like SVSUP_FindControlPad()
  1160.  
  1161.    SINCE
  1162.  
  1163.         ... version 5 of the superviewsupport.library.
  1164.  
  1165.    SEE ALSO
  1166.  
  1167.         SVSUP_FindControlPad
  1168.  
  1169. -----------------------------------------------------------------------------
  1170.    NAME
  1171.         SVSUP_ModifyControlPad
  1172.  
  1173.    SYNOPSIS
  1174.  
  1175.         ULONG SVSUP_ModifyControlPad(struct SV_ControlPad *pad,
  1176.         D0    -$b4                   A1
  1177.  
  1178.                                      UBYTE *name,
  1179.                                      A2
  1180.  
  1181.                                      UBYTE *content,
  1182.                                      A3
  1183.  
  1184.                                      ULONG bool)
  1185.                                      D1
  1186.  
  1187.    FUNCTION
  1188.  
  1189.         Modifies an existing ControlPad entry, if exists.
  1190.         Returns error, if it does not exist.
  1191.  
  1192.         May be switched between case-sensitive and case-insensitive mode.
  1193.  
  1194.    INPUT(S)
  1195.  
  1196.         pad      - a pointer to a ControlPad-Structure (List-Head)
  1197.         name     - the name of the entry to search for
  1198.         content  - string pointer to new content or NULL
  1199.         bool     - case-sensitive ?
  1200.  
  1201.    RESULT
  1202.  
  1203.         Boolean value.
  1204.  
  1205.    SINCE
  1206.  
  1207.         ... version 5 of the superviewsupport.library.
  1208.  
  1209.    SEE ALSO
  1210.  
  1211.         SVSUP_AddControlPad
  1212.  
  1213. -----------------------------------------------------------------------------
  1214.  
  1215.    NAME
  1216.         SVSUP_AddControlPad
  1217.  
  1218.    SYNOPSIS
  1219.  
  1220.         ULONG SVSUP_AddControlPad(struct SV_ControlPad *pad,
  1221.         D0    -$ba                A1
  1222.  
  1223.                                   UBYTE *name,
  1224.                                   A2
  1225.  
  1226.                                   UBYTE *content,
  1227.                                   A3
  1228.  
  1229.                                   ULONG bool)
  1230.                                   D1
  1231.  
  1232.    FUNCTION
  1233.  
  1234.         Adds a new ControlPad entry or modifies one, if already exists.
  1235.         May return an error (no memory, etc.)
  1236.  
  1237.         May be switched between case-sensitive and case-insensitive mode.
  1238.  
  1239.    INPUT(S)
  1240.  
  1241.         pad      - a pointer to a ControlPad-Structure (List-Head)
  1242.         name     - the name of the entry to search for
  1243.         content  - string pointer to content or NULL
  1244.         bool     - case-sensitive ?
  1245.  
  1246.    RESULT
  1247.  
  1248.         Boolean value.
  1249.  
  1250.    SINCE
  1251.  
  1252.         ... version 5 of the superviewsupport.library.
  1253.  
  1254.    SEE ALSO
  1255.  
  1256.         SVSUP_ModifyControlPad
  1257.  
  1258. -----------------------------------------------------------------------------
  1259.    Functions available since Version 6 :
  1260. -----------------------------------------------------------------------------
  1261.  
  1262.    NAME
  1263.         SVSUP_AllocMemEntry
  1264.  
  1265.    SYNOPSIS
  1266.  
  1267.         ULONG SVSUP_AllocVMemEntry(APTR mlist, size, type)
  1268.         D0    -$c0                 A1          D0    D1
  1269.  
  1270.    FUNCTION
  1271.  
  1272.         Allocates memory just like SVSUP_AllocVMemEntry(), but
  1273.         initializes it as virtual memory.
  1274.         The result is a valid "VMemHandle" (numeric value for
  1275.         accessing the virtual memory) or NULL.
  1276.  
  1277.         The memory will _not_ be allocated right now, but a corresponding
  1278.         file (with this size) will be created at the location "VMEM:".
  1279.         You may load it into "real" memory and get a pointer to it
  1280.         via SVSUP_AccessVMemEntry(), but you need not do this for
  1281.         simply reading/writing to it (see below).
  1282.  
  1283.         After calling SVSUP_ReleaseVMemEntry() the pointer returned
  1284.         by SVSUP_AccessVMenEntry() would become invalid again and the
  1285.         memory content will be written back to "VMEM:vmem_*******".
  1286.         When calling SVSUP_AccessVMemEntry() again, it will be
  1287.         re-read from disk and re-allocated, then.
  1288.  
  1289.         Nevertheless the memory content may also be accessed without
  1290.         loading it to memory, via SVSUP_ReadVMemBytes() and
  1291.         SVSUP_WriteVMemBytes().
  1292.         Take these functions for really "virtual" read and write calls.
  1293.  
  1294.         IMPORTANT NOTE:
  1295.         ---------------
  1296.         You should not specify "MEMF_CLEAR" with this function, if you
  1297.         don't really need this.
  1298.         Since AmigaDOS does not really support a function to create an
  1299.         EMPTY file with a specific size (SetFileSize() is not supported
  1300.         by all Handlers and might possibly create files, which are
  1301.         not really empty), the resulting virtual "on-disk buffer" then has
  1302.         to be cleared via separate write calls: currently we use a buffer
  1303.         of 255 Bytes size, so the number of calls to Write() will be
  1304.         something like <size>/255 (+= 1, if there's <size>%255 > 0).
  1305.         >>> An alternative would be to not use MEMF_CLEAR, but clear the
  1306.             buffer after accessing it, or - if you'll use it fully virtual -
  1307.             via calling SVSUP_WriteVMemBytes() with empty buffers.
  1308.             This will increase speed significantly.
  1309.  
  1310.    INPUT(S)
  1311.  
  1312.         mlist  - a memory list pointer as from SVSUP_GetMemList()
  1313.         size   - needed size for the memory chunk
  1314.         type   - "MEMF_"-specification of the memory type
  1315.  
  1316.    RESULT
  1317.  
  1318.         a virtual memory handle or NULL
  1319.  
  1320.    BUGS
  1321.  
  1322.         -
  1323.  
  1324.    SINCE
  1325.  
  1326.         ... version 6 of the superviewsupport.library.
  1327.  
  1328.    SEE ALSO
  1329.  
  1330.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1331.  
  1332. -----------------------------------------------------------------------------
  1333.  
  1334.    NAME
  1335.         SVSUP_AccessVMemEntry
  1336.  
  1337.    SYNOPSIS
  1338.  
  1339.         APTR SVSUP_AccessVMemEntry(APTR mlist, ULONG vmemhandle)
  1340.         D0   -$c6                  A1          D0
  1341.  
  1342.    FUNCTION
  1343.  
  1344.         Returns a pointer to a virtual memory chunk by loading it
  1345.         into memory (if not already).
  1346.         Identification is managed via a "virtual memory handle".
  1347.  
  1348.    INPUT(S)
  1349.  
  1350.         mlist  - a memory list pointer as from SVSUP_GetMemList()
  1351.         handle - a valid virtual memory handle
  1352.  
  1353.    RESULT
  1354.  
  1355.         a pointer to a memory chunk of a fixed size
  1356.  
  1357.    BUGS
  1358.  
  1359.         -
  1360.  
  1361.    SINCE
  1362.  
  1363.         ... version 6 of the superviewsupport.library.
  1364.  
  1365.    SEE ALSO
  1366.  
  1367.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1368.  
  1369. -----------------------------------------------------------------------------
  1370.  
  1371.    NAME
  1372.         SVSUP_ReleaseVMemEntry
  1373.  
  1374.    SYNOPSIS
  1375.  
  1376.         ULONG SVSUP_ReleaseVMemEntry(APTR mlist, ULONG vmemhandle)
  1377.         D0    -$cc                   A1          D0
  1378.  
  1379.    FUNCTION
  1380.  
  1381.         Frees a virtual memory chunk by delocating the internal
  1382.         pointer to it after writing its content to a temporary
  1383.         file at "VMEM:".
  1384.         Its content may be re-loaded into memory via SVSUP_AccessVMemEntry()
  1385.         or simply accessed via SVSUP_ReadVMemBytes() or
  1386.         SVSUP_WriteVMemBytes.
  1387.  
  1388.    INPUT(S)
  1389.  
  1390.         mlist  - a memory list pointer as from SVSUP_GetMemList()
  1391.         handle - a valid virtual memory handle
  1392.  
  1393.    RESULT
  1394.  
  1395.         a boolean (error) value
  1396.  
  1397.    BUGS
  1398.  
  1399.         -
  1400.  
  1401.    SINCE
  1402.  
  1403.         ... version 6 of the superviewsupport.library.
  1404.  
  1405.    SEE ALSO
  1406.  
  1407.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1408.  
  1409. -----------------------------------------------------------------------------
  1410.  
  1411.    NAME
  1412.         SVSUP_ReadVMemBytes
  1413.  
  1414.    SYNOPSIS
  1415.  
  1416.         ULONG SVSUP_ReadVMemBytes(APTR mlist, ULONG vmemhandle,
  1417.         D0    -$d2                A1          D0
  1418.  
  1419.                                   UBYTE *buffer, ULONG offset, ULONG size)
  1420.                                   A2             D1            D2
  1421.  
  1422.    FUNCTION
  1423.  
  1424.         Reads a specific amount of Bytes from a specific offset of
  1425.         a virtual memory chunk, WITHOUT loading it into "real" memory
  1426.         (from-disk operation at "VMEM:").
  1427.  
  1428.    INPUT(S)
  1429.  
  1430.         mlist  - a memory list pointer as from SVSUP_GetMemList()
  1431.         handle - a valid virtual memory handle
  1432.         buffer - a buffer to read into
  1433.         offset - read from this offset
  1434.         size   - read <size> bytes from there
  1435.  
  1436.    RESULT
  1437.  
  1438.         a boolean (error) value
  1439.  
  1440.    BUGS
  1441.  
  1442.         -
  1443.  
  1444.    SINCE
  1445.  
  1446.         ... version 6 of the superviewsupport.library.
  1447.  
  1448.    SEE ALSO
  1449.  
  1450.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1451.  
  1452. -----------------------------------------------------------------------------
  1453.  
  1454.    NAME
  1455.         SVSUP_WriteVMemBytes
  1456.  
  1457.    SYNOPSIS
  1458.  
  1459.         ULONG SVSUP_WriteVMemBytes(APTR mlist, ULONG vmemhandle,
  1460.         D0    -$d8                 A1          D0
  1461.  
  1462.                                    UBYTE *buffer, ULONG offset, ULONG size)
  1463.                                    A2             D1            D2
  1464.  
  1465.    FUNCTION
  1466.  
  1467.         Write a specific amount of Bytes to a specific offset in
  1468.         a virtual memory chunk, WITHOUT loading it into "real" memory
  1469.         (to-disk operation at "VMEM:").
  1470.  
  1471.    INPUT(S)
  1472.  
  1473.         mlist  - a memory list pointer as from SVSUP_GetMemList()
  1474.         handle - a valid virtual memory handle
  1475.         buffer - a buffer to write from
  1476.         offset - write to this offset
  1477.         size   - write <size> bytes to there
  1478.  
  1479.    RESULT
  1480.  
  1481.         a boolean (error) value
  1482.  
  1483.    BUGS
  1484.  
  1485.         -
  1486.  
  1487.    SINCE
  1488.  
  1489.         ... version 6 of the superviewsupport.library.
  1490.  
  1491.    SEE ALSO
  1492.  
  1493.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1494.  
  1495. -----------------------------------------------------------------------------
  1496.  
  1497.    NAME
  1498.         SVSUP_VecToVMemEntry
  1499.  
  1500.    SYNOPSIS
  1501.  
  1502.         ULONG SVSUP_VecToVMemEntry(APTR mlist, APTR vector, ULONG size)
  1503.         D0    -$de                 A1          A2           D0
  1504.  
  1505.    FUNCTION
  1506.  
  1507.         This functions turns any chunk of memory (specified by "vector"
  1508.         and "size") into a piece of virtual memory.
  1509.  
  1510.         "vector" may alreayd be present as an entry (virtual or non-virtual)
  1511.         in the list (although it usually will not):
  1512.         this does not affect functionality, it's supported instead !
  1513.         (So you'll be able to combine usage of SVSUP_Add/AllocMemEntry()
  1514.          and SVSUP_XXXXVMemXXX() functions !)
  1515.          "vector" has to be an AllocVec()ed pointer or one returned
  1516.          by SVSUP_AllocMemEntry().
  1517.  
  1518.         "size" may be equal to the original size of the memory chunk,
  1519.         but you may also specify a smaller or bigger value.
  1520.         Since a bigger value might cause problems, when the CPU just
  1521.         looks behind the actually allocated area (and there might be
  1522.         nothing left ;-) the only _supported_ way is to decrease buffer
  1523.         size somewhat by specifying a smaller value.
  1524.         "size" ist just needed to determine the amount of bytes written
  1525.         to disk, when "virtualizing" the memory and thus also will
  1526.         define the size of the buffer, when re-loaded into "real" memory.
  1527.  
  1528.         Note, that the given "vector" will ALWAYS become INVALID
  1529.         and will be freed during the function's runtime (even if it
  1530.         fails, usually).
  1531.  
  1532.    INPUT(S)
  1533.  
  1534.         mlist  - a memory list pointer as from SVSUP_GetMemList()
  1535.         vector - an AllocVec()ed pointer (or one already in the list)
  1536.         size   - the (new) size of the virtual memory chunk
  1537.  
  1538.    RESULT
  1539.  
  1540.         a virtual memory handle or NULL
  1541.  
  1542.    BUGS
  1543.  
  1544.         -
  1545.  
  1546.    SINCE
  1547.  
  1548.         ... version 6 of the superviewsupport.library.
  1549.  
  1550.    SEE ALSO
  1551.  
  1552.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1553.  
  1554. -----------------------------------------------------------------------------
  1555.  
  1556.    NAME
  1557.         SVSUP_GetVMemSize
  1558.  
  1559.    SYNOPSIS
  1560.  
  1561.         ULONG SVSUP_GetVMemSize(ULONG handle)
  1562.         D0    -$e4              A1
  1563.  
  1564.    FUNCTION
  1565.  
  1566.         The size of a virtual memory chunk may be changed several times
  1567.         during usage, as described under SVSUP_VecToMemEntry().
  1568.         If you don't want to remember it always or don't like to pass
  1569.         too much parameters between you private virtual memory
  1570.         handling functions, you may use this functions to determine
  1571.         the size of a specific virtual memory chunk at a specific time.
  1572.  
  1573.         It does not matter, whether the memory is currently "virtualized"
  1574.         or in memory, with a vector pointing at it.
  1575.  
  1576.    INPUT(S)
  1577.  
  1578.         handle - a valid virtual memory handle (any state)
  1579.  
  1580.    RESULT
  1581.  
  1582.         the size of the virtual memory or NULL
  1583.  
  1584.    BUGS
  1585.  
  1586.         -
  1587.  
  1588.    SINCE
  1589.  
  1590.         ... version 6 of the superviewsupport.library.
  1591.  
  1592.    SEE ALSO
  1593.  
  1594.         SVSUP_XXXXXVMemXXXXXX, SVSUP_FreeMemList
  1595.  
  1596. -----------------------------------------------------------------------------
  1597.  
  1598.  
  1599.