home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / useful / dist / gfx / show / superview-lib / programmers / example_svobjects / svo / svo.doc < prev    next >
Text File  |  1994-07-04  |  7KB  |  220 lines

  1.  
  2.   SVO.svobject
  3.  
  4.   © 1993-94 by Andreas R. Kleinert.
  5.  
  6.   FREEWARE. All rights reserved.
  7.  
  8.   Version      : 2.8
  9.   Release Date : 01.07.1994
  10.  
  11.  
  12.   Requirements
  13.   ~~~~~~~~~~~~
  14.   - OS V2.04+ (V37)+ and its libraries
  15.   - superviewsupport.library V3+
  16.   - xpkmaster.library V2+
  17.  
  18.  
  19.   Description
  20.   ~~~~~~~~~~~
  21.   SVO.svobject is an external Library-Module for the superview.library V2+.
  22.  
  23.   It contains SVDriver-Support for the superview.library V3+, and
  24.   needs any SVDriver with Bitplane-/ChunkyPixel-Support.
  25.  
  26.   It supports reading and writing of SVO Files.
  27.   In detail these are :
  28.  
  29.   Reading :
  30.  
  31.    - SVO V1.0 ONEPLANE/BITPLANE (includes 24 Bit Files)
  32.  
  33.  
  34.   Writing :
  35.  
  36.    - SVO V1.0 ONEPLANE/BITPLANE (includes 24 Bit Files)
  37.  
  38.  
  39.   ControlPad-Switches
  40.   ~~~~~~~~~~~~~~~~~~~
  41.   ControlPad-Name     : "ENV:superview-library/SVO.controlpad"
  42.   ControlPad-Commands : - PACKMETHOD=<xxxx>
  43.                           ; if this one is specified, it is tried to
  44.                           ; pack the resulting file with the specified
  45.                           ; XPK-Packer. If this fails, the file keeps
  46.                           ; unpacked.
  47.  
  48.  
  49.   File Format Information
  50.   ~~~~~~~~~~~~~~~~~~~~~~~
  51.   Pictures in the "SVO Graphics File Format" consist of two Files :
  52.   The Header-File (<Picture>.svo) and the Data-File (<Picture>).
  53.   The Header-File contains information about the Raw-Data in the
  54.   Data-File. For loading and saving the Graphics it makes no difference,
  55.   which FileName - Header-File or Data-File - is given.
  56.   This is managed by the svobject.
  57.  
  58.   Because recognition of the Types of packed Files is only possible
  59.   by reading the whole File into a buffer and then check it, we use
  60.   two different Files for both : Graphics Information and Graphics.
  61.   The Data-File CAN be packed, the Header-File MUST NOT be packed.
  62.  
  63.   The SVO.object does NOT save packed data by default, but you may either
  64.   specify an appropriate Xpk-Packer in the ControlPad or just pack it
  65.   with a Xpk-Packer-Program after writing.
  66.  
  67.   The Data saved into the <Picture> File is read from a SV_GfxBuffer
  68.   structure, which has either been supplied by the calling application
  69.   or has been created from a supplied Screen-Pointer.
  70.   This data may be of type BITPLANE (like in an IFF-ACBM : BitPlane
  71.   after BitPlane, but without padding) or ONEPLANE (8 Bit ChunkyPixel
  72.   or 24 Bit RGB-Data).
  73.  
  74.   This allows efficient packing and unpacking with PowerPacker and all
  75.   other XPK-Packers.
  76.  
  77.   Remember, that the original Data written by the SVO.object may not
  78.   necessarily be packed and therefore might need a lot of diskspace.
  79.   So better pack it immediately after it has been written.
  80.  
  81.  
  82.   Source-Code
  83.   ~~~~~~~~~~~
  84.   The "SVO Graphics File Format" is an "Open File Format", which means,
  85.   that everyone is invented to use and support it and to make suggestions
  86.   to improve the File Format or the Algorithms to handle it.
  87.  
  88.   To allow support of the File Format and to give an example, how to write
  89.   your own superview.library compatible "svobjects", this distribution
  90.   contains the full SourceCode of the "SVO.svobject".
  91.  
  92.   Feel free to use it for your own, commercial or non-commercial, programs !
  93.  
  94.  
  95.   Author
  96.   ~~~~~~
  97.   Andreas R. Kleinert
  98.   Grube Hohe Grethe 23
  99.   D-57074 Siegen
  100.   Germany
  101.  
  102.  
  103.   History
  104.   ~~~~~~~
  105.   V2.8 (01.07.1994) :
  106.  
  107.    - writing of SVO-Files did not work since V2.6
  108.    - now it may be specified in "ENV:superview-Library/SVO.controlpad",
  109.      whether written SVO-Files should be packed and which packer should
  110.      be used ("PACKMETHOD=xxxx")
  111.    - SVO-Files now are written in the way the data has been stored
  112.      in the GfxBuffer (either ONEPLANE or BITPLANE).
  113.      Screens are transferred to BITPLANE data.
  114.      Reading of such files was already possible, but not yet writing.
  115.      This will sometimes allow more efficient packing with XPK
  116.      (e.g. when ONEPLANE-8 data with only 16 Colors is used as input).
  117.  
  118.  
  119.   V2.7 (05.06.1994) :
  120.  
  121.    - SVObject flags now reflect, that GfxBuffers can be written
  122.  
  123.  
  124.   V2.6 (27.05.1994) :
  125.  
  126.    - 17.05.94 : modified Doc-File slightly
  127.    - now saving of GfxBuffers is possible : internal write routines have
  128.      been completely rewritten, so that supplied Screens are transferred
  129.      to GfxBuffers before saving. BitPlane AND OnePlane Buffers upto
  130.      8 Bit are supported : they are converted to each other by using the
  131.      appropriate functions of superviewsupport.library V3+.
  132.  
  133.  
  134.   V2.5 (07.05.1994) :
  135.  
  136.    - use of SAS/C V6.51
  137.    - use of new "superviewsupport.library" V1
  138.      This saves some space again (here : ca. 500 Bytes).
  139.    - version still reflected 2.3 instead 2.4. Now we're at 2.5 :-)
  140.  
  141.  
  142.   V2.4 (27.03.1994) :
  143.  
  144.    - removed internal SVDriver-Replacement, so that we now are really
  145.      dependent on external SVDrivers in libs:svdrivers.
  146.      This saves about 1600 Bytes diskspace and reduces redundancy.
  147.    - replaced SAS/C's sprintf()-routine with own, RawDoFmt()-based one.
  148.      This saves again about 1800 Bytes.
  149.    - now using Utility-Library for integer operations (activated
  150.      SAS/C's UTILLIB option) : this increases 68000-codesize a little
  151.      bit, but increases speed on 68020+ systems
  152.      (should also decrease codesize, but does not ...)
  153.  
  154.  
  155.   V2.3 (25.03.1994) :
  156.  
  157.    - slightly improved internal BitMap-to-BitMap routine
  158.  
  159.  
  160.   V2.2 (17.03.1994) :
  161.  
  162.    - fixed "large memory usage" bug in internal ECS-ChunkyPixel routine
  163.    - added several security checks (zero-pointers)
  164.  
  165.  
  166.   V2.1 (09.03.1994) :
  167.  
  168.    - very first "version 2" SVObject with SVDriver-Support
  169.    - found bug in the SVO-FileFormat, when storing the 16-Bit and
  170.      32-Bit ModeIDs :
  171.      both are just defined as 16-Bit-UWORDs, so that the 32-Bit ModeID
  172.      is theoretically _scratch_ !
  173.      It does seem to work with SAS/C V6.5 nevertheless, but with this
  174.      version the following work-around is done :
  175.      The former "svo_Pad1" field becomes "svo_Version", which indicates
  176.      extensions to the old 822-Byte-Header.
  177.      With V1 a new 32-Byte-ModeID field is added, so that the old one
  178.      becomes obsolete for reading of newer files.
  179.      The OLD ViewMode32-Field is still written as before, but will only
  180.      be read when handling files with version < 1 (= (BYTE)0).
  181.    - internal routines : AUTOSCROLL now really works with big-sized Screens
  182.    - fixed small bug im memory management routines
  183.  
  184.  
  185.   V1.4 (24.01.1994) :
  186.  
  187.    - little internal improvements
  188.  
  189.  
  190.   V1.3 (16.01.1994) :
  191.  
  192.    - improved speed
  193.  
  194.  
  195.   V1.2 (04.01.1994) :
  196.  
  197.    - changed to recognize (reject) possible enhanced, future SVO Files
  198.      (16-24 Bit)
  199.  
  200.  
  201.   V1.1 (19.12.1993) :
  202.  
  203.    - first version
  204.  
  205.  
  206.   Credits
  207.   ~~~~~~~
  208.   The "xpkmaster.library" V2+ is (C)opyright by its authors
  209.   (c/o Urban Dominik Müller).
  210.   The Library is freely distributable and is needed by SVO.spobject,
  211.   to be able to read XPK-packed Data.
  212.  
  213.  
  214.   Copyrights
  215.   ~~~~~~~~~~
  216.   Some of the mentioned names or products above may be copyrighted by
  217.   companies or trademarks of companies.
  218.  
  219.  
  220.