@DATABASE "exview.guide"

@NODE Main "ExView Documentation"

                                @{b}ExView V1.0@{ub}
                             Released May 1997
                           
                      Copyright © 1997 by Ryan Johnson
                            All Rights Reserved.
   
   @{"Introduction        " link Intro} What is it?
   
   @{"Startup Options     " link Startup} Getting started
   @{"ExView GUI Reference" link GUI} What does that button do?
   
   @{"Author Note/Info    " link Author} E-mail, and a development note
   
   @{"Acknowledgments     " link Nod} A thank you and other copyrights
   @{"Distribution, etc.  " link Legal} Legal stuff
   
@ENDNODE

@NODE Intro "Introduction"
      
      ExView is a fast and dynamic IFF-ILBM viewer written for AmigaDOS
   2.04+, with AGA Amigas in mind.
      It was written with the SAS/C Development System V6.57, is fully
   optimized and Amiga-specific (i.e., not riddled with excess ANSI code,
   meaning a smaller and cleaner executable).
   
   @{b}REQUIREMENTS@{ub}   
      - Any Amiga with AmigaDOS 2.04 (V37) or greater (AGA recommended)
      - asl.library in LIBS: (older pre-V38 versions fully supported)
   
   @{b}FEATURES@{ub}
      - An internally multitasking engine, for maximum flexibility
      - Lightning-fast decompression routines written in assembly
      - A fully font-sensitive and iconify-able GUI able to adapt to
        run-time changes of the system font
      - Operates in many modes (e.g, through GUI and/or file-requester)
      - All options can be saved to a configuration file
      - Full control over which Amiga-native monitors and display modes
        are used, and their degrees of overscan
      - Can display virtually any IFF-ILBM, including those with nested
        FORMs
        
   @{b}SHORTCOMINGS@{ub}
      - It only views standard IFF-ILBMs
      - Graphics cards aren't currently supported
      (See @{"Note" link Author})

@ENDNODE

@NODE Startup "Startup Options"
   
   @{b}Workbench@{ub}
   
      Quite simple really: just double-click on its icon.  At this time,
   individual pictures and/or volumes/directories may be selected for
   immediate viewing by first selecting their icons (via shift-clicking
   or lasso), and then shift-clicking on ExView.  Caveat: if the @{"All Files" link AllFiles}
   option (under the Configuration Menu) has been saved off, volumes/dirs
   won't be entered.
   
      Note: the ExView icons contain imbedded NewIcons imagery for all
   such users.
   
   @{b}Shell@{ub}
   
      Just type "ev" and hit return.  Any options specified will
   override their states in the @{"Config File" link ConfigFile}.  Without this file, the
   COMMANDLINEONLY switch will be needed to override the defaults.
   The following AmigaDOS template is used (can be called up with
   "ev ?"):
      
      FILES/M, ALL/S, M=MONITORS/K, OSCAN=OVERSCAN/K, DB=DOUBLEBUFFER/S,
      QV=QUICKVIEW/S, FR=AUTOFILEREQUESTER/S, GUI/S, CL=COMMANDLINEONLY/S
      
      Template particulars (for all you rusty or unknowing folk):
          
          "/M" == Multiple : Multiple arguments are permitted.
          
          "/S" == Switch   : The text preceding "/S" activates the 
                             option.
          
          "/K" == Keyword  : Like a switch, but with its own argument,
                             which may be given after an '=' or a space.
                             (e.g., "oscan=none")
          
          "=" as in "OSCAN=OVERSCAN" : Means that typing "OSCAN" is
                                       equivalent to typing "OVERSCAN"
          
          Note that switches/keywords are case-insensitive.
          
      
      The options work as follows:
      
      @{b}FILES/M:@{ub}
      
         The file(s) or path(s) ExView will attempt to display.
         If a path is specified (e.g., "gfx/images"), it will be
         @{"scanned" link DiskScan} for compatible pictures.  AmigaDOS pattern
         matching is fully supported.
      
      @{b}ALL/S:@{ub}
      
         When a pattern or a straight path is specified, all
         subdirectories encountered will entered and included
         in the search.
               
         See also @{"All Files" link AllFiles}.
      
      @{b}M=MONITORS/K:@{ub}
      
         Takes an AmigaDOS pattern of the system monitors to enable
         for image-viewing.
                    
         Examples: 
            
            "m=~(ntsc|pal)" Enables all monitors that are not
                            exactly "ntsc" or "pal"
             
            "m=m#?" Enables all monitors beginning with an M
                    (like Multiscan)
                    
         See GUI/@{"Monitors..." link Monitors...}.
      
      @{b}OSCAN=OVERSCAN/K:@{ub} 
      
         Takes a kind of Overscan for image-viewing.  May be one of:
            
            TEXT, GRAPHICS, MAXIMUM, VIDEO, or AUTO
            
         Note: only the first character entered is examined, so
         "oscan=a" is equivalent to "oscan=auto."
                        
         See GUI/@{"Overscan" link Overscan}.
                         
      @{b}DB=DOUBLEBUFFER/S:@{ub}
         
         Enables the @{"Double Buffer" link DoubleBuffer} option.
      
      @{b}QV=QUICKVIEW/S:@{ub}
         
         Enables the @{"QuickView" link QuickView} option.
      
      @{b}FR=AUTOFILEREQUESTER/S:@{ub}
         
         Enables the @{"Auto File-Requester" link AutoFileReq} option.
      
      @{b}GUI/S:@{ub}
         
         Forces the @{"GUI" link GUI} to open initially.
      
      @{b}CL=COMMANDLINEONLY/S:@{ub}
      
         Causes ExView to go entirely by the command-line options.
         Anything not specified will be "off" when ExView loads, with
         the exception of MONITORS (all will be enabled if not
         specified).   

@ENDNODE

@NODE GUI "ExView GUI Reference"

      On startup, ExView's main GUI window will open unless overridden by
   the config file or the command-line options.  If the Workbench is open
   at this time, an @{"AppIcon" link AppIcon} will also be opened.
   
   @{b}The Main GUI@{ub}
   
      @{"[]" link Quit}------------------------------------------
      | @{" Load... " link Load...} @{"  View   " link View} @{" Unload  " link Unload} @{" Iconify " link Iconify} 
      |
      | @{"[---------------<Info Box>---------------]" link InfoBox}
      | @{"[---------------<Mode Box>---------------]" link ModeBox}
      |
      | @{"    Monitors...     " link Monitors...} @{" Select Display...  " link SelectDisplay...}
      |
      | @{"Overscan" link Overscan} [@][-----] @{"AutoSelect Display" link AutoSelectDisplay} [X]
      [---------------------------------------------
   
   ExView also has the following Configuration menu:
      
      [---------------------
      | @{"Double Buffer      " link DoubleBuffer}
      | @{"QuickView          " link QuickView}
      | @{"Auto File-Requester" link AutoFileReq}
      | @{"All Files          " link AllFiles}
      | @{"GUI (On Startup)   " link GUIStartup}
      | --------------------
      | @{"Save               " link Save}
      [---------------------

      Note that all GUI and menu options have keyboard-shortcuts.  For the
   GUI simply press the keys designated by the underlined letters.  The
   menu shortcuts are achieved by pressing and holding Right-Amiga before
   the letters shown.
   
@ENDNODE

@NODE Load... "ExView/GUI: Load..."

      Brings up an ASL file requester for selecting images.  Multiple
   files may be selected by holding down shift and selecting with the
   left mouse button.  If nothing is selected, the contents of the
   current requester directory may be viewed by either clicking View or
   hitting return while in the file box (see @{"Disk Scans" link DiskScan}).  If the
   Configuration Menu's @{"QuickView" link QuickView} option is on, the selection(s) will
   be viewed immediately.  Otherwise, they'll be "passed through" the
   GUI, allowing pre-selection of display attributes.  The image(s) may
   then be viewed at any time with the GUI's View button.
      
      If one or more images are already in memory, the selection(s) will
   be appended to the queue.
      
      Note: while the file requester's up, all ExView features will
   remain fully functional, including the GUI, the Configuration Menu,
   and the @{"AppIcon" link AppIcon}.

@ENDNODE

@NODE View "ExView/GUI: View"

      Views the image currently detailed in the @{"Info Box" link InfoBox}.  Once the
   image is being displayed, ExView's behavior is determined by:
   
   @{b}Left Mouse Button or Space Bar@{ub}
   
      The current image will be unloaded, and the next (if applicable)
   will be processed.
      
      If @{"QuickView" link QuickView} is on, the next image will be displayed immediately,
   without GUI intervention.  Additionally, if the @{"Double Buffer" link DoubleBuffer}
   option is on, there will be a seamless transition from one image to
   the next.
   
   @{b}Right Mouse Button or Backspace Key@{ub}
   
      The GUI will be brought forward, and the current image will be
   preserved in memory.  The display options, etc., may then be
   reconfigured, before viewing the image again at any time.

@ENDNODE

@NODE Unload "ExView/GUI: Unload"

      Causes the current, and all queued images to be flushed from memory.
   Also serves as an "abort" button during @{"Disk-Scans" link DiskScan}.
   
@ENDNODE

@NODE Iconify "ExView/GUI: Iconify"

      Closes the main GUI window, and if images are in memory, prompts
   for them to be either unloaded or viewed.  The GUI may be reopened at
   any time by either double-clicking on the @{"AppIcon" link AppIcon}, or hitting the
   right mouse button while viewing an image.

@ENDNODE

@NODE InfoBox "ExView/GUI: Info Box"

      If ExView is idle, a count of images viewed will be displayed
   here.  Otherwise, this area shows the number and name of the
   current image, and its width, height, and depth.
      
      The numbering system works as follows: If images are queued
   up individually, file-by-file, "<current>/<last>" will be
   displayed.  Whenever a @{"Disk-Scan" link DiskScan} commences (where the boundaries
   are always undefined), either "Scanning..." or, when an image is
   located, "<current> [sub <number>]/<last>" will appear.  The
   "sub" part shows the active image's number produced by the scan,
   from 1, with <current> reflecting the position of the scan itself
   in the explicit, "outer" list of files.  
      
      @{b}Examples@{ub}
         
         "2/5: apicture.iff (320x200x8)"
            
            The image called "apicture.iff" is number 2 of 5
         selected, and is 320x200 pixels in size, and 8 bitplanes
         deep (256 colors).
         
         "3 [sub 5]/3: mypic.ham (320x400xHAM6)
         
            "mypic.ham" is the 5th of an unknown number of images
         scanned from disk, is 320x400 pixels in size, and 6
         bitplanes deep in HAM mode.  The scan itself is the 3rd of
         3 selections, which means that viewing will stop when no
         more images can be located. 

@ENDNODE

@NODE ModeBox "ExView/GUI: Mode Box"

      This area summarizes the display mode to be used with the current
   image, showing the monitor, its resolution/dimensions, and overscan
   type and dimensions if appropriate (i.e., only when the mode's
   dimensions don't exactly match the current overscan-type's).  The mode
   can be selected directly (see @{"Select Display..." link SelectDisplay...}), or dynamically
   with the @{"AutoSelect Display" link AutoSelectDisplay} option.
      
   @{b}Examples@{ub}
      
      "NTSC: 320x200 (GRAPHICS/336x224)"
      
         The current image will be viewed with the NTSC monitor, in a
       resolution of 320x200.  The actual display size is derived from
       the GRAPHICS overscan-type's dimensions of 336x224.
     
      "PAL: 640x512 Laced"
      
         Display will be in PAL, at a resolution of 640x512, interlaced.
      There will be no overscanning; the final display size is derived
      from the shown dimensions.
      
      
      Note that ALL dimensions in the Mode Box are nominal, and don't
   necessarily convey the true dimensions of the image.  Final display
   size is always derived from the nominal dimensions in this box.
      
@ENDNODE

@NODE Monitors... "ExView/GUI: Monitors..."

      Clicking on this will bring up a window containing all of the
   Amiga-native monitors configured on the system, when 2 or more
   exist.  Each selected (checked) monitor can be utilized by ExView
   when viewing images.
      
      This option is nice when you want images to come up in a single
   or limited set of monitors ONLY.

@ENDNODE

@NODE SelectDisplay... "ExView/GUI: Select Display..."

      This option is only available when @{"AutoSelect Display" link AutoSelectDisplay} is switched
   off.  It allows a specific display mode to be chosen, from a list of
   all that are compatible with the current image.  Only modes whose
   monitors are enabled will be displayed (determined by the GUI's
   @{"Monitors" link Monitors...} option).
     
      The mode selected here is treated as the "preferred mode," and
   will be used to view all subsequent images.  Note that the preferred
   mode may need to be temporarily downgraded from time to time on pre-
   AGA Amigas (e.g., a 640x400 preferred mode would change to 320x200
   for images deeper than 4 bitplanes).  Also, if the preferred mode's
   monitor is disabled, it will assume a different monitor (the topmost
   enabled in the Monitors window) for the duration.
   
@ENDNODE

@NODE Overscan "ExView/GUI: Overscan"

      Clicking on this will cycle through ExView's overscan options,
   which include the four basic overscan "types" available on the Amiga.
   The options are:
   
      @{b}NONE@{ub}
         
         Display images in the nominal resolution of the current mode.
      
      @{b}TEXT and GRAPHICS@{ub}
      
         Selects a user-defined overscan type (via SYS:Prefs/Overscan).
      
      @{b}MAXIMUM@{ub}
         
         Selects the largest display fully supported by the OS.
      
      @{b}VIDEO@{ub}
      
         Selects the largest display supported by the hardware.
      
      @{b}AUTO@{ub}
   
         Instructs ExView to scan the above options automatically, and
      select the one which best fits the current image.  This option will
      sometimes produce a special "CUSTOM" display, derived from the
      chosen best-fit type, and TEXT for optimal centering.

@ENDNODE

@NODE AutoSelectDisplay "ExView/GUI: AutoSelect Display"

      Enabling this option causes ExView to scan all available display
   modes and select the one which best fits the current image.  The
   available modes are determined by the GUI's @{"Monitors" link Monitors...} option.

@ENDNODE

@NODE Quit "ExView/GUI: Close-window"

      Clicking this causes ExView to quit.  (If the file requester is open,
   nothing happens.)

@ENDNODE

@NODE DoubleBuffer "ExView/Configuration Menu: Double Buffer"

      This option produces a seamless transition from image to image, by
   making use of a 2nd image-bitmap in memory.  This sequence will consume
   more CHIP memory, but only during the actual transition itself.  Memory
   usage otherwise is unaffected. 

@ENDNODE

@NODE QuickView "ExView/Configuration Menu: QuickView"
      
      QuickView causes images selected with either the @{"AppIcon" link AppIcon} or the
   file requester to be displayed immediately, without GUI intervention.
   This is nice when you don't want to configure the display settings on
   a per-image basis.
   
      Note: When the GUI's iconified, QuickView is forced on.

@ENDNODE

@NODE AutoFileReq "ExView/Configuration Menu: Auto File-Requester"

      This option causes the file requester to open whenever no images
   exist in memory, for continuous viewing.  This can happen when
   ExView is first loaded, or whenever an image queue expires.  The GUI
   may be iconified or not, which is nice when you want ExView to behave
   like a "normal" image-viewer, GUI-less, with continuous file requester
   activity.
   
      Disabling this option puts ExView into "quiet" mode, so that it
   just waits for further instruction when there are no images.

@ENDNODE

@NODE AllFiles "ExView/Configuration Menu: All Files"

      This option causes any subdirectories encountered during a
   @{"Disk-Scan" link DiskScan} to be entered and scanned for pictures.  This option
   allows an entire disk to be viewed by simply selecting its root
   from either the file requester, or the @{"AppIcon" link AppIcon}.

@ENDNODE

@NODE GUIStartup "ExView/Configuration Menu: GUI (On Startup)"

      This option only has meaning at startup time, and it causes the
   GUI to open immediately.  If you deal primarily with the @{"AppIcon" link AppIcon},
   you may want this option saved off (see Configuration Menu/@{"Save" link Save}).

@ENDNODE

@NODE Save "ExView/Configuration Menu: Save (configuration)"

      This saves ExView's current settings to the @{"Config File" link ConfigFile}.
   The following information is saved:
   
      -All settings in the Configuration Menu
      
      -State of the GUI:
         -Which Amiga monitors are enabled
         -The current overscan type
         -The state of the AutoSelect Display option
      
      -The "preferred display-mode" (see GUI/@{"Select Display" link SelectDisplay...})
      
      -The drawer and pattern strings last entered into the file
       requester
      
@ENDNODE

@NODE DiskScan "Disk-Scans"

   Disk-scans are caused by one of three things:
      
      1) files/patterns were entered for FILES/M during shell-startup,
   
      2) one or more directories were dropped on the @{"AppIcon" link AppIcon}, or
      
      3) the current file-requester directory contents are selected for 
      viewing.
   
      To abort a disk-scan, hit the Unload button in the GUI.  NOTE: if
   the @{"Double Buffer" link DoubleBuffer} option is on, an image may remain visible for
   some time before the next is found.  To abort in this situation, hit
   Left-Amiga N/M to get at the GUI, then click Unload.

@ENDNODE

@NODE ConfigFile "The Config. File"

      This file (named "ExView.config") determines the state of ExView at
   startup time.  It's searched for in two places: first, in the location
   of ExView ("EV") itself, then in S:.  Without this file, (i.e., by
   default) ExView starts out as follows:
   
      -GUI is open
      -All options in the Configuration Menu are on, except
       Auto File-Requester
      -Overscan type is set to AUTO
      
      This setup constitutes the standard GUI-mode of operation.

@ENDNODE

@NODE AppIcon "ExView/AppIcon"

      Unless the Workbench is closed, ExView's AppIcon will always open.
   Its functions are as follows:
   
      -Activate and bring forward the GUI, or open it when it's iconified
      -Receive the icons of volumes (disks), directories, and/or files for
       ExView to display (Note: viewing the contents volumes and
       directories may require the Configuration Menu's All Files option
       to be on)

      Note: File(s) dropped on the AppIcon will be appended to the current 
   list of images in memory, if one exists.

@ENDNODE

@NODE Author "Author Note/Info"

   @{b}A Note from the Author:@{ub}
      
      ExView's main attractions are its flexibility, GUI, and ability to
   select which monitors and display modes are used for viewing images.
      
      Originally, it was a crude but very fast ILBM reader, which I decided
   to enhance with the aforementioned abilities.  This, being my first
   "serious" project on the Amiga, has turned out to be quite an undertaking,
   which has taken quite a lot of time and energy!  For this reason, and I
   had to take a break from its development (for the time being anyway),
   which is why it only works with IFF-ILBMs and Amiga-native displays.  In
   this task however (simple as it may be :), I believe ExView's definitely
   one of the more capable viewers around.
      
   @{b}Contacting the Author@{ub}
   
      I you use/like ExView, (or have any other comments), I'd like to hear
   from you!  I can be reached by e-mail at @{b}ryanj@netcom.com@{ub}.
      
      Also, if you wish to report a bug, etc. don't hesitate to contact me.

@ENDNODE

@NODE Legal "Distribution, etc."

   @{b}COPYRIGHT and DISTRIBUTION@{ub}

      The ExView software and documentation are Copyright © 1997
   by Ryan Johnson, All Rights Reserved.  It is being distributed as
   Freeware, and is NOT public domain.  ExView may be freely redistributed
   as long as the following conditions are met:
   
      -The distribution contains the following files, unaltered:
         EV
         EV.info
         ExView.guide
         ExView.guide.info
         
      -No fees beyond reasonable media fees are charged
      
   @{b}DISCLAIMER@{ub}
      
      ExView has been proven to be stable and reliable software.  However,
   the author will not be held responsible for any damages resulting from
   its use or misuse.  This software is provided "AS IS" with no warranty
   of any kind, either expressed or implied.
   
@ENDNODE

@NODE Nod "Acknowledgments"
   
      -Thanks to Charles for the slew of quirky IFFs!
      
      Also:
      
      -SAS/C is a Copyright of SAS Institute Inc.

@ENDNODE
