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

  1.  
  2.   PCX.svobject
  3.  
  4.   © 1993-94 by Andreas R. Kleinert.
  5.  
  6.   FREEWARE. All rights reserved.
  7.  
  8.   Version      : 2.13
  9.   Release Date : 05.06.1994
  10.  
  11.  
  12.   Requirements
  13.   ~~~~~~~~~~~~
  14.   - OS V2.04+ (V37)+ and its libraries
  15.   - superviewsupport.library V3+
  16.  
  17.  
  18.   Description
  19.   ~~~~~~~~~~~
  20.   PCX.svobject is an external Library-Module for the superview.library V2+.
  21.  
  22.   It contains SVDriver-Support for the superview.library V3+, and
  23.   needs any SVDriver with Bitplane-/ChunkyPixel-Support.
  24.  
  25.   It supports reading and writing of PCX Files.
  26.   In detail these are :
  27.  
  28.   Reading :
  29.  
  30.    - PCX V2.5  upto 16 Colors (supports 4/8 color EGA/VGA palette)
  31.    - PCX V2.8a upto 16 Colors (supports 4/8 color EGA/VGA palette)
  32.    - PCX V2.8b upto 16 GreyScales
  33.    - PCX V3.00 upto 256 Colors
  34.    - PCX V2.5 - V3.00 with 24 Bit Data (see Remarks !)
  35.  
  36.   Writing :
  37.  
  38.    Depending on the Colordepth of the source - no matter, which WriteSubType
  39.    has been specified - the following is written :
  40.  
  41.    Source Colors    Version     Type           Destination Colors
  42.  
  43.     2 ..  16        PCX V2.8a     planar bitmap        16
  44.    32 .. 256        PCX V3.00     chunky pixel       256
  45.  
  46.    It is always tried, to write the files RLE-encoded, but if encoding
  47.    is ineffective (output data nearly as large or even larger than input
  48.    data), the files will be written unencoded.
  49.  
  50.  
  51.   Remarks
  52.   ~~~~~~~
  53.   - Why writing only 16/256 Color files ?
  54.  
  55.     When loading 4 Color PCX files, some programs might expect a CGA style
  56.     color palette, while we only write EGA/VGA palettes. For 8 Color graphics
  57.     it is not clear how they should be handled.
  58.     Also, most programs do not support 32 .. 128 Color graphics, perhaps
  59.     because it is not clear, how the colormap has to be stored :
  60.     all at the end of the file or one hunk in the header and only the rest
  61.     at the end of the file ?
  62.  
  63.     So why should PCX.svobject support things, which are not defined as
  64.     clear as they should be ?
  65.  
  66.   - Then, why reading 4/8 Color files nevertheless ?
  67.  
  68.     Because PCX.svobject wrote them - this was my fault - before I fixed
  69.     this bug. So it still reads them, but no longer writes them.
  70.  
  71.   - What about PCC-Brush-Files ?
  72.  
  73.     These should also be supported, because they're just a variation
  74.     of PCX-Files - usually only the extension is changed - but it seems
  75.     to me, that some of them are not correctly written, so that reading
  76.     may sometimes result in garbage.
  77.  
  78.   - What about 24 Bit-Files :
  79.  
  80.     Reading of RLE-encoded files works. It has been tested.
  81.     Reading of uncompressed files should now works, due to the bug-fix
  82.     in V2.11, although it has not been tested yet.
  83.     Send me your Public Domain 24 Bit Pictures, if they do not work
  84.     with PCX.svobject yet !
  85.  
  86.  
  87.   Author
  88.   ~~~~~~
  89.   Andreas R. Kleinert
  90.   Grube Hohe Grethe 23
  91.   D-57074 Siegen
  92.   Germany
  93.  
  94.  
  95.   History
  96.   ~~~~~~~
  97.   V2.13 (05.06.1994) :
  98.  
  99.    - SVObject flags now reflect, that GfxBuffers can be written
  100.  
  101.  
  102.   V2.12 (27.05.1994) :
  103.  
  104.    - now saving of GfxBuffers is possible : internal write routines have
  105.      been completely rewritten, so that supplied Screens are transferred
  106.      to GfxBuffers before saving. BitPlane AND OnePlane Buffers upto
  107.      8 Bit are supported : they are converted to each other by using the
  108.      appropriate functions of superviewsupport.library V3+.
  109.    - if RLE-encoding is ineffective (output data nearly as large or even
  110.      larger than input data), the files will be written unencoded
  111.      now
  112.  
  113.  
  114.   V2.11 (22.05.1994) :
  115.  
  116.    - added code for reading of RLE-encoded 24 Bit Files
  117.      (I tested it : it works)
  118.    - (hopefully) fixed bug in code for reading uncompressed 24 Bit Files
  119.      (it forgot to adjust the code to the way, how 24 Bit Data is stored
  120.       in the PCX FileFormat)
  121.  
  122.  
  123.   V2.10 (07.05.1994) :
  124.  
  125.    - use of SAS/C V6.51
  126.    - use of new "superviewsupport.library" V1
  127.      This saves some space again (here : ca. 1600 Bytes).
  128.  
  129.  
  130.   V2.9 (01.05.1994) :
  131.  
  132.    - slightly changed writing and RLE encoding routines
  133.    - added note about PCC files to documentation
  134.  
  135.  
  136.   V2.8 (23.04.1994) :
  137.  
  138.    - created new hierarchy for decoding routines : they are now much more
  139.      flexible and error-resistant. Future expansions will be easier to make.
  140.    - temporary buffer for rawdata is now delocated immediately after use
  141.    - simplified ColorMap reading/handling (and GreyScale generation)
  142.    - added support for 24 Bit graphics. Not yet tested.
  143.    - Fixed FileInfoRequest() :
  144.       - PCX V2.8b was reported to be "V2.5 without Palette". Fixed.
  145.       - "ColorPlanes" was reported to be "Colordepth". Fixed.
  146.     Now there are four different values for all : pixelbits, pixelbits-
  147.     sized planes, colordepth and colornum.
  148.     So the user may reconstruct the original file structure in mind.
  149.  
  150.  
  151.   V2.7 (18.04.1994) :
  152.  
  153.    - changed internal creation/handling of ColorMaps :
  154.      now PCX 2.8b with Black&White or GreyScaled BitMap-Data is
  155.      _really_ supported.
  156.      Side effect : simplified handling of different PixelBits/Plane
  157.      combinations
  158.  
  159.  
  160.   V2.6 (02.04.1994) :
  161.  
  162.    - improved speed of RLE decoding routines
  163.  
  164.  
  165.   V2.5 (27.03.1994) :
  166.  
  167.    - removed internal SVDriver-Replacement, so that we now are really
  168.      dependent on external SVDrivers in libs:svdrivers.
  169.      This saves about 1600 Bytes diskspace and reduces redundancy.
  170.    - replaced SAS/C's sprintf()-routine with own, RawDoFmt()-based one.
  171.      This saves again about 1800 Bytes.
  172.    - now using Utility-Library for integer operations (activated
  173.      SAS/C's UTILLIB option) : this increases 68000-codesize a little
  174.      bit, but increases speed on 68020+ systems
  175.      (should also decrease codesize, but does not ...)
  176.  
  177.  
  178.   V2.4 (25.03.1994) :
  179.  
  180.    - slightly improved internal BitMap-to-BitMap routine
  181.  
  182.  
  183.   V2.3 (18.03.1994) :
  184.  
  185.    - removed some dead code (not compiled nor linked ?!)
  186.  
  187.  
  188.   V2.2 (17.03.1994) :
  189.  
  190.    - fixed "large memory usage" bug in internal ECS-ChunkyPixel routine
  191.    - added several security checks (zero-pointers)
  192.  
  193.  
  194.   V2.1 (09.03.1994) :
  195.  
  196.    - now with SVDriver-Support. Not yet necessarily needed.
  197.    - improved internal "Chunky Pixel to BitMap" (8 Bit) Routine
  198.    - writing routine(s) :
  199.       - added code for writing 256 Color graphics (chunky pixel)
  200.       - 2, 4, 8, 32, 64 or 128 Colors are expanded to either
  201.     16 or 256 Colors before writing
  202.       - 16 Colors now written as V2.8a, also fixed some small bugs
  203.       - increased speed for writing 16 Colors
  204.       - fixed bug in setting map for 16 Colors
  205.     (same as in reading routine, which was fixed in V1.2)
  206.    - fixed small bug in memory management routines
  207.    - internal routines : AUTOSCROLL now really works with big-sized Screens
  208.    - fixed several little bugs
  209.  
  210.  
  211.   V1.3 (24.01.1993) :
  212.  
  213.    - fixed bug with setting ColorMap under V37/V38
  214.  
  215.  
  216.   V1.2 (02.01.1993) :
  217.  
  218.    - fixed "wrong colors" bug
  219.    - improved speed
  220.  
  221.  
  222.   V1.1 (19.12.1993) :
  223.  
  224.    - first version
  225.  
  226.  
  227.   Literature
  228.   ~~~~~~~~~~
  229.   [1] "Supercharged Bitmapped Graphics", Steve Rimmer, Windcrest/McGraw-Hill,
  230.        © 1992 by Windcrest Books (registered Trademark of TAB Books).
  231.        ISBN 0-8306-3788-5
  232.   [2] "Amiga Magazin", Issue 2/1992, Markt & Technik Verlag AG
  233.   [3] "DOS Extra", Issue 4/1993, DMV-Verlag
  234.  
  235.  
  236.   Copyrights
  237.   ~~~~~~~~~~
  238.   Some of the mentioned names or products above may be copyrighted by
  239.   companies or trademarks of companies.
  240.  
  241.  
  242.