home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / ansi / tdraw450.arj / THEDRAW.DOC < prev    next >
Encoding:
Text File  |  1992-03-16  |  316.1 KB  |  8,612 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                    TheDraw Version 4.50
  10.         Color and Monochrome Screen Image Generator/Editor
  11.                  Operation Manual
  12.  
  13.  
  14.  
  15.                 COPYRIGHT (C) 1986-1992 by
  16.            TheSoft Programming Services and Ian E. Davis
  17.                   All Rights are Reserved
  18.  
  19.  
  20.  
  21.                TheSoft Programming Services
  22.                    P.O. Box 7657
  23.                   Fremont, CA. 94537-7657
  24.  
  25.  
  26.  
  27.               Written using Turbo Pascal v6.0
  28.  
  29.  
  30.  
  31.  
  32.  
  33.                       PREFACE
  34.  
  35.  
  36.        This document is 149 pages long.  This document is Copyright (C) 1988-
  37.        1992 by TheSoft Programming Services.  All rights are reserved.
  38.  
  39.        The computer software programs  TheDraw  (TM)  and  TheDrawR  (TM) are
  40.        Copyright (C)  1986-1992 by  TheSoft Programming Services.  All rights
  41.        are reserved.
  42.  
  43.        TheDraw and TheDrawR are registered trademarks  of TheSoft Programming
  44.        Services.   Other brand and product names are trademarks or registered
  45.        trademarks of their respective holders.
  46.  
  47.        NOTICE:  An  irresponsible  individual  saw  fit  to  modify  and then
  48.        distribute the  changed copies  of TheDraw.   These  are identified as
  49.        having the altered version numbers of 4.30 and 5.00 typically.   Users
  50.        are  highly  encouraged  to  seek  out  and  delete  any copies of the
  51.        archives TDRAW430 and TDRAW500 they may find.   Steps have  been taken
  52.        to avoid this type of hacking in the future.
  53.  
  54.        This  release  of  TheDraw  was  to  be  v4.10;  however to help avoid
  55.        confusion it is being  distributed as  v4.50.   The latest  release of
  56.        TheDraw may always be found on the following BBS system:
  57.  
  58.       The Great American Dream Machine (sysop Dave Gentry)
  59.       Phone: 415-581-3019
  60.       Fidonet file requests: Node 1:215/215, Magic name "THEDRAW"
  61.  
  62.       Downloading the TDRAW450.ZIP archive:
  63.         To enter "<M>essage Base & Download Menus"      Type [M]
  64.              "<A> IBM and Downloads"            Type [A]
  65.              "<D>ownload Files"             Type [D]
  66.              "<3> ALLDIRS.ZIP and TDRAW450.ZIP"     Type [3]
  67.  
  68.       Leaving a message inquiry:
  69.         To enter "<M>essage Base & Download Menus"      Type [M]
  70.              "<B> E-Mail Messages"              Type [B]
  71.              "<P>ost Private Mail"              Type [P]
  72.              Address message to "Ian Davis"
  73.  
  74.        Although mentioned  elsewhere in  this document,  we urge  you here to
  75.        please write if you ever find a suspicious copy of  TheDraw.   Look to
  76.        the program  history section.  If an entry for your release of TheDraw
  77.        seems spliced in, please notify TheSoft.  The sooner we find out about
  78.        "hacks", the sooner corrective action can take place.
  79.  
  80.        Lastly, with  this release our address for placing orders was changed.
  81.        Please send  all  new  orders  and  inquiries  to  TheSoft Programming
  82.        Services, P.O.  Box 7657, Fremont, CA. 94537-7657.  The old address at
  83.        1929 Whitecliff Court,  Walnut  Creek,  CA,  94596  will  still accept
  84.        orders however for quite some time (such is the shareware business).
  85.  
  86.  
  87.        TheDraw v4.50              Preface                i
  88.  
  89.  
  90.  
  91.  
  92.                       LICENSE
  93.  
  94.  
  95.        TheDraw is  not a  Public Domain  program and is not free.  TheDraw is
  96.        copyright (C) 1986-1992 by TheSoft Programming Services.
  97.  
  98.        Non-registered users of this  program are  granted a  limited two-week
  99.        license  to  TheDraw  to  evaluate  the programs suitability for their
  100.        requirements.  Any usage of TheDraw beyond the  evaluation time period
  101.        requires registration  of each copy of the program used.   Use of non-
  102.        registered copies of TheDraw beyond the original evaluation  period is
  103.        prohibited.
  104.  
  105.        TheDraw may  NOT be modified in any respect, for any reason, including
  106.        but  not  limited   to,   de-compiling,   disassembling,   or  reverse
  107.        engineering of  the program.   The opening title screen, help screens,
  108.        and all  other  proprietary  program  output  must  never  be altered,
  109.        removed, bypassed or modified by any means.
  110.  
  111.        You are free to distribute the PUBLICLY AVAILABLE shareware version of
  112.        TheDraw to others subject  to  the  above  restrictions  and  also the
  113.        following:
  114.  
  115.       A.   No fee is charged for its use.
  116.  
  117.       B.   No renumeration  may be  accepted for  TheDraw.  This does not
  118.            apply to computer access charges the system operators (Sysops)
  119.            of  or  organizations  owning  bulletin  board systems, online
  120.            services, etc... may charge subscribers.
  121.  
  122.       C.   TheDraw must be copied in unaltered form, complete  with files
  123.            containing  license  information,  the  FULL documentation and
  124.            all  accompanying   files.      The   self-extracting  archive
  125.            distributed by TheSoft must not be altered in ANY respect.
  126.  
  127.       D.   All shareware  houses/distribution firms  must make explicitly
  128.            clear that  the  diskette  purchase  containing  any shareware
  129.            program has NOT registered the shareware with TheSoft.
  130.  
  131.        System Operators  may make  TheDraw available for download only if the
  132.        above conditions are met.  The  self-extracting archive (TDRAW450.EXE)
  133.        distributed by  TheSoft or an equivalent archive may be made available
  134.        only in complete form.    Refer  to  section  FILE  LISTING  to verify
  135.        complete  package  contents.    If  the contents appear altered or not
  136.        complete, you may obtain the latest  release of  TheDraw directly from
  137.        TheSoft  by  sending  a  formatted  diskette  labeled  with  the  word
  138.        "THEDRAW".  Please include $5 for handling.
  139.  
  140.        An alternate means of obtains the latest shareware  archive is calling
  141.        The Great  American Dream  Machine at (510) 581-3019.  See preface for
  142.        download instructions and how to leave comments.
  143.  
  144.  
  145.  
  146.        TheDraw v4.50              License               ii
  147.  
  148.  
  149.  
  150.  
  151.  
  152.        Commercial distributors of "Public  Domain", "Shareware",  and/or User
  153.        Supported  software  may  distribute  TheDraw  subject  to  the  above
  154.        conditions  only  after  obtaining  WRITTEN  permission  from  TheSoft
  155.        Programming  Services.     This  condition  statement  supersedes  all
  156.        previous agreements.
  157.  
  158.        Please refer to the section entitled registration/ordering section for
  159.        additional information  on registration,  corporate site-licensing and
  160.        related topics.
  161.  
  162.        -----
  163.  
  164.        The above license statement does not  apply to  the REGISTERED version
  165.        of TheDraw.   The  registered software of TheSoft Programming Services
  166.        is protected  under United  States Copyright  and Trademark  Laws.  It
  167.        must be treated just like a book with certain exceptions as follows:
  168.  
  169.        A. TheSoft  Programming  Services  authorizes  the  making of archival
  170.       copies  of  the  registered  software  for  the  sole   purpose  of
  171.       backing-up  your  software  and  protecting  your  investment  from
  172.       possible loss.
  173.  
  174.        B. The  medium  on  which  the  registered  software  is  recorded  is
  175.       transferred to the customer, but not the title to the software.
  176.  
  177.        C. The  customer  may  resell  or  distribute unmodified copies of the
  178.       registered  software  provided  the  customer  has  purchased  from
  179.       TheSoft Programming  one copy  of the  registered software for each
  180.       one sold or distributed.  The  provisions of  this software license
  181.       shall also  be applicable  to third parties receiving copies of the
  182.       registered software from the customer.
  183.  
  184.        D. By saying, "just like a book",  TheSoft Programming  means that the
  185.       registered software  may be used by any number of people and may be
  186.       freely moved from one computer location to another so long as there
  187.       is ABSOLUTELY NO POSSIBILITY of it being used at one location while
  188.       being used at another.  Just like a book that cannot be read by two
  189.       different people in two different locations at the same time.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.        TheDraw v4.50              License              iii
  206.  
  207.  
  208.  
  209.  
  210.                    ORDERING INFORMATION
  211.  
  212.  
  213.        Once a registered user of TheDraw, you are free to utilize the program
  214.        as often as you wish.  Other than having a clear conscience, there are
  215.        many advantages  to registered.   You can opt to receive in the mail a
  216.        registered  version  of  TheDraw  with  configurable  editor commands,
  217.        enhanced editing  facilities, context sensitive pop-up help, and macro
  218.        keys.  The registered version support  utility routines  (uncrunch and
  219.        display) offer  Bios write  capability and  snow/hash prevention.  You
  220.        are also notified via mail  when  significant  enhancements  have been
  221.        made to  the program.  Once registered, all upgrades are available for
  222.        a $5 upgrade fee plus the original TheDraw diskette (see below).
  223.  
  224.        There are two ways to register.    The  first  is  by  sending  $15 to
  225.        TheSoft Programming  Services along  with a registration form.  You do
  226.        NOT receive the registered version of  TheDraw for  this registration,
  227.        but  are  notified  of  upgrades.    For  an  additional  $5  plus  $2
  228.        shipping/handling, we send you  the  latest  shareware  and registered
  229.        versions of  TheDraw on  disk along  with documentation  (on disk) and
  230.        utilities. If you want to receive TheDraw on a 3.5 inch diskette (720k
  231.        format), add an additional $3 for each diskette ordered.
  232.  
  233.        If unsure, you can receive the latest shareware version of TheDraw for
  234.        evaluation by sending a formatted diskette plus $5 for handling.
  235.  
  236.        Please use the following form or print the included file "MAILER" when
  237.        placing an order.
  238.  
  239.        -----
  240.        NON U.S.  residents, please  send checks drawn on U.S. funds.  We will
  241.        accept non U.S. currency, but you must include  an additional  $5 (US)
  242.        to cover  exchange handling.   Also add $5 overseas shipping/handling.
  243.        Canadians can obtain postal money orders in U.S. denomination easily.
  244.  
  245.  
  246.        UPGRADING TO LATEST VERSION OF THEDRAW
  247.        ──────────────────────────────────────────────────────────────────────
  248.        Users who have registered (and received a diskette) may upgrade to the
  249.        latest version  of TheDraw  by sending in their TheDraw ORIGINAL DISK,
  250.        along with $5 plus $2 (shipping/handling).   Please  use the following
  251.        order  form  when  upgrading.    If  there has been an address change,
  252.        please indicate so on the order form.
  253.  
  254.        The original disk must be returned and contain  the registered version
  255.        of  TheDraw.    The  disk  will  be reformatted and the current Master
  256.        copied onto it.  Any  disk  in  poor  condition  will  be  replaced by
  257.        TheSoft.   If the  serial number label is missing or the diskette does
  258.        not contain the registered version  of  TheDraw,  the  update  will be
  259.        refused and the diskette returned unchanged.
  260.  
  261.  
  262.  
  263.  
  264.        TheDraw v4.50             Ordering               iv
  265.  
  266.  
  267.  
  268.  
  269.  
  270.        Please Remit To:    TheSoft Programming Services
  271.                P.O. Box 7657
  272.                Fremont, CA. 94537-7657
  273.  
  274.        Qty.    Description                      Each    Total
  275.  
  276.        ____    TheDraw Upgrade to version 4.50          $5.00   ________
  277.            (You must return your original diskette
  278.         containing your copy of the registered
  279.         version of TheDraw)
  280.  
  281.        ____    TheDraw Evaluation Copy              $5.00   ________
  282.            (You supply diskette, no registration)
  283.  
  284.        ____    TheDraw Registration                $15.00   ________
  285.            (Does not include a new diskette with the
  286.         registered version of TheDraw)
  287.  
  288.        ____    TheDraw Registration with 5.25" diskette    $20.00   ________
  289.            (Registration including diskette with the
  290.         latest shareware and registered program
  291.         versions along with manual on diskette)
  292.  
  293.        ____    TheDraw Registration with 3.5" diskette     $23.00   ________
  294.            (same as above except on new size media)
  295.                              Subtotal   ________
  296.  
  297.       (Site License discount - see below)        Discount [-________]
  298.  
  299.       (U.S. orders add $2 shipping & handling)       Shipping   ________
  300.       (Foreign orders add $5 shipping)
  301.  
  302.       (Add $5 for Foreign Currency Exchange)    Misc. Charges   ________
  303.  
  304.       (CA residents please add sales tax)             Tax   ________
  305.  
  306.                                 TOTAL  $________
  307.  
  308.       Name: ________________________________________________________
  309.  
  310.        Company: ________________________________________________________
  311.  
  312.        Address: ________________________________________________________
  313.  
  314.         ________________________________________________________
  315.  
  316.         ________________________________________________________
  317.  
  318.  
  319.        All checks  must be  drawn on  U.S. Funds  in U.S. Dollars.  Sorry, no
  320.        C.O.D. orders will be accepted.
  321.  
  322.  
  323.        TheDraw v4.50             Ordering                v
  324.  
  325.  
  326.  
  327.  
  328.                    SITE LICENSE
  329.  
  330.  
  331.        If you plan on using TheDraw in a corporate, government  office, or in
  332.        any  business  environment  whatsoever,  registration is mandatory and
  333.        the two week limited license is  strictly enforced.   For  such users,
  334.        quantity discounts are available under a Site License agreement.
  335.  
  336.        One MASTER  copy of  TheDraw (with  documentation) will be provided on
  337.        diskette.   The site is responsible for printing the documentation and
  338.        copying the  diskettes for distribution.   Backups of the MASTER disks
  339.        do not count towards the total copies of the license.
  340.  
  341.        With all site licenses, the site will supply  one contact  person with
  342.        which all correspondence will be made.  If a problem should occur, the
  343.        contact person will call and make  arrangements to  get a  fix for the
  344.        glitch.   Updates to  TheDraw will be forwarded to the contact person.
  345.        When filling out the order form, use the contact persons name to avoid
  346.        confusion at a later date.
  347.  
  348.  
  349.        Following is the current site license discount rates:
  350.  
  351.                  TOTAL COPIES     DISCOUNT
  352.                 1 - 4       none
  353.                 5 - 10      10%
  354.                    11 - 20      20%
  355.                    21 - 30      30%
  356.                    31 - 50      40%
  357.                    51 - 100     50%
  358.                   101+          60%
  359.  
  360.  
  361.        NOTE:   All discounts and prices are subject to change without notice.
  362.            Also note that  discounts  are  not  cumulative  and  apply to
  363.            separate orders only.
  364.  
  365.  
  366.        PURCHASE ORDER TERMS AND REQUIREMENTS
  367.        _____________________________________
  368.  
  369.        Purchase Orders less than $100 must be pre-paid.
  370.  
  371.        Terms are net 30 days.
  372.        Freight is prepaid by TheSoft.
  373.        Lead time: Stock items.
  374.  
  375.        Tax exceptions:   Include  appropriate documentation.  Contact TheSoft
  376.        for voice verification if required.
  377.  
  378.  
  379.  
  380.  
  381.  
  382.        TheDraw v4.50          Site Licensing            vi
  383.  
  384.  
  385.  
  386.  
  387.                      WARRANTY
  388.  
  389.  
  390.        TheDraw is provided AS IS without any warranty,  expressed or implied.
  391.        This  includes  without  limitation  the  fitfulness  to  a particular
  392.        purpose or application and any warranties of merchantability.
  393.  
  394.        While we tried to be as through as  possible while  debugging TheDraw,
  395.        TheSoft  Programming  Services  shall  not  be liable for any damages,
  396.        whether direct, indirect, special,  or  consequential  arising  from a
  397.        failure of  this program  or accompanying files to operate in a manner
  398.        desired by the user.  TheSoft Programming Services shall not be liable
  399.        for any  damage to  data or  property which  may by caused directly or
  400.        indirectly by use of this program.
  401.  
  402.        In no event will TheSoft Programming Services be liable to you for any
  403.        damages, including  any lost profits, lost savings or other incidental
  404.        or consequential damages arising out of your use  or inability  to use
  405.        the program, or for any claim by any other party.
  406.  
  407.        -----
  408.  
  409.        If  you  have  a  problem  with  TheDraw please feel free to write and
  410.        describe the situation.  Registered users,  please include  the serial
  411.        number found on your diskette.
  412.  
  413.        To  those  people  who  have  registered (with diskette), the physical
  414.        diskette is warranted against defects in materials and workmanship for
  415.        a period  of 60  days from  date of shipment by TheSoft.  Any returned
  416.        disks found damaged or bad will be replaced at no charge.
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.        TheDraw v4.50             Warranty              vii
  442.  
  443.  
  444.  
  445.  
  446.                  TABLE OF CONTENTS
  447.  
  448.  
  449.        Preface ...................................................... i
  450.  
  451.        License
  452.       Single User License ....................................... ii
  453.       Giving out Copies ......................................... ii
  454.       System Operators (Sysops) Info ............................ ii
  455.       Software Distributors - Read this ......................... iii
  456.       Registered Version License Agreement ...................... iii
  457.  
  458.        Ordering Information
  459.       Registration .............................................. iv
  460.          Upgrading to Latest Version of TheDraw ................. iv
  461.          Registration Only (no diskette) ........................ iv
  462.          Registration (diskette sent out) ....................... iv
  463.          Getting a Trial Copy ................................... iv
  464.          Getting a 3.5 inch diskette ............................ iv
  465.       Invoice Order Form ........................................ v
  466.       Site Licensing ............................................ vi
  467.          Bulk Order Discounts ................................... vi
  468.       Purchase Order Terms and Requirements ..................... vi
  469.          Tax Exceptions ......................................... vi
  470.  
  471.        Warranty ..................................................... vii
  472.  
  473.        Introduction ................................................. 1
  474.  
  475.        Definitions .................................................. 3
  476.  
  477.        System Requirements .......................................... 4
  478.       Multitasking Environments ................................. 4
  479.  
  480.        Getting Started .............................................. 5
  481.       File Listing .............................................. 5
  482.       Installing TheDraw ........................................ 6
  483.       Customizing TheDraw ....................................... 6
  484.       Starting TheDraw .......................................... 7
  485.       Leaving/Exiting TheDraw ................................... 7
  486.       Creating your First Screen ................................ 7
  487.          Saving your First Screen ............................... 8
  488.          Exiting TheDraw and Viewing your First Screen .......... 9
  489.          Egads!  What Happened? ................................. 9
  490.       Editing your First Screen ................................. 9
  491.          Changing Colors ........................................ 10
  492.          Painting the Screen .................................... 10
  493.       Making your Second TheDraw Screen ......................... 11
  494.          Drawing Lines .......................................... 11
  495.          Marking a Block ........................................ 12
  496.          Using Sprite mode ...................................... 13
  497.  
  498.  
  499.  
  500.        TheDraw v4.50                          viii
  501.  
  502.  
  503.  
  504.  
  505.       Animating your Second TheDraw Screen ...................... 15
  506.          Selecting a Scan Pattern ............................... 15
  507.          Viewing the Animation Sequence ......................... 16
  508.          Saving Animation ....................................... 16
  509.       The Example Files ......................................... 17
  510.  
  511.        Operating TheDraw ............................................ 19
  512.       Command Line Filespecs .................................... 19
  513.       The Status Line ........................................... 19
  514.       HELP! ..................................................... 20
  515.       Cursor Control ............................................ 20
  516.       Mouse Control ............................................. 21
  517.       Command Summary ........................................... 22
  518.  
  519.        The Animation System ......................................... 23
  520.       What is Animation? ........................................ 23
  521.       Animation Basics .......................................... 24
  522.       A Simple Example .......................................... 24
  523.       Making a Block Move ....................................... 25
  524.       Easy Animation ............................................ 27
  525.          Animation Scan Patterns ................................ 27
  526.          Recording Cursor Movements ............................. 28
  527.       Editing and Deleting Animation Entries .................... 28
  528.          Changing your Animation Scan Pattern ................... 28
  529.       Advanced Animation Editing ................................ 29
  530.          Editing Partial Animation Sequences .................... 29
  531.         Animation Limiting .................................. 29
  532.         Animation Markers ................................... 30
  533.          Ansi Include Files ..................................... 30
  534.          Making Custom User Ansi Sequences ...................... 30
  535.       Tricks and Techniques ..................................... 31
  536.          Use of Colors .......................................... 31
  537.          Shading ................................................ 31
  538.          Shadowing .............................................. 32
  539.          Pausing ................................................ 33
  540.       Pitfalls and Limitations .................................. 33
  541.  
  542.        Tips and Examples for Programmers ............................ 34
  543.       Programming in Assembler .................................. 34
  544.       Programming in Pascal ..................................... 36
  545.          Turbo Pascal v4.0 through v5.5 ......................... 38
  546.          Turbo Pascal v6.0 ...................................... 40
  547.       Programming in C .......................................... 41
  548.          Using Object Files with C .............................. 43
  549.       Programming in Standard Basic ............................. 44
  550.       Programming in Microsoft QuickBasic v4.0 and v4.5 ......... 45
  551.          Making and Using Quick Libraries ....................... 46
  552.          The Display Routines ................................... 47
  553.          Command Line Compilation ............................... 50
  554.       Programming in Clipper(tm) ................................ 51
  555.  
  556.  
  557.  
  558.  
  559.        TheDraw v4.50                            ix
  560.  
  561.  
  562.  
  563.  
  564.        Pull-Down Menu System ........................................ 55
  565.       The FILES Menu ............................................ 55
  566.       The GLOBAL Menu ........................................... 57
  567.       The OPTIONS Menu .......................................... 58
  568.          Setup Default Options .................................. 59
  569.       The SCREEN Menu ........................................... 61
  570.       The FONTS Menu ............................................ 63
  571.          Standard Font .......................................... 63
  572.          Choosing a Font Outline ................................ 63
  573.          Font Selection ......................................... 64
  574.       The ANIMATION Menu ........................................ 64
  575.       The COLOR Menu ............................................ 66
  576.       The TOGGLES Menu .......................................... 67
  577.  
  578.        TheDraw Keyboard Commands .................................... 69
  579.       Alt-A  Change Text Color Attributes ....................... 69
  580.       Alt-B  Block Action Commands .............................. 70
  581.            Copy a Block ..................................... 71
  582.            Move a Block ..................................... 71
  583.            Fill a Block ..................................... 72
  584.            Block Text Operations ............................ 73
  585.            Delete a Block ................................... 74
  586.            Erase a Block .................................... 74
  587.            Block Replace Operations ......................... 74
  588.            Load a Block (normal mode only) .................. 75
  589.            Save a Block (normal mode only) .................. 75
  590.            Rescan a Block (animation mode only) ............. 75
  591.       Alt-C  Clear Current Screen ............................... 75
  592.       Alt-D  Set Default Clear Screen Color ..................... 76
  593.       Alt-E  Change Page Layer Edit Screen ...................... 76
  594.            Sprite Editing ................................... 76
  595.       Alt-F  View Function Key Sets ............................. 78
  596.       Alt-G  Global Commands .................................... 78
  597.            Copy Screen ...................................... 79
  598.            Move/Rotate Screen ............................... 79
  599.            Fill Screen ...................................... 79
  600.            Global Text Operations ........................... 80
  601.            Global Replace Operations ........................ 81
  602.       Alt-H  Display Help Information ........................... 81
  603.       Alt-I  Insert a Line ...................................... 82
  604.       ALT-J  Animation Options .................................. 82
  605.            From Normal Edit Mode ............................ 82
  606.            From Animator Mode ............................... 85
  607.              Include - Specify Animation Include Files ...... 85
  608.                Ansi Music ................................... 86
  609.              User_Seq - Specify User Control Sequences ...... 86
  610.              Limit - Specify Animation Limiting ............. 87
  611.              Marker - Specify Animation Markers ............. 88
  612.              Movement - Toggle Storage of Cursor Movement ... 89
  613.              Normal - Convert to Normal Edit Mode ........... 89
  614.              Rescan - Rescan All Screens for New Sequence ... 89
  615.              Pause - Animation Pausing ...................... 89
  616.  
  617.  
  618.        TheDraw v4.50                             x
  619.  
  620.  
  621.  
  622.  
  623.       Alt-K  Delete a File ...................................... 90
  624.       Alt-L  Load Screen from Disk .............................. 90
  625.       Alt-M  Select Draw Mode (toggle) .......................... 92
  626.       Alt-N  Ruler .............................................. 92
  627.       Alt-O  Change Drive/Sub Directory ......................... 92
  628.       Alt-P  Paint/Fill Commands ................................ 93
  629.       Alt-Q  Redraw Screen (animator mode only) ................. 93
  630.       Alt-R  Restore/Undo Changes ............................... 94
  631.       Alt-S  Save Screen to Disk ................................ 94
  632.            Ansi Text (.ANS) ................................. 94
  633.            Ascii Text (.ASC) ................................ 95
  634.            Assembly Language (.ASM) ......................... 95
  635.            Binary Screen Dump (.BIN) ........................ 96
  636.            Basic BSave Screen Dump (.BSV) ................... 96
  637.            Dos COM Files (.COM) ............................. 96
  638.            Turbo Pascal (.PAS) .............................. 96
  639.            Modern C (.H) .................................... 96
  640.            Intel Compatible Object Code (.OBJ) .............. 97
  641.               Object File Data Formats ...................... 98
  642.            TheDraw Setup Save (.TD) ......................... 98
  643.       Alt-T  Tab Setup .......................................... 99
  644.       Alt-U  Use Color under Cursor ............................. 99
  645.       Alt-V  View a Screen (not load) ........................... 100
  646.       Alt-W  Edit Character (animator mode only) ................ 100
  647.       Alt-X  Exit TheDraw ....................................... 100
  648.       Alt-Y  Delete Current Line ................................ 101
  649.       Alt-Z  Erase Cursor Character (animator mode only) ........ 101
  650.  
  651.       ALT-[LEFT]  Delete Current Column ......................... 101
  652.       ALT-[RIGHT] Insert a Column ............................... 101
  653.       Alt--  Toggle Color Draw Mode ............................. 101
  654.       Alt-=  Toggle Macro Learning Mode ......................... 102
  655.  
  656.       Alternate Color Change Options (CTRL-UP/DOWN/LEFT/RIGHT) .. 102
  657.       Solid Spaces (SHIFT-SPACE) ................................ 103
  658.       Full Screen Editing (CTRL-PRTSC) .......................... 103
  659.  
  660.        The Font Editor (TDFONTS) .................................... 104
  661.       Running TDFonts ........................................... 104
  662.       Viewing a Font ............................................ 105
  663.       Changing a Font ........................................... 105
  664.          Delete Symbol .......................................... 106
  665.          Copy Symbol ............................................ 106
  666.          Modify Symbol .......................................... 106
  667.         Edit Modes .......................................... 107
  668.         Reserved Characters ................................. 107
  669.       Making New Fonts .......................................... 108
  670.       Moving a Font ............................................. 108
  671.       Renaming Fonts ............................................ 109
  672.       Deleting a Font ........................................... 109
  673.       Font Importing ............................................ 109
  674.       Font Exporting ............................................ 109
  675.  
  676.  
  677.        TheDraw v4.50                            xi
  678.  
  679.  
  680.  
  681.  
  682.        The Presentation Program (THEPP) ............................. 110
  683.  
  684.        The Setup Utility ............................................ 114
  685.       Why Setup? ................................................ 114
  686.       Display Windows and Selecting Options ..................... 115
  687.       Saving and Aborting Changes ............................... 115
  688.       Running Setup ............................................. 115
  689.          Main Menu .............................................. 115
  690.         Editor Configuration ................................ 116
  691.            Changing a key entry ............................. 116
  692.            Allowed Keystrokes ............................... 116
  693.         Keyboard Customize .................................. 117
  694.         Screen Mode ......................................... 117
  695.         Colors .............................................. 119
  696.         Files Directory ..................................... 119
  697.         Memory Usage ........................................ 120
  698.         Defaults ............................................ 120
  699.         Quit/Save ........................................... 121
  700.  
  701.        Appendix A:  Setting up CONFIG.SYS ........................... 122
  702.  
  703.        Appendix B:  Extended/Special Character Set .................. 123
  704.  
  705.        Appendix C:  Common Questions & Answers ...................... 124
  706.  
  707.        Revision History ............................................. 128
  708.  
  709.        The Future ................................................... 135
  710.  
  711.        Comments ..................................................... 136
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.        TheDraw v4.50                           xii
  737.  
  738.  
  739.  
  740.  
  741.  
  742.                    INTRODUCTION
  743.  
  744.  
  745.        TheDraw is a powerful  screen  image  generator/editor  for  color and
  746.        monochrome  video  users.    What  does that mean?  Literally, TheDraw
  747.        makes designing and figuring out a video screen display childs play.
  748.  
  749.        Its basic premise is this: be easy to use.   The most  novice computer
  750.        user can  make an  Ansi text file screen with TheDraw in only minutes.
  751.        From that point on,  you can  explore and  use more  of the horsepower
  752.        available in TheDraw.
  753.  
  754.        Someone is probably saying "it edits screens...  big deal".  This type
  755.        of person has never known the agony of creating a good looking menu or
  756.        display for a program (assuming he/she programs), making a fancy batch
  757.        file intro screen, or  having to  quickly putting  together a computer
  758.        presentation for the boss.
  759.  
  760.        The biggest  problem facing  most people is we really do not know what
  761.        will look good until  we  see  it.    Manually  editing  a  screen can
  762.        literally  take  hours.    With  TheDraw,  you can free form until you
  763.        really know what is perfect.    With  the  picture  in  mind,  you can
  764.        quickly develop  whatever is necessary or instruct TheDraw to create a
  765.        data file which can be used.  Instead of hours, making a  screen takes
  766.        minutes.
  767.  
  768.        For  the  curious,  TheDraw  can  transform your masterpiece into data
  769.        files with the following formats:
  770.  
  771.          ANSI color text (useful in batch files, BBS's, etc...)
  772.          ASCII text (compatible with word processors and text editors)
  773.          BINARY files (generic, useful in most everything)
  774.          BSAVE (for Basic)
  775.          COM files (actual separate programs executable directly
  776.         by Dos - Great for batch files and presentations)
  777.          ASSEMBLER (for the die-hard coder)
  778.          TURBO PASCAL (directly compilable source code)
  779.          C (format is for Turbo C specifically)
  780.          OBJECT (Intel format compatible, suitable for linking.  Four
  781.         varieties available for Large/Small generic data model, Turbo
  782.         Pascal v4.0+, and QuickBasic v4.0+)
  783.          THEDRAW (custom storage format for FAST loading and saving)
  784.  
  785.        TheDraw was  long ago originally written as an improvement to a simple
  786.        program named AnsiDraw written by Amrich  Enterprises.   Both programs
  787.        provided similar  operation, with  TheDraw giving a much enhanced user
  788.        interface.
  789.  
  790.        TheDraw is  now vastly  improved over  the abilities  of AnsiDraw, and
  791.        most other  screen editors.   It  is compatible with systems that have
  792.        250k of free memory available.  Monochrome and Color monitor users are
  793.  
  794.  
  795.        TheDraw v4.50           Introduction              1
  796.  
  797.  
  798.  
  799.  
  800.        supported,  and  a  special  keyboard  driver  allows  you to redefine
  801.        keystrokes that do not operate properly or are used by  other programs
  802.        (registered  version).    If  you  have  an  EGA or VGA video display,
  803.        TheDraw permits editing on 43 or 50 line screens respectfully.
  804.  
  805.        Ascii fonts are fully supported.   These are  large scale  letters and
  806.        symbols which  span multiple lines.  Great for making welcome messages
  807.        or notes of importance.
  808.  
  809.        Another feature  TheDraw  fully  supports  is  ANIMATION.    With this
  810.        facility you can develop quick and dirty presentations, or simply make
  811.        a generic screen appear with pizzazz.  You can either let TheDraw make
  812.        an animation  sequence from  a static  image, or  one can be made from
  813.        scratch; thus letting you fully control  the appearance  of your work.
  814.        TheDraw gives  you a  maximum of 16000 separate animation "entries" to
  815.        handle the most complex job.  The final result can be saved  either as
  816.        an ANSI file (Ansi Animation) or TheDraw format file.  See the section
  817.        entitled "The Animation System" for more information.
  818.  
  819.        To get started using TheDraw right away, refer to the section entitled
  820.        "Getting Started with TheDraw".  This section describes how to install
  821.        and run TheDraw.
  822.  
  823.        Enjoy!
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.        TheDraw v4.50           Introduction              2
  855.  
  856.  
  857.  
  858.  
  859.  
  860.                     DEFINITIONS
  861.  
  862.  
  863.        Throughout  this  documentation  you  may  run  across  the occasional
  864.        enigmatic  word  that  needs  explaining.      The  following are some
  865.        examples you might come across:
  866.  
  867.          enigmatic      - mysterious or cryptic
  868.  
  869.          [ENTER] or C/R - This represents the return key on the keyboard.
  870.                   If you see this in the text, press the Enter
  871.                   key; do not type the actual letters.
  872.  
  873.          ESC or [ESC]   - Means to press the ESC key on the keyboard.
  874.  
  875.          [letter]       - Means to press the  actual key  marked 'letter'
  876.                   on your  keyboard.  ie: [L]oad, [L], or [L]left
  877.                   all mean press the letter 'L' key.
  878.  
  879.          Alt-<letter>   - Alt- is always followed by another character.
  880.            or             Together, this symbol means to first press and
  881.          [ALT-<letter>]   hold down the  ALT  key  on  the  keyboard then
  882.                   type the  letter key following it.  ie: [ALT-A]
  883.                   means hold ALT then press 'A'.
  884.  
  885.          Ctrl-<letter>  - This is executed the same as the ALT key.
  886.          [CTRL-<letter>]  Press and hold down the CTRL then hit the
  887.            or             letter following.  ie:  CTRL-A and ^A mean the
  888.          ^<letter>        same thing - hold CTRL then press 'A'.
  889.  
  890.          [LEFT] [RIGHT] - Means to press the corresponding keypad arrow
  891.          [UP] [DOWN]      key on your keyboard.  Similar to the [letter]
  892.          [TAB] etc...     example shown above.  ie: [UP] means to press
  893.                   the up arrow key.
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.        TheDraw v4.50            Definitions              3
  914.  
  915.  
  916.  
  917.  
  918.  
  919.                 SYSTEM REQUIREMENTS
  920.  
  921.  
  922.        TheDraw requires an IBM PC/XT/AT or close compatible running MsDos 2.0
  923.        or  higher.      In  addition,  a monochrome adapter or color graphics
  924.        display adapter (CGA, EGA, or  VGA)  plus  monitor  is  needed  to run
  925.        properly.
  926.  
  927.        In a minimum configuration, 250 kilobytes of free memory are required.
  928.        The maximum memory usage is  430k  of  memory  (8  page  layers, 16000
  929.        animation  entries).    TheDraw  will  always  attempt to allocate all
  930.        available memory up to the limits specified via the Setup utility.
  931.  
  932.  
  933.  
  934.        MULTITASKING ENVIRONMENTS
  935.        ──────────────────────────────────────────────────────────────────────
  936.        TheDraw can  be  used  under  multitasking  or  windowing environments
  937.        provided  the  full  video  screen  is  allocated  to it.  The program
  938.        directly accesses video memory  and  the  keyboard  hardware  for some
  939.        functions.   TheDraw does  not use any high resolution graphics in its
  940.        operation.
  941.  
  942.        TheDraw  is  known  to  operate  under  Double  Dos  except  for minor
  943.        problems.    Double  Dos  disables certain keyboard sequences (notably
  944.        Ctrl-PrtSc).  For this situation, people  with the  registered version
  945.        of TheDraw can use the Setup utility to redefine the function of Ctrl-
  946.        Prtsc to another key.
  947.  
  948.        TheDraw operates under Microsoft Windows and  Desqview provided memory
  949.        and video requirements (as mentioned above) are taken care of.
  950.  
  951.  
  952.        Note:    It is easy to cause problems with some window environments if
  953.         the user wishes.  Working  in  another  window  while TheDraw
  954.         attempts  to  refresh  its  screen  may result in information
  955.         being overwritten.  Be warned.
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.        TheDraw v4.50        System Requirements              4
  973.  
  974.  
  975.  
  976.  
  977.  
  978.                   GETTING STARTED
  979.  
  980.  
  981.        Setting up TheDraw to operate on your computer is fairly easy.  If you
  982.        received TheDraw  on diskette,  we suggest  you backup the disk before
  983.        proceeding.  It never hurts to play things safe.
  984.  
  985.        On registered diskettes obtained  from  TheSoft  a  batch  file called
  986.        INSTALL.BAT is  included to  simplify installation.  The INSTALL batch
  987.        file is not bundled with the shareware version of TheDraw.
  988.  
  989.  
  990.        FILE LISTING
  991.        ──────────────────────────────────────────────────────────────────────
  992.        The following briefly lists  those files  included with  the shareware
  993.        version of TheDraw:
  994.  
  995.  
  996.        WHATSNEW.DOC      Brief listing of new additions for this release.
  997.        MAILER        A registration form which when printed can be easily
  998.              folded and mailed.  No envelope is needed.
  999.  
  1000.        PRINTDOC.EXE      Program to  simplify printing  out this documention.
  1001.              Type "PRINTDOC [enter]" from the dos prompt.
  1002.        SETUP.EXE     TheDraw setup utility.  See following section below.
  1003.        TDFONTS.EXE       TheDraw font editor utility.
  1004.        TDFONTS.TDF       TheDraw font database file.
  1005.        THEDRAW.EXE       Shareware version of TheDraw
  1006.        THEDRAW.DOC       This documentation file.
  1007.  
  1008.        SHUTTLE2.ANS  \
  1009.        DEMO.TD        \  Example demonstration files.
  1010.        SHADING.TD     /  See section "THE DEMO FILES" for descriptions.
  1011.        EFFECTS.BIN   /
  1012.  
  1013.        UNCRUNCH.ASM  \   Implementations of the algorithm needed to display
  1014.        UNCRUNCH.PAS   \  screen images compressed (crunched) by TheDraw.
  1015.        UNCRUNCH.H      > The first is for assembly language, the second for
  1016.        UNCRUN_N.OBJ   /  Turbo Pascal, the third has external C declarations
  1017.        UNCRUN_F.OBJ  /   linking to  routines in the UNCRUN_N/UNCRUN_F files.
  1018.              Refer to  "PROGRAMMERS  PROGRAMMING  TIPS"  for more
  1019.              information.
  1020.  
  1021.        QB4UTIL.BI        QuickBasic 4.x display routine declarations.
  1022.        QB4UTIL.LIB       QuickBasic 4.x display routines in library form.
  1023.  
  1024.        MAKEQLB.BAT       Produces  Quick  Libraries  (.QLB  and .LIB) for use
  1025.              with QuickBasic.  Refer  to "PROGRAMMERS PROGRAMMING
  1026.              TIPS" for more information.
  1027.  
  1028.  
  1029.  
  1030.  
  1031.        TheDraw v4.50          Getting Started                5
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.        The registered version of TheDraw adds the files:
  1038.  
  1039.        THEDRAWR.EXE      Registered version of TheDraw
  1040.        THEDRAWR.HLP      Context sensitive help file for registered version.
  1041.        THEPP.EXE     The Presentation Program utility.
  1042.  
  1043.  
  1044.  
  1045.        INSTALLING THEDRAW
  1046.        ──────────────────────────────────────────────────────────────────────
  1047.        You will  want all  files frequently  used placed onto either a "work"
  1048.        diskette or your hard drive.  To reduce space requirements,  the setup
  1049.        utility, documentation  and example  files are  compacted.  You should
  1050.        use INSTALL to obtain these files.
  1051.  
  1052.        First, insert the distribution diskette into drive A.  For floppy disk
  1053.        installation, type the command:
  1054.  
  1055.       A:INSTALL FLOPPY
  1056.  
  1057.        For hard disk installation, type the command:
  1058.  
  1059.       A:INSTALL HD
  1060.  
  1061.        After  either  command  press  [ENTER].    Simply  follow  the  online
  1062.        instructions presented.  Once done, you  are all  set to  go.  INSTALL
  1063.        will explain  about the  README file and PRINTDOC utility.  The README
  1064.        file contains last-minute details about this release of  TheDraw.  The
  1065.        PRINTDOC utility handles sending this documentation to your printer.
  1066.  
  1067.        If  you  have  never  used  TheDraw  before,  you may wish to read the
  1068.        section "Making your First  TheDraw Screen"  below.   More experienced
  1069.        users might  want to  configure items  and are  referred to "The Setup
  1070.        Utility" section.
  1071.  
  1072.  
  1073.        CUSTOMIZING THEDRAW
  1074.        ──────────────────────────────────────────────────────────────────────
  1075.        Many facets of TheDraw can  be  customized  (colors,  options, default
  1076.        preferences, etc...)  using the  external setup utility.  Refer to the
  1077.        section called "The Setup Utility" for information on configuration.
  1078.  
  1079.        Some parameters are often changed when using TheDraw.  The more common
  1080.        of these  can be  updated within TheDraw.  See "Setup Default Options"
  1081.        under the section "Pull-Down Menu System".
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.        TheDraw v4.50          Getting Started                6
  1091.  
  1092.  
  1093.  
  1094.  
  1095.        STARTING THEDRAW
  1096.        ──────────────────────────────────────────────────────────────────────
  1097.        By this point you must be eager to start playing with TheDraw;  by all
  1098.        means do  so.   If you're  using a  floppy disk drive, place your work
  1099.        diskette into Drive A and type the following command:
  1100.  
  1101.         THEDRAW       (for shareware version)
  1102.         THEDRAWR      (for registered version)
  1103.  
  1104.        Press [ENTER] to run the program and bring up the  title screen.   Tap
  1105.        a key,  and the edit screen appears.  For quick reference, press [ALT-
  1106.        X] should you need to leave TheDraw at any time.
  1107.  
  1108.        If you are using  a  hard  disk,  get  into  the  TheDraw subdirectory
  1109.        created by  the INSTALL  batch file  (the default is C:\THEDRAW).  Run
  1110.        TheDraw typing:
  1111.  
  1112.         THEDRAW       (for shareware version)
  1113.         THEDRAWR      (for registered version)
  1114.  
  1115.        at the C:\THEDRAW> prompt.   Now  everything  is  ready  to  make your
  1116.        first TheDraw screen.
  1117.  
  1118.  
  1119.        LEAVING/EXITING THEDRAW
  1120.        ──────────────────────────────────────────────────────────────────────
  1121.        Just a  quick note  regarding getting out of TheDraw.  Should you need
  1122.        to leave the program at any time, press [ALT-X] from  the edit screen.
  1123.        TheDraw prompts  to verify.   Type [Y]es or press [ENTER] to return to
  1124.        the dos prompt.
  1125.  
  1126.  
  1127.        CREATING YOUR FIRST SCREEN
  1128.        ──────────────────────────────────────────────────────────────────────
  1129.        After starting TheDraw, and pressing a key to get past the title, what
  1130.        appears  is  the  edit  screen.    The  screen is blank except for the
  1131.        status line along the bottom.  The cursor  will be  in the  upper left
  1132.        corner of the screen.
  1133.  
  1134.        At  this  point,  type  in  your  name  and address as you might on an
  1135.        envelope.  Press [ENTER] after each line.  ie:
  1136.  
  1137.          John Smith
  1138.          123 ABC Street
  1139.          Somewhere, CA 12345
  1140.  
  1141.        Use the [BACKSPACE] key to make deletions, and the arrow  keys to move
  1142.        around in the edit area.
  1143.  
  1144.        TheDraw contains  a wide  variety of commands designed to make editing
  1145.        easier.  Now to use  some  of  these  performing  an  elementary task;
  1146.        centering your address on the screen.
  1147.  
  1148.  
  1149.        TheDraw v4.50          Getting Started                7
  1150.  
  1151.  
  1152.  
  1153.  
  1154.        There are  a number  of ways  to accomplish  the objective.  You could
  1155.        insert spaces onto each line, shifting everything over  as if  using a
  1156.        word  processor.    TheDraw  has  a command for inserting entire blank
  1157.        columns.  However,  the  best  way  is  using  a  feature specifically
  1158.        designed for the task.  To do this:
  1159.  
  1160.       o  First press  [ESC] to  see the pull-down menu bar.  You need the
  1161.          "Text" option from the Global  menu.    Select  the  Global menu
  1162.          using the  left/right arrow  keys then  type [T]  for the "Text"
  1163.          command.  A simpler way is the shortcut;  type [ALT-G]  from the
  1164.          edit screen for global screen functions, then [T]ext.
  1165.  
  1166.       o  A prompt  appears above  the status  line.   Select the [C]enter
  1167.          option.   Since  global  operations  affect  the  entire screen,
  1168.          TheDraw centers -all- lines of your address horizontally.
  1169.  
  1170.       o  Move the  cursor to  the top  line using [UP] arrow key.  Center
  1171.          the address vertically  using  the  insert  line  command.   The
  1172.          shortcut  key  is  [ALT-I].    The  command is also found in the
  1173.          Screen pulldown menu.  Repeat four or five times to fully center
  1174.          the image.
  1175.  
  1176.        The last  thing we  want to  do in  this first  screen is surround the
  1177.        address with a border  outline.   TheDraw has  a easy  global function
  1178.        for doing this also:
  1179.  
  1180.       o  Select "Text" from the Global pulldown menu again.
  1181.  
  1182.       o  Choose the  [O]utline option.  TheDraw responds by drawing a box
  1183.          around the edges of your address.
  1184.  
  1185.        There we have it, your first screen made via TheDraw is complete!
  1186.  
  1187.  
  1188.        SAVING YOUR FIRST SCREEN:
  1189.  
  1190.        After all this work it makes sense to save your screen to disk.  Press
  1191.        [ESC] to  see the pull-down menu bar.  Select the Files menu using the
  1192.        left/right arrow keys then type [S] to choose the "Save" command.  The
  1193.        shortcut is just typing [ALT-S] from the edit screen.
  1194.  
  1195.        TheDraw knows of ten different ways to save a screen.  These vary from
  1196.        Ansi to a custom high speed format.    For  now  choose  Ansi  and all
  1197.        defaults  by  pressing  [ENTER]  four  times.   At the filename prompt
  1198.        appearing next type in:
  1199.  
  1200.       ADDRESS.ANS
  1201.  
  1202.        Press [ENTER] to save the image.  Note how TheDraw  reports the number
  1203.        of output  lines used.  Ansi files are compressed as much as possible,
  1204.        occasionally down to a single line.    Do  not  be  surprised  if this
  1205.        happens to you.
  1206.  
  1207.  
  1208.        TheDraw v4.50          Getting Started                8
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.        VIEWING YOUR FIRST SCREEN:
  1215.  
  1216.        To  see  the  results  of  the above, leave TheDraw by typing [ALT-X].
  1217.        Answer [Y]es to the verify prompt.  From the dos prompt, enter:
  1218.  
  1219.       TYPE ADDRESS.ANS
  1220.  
  1221.        Press [ENTER] to see the screen as it appeared within TheDraw.
  1222.  
  1223.  
  1224.  
  1225.  
  1226.        EGADS!  WHAT HAPPENED?
  1227.  
  1228.        It is  possible that  instead of  your address  appearing, instead you
  1229.        were faced with a large amount of gibberish.  Something like:
  1230.  
  1231.       ^[[40m^[[2J^[[2;1H^[[3;1H^[[4;1H etc...
  1232.  
  1233.        This  means  the  Ansi  device  driver  is  missing.   The Ansi driver
  1234.        translates special color and cursor control commands for the screen.
  1235.  
  1236.        TheDraw  creates  Ansi  compatible  files,  but  they  only  appear as
  1237.        intended  when  the  device  driver  is  present.  To install the Ansi
  1238.        driver, please refer to Appendix A ("Setting Up CONFIG.SYS").
  1239.  
  1240.        If you already installed the driver per Appendix  A, something  may be
  1241.        preventing  it   working  or  you  need  to  reinitialize/reboot  your
  1242.        computer.  Device drivers are only installed when the computer "boots"
  1243.        up.  Press [CTRL-ALT-DELETE] to reboot your system.
  1244.  
  1245.  
  1246.  
  1247.  
  1248.        EDITING YOUR FIRST SCREEN
  1249.        ──────────────────────────────────────────────────────────────────────
  1250.        Time to  try some more interesting things.  Restart TheDraw and select
  1251.        "Load" from the Files pulldown menu.  A listing of all available files
  1252.        is displayed.  Type in:
  1253.  
  1254.       ADDRESS   (TheDraw assumes the .ANS extension)
  1255.  
  1256.        Press  [ENTER]  to  load  your  screen.   Everything should now appear
  1257.        exactly as it did  before leaving  TheDraw previously.   To  spruce up
  1258.        your address, let's try adding some color.
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.        TheDraw v4.50          Getting Started                9
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.        CHANGING COLORS:
  1274.  
  1275.        To change the color things are drawn with, select "Fore/Back" from the
  1276.        Colors pulldown menu (or the  shortcut  [ALT-A]).    A  screen appears
  1277.        showing the  color palettes.  There are two groups, one for foreground
  1278.        colors and the bottom smaller group for background colors.
  1279.  
  1280.        You choose new colors  either by  using the  arrow keys  or typing the
  1281.        number associated with a color.  Press [ENTER] once you decide.
  1282.  
  1283.        For  example,  to  select  a  Yellow  foreground (color 14) and a Blue
  1284.        background (color 1):
  1285.  
  1286.         Please Select Foreground Color (0-31):  14  [ENTER]
  1287.         Please Select Background Color (0-7):   1   [ENTER]
  1288.  
  1289.        After pressing  [ENTER] for  the background  color, you  return to the
  1290.        edit screen.  Note the color example in the status line was updated.
  1291.  
  1292.  
  1293.  
  1294.        PAINTING THE SCREEN:
  1295.  
  1296.        To  see  the  new  color,  put  the cursor inside the outline box made
  1297.        earlier.  Now select "Paint/Fill" from the Options pulldown menu.
  1298.  
  1299.        Painting in TheDraw refers  to the  effect of  pouring paint  onto the
  1300.        screen.   The pouring  starts where  the cursor  is located.   You can
  1301.        paint  just   color  attributes,   just  character   symbols,  or  any
  1302.        combination.  We want only the address colors changes.  Thus:
  1303.  
  1304.       o  Choose [A]  for Attributes.   Notice  how painting is blocked by
  1305.          the lines of the address outline.
  1306.  
  1307.       o  Use the color change  command again,  this time  selecting Light
  1308.          Green on Black (foreground = 11, background = 0).
  1309.  
  1310.       o  Once back  at the edit screen, move the cursor out away from the
  1311.          outline box.
  1312.  
  1313.       o  Select "Paint/Fill" once more, choosing the [B]oth option.
  1314.  
  1315.       o  When TheDraw  prompts for  a fill  character; type  in a forward
  1316.          slash "/" symbol.
  1317.  
  1318.        Your address  is now  an island  in the middle of a green field.  Save
  1319.        these changes as described previously using the filename:
  1320.  
  1321.          ADDRESS2.ANS
  1322.  
  1323.        Press [ENTER] to save the screen to disk.
  1324.  
  1325.  
  1326.        TheDraw v4.50          Getting Started               10
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.        MAKING YOUR SECOND THEDRAW SCREEN
  1333.        ──────────────────────────────────────────────────────────────────────
  1334.        Now for a  little  more  pizazz.    For  this  screen  lets experiment
  1335.        duplicating  the  special  effects  found  in the DEMO.TD example file
  1336.        (more or less).   To see  the sample  file beforehand,  use the "Load"
  1337.        option from the Files pulldown.  Type in:
  1338.  
  1339.          DEMO.TD
  1340.  
  1341.        Press [ENTER]  to load  it.   Follow the  on screen instructions for a
  1342.        quick introduction to the block and  sprite features.   These  will be
  1343.        explained below as your own version of this example gets put together.
  1344.  
  1345.        To get rid of the DEMO.TD example, choose the "Clear Page" option from
  1346.        the Screen  pulldown (or  type the shortcut [ALT-C]).  Answer [A]ll to
  1347.        the first verify  prompt,  and  [Y]es  to  the  second  verify.   This
  1348.        completely clears away everything.
  1349.  
  1350.  
  1351.  
  1352.        DRAWING LINES:
  1353.  
  1354.        Position the  cursor at  column 10,  line 5.  Use the arrow keys until
  1355.        the status line coordinates read (10, 5).  In the first screen we used
  1356.        the Global Outline command to draw a box around your address.  TheDraw
  1357.        has another way of drawing lines too.
  1358.  
  1359.        From the Toggles pulldown, choose "Draw Mode" to turn on  line drawing
  1360.        mode (shortcut is [ALT-M]).  Moving the cursor now draws a line.  Also
  1361.        note the word "Draw" where "Text" was before on the status line.
  1362.  
  1363.        Lets make a small box.  The arrows below indicate the cursor movements
  1364.        required  to  produce  the  box.   Note the special attention given to
  1365.        finishing off the last corner (step 5):
  1366.  
  1367.            »»»»»»                        »
  1368.            ─────┐      ─────┐      ─────┐    ^│─────┐     ┌─────┐
  1369.             │v      │           │    ^│     │     │     │
  1370.                 │v   ^│     │     │     │     │     │
  1371.                    ─┘v    └─────┘     └─────┘     └─────┘
  1372.                    «      «««««
  1373.  
  1374.            Step 1      Step 2      Step 3      Step 4      Step 5
  1375.  
  1376.  
  1377.        Turn off line drawing using the  Toggles pulldown  or pressing [ALT-M]
  1378.        again.    Following  the  above  guide,  we moved horizontally six (6)
  1379.        spaces and  vertically three  lines (3)  to create  the box.   The end
  1380.        result however is seven (7) characters wide, and four (4) lines deep.
  1381.  
  1382.  
  1383.  
  1384.  
  1385.        TheDraw v4.50          Getting Started               11
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.        Move the  cursor to  coordinates ( 6, 3) and repeat the box procedure.
  1392.        This time move horizontally 14 spaces instead of  6, and  vertically 7
  1393.        lines instead of just 3.  You end up with:
  1394.  
  1395.                   ┌─────────────┐
  1396.                   │         │
  1397.                   │   ┌─────┐   │
  1398.                   │   │     │   │
  1399.                   │   │     │   │
  1400.                   │   └─────┘   │
  1401.                   │         │
  1402.                   └─────────────┘
  1403.  
  1404.        These are  the exact dimensions of the blue box in the DEMO.TD example
  1405.        screen.  To colorize the double box, we'll use a block command.
  1406.  
  1407.        Note:  Please  refer  to  the  section  "SELECT  DRAW  MODE"  for more
  1408.        discussion on line drawing.
  1409.  
  1410.  
  1411.        MARKING A BLOCK:
  1412.  
  1413.        One of  TheDraw's most  useful features is its block editing facility.
  1414.        You can carry out a wide  variety of  operations on  specific parts of
  1415.        the screen.  Areas can be copied, moved, erased, deleted, filled, have
  1416.        text operations performed, saved, etc...   Several block  commands are
  1417.        mirrors of the global screen functions you have already experienced.
  1418.  
  1419.        To  color  the  double  box,  let's  first choose some new attributes.
  1420.        Press [ALT-A] and pick  a  Yellow  foreground  (color  14)  on  a Blue
  1421.        background (color 1).
  1422.  
  1423.        Marking  means   highlighting  the  area  you  want  block  operations
  1424.        performed on.  Begin marking a  block by  pressing [ALT-B].   Position
  1425.        the cursor  on the  upper-left corner  of the  large box and press the
  1426.        [SPACE] bar.  Now  move the  cursor to  the lower-right  corner of the
  1427.        large box and press [SPACE] again.  Notice how the existing colors are
  1428.        emphasized to clearly show the block mark.
  1429.  
  1430.       Mouse Users:   Move the cursor to  the  upper-left  corner.   Press
  1431.              and hold  down the  LEFT mouse button.  Now drag the
  1432.              cursor to the  lower-right  corner  and  release the
  1433.              left button.
  1434.  
  1435.        All block options are now displayed.  Select [F]ill, and the suboption
  1436.        [A]ttributes to colorize the double box to yellow on blue.  Other fill
  1437.        suboptions  affect  just  foreground  colors,  just  backgrounds, just
  1438.        characters (without affecting color), or both colors and characters.
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.        TheDraw v4.50          Getting Started               12
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.        There is one more step before the double box is finished.   The inside
  1451.        region of  the small  box must  be erased.  Let's use another block to
  1452.        accomplish this:
  1453.  
  1454.       o  Position the cursor to coordinates (11, 6).  This is  the upper-
  1455.          left corner of the inside region.
  1456.  
  1457.       o  Mark a block covering all the inside region.
  1458.  
  1459.       o  Lastly, select the block option [E]rase.
  1460.  
  1461.        There you  have it;  a replica of the blue box in DEMO.TD!  Blocks are
  1462.        invaluable for making alterations of any sort.
  1463.  
  1464.  
  1465.  
  1466.        USING SPRITE MODE:
  1467.  
  1468.        While following the DEMO.TD example, you  saw the  red box  on page 2.
  1469.        Until now  all our  editing was done on page 1, but TheDraw can handle
  1470.        eight  pages  simultaneously.    One  possible  use  is  block copying
  1471.        regions  from  one  screen  to  another.    Normally  you see only the
  1472.        individual pages, totally separate from one another.
  1473.  
  1474.        Sometimes however, it is useful to see all the pages at once.  TheDraw
  1475.        calls this  Sprite Editing Mode.  Pages are treated as glass sheets or
  1476.        layers stacked atop one another.  You are positioned over  the topmost
  1477.        "glass layer" (page 1) looking down.  ie:
  1478.  
  1479.                        ┌────────┐
  1480.                       .│      . │
  1481.                     .  │    .   │ Bottommost Page
  1482.                  ┌────────┐    8│
  1483.                    ┌─┴──────┐ │─────┘
  1484.                  ┌─┴──────┐ │ │   .
  1485.                  │        │ │3│ .
  1486.            Topmost Page  │        │2├─┘
  1487.                  │       1├─┘
  1488.                  └────────┘
  1489.  
  1490.        The DEMO.TD  example uses  Sprite Editing.  The blue box is on page 1,
  1491.        but the red box is on page 2.  The blue box  appears over  the red one
  1492.        because  of  the  simulated  glass  layers  effect.  The red box would
  1493.        appear over anything on pages 3 to 8, and so on...
  1494.  
  1495.        Now to try out Sprites in our screen.  We need a visible object on the
  1496.        second page.  The following draws a box for this purpose:
  1497.  
  1498.       o  Change to  page 2.   Do  this by choosing "Select Page" from the
  1499.          Screen pulldown, or typing  [ALT-E] (the  shortcut).   Press the
  1500.          "2" key for the second page layer.
  1501.  
  1502.  
  1503.        TheDraw v4.50          Getting Started               13
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.       o  Pick "Fore/Back"  from the Colors pulldown (shortcut is [ALT-A])
  1510.          and select  the  colors  of  Light  Red  on  Red (foreground=12,
  1511.          background=4).
  1512.  
  1513.       o  Position  the  cursor  in  the  upper-left corner of the screen-
  1514.          coordinates ( 1, 1).
  1515.  
  1516.       o  Press [ALT-B],  and hit  the [SPACE]  bar.   Move to coordinates
  1517.          (12, 6) then hit [SPACE] the second time.
  1518.  
  1519.       o  Choose  the   [T]ext  option,  and  then  the  [B]ox  suboption.
  1520.          TheDraw draws a red box on the screen.
  1521.  
  1522.       o  Move the cursor inside the  box,  and  select  "Paint"  from the
  1523.          Options pulldown  menu.  Select the [B]oth option, and press the
  1524.          minus key "-" for a fill character.
  1525.  
  1526.        This page now contains an object to act as a  sprite.   Switch back to
  1527.        page 1 by typing [ALT-E] and press the "1" key.
  1528.  
  1529.        If  you  loaded  the  DEMO.TD  example  earlier, TheDraw is already in
  1530.        sprite mode.  The status line page number appears in capitals.  ie:
  1531.  
  1532.         "Page:1"      Sprite mode is off
  1533.         "PAGE:1"      Sprite mode is on
  1534.  
  1535.        If sprite mode is off, type  [ALT-E] and  choose the  [T]oggle option.
  1536.        Once sprite  mode is  enabled you  can see  the red box underneath the
  1537.        double blue box.
  1538.  
  1539.        Nothing you do to page 1 will affect  the contents  of any  page lower
  1540.        down.   Try moving  to coordinates  ( 1,  1) and inserting a few blank
  1541.        lines by typing [ALT-I].  Notice how the red box  stays put  while the
  1542.        blue box shifts.  This is the significance of Sprite editing mode.
  1543.  
  1544.        You  can  place  various  parts  of a screen on different page layers.
  1545.        Changing one  part  can  never  accidentally  affect  any  other.   In
  1546.        animation  mode  sprites  make  certain  special  effects very easy to
  1547.        produce.  Such as having one object "slide" under another.   Animation
  1548.        mode is  introduced below.  Please refer to "THE ANIMATION SYSTEM" for
  1549.        more information.
  1550.  
  1551.        You might  wish to  save this  second screen  now.   Type [ALT-S], and
  1552.        select TheDraw's  custom file  format by  typing [T].   This will save
  1553.        both pages 1 and 2 since they contain data.  Enter the filename:
  1554.  
  1555.       BOXES     (TheDraw assumes a .TD extension)
  1556.  
  1557.        Press [ENTER] to save to disk.
  1558.  
  1559.  
  1560.  
  1561.  
  1562.        TheDraw v4.50          Getting Started               14
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.        ANIMATING YOUR SECOND THEDRAW SCREEN
  1569.        ──────────────────────────────────────────────────────────────────────
  1570.        Possibly the  most intriguing  and confusing  facet of  TheDraw is its
  1571.        Animation  mode.    The  animation system allows creating screens with
  1572.        movement, adding excitement to your presentations.
  1573.  
  1574.        In animation  mode,  TheDraw  remembers  the  exact  pattern  in which
  1575.        something is  entered.   In contrast,  the normal  static screens used
  1576.        until now only store what was typed and where.
  1577.  
  1578.        When saving a static screen, there is no notion of  how it  was drawn.
  1579.        The normal  presumption is  such screens  are saved top to bottom (how
  1580.        else would you want  to?)    The  ADDRESS.ANS file  was saved  in this
  1581.        manner.  Recall how it appeared when typed from the dos prompt.
  1582.  
  1583.        Animation mode  goes one  step further  by also remembering -when- you
  1584.        typed something.  This extension  permits  you  to  control  the exact
  1585.        sequence keystrokes appear.
  1586.  
  1587.        Instead of  merely top-to-bottom,  any display order is possible.  You
  1588.        can make screens display sideways if the urge hits.
  1589.  
  1590.  
  1591.        SELECTING A SCAN PATTERN:
  1592.  
  1593.        To ease the pain of making animated screens, TheDraw contains fourteen
  1594.        preprogrammed display  patterns.  There are also two variation toggles
  1595.        which boost the actual  number of  patterns to  over 50.   See section
  1596.        "ANIMATION  SCAN  PATTERNS"  under  "HOW  TO  ANIMATE SOMETHING" for a
  1597.        complete description.
  1598.  
  1599.        To convert your second  screen  into  an  animation  sequence,  do the
  1600.        following:
  1601.  
  1602.       o  Select  "Animation  Mode"  from  the Toggles pulldown or use the
  1603.          shortcut key [ALT-J].    A  list  of  the  preprogrammed display
  1604.          patterns appears.
  1605.  
  1606.       o  Choose the  [A]ngle pattern.   TheDraw  scans the static screens
  1607.          on pages 1 and 2 into the animation sequence.
  1608.  
  1609.        That's it!  The word "PAGE" in the status line has changed  to "ANIM".
  1610.        Also, above the status line is an indicator similar to:
  1611.  
  1612.                   Used:00317  Free:15683
  1613.  
  1614.        The first  number lists  the number  of keystroke entries currently in
  1615.        the animation sequence.  The second is how  many additional keystrokes
  1616.        TheDraw can  store.   The maximum free space is 16000 entries, however
  1617.        that could vary depending on how much free memory is available.
  1618.  
  1619.  
  1620.  
  1621.        TheDraw v4.50          Getting Started               15
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.        VIEWING THE ANIMATION SEQUENCE:
  1628.  
  1629.        Let's see what the  animation  sequence  looks  like  in  slow motion.
  1630.        Select the  "Screen Redraw"  from the  Animation pulldown (shortcut is
  1631.        [ALT-Q]).
  1632.  
  1633.        TheDraw prompts for a redraw speed, to control how fast  the animation
  1634.        sequence appears.   A  speed of 0 is maximum speed.  A speed of 255 is
  1635.        very slow, about 5-10 keystrokes per second.
  1636.  
  1637.        Type in the number 50 and press [ENTER].  You can now  see exactly how
  1638.        the animation  will appear once saved to disk.  Once it completes, use
  1639.        the redraw command with some other speeds to get a better feel for it.
  1640.  
  1641.        Try changing the animation  scan pattern.   Select  "Rescan Animation"
  1642.        from  the  Animation  pulldown  (shortcut is [ALT-J], [R]escan).  Pick
  1643.        some other animation pattern, then view them using Screen Redraw.
  1644.  
  1645.  
  1646.  
  1647.        SAVING ANIMATION:
  1648.  
  1649.        Saving animation screens to disk is almost identical  to saving normal
  1650.        static screens.  The only difference is in the available file formats.
  1651.        Only Ansi and TheDraw (TD) custom  formats are  possible.   Only these
  1652.        two permit  saving how  the animation sequence was created.  Note that
  1653.        TD formats also store page data.
  1654.  
  1655.        Ansi files can be typed from Dos.  These are very popular for bulletin
  1656.        board systems,  sign on introductions, presentations, etc...  The only
  1657.        problem is they cannot  store data  about individual  pages and sprite
  1658.        mode.   Ansi files only save exactly what is "seen" on the video.  Any
  1659.        keystrokes which are hidden underneath other objects are lost.
  1660.  
  1661.        TD files are designed for maximum speed.  It is  usually best  to keep
  1662.        one copy  of an  animations sequence  in this  format.   The TD format
  1663.        stores information on everything  including  the  sprite  mode.   Most
  1664.        users save  both TD and Ansi formats, since Ansi can be typed from the
  1665.        Dos prompt.  For now, lets save an Ansi file.
  1666.  
  1667.        Press [ALT-S],  and choose  [A]nsi.   Press [ENTER]  past the options.
  1668.        For a filename enter:
  1669.  
  1670.       BOXES.ANS
  1671.  
  1672.        Press [ENTER]  to save to disk.  The animation system was only briefly
  1673.        touched  upon  here.    The  are  a  large  number  of  other features
  1674.        available.  Almost all commands available for static screens will work
  1675.        with animation mode.   Various  commands  respond  differently  to the
  1676.        animation sequence.   For  complete coverage, please see refer to "THE
  1677.        ANIMATION SYSTEM".
  1678.  
  1679.  
  1680.        TheDraw v4.50          Getting Started               16
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.        We have now run through the most important of TheDraw's many features.
  1687.        You  are  encouraged  to  explore  in  detail  the variety of commands
  1688.        available.  It is recommended to save your work periodically to create
  1689.        a log of your efforts.  In this way, as you develop new skills you can
  1690.        document them to avoid forgetting that one crucial step or  neat idea.
  1691.  
  1692.        We have  covered keystroke  entry, editing,  changing colors, painting
  1693.        areas,  drawing  lines/boxes/outlines,  using   blocks,  sprite  mode,
  1694.        animation  mode,   animation  scan  patterns,  and  viewing  animation
  1695.        sequences.
  1696.  
  1697.        You should eventually  read  the  "OPERATING  THEDRAW"  section.   The
  1698.        section  explains  the  status  line,  obtaining help, cursor control,
  1699.        using the mouse, and gives a summary of commands.
  1700.  
  1701.        Refer  to  "PULL-DOWN  MENU  SYSTEM"  for  brief  explanations  of all
  1702.        commands.  Detailed descriptions are found in "THEDRAW COMMANDS".
  1703.  
  1704.        Those who  program should  see "TIPS AND EXAMPLES FOR PROGRAMMERS" for
  1705.        insight into using TheDraw saved files in your own work.
  1706.  
  1707.  
  1708.  
  1709.        THE EXAMPLE FILES
  1710.        ──────────────────────────────────────────────────────────────────────
  1711.        TheDraw comes with four demonstration files to help  show some  of its
  1712.        capabilities; SHUTTLE2.ANS, DEMO.TD, SHADING.TD, and EFFECTS.BIN.
  1713.  
  1714.        SHUTTLE2.ANS is  a simple  animation example  which you  can view from
  1715.        the dos prompt by entering:
  1716.  
  1717.       TYPE SHUTTLE2.ANS
  1718.  
  1719.        Press [ENTER] to see the example  run  through.    You  must  have the
  1720.        ANSI.SYS driver  installed in  your CONFIG.SYS file for this to appear
  1721.        properly.  See APPENDIX A for more details on the CONFIG.SYS file.  If
  1722.        you do not have ANSI.SYS, the THEPP utility provided with registration
  1723.        can be used alternatively (ie: THEPP SHUTTLE2.ANS [ENTER]).
  1724.  
  1725.        The second demo  file,  DEMO.TD,  demonstrates  the  block  and sprite
  1726.        editing  features  of  TheDraw.    To use it, run TheDraw as described
  1727.        above.  Next, press  ALT-L and  type DEMO.TD  [ENTER].    Instructions
  1728.        will appear on screen showing what to do next.
  1729.  
  1730.        The  third  file,  SHADING.TD,  is  an  example  of  all  color  shade
  1731.        variations possible within TheDraw.  Load as the  previous example was
  1732.        (ie: ALT-L,  then type  SHADING.TD [ENTER]).  Three pages are occupied
  1733.        by the example.  Select pages by pressing [ALT-E] followed by a number
  1734.        1,  2  or  3.    Each  page  uses  a  different fill character.  Those
  1735.        frustrated by a seemingly  limited color  palette may  be surprised at
  1736.        the wide variation actually possible.
  1737.  
  1738.  
  1739.        TheDraw v4.50          Getting Started               17
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.        To duplicate  a shading example, press [ALT-F6] to select function key
  1746.        set 6.  Set the colors as specified on the  example by  using [ALT-A].
  1747.        Foreground colors  are vertical and background colors horizontal.  Now
  1748.        type [F1], [F2], or [F3] keys to see the shading result.
  1749.  
  1750.        The last demo file,  EFFECTS.BIN, shows  two easy  special effects you
  1751.        may  like  to  use.    The  first  is the illusion of a rotating color
  1752.        banner.  This is done with flashing foreground colors (16 to 31 in the
  1753.        color  select   screen).    Alternating  characters  have  alternating
  1754.        foreground/background attributes.  ie:
  1755.  
  1756.                    │ Character #1   │  Character #2
  1757.            ────────────┼────────────────┼───────────────
  1758.            Foreground: │ Flashing Red   │  Flashing Gray
  1759.            Background: │ Gray       │  Red
  1760.            ────────────┴────────────────┴───────────────
  1761.  
  1762.        Combine the above color scheme with the a  block symbol  from function
  1763.        key  set  #6.    Press  key  [F4] with attributes in #1 above.  Change
  1764.        attributes to #2 and press [F4] again.  The blocks  will appear  to be
  1765.        alternating.
  1766.  
  1767.        The  restriction  to  this  technique is the flashing foreground color
  1768.        must match an available  background  color.    Since  there  are eight
  1769.        background colors,  the flashing  foreground colors  16 to  23 are the
  1770.        possible options.
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.        TheDraw v4.50          Getting Started               18
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.                  OPERATING THEDRAW
  1805.  
  1806.  
  1807.        COMMAND LINE FILESPECS
  1808.        ──────────────────────────────────────────────────────────────────────
  1809.        For convenience,  TheDraw allows  you to  specify a  filespec from Dos
  1810.        when first running the program.  ie:
  1811.  
  1812.                   THEDRAW DEMO.TD
  1813.  
  1814.        Only one  file may  be specified  this way.  All files are loaded onto
  1815.        page layer one (except for  THEDRAW  format  files  which  may contain
  1816.        multiple layers).
  1817.  
  1818.  
  1819.  
  1820.        THE STATUS LINE
  1821.        ──────────────────────────────────────────────────────────────────────
  1822.        The status  line of  TheDraw shows various information about the state
  1823.        of the program.  Each structure in the status line is described below:
  1824.  
  1825.       (xx,xx)        Displays the current cursor position.
  1826.  
  1827.       Color      Indicates the current drawing color.   This color is
  1828.              used for any new characters placed onto the screen.
  1829.  
  1830.       Text,      The word displayed indicates if TheDraw is in normal
  1831.       Attr, or       text, color draw mode, or line draw mode.  In color
  1832.       Draw       draw mode,  moving the  cursor changes characters to
  1833.              the current colors.      In  Draw  mode,  moving the
  1834.              cursor with the arrow keys draws a line in the moved
  1835.              direction.
  1836.  
  1837.       Ins        Appears when TheDraw is  in  Insert  keystroke mode.
  1838.              When on, typing a character shifts everything to the
  1839.              right to make room for the new character.
  1840.  
  1841.       Page:x or      Indicates the current screen page edit layer.  In
  1842.       Anim:x     animation mode (see The  Animation  System  for more
  1843.              details), the  word Anim appears.  In addition, this
  1844.              structure indicates when TheDraw  is in  sprite edit
  1845.              mode  (see  ALT-E).    In sprite mode, the structure
  1846.              appears in capital letters.  ie: PAGE or ANIM.
  1847.  
  1848.       Set:xx     Number of the current  function key  set.   This set
  1849.              appears immediately after this indicator.
  1850.  
  1851.  
  1852.        Note: The symbol "x" or "xx" indicates a number of some value.
  1853.  
  1854.  
  1855.  
  1856.  
  1857.        TheDraw v4.50         Operating TheDraw              19
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.        HELP!
  1864.        ──────────────────────────────────────────────────────────────────────
  1865.        The shareware  version of  TheDraw contains three outline help screens
  1866.        available from command mode (no sub-functions being used)  by pressing
  1867.        ALT-H.  These outline screens display brief notes about all operations
  1868.        available in the program.
  1869.  
  1870.        The registered version of TheDraw supports context sensitive help.  In
  1871.        other  words,  pressing  ALT-H  anywhere  in the program will bring up
  1872.        specific information on that area of TheDraw.  This can be very useful
  1873.        during the learning stage or for rarely used functions.
  1874.  
  1875.  
  1876.  
  1877.        CURSOR CONTROL
  1878.        ──────────────────────────────────────────────────────────────────────
  1879.        The cursor may be moved by using the following keys:
  1880.  
  1881.         Key           Action
  1882.         ─────────────────────────────────────────────────────
  1883.         Up Arrow      Up one line
  1884.         Down Arrow    Down one line
  1885.         Left Arrow    Left one position
  1886.         Right Arrow   Right one position
  1887.         Home          First column of current line
  1888.         End           Last column of current line
  1889.         PgUp          First line in current column
  1890.         PgDn          Last line in current column
  1891.         Ctrl-Home     First Character of current line
  1892.         Ctrl-End      Last Character of current line (plus 1)
  1893.         Ctrl-PgUp     Upper-left position of screen
  1894.         Ctrl-PgDn     Lower-right position of screen
  1895.         Tab           Next set Tab position (see Alt-T)
  1896.         Shift-Tab     Previous set Tab position (see Alt-T)
  1897.         Enter         First column of following line
  1898.         ─────────────────────────────────────────────────────
  1899.  
  1900.        Naturally, if  you attempt  to move  past the  screen border no action
  1901.        will be taken.  If  no  tab  position  follows  the  current location,
  1902.        pressing [TAB] will return you to column one of the current line.
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.        TheDraw v4.50         Operating TheDraw              20
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.        MOUSE CONTROL
  1923.        ──────────────────────────────────────────────────────────────────────
  1924.        TheDraw  fully  supports  the  use  of a Microsoft Mouse or compatible
  1925.        device.  Pull down  menus  and  other  facilities  are  available (see
  1926.        section PULL  DOWN MENU  SYSTEM).   You may  use either a two or three
  1927.        button mouse with TheDraw.
  1928.  
  1929.        The mouse operates differently depending on where you  are in TheDraw.
  1930.        At command mode (no sub-functions in use) the mouse functions are:
  1931.  
  1932.          MOVEMENT:        Moves cursor.
  1933.          LEFT BUTTON:     Marks a block.
  1934.          MIDDLE BUTTON:   Toggles line drawing mode
  1935.          RIGHT BUTTON:    Activates pull down menu system.
  1936.  
  1937.  
  1938.        In any sub-function:
  1939.  
  1940.          MOVEMENT:        Moves  cursor/block/screen/etc...   If movement
  1941.                   is allowed, you can use the mouse.
  1942.          LEFT BUTTON:     Equivalent to pressing [ENTER].
  1943.          MIDDLE BUTTON:   Unused.
  1944.          RIGHT BUTTON:    Displays a small window  with all  current menu
  1945.                   options.
  1946.  
  1947.  
  1948.        Someone comfortable  with a  mouse will  find TheDraw easy to get used
  1949.        to.  The mouse is usable everywhere in the program.  If  no particular
  1950.        mouse indicator  appears, the RIGHT mouse button will generally pop up
  1951.        a window with available  options.   Simply click  the RIGHT  button on
  1952.        the wanted option to select it.
  1953.  
  1954.        Users  without  a  mouse  will  find TheDraw operates normally without
  1955.        change.
  1956.  
  1957.        Note: A Microsoft  compatible  mouse  driver  (MSMOUSE.SYS  or similar
  1958.          program)  must  be  installed  into  your CONFIG.SYS file before
  1959.          TheDraw  will  recognize  the  device.    See  APPENDIX   A  for
  1960.          information  on  system  configuration.    Once  the  driver  is
  1961.          installed, TheDraw auto-detects the mouse presence.
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.        TheDraw v4.50         Operating TheDraw              21
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.        COMMAND SUMMARY
  1982.        ──────────────────────────────────────────────────────────────────────
  1983.        TheDraw provides the following 37 command functions, available through
  1984.        ALT-Letter or CTRL-Letter key sequences plus a pull-down menu system.
  1985.  
  1986.       ──────────────────────────────────────────────────────────────────
  1987.              Alt-A     Change Text Color Attributes
  1988.              Alt-B     Block Action Commands
  1989.              Alt-C     Clear Current Screen
  1990.              Alt-D     Set Default Clear Screen Color
  1991.              Alt-E     Select Screen Page Layers
  1992.              Alt-F     View Function Key Sets
  1993.              Alt-G     Global Commands
  1994.              Alt-H     Display Help Information
  1995.              Alt-I     Insert a Line
  1996.              Alt-J     Animation Options
  1997.              Alt-K     Delete a File
  1998.              Alt-L     Load Screen from Disk
  1999.              Alt-M     Select Draw Mode (toggle)
  2000.              Alt-N     Ruler
  2001.              Alt-O     Change Drive/Sub Directory
  2002.              Alt-P     Paint/Fill Commands
  2003.              Alt-Q     Redraw Screen (animator)
  2004.              Alt-R     Restore/Undo Changes
  2005.              Alt-S     Save Screen to Disk
  2006.              Alt-T     Tab Setup
  2007.              Alt-U     Use Colors under Cursor
  2008.              Alt-V     View a Screen (not load)
  2009.              Alt-W     Edit Character (animator)
  2010.              Alt-X     Exit TheDraw
  2011.              Alt-Y     Delete Current Line
  2012.              Alt-Z     Erase Cursor Character (animator)
  2013.              Alt--     Select Color Draw Mode (toggle)
  2014.              Alt-=     Toggle Macro Learning Mode (reg. version)
  2015.         Ctrl-PrtSc     Toggle Full Screen Editing mode
  2016.         Alt-Left Arrow     Delete column
  2017.        Alt-Right Arrow     Insert column
  2018.  
  2019.          Ctrl-Up Arrow     Increment Foreground Color
  2020.        Ctrl-Down Arrow     Decrement Foreground Color
  2021.        Ctrl-Left Arrow     Increment Background Color
  2022.       Ctrl-Right Arrow     Decrement Background Color
  2023.  
  2024.            Shift-Space     Put a "Solid" space on the Screen.
  2025.  
  2026.                ESC     Activate pull-down menu system from keyboard.
  2027.       ──────────────────────────────────────────────────────────────────
  2028.  
  2029.        The section  THEDRAW KEYBOARD COMMANDS on the following pages contains
  2030.        explanations for each of the above.
  2031.  
  2032.  
  2033.  
  2034.        TheDraw v4.50         Operating TheDraw              22
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.                    THE ANIMATION SYSTEM
  2041.  
  2042.  
  2043.        WHAT IS ANIMATION?
  2044.        ──────────────────────────────────────────────────────────────────────
  2045.        The animation system of TheDraw allows the user to create screens with
  2046.        movement, adding excitement to your presentations.  In animation mode,
  2047.        TheDraw  basically  remembers  the  exact  order  in  which  you enter
  2048.        something.    This  involves  what  you  type, and more significantly,
  2049.        where you typed it.  For comparison, TheDraw  normally saves  a static
  2050.        image from  the Top  to Bottom  of the screen -- just like any typical
  2051.        text file would be displayed.
  2052.  
  2053.        Animation or sequencing allows a  screen  to  be  displayed  bottom to
  2054.        top, totally  against the  natural order  of things  (so far as Dos is
  2055.        concerned anyway).  With the animation sequence you  put characters in
  2056.        exact locations  in any order you want.  Those keystrokes are repeated
  2057.        in the same order when played back.  For example typing the  numbers 0
  2058.        through 9 backwards along the screen.  ie:
  2059.  
  2060.              ┌───────────────────────────────┐
  2061.              │                   │
  2062.              │                   │
  2063.              │      9 8 7 6 5 4 3 2 1 0      │
  2064.              │                   │
  2065.              │ ( <--- typed this direction ) │
  2066.              └───────────────────────────────┘
  2067.  
  2068.        Upon replay,  the "0"  would appear  first, followed  by the "1", "2",
  2069.        etc...  Exactly as was typed.  Note  in this  example movement  of the
  2070.        cursor was not stored, although it could be.  Storing cursor movements
  2071.        will be discussed later.
  2072.  
  2073.        Animation sequences can be saved in two different formats: ANSI (.ANS)
  2074.        and THEDRAW  (.TD).   A sequence  saved in Ansi can be displayed using
  2075.        the  Dos  TYPE  command  on  any  computer  with  the  ANSI.SYS driver
  2076.        installed (see  Appendix A on how to install it).  Ansi files are also
  2077.        used widely on bulletin board  systems.    TheDraw  is  not  needed to
  2078.        display Ansi files once created.
  2079.  
  2080.        TheDraw's  custom  file  format  (TD)  is  used for quickly saving and
  2081.        loading animation sequences to disk.  The Presentation Program (THEPP)
  2082.        can display an animation sequence saved in TheDraw format.
  2083.  
  2084.        For an  example of  Ansi Animation, enter "TYPE SHUTTLE2.ANS" from the
  2085.        Dos prompt (once the ANSI.SYS driver is installed).
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.        TheDraw v4.50           The Animation System             23
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.        ANIMATION BASICS
  2100.        ──────────────────────────────────────────────────────────────────────
  2101.        TheDraw never physically "moves"  an object  when animating something.
  2102.        This is  an illusion created by careful placement of characters (which
  2103.        as you remember can be placed anywhere we want).  The "animation" of a
  2104.        display is done manually; moving those objects step by step.
  2105.  
  2106.        The illusion of movement is simple to describe:
  2107.  
  2108.       o  Draw an object.
  2109.       o  Erase it.
  2110.       o  Redraw object moved over slightly.
  2111.       o  Repeat the above.
  2112.  
  2113.        If  done  properly,  the  object  appears  to move.  Nothing is really
  2114.        "moving" per say, by we are simulating it.
  2115.  
  2116.        For an example, imagine an asterisk in the center of  the screen.   We
  2117.        wish to  have this  asterisk move  to the right.  To do this, first we
  2118.        put a space over the existing asterisk (thus erasing it), then display
  2119.        a new  asterisk over to the right (redrawing it).  Repeating this will
  2120.        "animate" the asterisk, since it appears to move.  ie:
  2121.  
  2122.       ┌─┬─┬─┬─┬─┬─┬─┐
  2123.       │ │ │ │*│ │ │ │       Asterisk as it initially was drawn.
  2124.       └─┴─┴─┴─┴─┴─┴─┘
  2125.       ┌─┬─┬─┬─┬─┬─┬─┐
  2126.       │ │ │ │_│ │ │ │       Asterisk has been erased
  2127.       └─┴─┴─┴─┴─┴─┴─┘
  2128.       ┌─┬─┬─┬─┬─┬─┬─┐
  2129.       │ │ │ │_│*│ │ │       A new asterisk has been drawn shifted over.
  2130.       └─┴─┴─┴─┴─┴─┴─┘
  2131.       ┌─┬─┬─┬─┬─┬─┬─┐
  2132.       │ │ │ │_│_│*│ │       Above steps repeated.
  2133.       └─┴─┴─┴─┴─┴─┴─┘
  2134.  
  2135.        Do the above process quickly, and  the user  effectively sees movement
  2136.        because the  eye smoothly  connects the old asterisk position with the
  2137.        new one for us.
  2138.  
  2139.  
  2140.        A SIMPLE EXAMPLE
  2141.        ──────────────────────────────────────────────────────────────────────
  2142.        The easiest animation example under TheDraw to play  with is  a snake.
  2143.        Our snake,  we'll call  him Slither from now on, will be a simple life
  2144.        form who grows each time he is moved.  In effect, Slither's tail never
  2145.        shifts because  he grows  so rapidly.   To create this particular life
  2146.        form, enter  animation mode  by pressing  [ALT-J], then  [T]op.  Next,
  2147.        turn on line drawing with [ALT-M] ("Draw" appears on the status line).
  2148.  
  2149.  
  2150.  
  2151.  
  2152.        TheDraw v4.50           The Animation System             24
  2153.  
  2154.  
  2155.  
  2156.  
  2157.        To give  arise to  Slither, move the cursor with the arrow keys.  Keep
  2158.        moving in the same direction and low and behold there  he is.   Change
  2159.        direction, and move for a while.   Make Slither do as many twists and
  2160.        turns as you like, since he really enjoys a good run (or crawl?)
  2161.  
  2162.                  (example run of Slither)
  2163.              ┌───────────────────────────────────────┐
  2164.              │                       │
  2165.              │             ┌─┐    ┌───┐     │    │
  2166.              │     ┌───────────┘ │    │   │     │    │
  2167.              │     │         │    │   │     │    │
  2168.              │     │ ┌────────┐ ┌┘    │   └┐    │    │
  2169.              │     │ │    ┌─┐ │ │     │    └─┐  │    │
  2170.              │     └─┘    │ │ │ └─────┘      │  │    │
  2171.              │        │ │ │        ┌─────┘  │    │
  2172.              │       *────┘ └─┘        │    │    │
  2173.              │    (start)              └────────┘    │
  2174.              └───────────────────────────────────────┘
  2175.  
  2176.        Now for  the moment of truth.  Make Slither repeat what he just did by
  2177.        using animation redraw (ALT-Q).  Enter a delay of about  100, then sit
  2178.        back and watch Slither perform for you exactly as he did before.
  2179.  
  2180.        Notice just  how little  effort it  takes to produce simple animation.
  2181.        Even this uncomplicated approach will  add  that  extra  pizzazz  to a
  2182.        presentation.   Possibilities include  drawing charts, graphs, outline
  2183.        figures, backdrops, etc...   Your  imagination  is  the  only limiting
  2184.        factor.
  2185.  
  2186.        The next section describes how to move objects (such as the asterisk
  2187.        example shown previously) with TheDraw.
  2188.  
  2189.  
  2190.        MAKING A BLOCK MOVE:
  2191.  
  2192.        The  asterisk  example  showed  the  classic  method  for moving small
  2193.        objects.  ie: draw, erase, draw, repeat...   However,  the Ansi driver
  2194.        under which  our animation  special effects  operate is quite limited.
  2195.        The illusion of movement is lost with large  objects because  too much
  2196.        time is spent erasing and redrawing them.  A better way is needed.
  2197.  
  2198.        For larger  objects, we  can use  the block copy facility.  First draw
  2199.        the object, and decide what direction things will move.
  2200.  
  2201.        Now, mark a block over the object -plus-  an extra  blank line  on the
  2202.        side -opposite- to the direction of movement.  ie:
  2203.  
  2204.        block mark outline --> ┌───────┐
  2205.                   │ OBJECT│ --> movement wanted in this direction
  2206.                   └───────┘
  2207.                    ^
  2208.                    └──── extra blank line
  2209.  
  2210.  
  2211.        TheDraw v4.50           The Animation System             25
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.        The complicated bit of actually "animating" follows:
  2218.  
  2219.       o  From the block options menu, choose block copy.
  2220.  
  2221.       o  Move the block once in the direction of movement and [S]tamp it.
  2222.  
  2223.       o  Move it again, and [S]tamp.  Repeat as many times as desired.
  2224.  
  2225.       o  For the last shift, press [ENTER] instead of stamping.
  2226.  
  2227.        That's it!  Now try redrawing with [ALT-Q].  You have created a moving
  2228.        object.   This new  approach is  similar to  the asterisk example, but
  2229.        note we do not explicitly erase the entire object before  shifting and
  2230.        redrawing.  A good improvement making each shift almost twice as fast!
  2231.  
  2232.        Objects are  generally larger  than the distance moved between shifts,
  2233.        and afterwards occupy most of the same space as before.  Thus, why you
  2234.        may ask,  bother erasing an area if only to immediately be overwritten
  2235.        again?  We can avoid wasting time and things will go faster.
  2236.  
  2237.                 ┌─┌─┌─┌──────────────────┐
  2238.                 │░│░│░│██████████████████│
  2239.                 │░│░│░│██████████████████│
  2240.                 │░│░│░│█████ Object █████│
  2241.                 │░│░│░│██████████████████│
  2242.                 │░│░│░│██████████████████│
  2243.                 └─└─└─└──────────────────┘
  2244.                  ^ ^ ^
  2245.                  └─┴─┴── old portion of object,
  2246.                      "erased" by blank line
  2247.  
  2248.        The extra blank  line  erases  what  needs  erasing,  and  the redrawn
  2249.        object overwrites  the rest.  By using more than one blank column/line
  2250.        (and stepping more than once between stamps), the  movement appears to
  2251.        go faster still.
  2252.  
  2253.        Notice that  block copy  was used, not block move.  In animation mode,
  2254.        the block move relocates animation  entries  in  the  block.   Copying
  2255.        leaves the original in place, and -overwrites- it with the moved copy.
  2256.        Just like the asterisk example, we didn't move it, we overwrote it.
  2257.  
  2258.        Block move physically moves  the object  to the  first stamp location.
  2259.        If you  redraw the  animation sequence,  you would find no "movement".
  2260.        The object is drawn only once, where it was moved over to (at least on
  2261.        the first  stamp).   Additional stamps  would behave as expected, only
  2262.        the first stamp would not be as expected.
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.        TheDraw v4.50           The Animation System             26
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.        EASY ANIMATION
  2277.        ──────────────────────────────────────────────────────────────────────
  2278.        Rather than start an entire animation screen from scratch, many people
  2279.        find it  easier to take an existing static screen then -add- animation
  2280.        to it.    TheDraw provides  several different  patterns for converting
  2281.        static screens  into animation  sequences.  The patterns specify how a
  2282.        screen is converted, one keystroke at a time.
  2283.  
  2284.  
  2285.        ANIMATION SCAN PATTERNS:
  2286.  
  2287.        TheDraw comes with fourteen built in scan patterns.  In  addition, the
  2288.        way the  scan patterns  work can  be adjusted via two pattern toggles.
  2289.        Use of the toggles yields over 50 possible combinations!  The starting
  2290.        scan patterns are:
  2291.  
  2292.      TOP          Starts at upper-left corner and goes across screen.
  2293.      LEFT         Starts at upper-left corner and goes down screen.
  2294.      CLOCK        Clockwise arm rotates around center of screen.
  2295.      CIRCLES      Growing circles starting from center of screen.
  2296.      CHECKERBOARD Alternating "checkerboard" squares from top of screen.
  2297.      ANGLE        Diagonal from upper-left corner scans across screen.
  2298.      GATE         Opposite lines from each side of screen left/right.
  2299.      PYRAMID      Pyramid shape from bottom center growing upwards.
  2300.      SQUARES      Squares starting from screen border growing inward.
  2301.      SCRAMBLE     Randomly scans entire screen
  2302.      DOOR         Scans top/bottom, on both sides of screen at once.
  2303.      DIAMOND      Growing diamond starting from center of screen.
  2304.      WIGGLE       Starts at upper-left alternating left and right.
  2305.      WIGGLEOUT    Starts in  center of screen with wiggle operation going
  2306.               both up and down at once.
  2307.  
  2308.        The two toggles which alter the above are:
  2309.  
  2310.      REVERSE      Completely reverses a given  pattern.   First keystroke
  2311.               scanned becomes  the last,  the second  becomes next to
  2312.               last, and so on.
  2313.  
  2314.      FLIP         Exchanges the vertical coordinates in a scan.  Assume a
  2315.               25 line  edit buffer.   Any  scan location on line 1 is
  2316.               changed to line 25 and visa versa.
  2317.  
  2318.        You select the toggles before  a  scan  pattern.    When  a  toggle is
  2319.        active, its corresponding indicator appears on the screen.
  2320.  
  2321.        As mentioned  above, many people want to take a static screen, display
  2322.        it normally, then add animation.  The option  to use  in that  case is
  2323.        the Top scanner.  Scanning from the Top yields a sequence which cannot
  2324.        told apart from a static display; but animation can now be added.
  2325.  
  2326.  
  2327.  
  2328.  
  2329.        TheDraw v4.50           The Animation System             27
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.        RECORDING CURSOR MOVEMENTS:
  2336.  
  2337.        Occasionally the ability to record actual cursor movements  is useful.
  2338.        They could  be used  as short  pauses, or  a distraction  to the user.
  2339.        Instead of putting keystrokes everything, having the cursor jump about
  2340.        could be sufficient.  TheDraw can record such cursor movements.
  2341.  
  2342.        Toggle on/off  cursor movement recording by picking "Movement Storage"
  2343.        from the Animation pulldown.  The shortcut command  is typing [ALT-J],
  2344.        then [M]ovement.  Moving the cursor in any way adds new entries to the
  2345.        animation sequence.
  2346.  
  2347.        One use for this mode is adding short pauses.  You can have the cursor
  2348.        go around in circles giving the user time to reading something.  There
  2349.        is no definitive reason to use or not use this feature.
  2350.  
  2351.  
  2352.  
  2353.        EDITING AND DELETING ANIMATION ENTRIES
  2354.        ──────────────────────────────────────────────────────────────────────
  2355.        Editing an animation sequence is a bit more complicated than fixing up
  2356.        a static  screen.   If you  make a mistake, you must be -VERY- careful
  2357.        about using the [DELETE] and [BACKSPACE] keys.  The problem is both of
  2358.        the above keys remove all animation entries from the cursor position.
  2359.  
  2360.        Take the case where you type 'A', 'B' and 'V' all in the same location
  2361.        (say the upper-left corner).  Meaning the 'V' to be  a 'C',  you press
  2362.        [BACKSPACE].   Unfortunately, this  command removes all three letters,
  2363.        not just  the  'V'.    The  delete/backspace  keys  can  be especially
  2364.        disruptive to large animation sequences.
  2365.  
  2366.        TheDraw offers  a special  command to  avoid this problem.  Choose the
  2367.        "Erase Character" command from the Animation  menu (shortcut [ALT-Z]).
  2368.        This removes just the animation entries which are visible.  The 'V' in
  2369.        this case.  You then proceed by typing the 'C' as intended.
  2370.  
  2371.        An alternative technique is the animation  "Change Character" command.
  2372.        Choose  it  from  the  Animation  pulldown (shortcut [ALT-W]), and the
  2373.        existing keystroke under the cursor  beings  to  flicker.   Meanwhile,
  2374.        TheDraw prompts  for the  new character.   Now  you just enter the new
  2375.        symbol and are done.
  2376.  
  2377.  
  2378.        CHANGING YOUR ANIMATION SCAN PATTERN:
  2379.  
  2380.        If you decide to change the scan pattern you selected  earlier, choose
  2381.        "Rescan Animation" from the Animation pulldown, or [ALT-J], [R]escan.
  2382.  
  2383.        Warning: All animation on the current page will be replaced.
  2384.  
  2385.  
  2386.  
  2387.  
  2388.        TheDraw v4.50           The Animation System             28
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.        TheDraw deletes  all animation  from the  current page, scans with the
  2395.        new pattern, appending the new results onto the  end of  the animation
  2396.        sequence.  Any customized changes you might have added are lost.  Only
  2397.        the current page is affected.  All other page layers stay intact.
  2398.  
  2399.        You could place some items on lower pages and use  sprite mode.   This
  2400.        only works for things you want moved underneath objects on the current
  2401.        page.    The  registered  version  offers  a  better  solution  called
  2402.        animation limiting.
  2403.  
  2404.  
  2405.        ADVANCED ANIMATION EDITING
  2406.        ──────────────────────────────────────────────────────────────────────
  2407.        There are several more complex functions which enhance your ability to
  2408.        create unique  special  effects.    These  include  animation limiting
  2409.        offered  in  the  registered  version,  Ansi Include files, and making
  2410.        custom Ansi sequences.   The  latter  especially  useful  with certain
  2411.        bulletin board systems.
  2412.  
  2413.  
  2414.        EDITING PARTIAL ANIMATION SEQUENCES:
  2415.  
  2416.        The shareware version of TheDraw only allows you to work on the end of
  2417.        an animation sequence.  You can  add  or  remove  things  easily.   To
  2418.        update something at the beginning of a sequence is more awkward.
  2419.  
  2420.        The registered  version help  significantly by adding a feature called
  2421.        animation limiting.  Now you can change the point where editing occurs
  2422.        on the  animation sequence.   Instead  of only  the end,  you can edit
  2423.        anywhere from  the  first  to  last  keystroke  entries.    A powerful
  2424.        improvement.
  2425.  
  2426.  
  2427.       ANIMATION LIMITING:
  2428.  
  2429.       Animation limiting  changes the  focal point  of TheDraw.   You can
  2430.       insert, delete and change any keystroke  anywhere in  the animation
  2431.       sequence.
  2432.  
  2433.       Choose "Limiting"  from the Animation pulldown to activate it.  Now
  2434.       use the  arrow keys,  [PGUP], [PGDN],  [HOME] or  [END] to position
  2435.       yourself inside  the sequence.   Once  you find  the correct place,
  2436.       press [ENTER].
  2437.  
  2438.       Picking a edit focal point is that easy.  When  in the  middle of a
  2439.       sequence, everything  after the  focal point is temporarily hidden.
  2440.       Now you can make any updates with no extra fuss.
  2441.  
  2442.       Once done, you should probably return to the  end of  the animation
  2443.       sequence.  Choose "Limiting" again.  Press [END] to reset the focal
  2444.       point, then [ENTER].
  2445.  
  2446.  
  2447.        TheDraw v4.50           The Animation System             29
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.       ANIMATION MARKERS:
  2454.  
  2455.       Markers provide a convenient way of jump around within an animation
  2456.       sequence.   Assume you constantly switch between the point where an
  2457.       object is drawn and the sequence  end.   By setting  a marker after
  2458.       the  object  appears  you  can  switch quickly, instead of manually
  2459.       positioning the focal point every time.
  2460.  
  2461.       To set a marker, first position  the  focal  point.    Next, choose
  2462.       "Marker" from  the Animation  pulldown.   TheDraw displays a window
  2463.       listing all current markers.  If  none  are  defined,  the  list is
  2464.       empty.  Type [S]et and enter a description of the marker.  ie:
  2465.  
  2466.         1:  Object has been drawn
  2467.  
  2468.       Press [ENTER]  to save the new marker.  From now on, to position to
  2469.       this marker,  select "Limiting"  from the  Animation pulldown, then
  2470.       [K] for markers.  Pick marker [1] and you are done!
  2471.  
  2472.  
  2473.        ANSI INCLUDE FILES:
  2474.  
  2475.        TheDraw permits "including" the contents of other files in the current
  2476.        animation sequence.  Typically this will be a "Ansi Music" sequence, a
  2477.        frequently used image, complex BBS control codes, etc...
  2478.  
  2479.        The  include  files  are  only  used  when  TheDraw actually saves the
  2480.        current animation sequence.  At that point, the include file is copied
  2481.        into the new output Ansi file TheDraw is making.
  2482.  
  2483.        Include files  are ignored by the animation screen redraw command.  If
  2484.        you want  to see  what everything  might look  like, a  view option is
  2485.        available in  the animation  include window.   Refer to the "ANIMATION
  2486.        OPTIONS" section for more information.
  2487.  
  2488.  
  2489.        MAKING CUSTOM USER ANSI SEQUENCES:
  2490.  
  2491.        You can insert your own short control code sequences directly into and
  2492.        Ansi  file  TheDraw  generates.    This is very useful for special BBS
  2493.        control codes (ie: for user names and such),  or inserting  extra Ansi
  2494.        codes into  the animation.   You  might force  the screen to clear, or
  2495.        cause the display to scroll - functions now supported by TheDraw.
  2496.        User Sequences are only  referred to  when TheDraw  saves a  file, and
  2497.        are  not  used  when  redrawing  (see ALT-Q).  Refer to the "ANIMATION
  2498.        OPTIONS" section for a complete description of user sequence.
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.        TheDraw v4.50           The Animation System             30
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.        TRICKS AND TECHNIQUES
  2513.        ──────────────────────────────────────────────────────────────────────
  2514.        Once the above  mentioned  animation  skills  are  down,  certain easy
  2515.        special effects  will help  liven up  a display.   Care given to color
  2516.        selection,  shading,  and  use  of  shadowing   to  furnish   a  three
  2517.        dimensional feel  can perform  wonders.  Animation is also improved on
  2518.        occasion by pausing the display slightly.
  2519.  
  2520.        Ideally you will find the "tricks" are not  really tricks  at all, but
  2521.        rather easy  skills to  master.  A little practice will put you firmly
  2522.        on the right track.
  2523.  
  2524.  
  2525.        USE OF COLORS:
  2526.  
  2527.        Good color selection is as  important  as  the  display  content being
  2528.        viewed.   Colors should  be high  contrast, but  not so as to distract
  2529.        the viewer.  For  example, Yellow  on Cyan  go well  together, however
  2530.        Magenta on  Green do  not.   Extensive theory  exists to predict which
  2531.        color to use with what, but for our  purposes some  experimenting will
  2532.        suffice.   Look for  combinations which  are easy  to read  and do not
  2533.        strain the eyes.  Observing other peoples work is a good teacher.
  2534.  
  2535.        Background colors should be used  to  your  advantage,  not detriment.
  2536.        For example, look closely at the TheDraw title screen and note how the
  2537.        layering was achieved.  Half block  characters (such  as "▄"  and "▀")
  2538.        are used  extensively with  the solid  portion one color and the blank
  2539.        region another.
  2540.  
  2541.        Lastly, flashing colors in combination with  good background selection
  2542.        is  an  excellent  visual  device.    For example, select flashing red
  2543.        (color 20)  on a  gray background  (color 7).   Put  a block character
  2544.        ("█").  Now select flashing gray (color 23) on a red background (color
  2545.        4).  Put another block character next to the first.   What  you see is
  2546.        the block colors alternating between red and gray, each block opposite
  2547.        of one another.  Repeating this pattern produces a moving effect.  See
  2548.        demo file EFFECTS.BIN for a working example.
  2549.  
  2550.  
  2551.        SHADING:
  2552.  
  2553.        Shading and shadowing discussed below are both used for adding texture
  2554.        and three dimensional quality to a display.  Shading is the process of
  2555.        gradually changing  visual intensity.   This  can be done using bright
  2556.        colors then more subdued  colors, or  using different  characters with
  2557.        different density such as "░▒▓█".
  2558.  
  2559.        For successful  shading, one  must be aware of how things truly appear
  2560.        in nature.  Examine a pen sitting on a table carefully.   The color is
  2561.        not uniform,  but rather  is bright in the middle then apparently gets
  2562.        darker towards the edges.  The same holds true for any curvature.
  2563.  
  2564.  
  2565.        TheDraw v4.50           The Animation System             31
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.        Example of how color changes on a curved object:
  2572.  
  2573.                   brightest here
  2574.  
  2575.                darker  ▄▄▀▀▀▀▀▀▀▀▄▄  darker
  2576.                  ▄▀            ▀▄
  2577.                 █            █
  2578.          darkest here  █          █  darkest here
  2579.                   ▐▌          ▐▌
  2580.  
  2581.  
  2582.                     ░░░░░░░░░░
  2583.                   ░░▒▒▓▓▓▓▓▓▒▒░░
  2584.                  ░▒▒▓▓▓████▓▓▓▒▒░
  2585.                 ░▒▒▓▓▓██████▓▓▓▒▒░
  2586.                 ░▒▒▓▓▓██████▓▓▓▒▒░
  2587.                  ░▒▒▓▓▓████▓▓▓▒▒░
  2588.                   ░░▒▒▓▓▓▓▓▓▒▒░░
  2589.                     ░░░░░░░░░░
  2590.  
  2591.  
  2592.        The above character shading example  shows  one  way  of  matching the
  2593.        curvature example.   You  can obtain more gradations by using high and
  2594.        low intensity color in combination.  For a case in point, coloring the
  2595.        following symbols as indicated yields eight shades of blue:
  2596.  
  2597.                     light
  2598.                     blue
  2599.                       │
  2600.                    light ─┬─┐┌┴┐┌┬─ blue
  2601.                 cyan  █▓▒▓▒░▒░
  2602.  
  2603.        The file  EFFECTS.BIN demonstrates  the above example.  Every possible
  2604.        shading combination is shown in SHADING.TD, using three pages.
  2605.  
  2606.  
  2607.        SHADOWING:
  2608.  
  2609.        This effect gives an object  the  illusion  of  a  third  dimension by
  2610.        throwing  a  "shadow"  onto  something.    Many  popular  programs use
  2611.        shadowing to highlight menu or other box structures.  Shadows are made
  2612.        by duplicating an object shifted down and over slightly, in a darkened
  2613.        color.  ie:
  2614.                    ████████████████████
  2615.                    ████████████████████░
  2616.                    ████████████████████░
  2617.                    ████████████████████░
  2618.                    ████████████████████░
  2619.                 ░░░░░░░░░░░░░░░░░░░░
  2620.  
  2621.        The most effective shadow colors are the light and dark grays.
  2622.  
  2623.  
  2624.        TheDraw v4.50           The Animation System             32
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.        PAUSING:
  2631.  
  2632.        TheDraw directly supports two  types  of  animation  pause:  timed and
  2633.        keyboard.    Unfortunately,  there  is  no way to wait for a keystroke
  2634.        response in an Ansi  file.   The keyboard  option is  operable only if
  2635.        TheDraw or  THEPP (see following section in documentation) is used for
  2636.        displaying the animation.  Timed pauses  can be  approximated however,
  2637.        by inserting redundant codes into the Ansi file.
  2638.  
  2639.        One application  might be  slowing down  steps of  an animated object.
  2640.        The object is shifted once,  then  a  short  pause  occurs  before the
  2641.        object is  shifted again.   The  relative speed difference (ie: object
  2642.        redrawn faster than shifting occurs) could  help smooth  the animation
  2643.        in some situations.
  2644.  
  2645.        Another  application  of  course,  is  placing a delay after a message
  2646.        appears.  Whisking something away  too  quickly  might  frustrate some
  2647.        users.  For instance, the SHUTTLE2.ANS example uses two delays.
  2648.  
  2649.  
  2650.  
  2651.        PITFALLS AND LIMITATIONS
  2652.        ──────────────────────────────────────────────────────────────────────
  2653.        You will discover a few limitations of Ansi animation as you progress.
  2654.        Large objects tend to "ripple" as they move.  ie:
  2655.  
  2656.                   ┌─────────────────────┐
  2657.                   │             │ <-- ripple effect
  2658.                   │            │
  2659.                  │             │
  2660.                  │             │
  2661.                  └─────────────────────┘
  2662.  
  2663.        Large object also use a significant portion of the available animation
  2664.        space.   You will  be amazed how quickly even 16000 entries disappear.
  2665.        Objects up to 30 character by 10 lines (30x10) in  size generally work
  2666.        with minimal  difficulty.  Faster computers can get away with slightly
  2667.        larger blocks.
  2668.  
  2669.        Since only one character point can  change at  any given  time, having
  2670.        multiple objects move simultaneously will slow performance.
  2671.  
  2672.        As with  everything, experience will tell you what is best for a given
  2673.        situation.
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.        TheDraw v4.50           The Animation System             33
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.              TIPS AND EXAMPLES FOR PROGRAMMERS
  2690.  
  2691.  
  2692.        This section is for individuals writing programs who are interested in
  2693.        using  TheDraw.    Effort  was  put forth to make TheDraw a convenient
  2694.        programmers utility.    The  various  sections  which  follow describe
  2695.        example code  for each  of the various languages TheDraw is compatible
  2696.        with.  The routines are tested and can be quite useful for  those just
  2697.        getting started.
  2698.  
  2699.  
  2700.        PROGRAMMING IN ASSEMBLER:
  2701.  
  2702.        Assembly programmers  will find  ASM formatted  files in standard data
  2703.        byte format, using the DB operator.  Asm files can  have varying sizes
  2704.        depending  upon  the  save  mode  used  (Ascii/Normal/Crunched).   The
  2705.        dimensions and  length of  the save  are displayed  at the  top of all
  2706.        assembler dumps.   If  you crunched  the screen,  you will have to use
  2707.        the uncrunch  routine  provided  in  ASM  source  code (UNCRUNCH.ASM).
  2708.        Values required in the CPU registers are documented in the file.
  2709.  
  2710.        Ascii formatted files must be read as bytes and saved on the screen as
  2711.        words.  This can  be  achieved  using  LODSB  and  STOSW instructions.
  2712.        LODSB loads  into AL  the character.   You  store into  AH the desired
  2713.        screen color attributes.   STOSW then  writes the  two bytes  onto the
  2714.        screen.   An alternate method would be to use the Bios or Dos, however
  2715.        these methods are considerably slower.
  2716.  
  2717.        A normal 4000 byte dump (80x25 screen) is  the easiest  to display via
  2718.        the REP MOVSW instruction.  To display the image, point the ES:DI pair
  2719.        to B800:0000 (for color  screens; B000:0000  monochrome) and  DS:SI to
  2720.        the screen  in your  program.   Also load  CX with the number of video
  2721.        words to display (2000 - A total of 4000 bytes).  ie:
  2722.  
  2723.         MOV      AX,0B800h
  2724.         MOV      ES,AX
  2725.         MOV      DI,0
  2726.         MOV      SI,offset ImageData
  2727.         MOV      CX,2000
  2728.         CLD                   ;Make MOVSW go forward.
  2729.         REP   MOVSW
  2730.  
  2731.        If writing to a EGA screen (80x43), CX would need 3440.   If to  a VGA
  2732.        screen (80x50), CX would need 4000.
  2733.  
  2734.        As shown  above, the  ImageData is  written directly  onto the screen.
  2735.        This will cause hashing or "snow" on some  color video  displays.  You
  2736.        may want  to move  only one  video word  at a  time, pausing until the
  2737.        video hardware is in horizontal or  vertical  retrace.    This  can be
  2738.        accomplished with the following routine.
  2739.  
  2740.  
  2741.  
  2742.        TheDraw v4.50     Tips and Examples for Programmers          34
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.        Example:
  2749.  
  2750.       MOV   AX,0B800h
  2751.       MOV   ES,AX
  2752.       MOV   DI,0
  2753.       MOV   SI,offset ImageData
  2754.       MOV   CX,2000
  2755.       CLD
  2756.  
  2757.       MOV   DX,03DAh       ;Save i/o address of CGA status register
  2758.  
  2759.        LOOPA:
  2760.       LODSW            ;Read data to be written
  2761.       MOV   BX,AX          ;Save for later.
  2762.  
  2763.       MOV   AH,9           ;Test mask for Vertical/Horizontal retrace
  2764.  
  2765.       IN    AL,DX          ;Read the status register
  2766.       TEST  AL,8           ;See if in vertical retrace?
  2767.       JNZ   WRITE_IT       ;Jump if so.  No need to wait here.
  2768.  
  2769.        LOOPB:
  2770.       IN    AL,DX          ;Read the status register
  2771.       RCR   AL,1           ;Test bit1.  Make sure we are not in the
  2772.       JC    LOOPB          ;middle of a horizontal retrace.
  2773.  
  2774.        LOOPC:
  2775.       IN    AL,DX          ;Read the status register
  2776.       TEST  AL,AH          ;Wait until in either vertical or
  2777.       JZ    LOOPC          ;horizontal retrace.
  2778.  
  2779.        WRITE_IT:
  2780.       MOV   AX,BX          ;Retrieve the character we loaded before.
  2781.       STOSW            ;Save it.
  2782.  
  2783.       LOOP  LOOPA
  2784.  
  2785.  
  2786.        The above  is a  fairly complex mess, but will reliably place a screen
  2787.        image snow free onto the display.   This  routine is  not needed  on a
  2788.        monochrome video since such hardware does not suffer from snow.
  2789.  
  2790.        Notice the  entry code  is identical  to the  previous simple example.
  2791.        The REP MOVSW is has been replaced with extensive checks  on the video
  2792.        hardware however.
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.        TheDraw v4.50     Tips and Examples for Programmers          35
  2802.  
  2803.  
  2804.  
  2805.  
  2806.        PROGRAMMING IN PASCAL:
  2807.  
  2808.        Pascal programmers  have equal  ease with  displaying screens.  Images
  2809.        can be flashed to the screen using the Turbo Pascal  "MOVE" procedure.
  2810.        A pascal NORMAL save can be displayed with the following program:
  2811.  
  2812.      {$I image.pas}
  2813.      type ScreenType = array [0..3999] of Byte;
  2814.      var Screen : ScreenType absolute $B800:0000;
  2815.  
  2816.      begin
  2817.        Move (ImageData,Screen,4000);
  2818.      end.
  2819.  
  2820.        The  above  defines  a  variable  at the absolute address of the video
  2821.        memory.  The importance of defining such an array will  become obvious
  2822.        below.   IMAGEDATA is assumed to be the name of the pascal image dump,
  2823.        but is easily altered  when saving  the file  from TheDraw.   The MOVE
  2824.        procedure puts  ImageData onto  the screen.   Please note this is only
  2825.        for a full screen.    To  display  a  screen  block  is  slightly more
  2826.        difficult.  Our program now becomes:
  2827.  
  2828.      {$I image.pas}
  2829.      type ScreenType = array [0..3999] of Byte;
  2830.      var Screen : ScreenType absolute $B800:0000;
  2831.          X,Offset : Integer;
  2832.      begin
  2833.        Offset := ???;  {Replace ??? with offset to display block}
  2834.  
  2835.        for X := 0 to IMAGEDATA_DEPTH-1 do
  2836.          Move (ImageData[1+X*IMAGEDATA_WIDTH*2],
  2837.            Screen[X*160+Offset],IMAGEDATA_WIDTH*2);
  2838.      end.
  2839.  
  2840.        The  constants  IMAGEDATA_DEPTH  and IMAGEDATA_WIDTH specify the block
  2841.        dimensions of IMAGEDATA, and  are generated  by TheDraw automatically.
  2842.        If  you  change  the  name  identifier,  the width and depth names are
  2843.        updated also.  The depth is the number of vertical lines in the block.
  2844.        Width is  the number  of character  across the  block.   OFFSET is the
  2845.        video address you want the block to appear at.  It is computed with:
  2846.  
  2847.                  (column*2)+(row*160)-162
  2848.  
  2849.                 Column varies 1..80
  2850.                  Row varies 1..25
  2851.  
  2852.        Notice in this example we are using a  loop and  moving one  line at a
  2853.        time.   Lines from  ImageData are  placed on the video at OFFSET.  The
  2854.        address in ImageData is advanced to the location  of the  next line in
  2855.        each loop.   The  video address advances 160 characters each time (the
  2856.        byte width of the video display).
  2857.  
  2858.  
  2859.  
  2860.        TheDraw v4.50     Tips and Examples for Programmers          36
  2861.  
  2862.  
  2863.  
  2864.  
  2865.        Turbo Pascal v3.0 users also have another interesting option.  You can
  2866.        include a .BIN file into a turbo program and then display it using the
  2867.        above techniques.
  2868.  
  2869.        The file actually becomes part of your compiled pascal program.   Once
  2870.        your program is compiled, you no longer need to have the DEMO.BIN file
  2871.        present.
  2872.  
  2873.      procedure DummyProc; external 'DEMO.BIN';
  2874.  
  2875.      type ScreenType = array [0..3999] of Byte;
  2876.      var Screen : ScreenType absolute $B800:0000;
  2877.          X,Depth,Width,Offset : Integer;
  2878.          ImageDataPtr : ^ScreenType;
  2879.      begin
  2880.        Depth := ???;      {Replace ???'s with actual block dimensions}
  2881.        Width := ???;      {as specified by TheDraw after .BIN save.}
  2882.        Offset := ???;     {Replace ??? with position to display block}
  2883.  
  2884.        ImageDataPtr := Addr(DummyProc);
  2885.  
  2886.        for X := 0 to Depth-1 do
  2887.          Move (ImageDataPtr^[1+X*Width*2],Screen[X*160+Offset],Width*2);
  2888.      end.
  2889.  
  2890.        In the above program, we create  a pointer  (IMAGEDATAPTR) pointing at
  2891.        the address  of DUMMYPROC.   The rest of the program is similar to the
  2892.        previous example, except all  occurrences  of  IMAGEDATA  are replaced
  2893.        with  IMAGEDATAPTR^.    Also,  since  the  block  dimensions  are  not
  2894.        available, you must specify them.
  2895.  
  2896.        The up arrow symbol at the end is  very important.   If  you don't use
  2897.        it, Turbo  will copy  the -value- of your pointer to the screen.  This
  2898.        will generally appear as  garbage.   It can  be fun  playing with this
  2899.        concept, you simply must be careful with the pointers.
  2900.  
  2901.        Pascal ASCII  saves are  used similar to strings.  Since the ImageData
  2902.        arrays created do not have color  attributes, we  cannot directly move
  2903.        them to  the video.  The following shows two techniques for displaying
  2904.        these images.
  2905.  
  2906.      --- Pascal ASCII Save Example 1 ---
  2907.  
  2908.      {$I image.pas}
  2909.      var X:Integer;
  2910.      begin
  2911.        ClrScr;
  2912.        for X := 1 to IMAGEDATA_LENGTH do Write (ImageData[X]);
  2913.      end.
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.        TheDraw v4.50     Tips and Examples for Programmers          37
  2920.  
  2921.  
  2922.  
  2923.  
  2924.      --- Pascal ASCII Save Example 2 ---
  2925.  
  2926.      {$I image.pas}
  2927.      type ScreenType = array [0..3999] of Byte;
  2928.      var Screen : ScreenType absolute $B800:0000;
  2929.          X:Integer;
  2930.      begin
  2931.        ClrScr;
  2932.        for X := 1 to IMAGEDATA_LENGTH do
  2933.          Screen[X*2-2] := ImageData[X];
  2934.      end.
  2935.  
  2936.        The first example is easiest to  understand.    All  we  are  doing is
  2937.        displaying each  character in IMAGEDATA on the screen using the pascal
  2938.        WRITE function.  This works because the IMAGEDATA block (in this case)
  2939.        is 80  characters wide, so there is no need for a WRITELN.  The cursor
  2940.        will automatically be bumped down to the next  line.  IMAGEDATA_LENGTH
  2941.        is another constant automatically generated by TheDraw.
  2942.  
  2943.        The second  example is  similar to  the first, but directly stuffs the
  2944.        characters onto the screen.    This  will  be  faster  than  the first
  2945.        method.  Notice the Screen[X*2-2].  The multiplication is done because
  2946.        each character occupies two bytes of  video memory.   Since  the first
  2947.        video address is 0, we add -2 to the offset to keep things aligned.
  2948.  
  2949.        To  use  pascal  images  CRUNCHED  by  TheDraw  requires  use  of  the
  2950.        UNCRUNCH.PAS file  included  with  the  package.    The  file contains
  2951.        details and instruction on using crunched images.
  2952.  
  2953.  
  2954.        TURBO PASCAL v4.0 through v5.5:
  2955.  
  2956.        The above  examples will all work for Turbo Pascal v4.0 to v5.5 users,
  2957.        with exception to the external .BIN file example.  The newer compilers
  2958.        do not  support the  old format.  Instead you must use TheDraw's Turbo
  2959.        Pascal compatible Object (.OBJ) files.
  2960.  
  2961.        To use the object file do the following:
  2962.  
  2963.      {$L DEMO.OBJ }
  2964.      procedure ImageData; external;
  2965.      procedure ImageData_Width; external;
  2966.      procedure ImageData_Depth; external;
  2967.      procedure ImageData_Length; external;
  2968.  
  2969.        The procedure name  (ImageData  here)  is  specified  when  making the
  2970.        object  file.    All  four  external  procedure  definitions  must  be
  2971.        specified (Turbo requires it).   Although  these are  "procedures" you
  2972.        MUST NOT  execute them.   They  only contain  image data which must be
  2973.        referred to via pointers.  The modified .BIN example follows:
  2974.  
  2975.  
  2976.  
  2977.  
  2978.        TheDraw v4.50     Tips and Examples for Programmers          38
  2979.  
  2980.  
  2981.  
  2982.  
  2983.      {$L DEMO.OBJ}
  2984.      procedure ImageData; external;
  2985.      procedure ImageData_Width; external;
  2986.      procedure ImageData_Depth; external;
  2987.      procedure ImageData_Length; external;
  2988.  
  2989.      type ScreenType = array [0..3999] of Byte;
  2990.      var Screen : ScreenType absolute $B800:0000;
  2991.          X,Offset : Integer;
  2992.          ImageDataPtr : ^ScreenType;
  2993.          ImageDataWidthPtr : ^Integer;
  2994.          ImageDataDepthPtr : ^Integer;
  2995.          ImageDataLengthPtr : ^Integer;
  2996.  
  2997.      begin
  2998.        Offset := ???;       {Replace ??? with position to display block}
  2999.  
  3000.        ImageDataPtr := @ImageData;
  3001.        ImageDataWidthPtr := @ImageData_Width;
  3002.        ImageDataDepthPtr := @ImageData_Depth;
  3003.        ImageDataLengthPtr := @ImageData_Length;
  3004.  
  3005.        for X := 0 to ImageDataDepthPtr^-1 do
  3006.          Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],
  3007.            Screen[X*160+Offset],ImageDataWidthPtr^*2);
  3008.      end.
  3009.  
  3010.        The above is for a generalized block of any dimension.   A  pointer to
  3011.        the IMAGEDATA_LENGTH  is initialized  but not  used.   It is there for
  3012.        example usage only.  The above program can be simplified  somewhat for
  3013.        an entire screen.  ie:
  3014.  
  3015.      {$L DEMO.OBJ}
  3016.      procedure ImageData; external;     {All of these are needed,}
  3017.      procedure ImageData_Width; external;   {otherwise Turbo v4.0-v5.5}
  3018.      procedure ImageData_Depth; external;   {get upset.}
  3019.      procedure ImageData_Length; external;
  3020.  
  3021.      begin
  3022.        Move (pointer(@ImageData)^,ptr($B800,0)^,4000);
  3023.      end.
  3024.  
  3025.        Note the  usage of  typecasting to eliminate the pointer to ImageData.
  3026.        This cleans up the program  appearance  somewhat.    In  addition, the
  3027.        value of  4000 could  be replaced  with a pointer to IMAGEDATA_LENGTH.
  3028.        However, since this is an  entire  screen  why  bother  initializing a
  3029.        pointer.  A full 80 by 25 screen is always 4000 bytes in length.
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.        TheDraw v4.50     Tips and Examples for Programmers          39
  3038.  
  3039.  
  3040.  
  3041.  
  3042.        TURBO PASCAL VERSION 6.0:
  3043.  
  3044.        Everything  shown  thus  far  for  Turbo  Pascal  v4.0  to  v5.5 works
  3045.        perfectly well in TP 6.0.  However, the  newest release  allows a more
  3046.        relaxed  preinitialized  constant  definitions.  The previous examples
  3047.        can be shorten to:
  3048.  
  3049.      {$L DEMO.OBJ}
  3050.      procedure ImageData; external;
  3051.      procedure ImageData_Width; external;
  3052.      procedure ImageData_Depth; external;
  3053.      procedure ImageData_Length; external;
  3054.  
  3055.      type ScreenType = array [0..3999] of Byte;
  3056.      var Screen : ScreenType absolute $B800:0000;
  3057.          X,Offset : Integer;
  3058.  
  3059.      const
  3060.        ImageDataPtr : ^ScreenType = @ImageData;
  3061.        ImageDataWidthPtr : ^Integer = @ImageData_Width;
  3062.        ImageDataDepthPtr : ^Integer = @ImageData_Depth;
  3063.        ImageDataLengthPtr : ^Integer = @ImageData_Length;
  3064.  
  3065.      begin
  3066.        Offset := ???;     {Replace ??? with position to display block}
  3067.  
  3068.        for X := 0 to ImageDataDepthPtr^-1 do
  3069.          Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],
  3070.            Screen[X*160+Offset],ImageDataWidthPtr^*2);
  3071.      end.
  3072.  
  3073.  
  3074.        In addition, all the external definitions  for public  identifiers are
  3075.        no longer mandatory.   Thus the full screen example reduces to:
  3076.  
  3077.      {$L DEMO.OBJ}
  3078.      procedure ImageData; external;
  3079.  
  3080.      begin
  3081.        Move (pointer(@ImageData)^,ptr($B800,0)^,4000);
  3082.      end.
  3083.  
  3084.        People casually reviewing the literature for v6.0 may note initialized
  3085.        data is permitted within object files now.   Although a  definite vast
  3086.        improvement, the  data is  still private to the object file.  Assuming
  3087.        the  designers  of  Turbo  Pascal  eventually  add  external  variable
  3088.        declarations (similar  to C), the Large object file data model TheDraw
  3089.        currently supports should be compatible.  Until then we must bear with
  3090.        the current approach for accessing image data.
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.        TheDraw v4.50     Tips and Examples for Programmers          40
  3097.  
  3098.  
  3099.  
  3100.  
  3101.        PROGRAMMING IN C:
  3102.  
  3103.        C  programmers  have  support  similar  to  that  for pascal.  TheDraw
  3104.        creates the Normal, Ascii,  and Crunched  file formats  using modern C
  3105.        code definitions.  The ImageData arrays are used similar to the pascal
  3106.        case.  Please note, in the following examples  it will  be assumed the
  3107.        programs are compiled in a state supporting 32-bit data pointers.
  3108.  
  3109.        A C NORMAL save is the easiest to display.  For instance:
  3110.  
  3111.      #include <stdio.h>
  3112.      #include <mem.h>
  3113.      #include "image.h"
  3114.      main ()  {
  3115.        /* Kludge a pointer at video memory (segment 0xB800, offset 0) */
  3116.        void far *screen = (void far *) 0xB8000000;
  3117.        memcpy (screen,IMAGEDATA,4000);    /* Move image to screen */
  3118.      }
  3119.  
  3120.        The  <mem.h>  file  reference  contains  the  definition of the memcpy
  3121.        routine.  Users of Microsoft C  should reference  the <memory.h> file.
  3122.        IMAGE.H is  assumed to  contain the array IMAGEDATA created by TheDraw
  3123.        (the name may be changed to anything else  naturally).   The void data
  3124.        type used is a modern C convention.  If your compiler does not support
  3125.        it, use type char instead (or  whatever type  your compiler  wants for
  3126.        parameters to memcpy).
  3127.  
  3128.        Reminder:
  3129.       Be absolutely sure you are using the proper code/data model.  It is
  3130.       very easy to write  the above  program, only  to have  the compiler
  3131.       complain about incompatible pointer sizes and other nastiness.  The
  3132.       function memcpy MUST accept full 32 bit data  pointers.   In TurboC
  3133.       for instance, you must use memory models Compact, Large, or Huge.
  3134.  
  3135.        The above  is for  a full screen image.  To display a block involves a
  3136.        little more work, as in the pascal example.
  3137.  
  3138.      #include <stdio.h>
  3139.      #include <mem.h>
  3140.      #include "image.h"
  3141.      main () {
  3142.        void far *screen;
  3143.        int offset = ???;  /* Replace ??? with offset to display block */
  3144.        int x;
  3145.  
  3146.        for (x=0; x<IMAGEDATA_DEPTH; x++) {
  3147.          (long) screen = 0xB8000000+x*160+offset;
  3148.          memcpy (screen,&IMAGEDATA[x*IMAGEDATA_WIDTH*2],IMAGEDATA_WIDTH*2);
  3149.        }
  3150.      }
  3151.  
  3152.  
  3153.  
  3154.  
  3155.        TheDraw v4.50     Tips and Examples for Programmers          41
  3156.  
  3157.  
  3158.  
  3159.  
  3160.        As before, the variables  IMAGEDATA_DEPTH and  IMAGEDATA_WIDTH specify
  3161.        the block  size saved in IMAGEDATA, and are generated by TheDraw.  The
  3162.        depth is the number  of vertical  lines in  the block.   Width  is the
  3163.        number  of  characters  across  the  block.  OFFSET contains the video
  3164.        address the block is to appear at.  It is computed with:
  3165.  
  3166.                  (column*2)+(row*160)-162
  3167.  
  3168.                 Column varies 1..80
  3169.                  Row varies 1..25
  3170.  
  3171.        A loop is used in this  example to  move one  line at  a time.   Lines
  3172.        from IMAGEDATA  are placed  on the  video at OFFSET.  The address into
  3173.        IMAGEDATA is advanced to the location of the  next line  in each loop.
  3174.        The  video  address  advances  160  characters for each line (the byte
  3175.        width of the video display).
  3176.  
  3177.        Programmers with TurboC can  also  use  the  function  puttext.   This
  3178.        handles everything  the previous  example did  and is  called with the
  3179.        following parameters:
  3180.  
  3181.            XUL    = X coordinate of upper-left corner.
  3182.            YUL    = Y coordinate of upper-left corner.
  3183.            XLR    = X coordinate of lower-right corner.
  3184.            YLR    = Y coordinate of lower-right corner.
  3185.            source = address pointer to data
  3186.  
  3187.        Examples of usage are:
  3188.  
  3189.          puttext (1,1,80,25,IMAGEDATA);
  3190.         /* full screen display */
  3191.  
  3192.          puttext (1,1,IMAGEDATA_WIDTH,IMAGEDATA_DEPTH,IMAGEDATA);
  3193.         /* display block in upper-left corner of screen */
  3194.  
  3195.          puttext (81-IMAGEDATA_WIDTH,26-IMAGEDATA_DEPTH,80,25,IMAGEDATA);
  3196.         /* display block in lower-right corner of screen */
  3197.  
  3198.  
  3199.        In addition to simplifying the code,  this function  can be  used from
  3200.        ANY memory model.  You are not restricted to the larger memory models.
  3201.        However, remember this function will only work for NORMAL screen saves
  3202.        (not Ascii or Crunched).
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.        TheDraw v4.50     Tips and Examples for Programmers          42
  3215.  
  3216.  
  3217.  
  3218.  
  3219.        The ASCII  format is  a bit easier to use in C than Pascal.  By taking
  3220.        advantage of the 0 terminated strings  of C,  we can  display an ASCII
  3221.        image by simply doing the following:
  3222.  
  3223.      #include <stdio.h>
  3224.      #include "image.h"
  3225.      main () {
  3226.        printf ("%s",IMAGEDATA);
  3227.      }
  3228.  
  3229.        An alternate technique for displaying ASCII format files is similar to
  3230.        the second pascal example (for doing the same thing).  ie:
  3231.  
  3232.      #include <stdio.h>
  3233.      #include <mem.h>
  3234.      #include "image.h"
  3235.      main () {
  3236.        void far *screen;
  3237.  
  3238.        int x;
  3239.  
  3240.        for (x=0; x<4000; x++) {
  3241.          (long) screen = 0xB8000000 + x*2;
  3242.          memcpy (screen,&IMAGEDATA[x],1);
  3243.        }
  3244.      }
  3245.  
  3246.        Characters are copied one at a  time from  the IMAGEDATA  array to the
  3247.        video memory.   This  is significantly faster than the printf example,
  3248.        since the overhead of going through the operating system is removed.
  3249.  
  3250.        To use C images CRUNCHED by TheDraw, you must use  the code  in either
  3251.        UNCRUN_N.OBJ or  UNCRUN_F.OBJ (depending if you are using a Small/Near
  3252.        or Large/Far code model).   The  file UNCRUNCH.H  contains examples on
  3253.        their usage.
  3254.  
  3255.  
  3256.  
  3257.        USING OBJECT FILES WITH C:
  3258.  
  3259.        C  is  normally  implemented  to smoothly interface with object files.
  3260.        There are two steps to using TheDraw object files with C.
  3261.  
  3262.       1) Specify external variables referencing the screen image.
  3263.       2) Tell the compiler make/project utility to  link the  wanted file
  3264.          with your program.
  3265.  
  3266.        Notice in  the following  program that  no include  is made.  The file
  3267.        containing the image is not C source code.   It  is a  prepared object
  3268.        file merely  needing to  be linked.   Therefore,  we tell the compiler
  3269.        what to expect via EXTERN definitions.
  3270.  
  3271.  
  3272.  
  3273.        TheDraw v4.50     Tips and Examples for Programmers          43
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.      #include <stdio.h>
  3280.      #include <mem.h>
  3281.      main () {
  3282.        extern int IMAGEDATA_WIDTH;
  3283.        extern int IMAGEDATA_DEPTH;
  3284.        extern int IMAGEDATA_LENGTH;
  3285.        extern unsigned char IMAGEDATA [];
  3286.  
  3287.        void far *screen;
  3288.        int offset = ???;  /* Replace ??? with offset to display block */
  3289.        int x;
  3290.  
  3291.        for (x=0; x<IMAGEDATA_DEPTH; x++) {
  3292.          (long) screen = 0xB8000000+x*160+offset;
  3293.          memcpy (screen,&IMAGEDATA[x*IMAGEDATA_WIDTH*2],IMAGEDATA_WIDTH*2);
  3294.        }
  3295.      }
  3296.  
  3297.        Notice  the  image  dimensions  (width,depth,length)  are   stored  as
  3298.        variables for  easy reference.  The length parameter is not used here,
  3299.        but included to show its availability.
  3300.  
  3301.        The second step is largely dependent on the compiler setup.   You must
  3302.        create  or  update  a  make  file to link the necessary TheDraw object
  3303.        (.OBJ) file with your program.  If you  use Turbo  C, simply  list the
  3304.        file in the project listing.
  3305.  
  3306.  
  3307.  
  3308.        PROGRAMMING IN STANDARD BASIC:
  3309.  
  3310.        Basic programmers  are a  little more  limited, not  because they lack
  3311.        commands, but lack speed.  Therefore  TheDraw creates  the BSave files
  3312.        with all  addressing information  already programmed.  All you have to
  3313.        do  is  type  'BLOAD  "filename.BSV"'.      The   screen   segment  is
  3314.        automatically set,  so you  don't have  to bother  with DEF SEG=etc...
  3315.        However, if you wish to override the display segment default,  try the
  3316.        following:
  3317.  
  3318.         DEF SEG=&HB800 : BLOAD"filename.BSV"
  3319.  
  3320.        For monochrome video users, replace the B800 with B000.
  3321.  
  3322.        TheDraw allows  partial block saves for basic files.  These files will
  3323.        always be 80 characters wide.  This is a limitation of BLOAD  which we
  3324.        all  must  live  with.    They  can start and end on any vertical line
  3325.        however, so you could load a  full screen  then just  load small block
  3326.        images to  update those parts of the screen needing it.  Make sure you
  3327.        build the partial-block images in TheDraw in the exact screen location
  3328.        you want them to finally appear.  If you save a block starting on line
  3329.        5, and ending on line 8 that is where Basic will display it.
  3330.  
  3331.  
  3332.        TheDraw v4.50     Tips and Examples for Programmers          44
  3333.  
  3334.  
  3335.  
  3336.  
  3337.        PROGRAMMING IN MICROSOFT QUICKBASIC v4.0 AND v4.5:
  3338.  
  3339.        All the techniques mentioned  for Standard  Basic above  are valid for
  3340.        Microsoft's QuickBasic compiler.  However, in QuickBasic v4.0 and v4.5
  3341.        additional means are at our disposal.
  3342.  
  3343.        TheDraw produces QuickBasic compatible  object files  (.OBJ) which are
  3344.        directly linkable.   Each  TheDraw QuickBasic object file contains the
  3345.        screen image data  plus  four  functions  for  referencing  that data.
  3346.        These are  shown below  as used  from within  QuickBasic (assuming the
  3347.        default identifier of IMAGEDATA):
  3348.  
  3349.              DECLARE FUNCTION IMAGEDATA&
  3350.              DECLARE FUNCTION IMAGEDATAWIDTH%
  3351.              DECLARE FUNCTION IMAGEDATADEPTH%
  3352.              DECLARE FUNCTION IMAGEDATALENGTH%
  3353.  
  3354.        Changing the identifier when saving the  object file  alters the above
  3355.        accordingly.  ie:  an identifier of TEST would be:
  3356.  
  3357.              DECLARE FUNCTION TEST&
  3358.              DECLARE FUNCTION TESTWIDTH%
  3359.              DECLARE FUNCTION TESTDEPTH%
  3360.              DECLARE FUNCTION TESTLENGTH%
  3361.  
  3362.        The  functions  are  used  in  conjunction  with  the QB4UTIL.LIB file
  3363.        containing subroutines for displaying  the  screen  image  data.   The
  3364.        first  function,  IMAGEDATA  (or  whatever identifier chosen), returns
  3365.        information regarding the location of the  data.    It  is  used  as a
  3366.        parameter to one of the display subroutines.  ie:
  3367.  
  3368.          CALL UNCRUNCH (IMAGEDATA&, 0)            Use whichever is
  3369.          CALL ASCIIDISPLAY (IMAGEDATA&, 0)     <- appropriate to the
  3370.          CALL NORMALDISPLAY (IMAGEDATA&, 0)       file created by TheDraw
  3371.  
  3372.        The next  two functions  return the  width and depth dimensions of the
  3373.        screen image block.   For  instance,  a  full  screen  would typically
  3374.        return 80  and 25  respectfully (unless  an EGA/VGA display was in use
  3375.        causing the depth to  increase).    These  parameters  are  useful for
  3376.        determining window and viewport sizes, computing area, etc...
  3377.  
  3378.        The last  function returns  the length  of the  data as stored in your
  3379.        program.  A crunched image or a small data block could be quite small.
  3380.        A 80x25 normal binary screen image would be 4000 bytes.
  3381.  
  3382.        To  use   TheDraw  object   files  within  the  QuickBasic  integrated
  3383.        environment requires the making of  a  Microsoft  Quick  Library.   If
  3384.        linking together your program externally, the QB4UTIL.LIB file must be
  3385.        included as  it  contains  the  required  Uncrunch,  AsciiDisplay, and
  3386.        NormalDisplay routines.
  3387.  
  3388.  
  3389.  
  3390.  
  3391.        TheDraw v4.50     Tips and Examples for Programmers          45
  3392.  
  3393.  
  3394.  
  3395.  
  3396.        MAKING AND USING QUICK LIBRARIES:
  3397.  
  3398.        To  ease  the  use  of  TheDraw  object  files,  a  batch  file called
  3399.        MAKEQLB.BAT is included.    The  batch  file  creates  both  the Quick
  3400.        Library files  (.QLB extension)  and the  separate library files (.LIB
  3401.        extension).  The idea being to put everything in one place.
  3402.  
  3403.        Once MAKEQLB has run  successfully,  you  can  use  the  Quick Library
  3404.        within the environment.  ie:
  3405.  
  3406.                 QB /L testfile.QLB
  3407.  
  3408.        In addition,  linking at  the Dos  prompt is  simplified since all you
  3409.        need include is the one file.  ie:
  3410.  
  3411.             LINK program.OBJ+testfile.LIB,,,,;
  3412.  
  3413.           (program.OBJ is assumed created by the BC.EXE compiler)
  3414.  
  3415.        MAKEQLB.BAT must  be in  the same  directory as  LINK.EXE, LIB.EXE and
  3416.        BRUN40.LIB or  BRUN45.LIB (depending  on your  version of QuickBasic),
  3417.        plus naturally the TheDraw object files.  The parameters to  the batch
  3418.        file are:
  3419.  
  3420.           MAKEQLB <targetlib> <objectfile1> <objectfile2> etc...
  3421.  
  3422.        The <targetlib> is any library filename you want.  Do -not- put a file
  3423.        extension on this! (see example below)  The batch adds  the extensions
  3424.        .QLB and  .LIB automatically for you.  The <objectfile> parameters are
  3425.        the names of object files you created with TheDraw.
  3426.  
  3427.            ─────────────────── Example run ────────────────────
  3428.  
  3429.           THEDRAW
  3430.              ....assume users creates the QB object files
  3431.               IMAGE1.OBJ and IMAGE2.OBJ
  3432.  
  3433.           MAKEQLB IMAGES SCREEN1.OBJ SCREEN2.OBJ
  3434.              ....creates the files IMAGES.QLB & IMAGES.LIB
  3435.               containing the two above object files plus
  3436.               the required display routines.
  3437.  
  3438.           QB /L IMAGES.QLB
  3439.              ....runs QuickBasic using new Quick Library.
  3440.  
  3441.            ────────────────────────────────────────────────────
  3442.  
  3443.        Once the Quick Library is created, using the screen images is a simple
  3444.        matter of  calling a  display routine.   The  display routines must be
  3445.        declare within QuickBasic before they can be called.
  3446.  
  3447.  
  3448.  
  3449.  
  3450.        TheDraw v4.50     Tips and Examples for Programmers          46
  3451.  
  3452.  
  3453.  
  3454.  
  3455.        THE DISPLAY ROUTINES:
  3456.  
  3457.        The file QB4UTIL.BI lists those declarations for convenience.   Simply
  3458.        include it with the following meta command:
  3459.  
  3460.                 REM $INCLUDE: 'QB4UTIL.BI'
  3461.  
  3462.  
  3463.        Four routines are declared within this file:
  3464.  
  3465.       UNCRUNCH            Contains  algorithm  needed to display crunched
  3466.                   screen images.
  3467.       ASCIIDISPLAY        Display ascii-only object files.
  3468.       NORMALDISPLAY       Display normal binary object files.
  3469.       INITSCREENARRAY     Initialize  a   dynamic   array   for  directly
  3470.                   accessing  the  video  screen.    Can  be  used
  3471.                   instead of DEF SEG, PEEK, and POKE.
  3472.  
  3473.  
  3474.        The actual declarations are:
  3475.  
  3476.            DECLARE SUB UNCRUNCH (X&, Z%)
  3477.            DECLARE SUB ASCIIDISPLAY (X&, Z%)
  3478.            DECLARE SUB NORMALDISPLAY (X&, Z%)
  3479.            DECLARE SUB INITSCREENARRAY (A%())
  3480.  
  3481.  
  3482.        The first parameter to  the display  routines is  the identifier saved
  3483.        within a given object file (ie: IMAGEDATA&).
  3484.  
  3485.        The second  parameter of  each display  call is the video location the
  3486.        image will appear.  The upper left screen corner is offset 0 with each
  3487.        line taking 160 bytes (each screen character uses two bytes).  ie:
  3488.  
  3489.            line 1 = offset 0
  3490.            line 2 = offset 160
  3491.            line 3 = offset 320
  3492.            line 4 = offset 480
  3493.            etc...
  3494.  
  3495.        To compute  an arbitrary  video location,  for any text mode including
  3496.        the 43/50 line EGA/VGA modes, use the formula:
  3497.  
  3498.            Video Offset  =  (X-1)*2 + (Y-1)*160
  3499.  
  3500.  
  3501.  
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509.        TheDraw v4.50     Tips and Examples for Programmers          47
  3510.  
  3511.  
  3512.  
  3513.  
  3514.        Example program  using  images  screens.    Assume  three  screens are
  3515.        available with  the identifiers  Q1, Q2,  and Q3.   Q1 is crunched, Q2
  3516.        saved as Ascii-Only, and Q3 saved with normal binary.
  3517.  
  3518.       REM $INCLUDE: 'QB4UTIL.BI'    ' Get display routine declarations
  3519.  
  3520.       DECLARE FUNCTION Q1&      ' Important!  Do not neglect either
  3521.       DECLARE FUNCTION Q1Width%     ' the "&" or "%" symbols on function
  3522.       DECLARE FUNCTION Q1Depth%     ' declarations shown here.
  3523.       DECLARE FUNCTION Q1Length%
  3524.       DECLARE FUNCTION Q2&
  3525.       DECLARE FUNCTION Q2Width%
  3526.       DECLARE FUNCTION Q2Depth%
  3527.       DECLARE FUNCTION Q2Length%
  3528.       DECLARE FUNCTION Q3&
  3529.       DECLARE FUNCTION Q3Width%
  3530.       DECLARE FUNCTION Q3Depth%
  3531.       DECLARE FUNCTION Q3Length%
  3532.  
  3533.       CLS                    ' Clear screen
  3534.       PRINT "Screen #1 (Crunched)"       ' Print data of this image then
  3535.       PRINT "  Width: "; Q1Width%        ' pause for user.
  3536.       PRINT "  Depth: "; Q1Depth%
  3537.       PRINT "  Length:"; Q1Length%
  3538.       WHILE INKEY$ = "": WEND
  3539.       CLS                    ' Clear screen
  3540.       CALL UNCRUNCH(Q1&, 0)          ' Go uncrunch first image
  3541.       WHILE INKEY$ = "": WEND            ' Pause
  3542.  
  3543.       CLS
  3544.       PRINT "Screen #2 (Ascii Only)"     ' Print data on second image
  3545.       PRINT "  Width: "; Q2Width%        ' and pause for user.
  3546.       PRINT "  Depth: "; Q2Depth%
  3547.       PRINT "  Length:"; Q2Length%
  3548.       WHILE INKEY$ = "": WEND
  3549.       CLS
  3550.       CALL ASCIIDISPLAY(Q2&, 0)          ' Display ascii-only image data.
  3551.       WHILE INKEY$ = "": WEND            ' Pause
  3552.  
  3553.       CLS
  3554.       PRINT "Screen #3 (Normal Binary)"  ' Print data on third image
  3555.       PRINT "  Width: "; Q3Width%        ' and pause for user.
  3556.       PRINT "  Depth: "; Q3Depth%
  3557.       PRINT "  Length:"; Q3Length%
  3558.       WHILE INKEY$ = "": WEND
  3559.       CLS
  3560.       CALL NORMALDISPLAY(Q3&, 0)         ' Display normal binary image.
  3561.       WHILE INKEY$ = "": WEND            ' Pause
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.        TheDraw v4.50     Tips and Examples for Programmers          48
  3569.  
  3570.  
  3571.  
  3572.  
  3573.       REM $DYNAMIC               ' Setup dynamic integer array
  3574.       DIM SCREEN%()              ' mapped over video display.
  3575.       INITSCREENARRAY (SCREEN%())
  3576.  
  3577.       FOR Y% = 1 TO 25               ' Make screen scroll downward.
  3578.          FOR X% = 1999 TO 160 STEP -1
  3579.         SCREEN%(X%) = SCREEN%(X%-160)
  3580.          NEXT
  3581.  
  3582.          FOR X% = 0 TO 159 : SCREEN%(X%) = 0 : NEXT   ' Clear top line.
  3583.          FOR X% = 0 TO 1000 : NEXT            ' Slow things down.
  3584.       NEXT
  3585.       END
  3586.  
  3587.        The first call (to  UNCRUNCH) displays  Q1 in  the upper  left corner.
  3588.        The second  call (to  ASCIIDISPLAY) displays  IMAGE2 on the sixth line
  3589.        down, in  the center  of the  screen (40  characters over).   The file
  3590.        QB4UTIL.BI  contains   a  complete  description  of  all  the  display
  3591.        routines for you.
  3592.  
  3593.        Note in the above  example, everything  available in  a TheDraw object
  3594.        file  was  declared  and  used  (the Image, the width, depth, and data
  3595.        length) for example purposes.   In  normal use  you need  only declare
  3596.        what you  wish to  take advantage  of (naturally).  If you always used
  3597.        80x25 screens, there would be no  need to  access the  image width and
  3598.        depth for instance.
  3599.  
  3600.        The  INITSCREENARRAY  sets  up  a  dynamic array mapped over the video
  3601.        display.  To directly manipulate the  screen, you  can perform various
  3602.        useful operations  with this  array.   For instance, the above example
  3603.        scrolls the screen downward thus clearing  the screen.   You  may find
  3604.        this  more  convenient  than  setting  up DEF SEG, and using PEEK/POKE
  3605.        operations.  Initializing the array requires  the following  (the name
  3606.        used here is "screen" - you can change this to anything of course)
  3607.  
  3608.          REM $DYNAMIC
  3609.          DIM SCREEN%()
  3610.          INITSCREENARRAY (SCREEN%())
  3611.  
  3612.        After initializing  an array,  you can set individual screen elements.
  3613.        To put a yellow letter A on the screen for example:
  3614.  
  3615.          SCREEN%(0) = ASC('A') + 256*14
  3616.  
  3617.        Compare against the equivalent PEEK/POKE approach (assume DEF  SEG has
  3618.        been initialized to &HB800 for color, or &HB000 for monochrome video):
  3619.  
  3620.          POKE 0,ASC('A')
  3621.          POKE 1,14
  3622.  
  3623.        Pick whichever approach you feel most comfortable with.
  3624.  
  3625.  
  3626.  
  3627.        TheDraw v4.50     Tips and Examples for Programmers          49
  3628.  
  3629.  
  3630.  
  3631.  
  3632.        COMMAND LINE COMPILATION:
  3633.  
  3634.        The  above   examples  all  assume  using  the  QuickBasic  integrated
  3635.        environment.  For most users this  is  adequate.    However,  the more
  3636.        sophisticated  user  might  prefer  their  own text editor and use dos
  3637.        compilation.
  3638.  
  3639.        Use TheDraw object files  is  done  exactly  as  described previously.
  3640.        Create the  .OBJ files,  and use  MAKEQLB to produce the Quick Library
  3641.        (.QLB) and stand alone (.LIB) library files.  ie:
  3642.  
  3643.       MAKEQLB IMAGES IMAGE1.OBJ IMAGE2.OBJ IMAGE3.OBJ
  3644.  
  3645.        Compile your source code normally using the BC program.  ie:
  3646.  
  3647.       BC MYCODE.BAS,,,;
  3648.  
  3649.        When linking  your program,  simply add  the stand  alone library from
  3650.        MAKEQLB to your command line when making your .EXE file:
  3651.  
  3652.       LINK MYCODE+IMAGES.LIB,,,,;
  3653.  
  3654.        It is  possible to  bypass the  MAKEQLB step.  This requires including
  3655.        all the screen image object files  plus TheDraw's  display routines in
  3656.        your link command.  Instead of MAKEQLB and IMAGES.LIB, type:
  3657.  
  3658.       LINK MYCODE+QB4UTIL.LIB+IMAGE1+IMAGE2+IMAGE3,,,,;
  3659.  
  3660.        The MAKEQLB  approach eliminates some of the extra typing in the final
  3661.        command line.  Since MAKEQLB is used when  updating screens,  using it
  3662.        can save some time can cut down on typo errors.
  3663.  
  3664.  
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.        TheDraw v4.50     Tips and Examples for Programmers          50
  3687.  
  3688.  
  3689.  
  3690.  
  3691.        PROGRAMMING IN CLIPPER(TM) (courtesy of Ian Thurston):
  3692.  
  3693.  
  3694.        A  full  TheDraw  screen  saved  as  a BINARY file (.BIN) has the same
  3695.        format as the Clipper compiler uses to "SAVE  SCREEN TO  <expc>".  For
  3696.        both Clipper  and TheDraw,  a full  text screen  save consists of 2000
  3697.        "words" (or 4000 bytes).    Each  word  represents  the  character and
  3698.        attribute of a single screen location.
  3699.  
  3700.  
  3701.        Importing Full-Screen BINARY files:
  3702.  
  3703.        We can  easily read any file less than 64k bytes into a Clipper memory
  3704.        variable with the "MEMOREAD" function.    Combining  the  MEMOREAD and
  3705.        RESTORE SCREEN command as follows yields:
  3706.  
  3707.          RESTORE SCREEN FROM MEMOREAD("FULL.BIN")
  3708.  
  3709.  
  3710.        Importing Partial-Screen BINARY files:
  3711.  
  3712.        Once  again,  a  partial/block  TheDraw  screen saved to a BINARY file
  3713.        (using the  ALT-B,Save  command)  has  the  same  format  as Clipper's
  3714.        corresponding command:
  3715.  
  3716.          "<expC>=SAVESCREEN(top,left,bottom,right)"
  3717.  
  3718.        For example, assume TheDraw was used to prepare a screen.  It was then
  3719.        blocked using ALT-B, with the upper left corner at row  10, column 10,
  3720.        while  the  lower  right  corner  was  at row 20, column 70.  The Save
  3721.        option was selecting using the Binary  option, and  saved to  the file
  3722.        "PARTIAL.BIN"
  3723.  
  3724.        Again, the  TheDraw Binary file is read into a Clipper memory variable
  3725.        using the "MEMOREAD" function,  which itself  is used  as the argument
  3726.        for the partial screen restore function RESTSCREEN (t,l,b,r,<expC>):
  3727.  
  3728.          RESTSCREEN (10,10,20,70,MEMOREAD("PARTIAL.BIN"))
  3729.  
  3730.        Note:  As is usual with this sort of function, a block can be restored
  3731.        at a different screen location  ...  but  the  width  and  height must
  3732.        remain the  same, else  the display  will look very ugly indeed.  Also
  3733.        correct programming practice would  have us  check for  file existence
  3734.        and length before trying these techniques.  You may choose to wrap the
  3735.        functions inside a parameter checking shell.
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.        TheDraw v4.50     Tips and Examples for Programmers          51
  3746.  
  3747.  
  3748.  
  3749.  
  3750.        Combining Multiple BINARY (.BIN) Files:
  3751.  
  3752.        If quite a few Binary files  will be  stored on  disk and incorporated
  3753.        into an application, why not combine them into one Clipper database to
  3754.        simplify things?  The  process  for  accomplishing  this  is described
  3755.        below:
  3756.  
  3757.        a. Create a database for .BIN files using the following structure:
  3758.  
  3759.          Structure for database: BIN.DBF
  3760.  
  3761.          Field Field_Name Type        Width    Dec
  3762.          1 BIN_NAME   Character      8
  3763.          2 BIN_TOP         Numeric        2
  3764.          3 BIN_LEFT   Numeric        2
  3765.          4 BIN_BOTTOM Numeric        2
  3766.          5 BIN_RIGHT  Numeric        2
  3767.          6 BIN_SCREEN Memo          10
  3768.  
  3769.  
  3770.        b. Using  the  MEMOREAD  function,  import  the BIN files as character
  3771.        variables, then store them in memo field BIN_SCREEN  using the REPLACE
  3772.        command.    Next,  save  the  screen display coordinates into BIN_TOP,
  3773.        BIN_LEFT,  BIN_BOTTOM,  and  BIN_RIGHT  (for  a   full  screen,  those
  3774.        coordinates are 0,0,24, and 79).  Finally, store a meaningful name for
  3775.        the screen in BIN_NAME (ie: "MAINMENU" for a main menu display).
  3776.  
  3777.        c. Index the file on BIN_NAME.
  3778.  
  3779.        ----
  3780.        Now to use this file, we need the following function:
  3781.  
  3782.        ********
  3783.        FUNCTION showbins
  3784.        ********
  3785.        PARAMETERS screename
  3786.        PRIVATE tempselect
  3787.        tempselect=SELECT()         && Keep track of where we were working
  3788.        IF SELECT("BIN") = 0        && Check to see if BIN has been opened
  3789.       SELECT 0             && If not, find a blank work area,
  3790.       USE bin INDEX bin_name   && and then open up BIN for use
  3791.        ENDIF
  3792.        SELECT bin              && Go to the BIN area
  3793.        SEEK screename           && Look for the specified screen
  3794.        IF FOUND()              && and show it if it exists
  3795.       RESTSCREEN (bin_top,bin_left,bin_bottom,bin_right,bin_screen)
  3796.        ENDIF
  3797.        SELECT (tempselect)         && return to the original work area
  3798.        RETURN .T.
  3799.  
  3800.        Example Usage:
  3801.       SHOWBINS("MAINMENU")
  3802.  
  3803.  
  3804.        TheDraw v4.50     Tips and Examples for Programmers          52
  3805.  
  3806.  
  3807.  
  3808.  
  3809.        PROGRAMMING IN CLIPPER (courtesy of Larry Stewart):
  3810.  
  3811.        The Clipper compiler uses the same format as TheDraw's BINARY save for
  3812.        it's "SAVE  SCREEN to  memvar" and  SAVESCREEN() functions.   The code
  3813.        example that follows shows how to retrieve a .BIN file  and display it
  3814.        in your compiled EXE program.
  3815.  
  3816.        FUNCTION SHOW_BIN
  3817.  
  3818.        * SYNTAX:    SHOWBIN( <name> [, <expN1>, <expN2>, <expN3>, <expN4> ] )
  3819.        * PURPOSE:   Display a full or partial screen from a .BIN file
  3820.        * ARGUMENTS: <name> contains the name of the .BIN file from TheDraw
  3821.        *        If <expN1> through <expN4> are not present, the routine
  3822.        *        assumes a full screen display will be restored.
  3823.        *        <expN1> is the top row for a partial screen
  3824.        *        <expN2> is the left column for the partial screen
  3825.        *        <expN3> is the bottom row for the partial screen
  3826.        *        <expN4> is the right column for the partial screen
  3827.  
  3828.        PARAMETER binfile,t,l,b,r
  3829.        PRIVATE m_buffer,m_handle,m_bytes,m_size
  3830.  
  3831.        IF ! ("." $ binfile)              && Does file have an extension?
  3832.       binfile = binfile+".BIN"           && No, default to .BIN
  3833.        ENDIF
  3834.  
  3835.        IF ! FILE(binfile)                && Does file exist on disk?
  3836.       RETURN .F.                  && No, return FAIL value.
  3837.        ENDIF
  3838.  
  3839.        IF PCOUNT() = 1               && Any border dimensions passed?
  3840.      m_buffer = SPACE(4000)          && If not, assume full screen.
  3841.      m_handle = FOPEN(binfile,0)
  3842.      m_bytes = FREAD(m_handle,@m_buffer,4000)
  3843.      FCLOSE(m_handle)
  3844.      IF m_bytes = 4000
  3845.        RESTORE SCREEN FROM m_buffer
  3846.        RETURN .T.
  3847.      ELSE
  3848.        RETURN .F.                 &&  Error  if .BIN file did
  3849.        not
  3850.      ENDIF                   && contain 4000 bytes.
  3851.        ENDIF
  3852.  
  3853.        IF PCOUNT() != 5              && Check for correct number of
  3854.      RETURN .F.                   && parameters.
  3855.        ENDIF
  3856.  
  3857.        m_size = 2*((r-l+1)*(b-t+1))          && Compute  number  of  bytes in
  3858.        m_buffer = SPACE(m_size)          && box.  Allocate space for it.
  3859.        m_handle = FOPEN(binfile,0)
  3860.        m_bytes = FREAD(m_handle,@m_buffer,m_size)
  3861.  
  3862.  
  3863.        TheDraw v4.50     Tips and Examples for Programmers          53
  3864.  
  3865.  
  3866.  
  3867.  
  3868.        FCLOSE (m_handle)
  3869.        IF m_bytes = m_size
  3870.      RESTSCREEN (t,l,b,r,m_buffer)
  3871.      RETURN .T.
  3872.        ELSE
  3873.      RETURN .F.                   &&  Error  if  file not big
  3874.        enough.
  3875.        ENDIF
  3876.  
  3877.        Please note:  When you save  a box  (binary block  save) with TheDraw,
  3878.        the screen  position and dimensions are not recorded in the .BIN file.
  3879.        The box may be  restored to  your screen  at any  position you choose;
  3880.        however, the  dimensions of  the box -cannot- be changed.  If you try,
  3881.        the box will appear distorted or  the above  routine will  generate an
  3882.        error.
  3883.  
  3884.        Examples:
  3885.  
  3886.       SHOWBIN ("EXAMPLE1")
  3887.          Displays the full screen image in the file EXAMPLE1.
  3888.  
  3889.       SHOWBIN ("EXAMPLE2",10,20,20,60)
  3890.          Displays  the  40  by  10  block  in EXAMPLE2 at screen position
  3891.          (20,10).
  3892.  
  3893.        ------------------------
  3894.        If you have additional ideas for this section, please send them in!
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.  
  3904.  
  3905.  
  3906.  
  3907.  
  3908.  
  3909.  
  3910.  
  3911.  
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922.        TheDraw v4.50     Tips and Examples for Programmers          54
  3923.  
  3924.  
  3925.  
  3926.  
  3927.  
  3928.                    PULL DOWN MENU SYSTEM
  3929.  
  3930.  
  3931.        TheDraw can be fully controlled via the use of pull  down menus.   The
  3932.        menus greatly  simplify learning  TheDraw by  conveniently showing all
  3933.        related commands.  Each menu also displays the  corresponding shortcut
  3934.        keystrokes (such as ALT-L for files loading).
  3935.  
  3936.        The pull  down menus  are activated from command mode using one of two
  3937.        ways.  Pressing either the [ESC]  key on  the keyboard  or if  using a
  3938.        mouse the  RIGHT-most button.   The  following options bar will appear
  3939.        across the top of the screen:
  3940.  
  3941.        ┌──────────────────────────────────────────────────────────────────┐
  3942.        │ Files Global Options Screen foNts Animation   Color Toggles Help │
  3943.        └──────────────────────────────────────────────────────────────────┘
  3944.  
  3945.        Each  heading  is  briefly  described  below.    For  full  functional
  3946.        descriptions, please  refer to  the appropriate  section under THEDRAW
  3947.        KEYBOARD COMMANDS.
  3948.  
  3949.  
  3950.        The FILES Menu
  3951.        ──────────────────────────────────────────────────────────────────────
  3952.        The Files  pull-down  menu  offers  assorted  options  for  loading or
  3953.        viewing  existing  files,  deleting  old  files, and saving the screen
  3954.        image currently being edited.  When you load a file,  it is  read into
  3955.        the screen  edit area.   When done with a file, you can save it to any
  3956.        directory or file name.  In  addition,  from  this  pull-down  you can
  3957.        change to  another directory,  temporarily go  to a Dos Shell, or exit
  3958.        TheDraw completely.
  3959.  
  3960.  
  3961.       ════════════════════════════════════════════════════════════════
  3962.       FILES Global Options Screen foNts Animation   Color Toggles Help
  3963.       ┌───────────────────┐
  3964.       │ Load    Alt-L │
  3965.       │ View    Alt-V │
  3966.       │ Delete      Alt-K │
  3967.       │ Change Dir  Alt-O │
  3968.       │ Save    Alt-S │
  3969.       │ Quit    Alt-X │
  3970.       └───────────────────┘
  3971.       ════════════════════════════════════════════════════════════════
  3972.  
  3973.  
  3974.  
  3975.  
  3976.  
  3977.  
  3978.  
  3979.  
  3980.  
  3981.        TheDraw v4.50           Pull Down Menu System            55
  3982.  
  3983.  
  3984.  
  3985.  
  3986.  
  3987.        LOAD - Load a File (ALT-L)
  3988.  
  3989.       Displays a  list of files under the current directory.  You can use
  3990.       DOS-style wildcard masks for  a listing  of specific  wanted files.
  3991.       Simply type  in the  name of the file to load or use the arrow keys
  3992.       to move the selector bar and press [ENTER].  Activate the pick list
  3993.       by pressing the TAB key or the RIGHT-most mouse button.
  3994.  
  3995.  
  3996.        VIEW - View a File (ALT-V)
  3997.  
  3998.       Similar  to  LOAD,  except  the  image  is loaded only temporarily.
  3999.       Pressing [ENTER] returns to command mode.
  4000.  
  4001.  
  4002.        DELETE - Delete a File (ALT-K)
  4003.  
  4004.       Allows files  to  be  deleted  from  within  TheDraw.    The screen
  4005.       operates  identically  to  the  LOAD  option above.  The difference
  4006.       being TheDraw will attempt to delete any file you select.
  4007.  
  4008.  
  4009.        CHANGE DIR - Change Working Directory (ALT-O)
  4010.  
  4011.       Displays all subdirectories in the current  directory.   Select the
  4012.       wanted  directory  by  typing  it  in  or  using the arrow keys and
  4013.       pressing [ENTER].  To change  to  another  drive,  simply  type the
  4014.       wanted drive followed by a colon.  ie: "C:"
  4015.  
  4016.  
  4017.        SAVE - Save Current Screen to a File (ALT-S)
  4018.  
  4019.       Saves current screen image to one of a variety of file formats.
  4020.  
  4021.  
  4022.        QUIT - Quit/Shell from TheDraw (ALT-X)
  4023.  
  4024.       Allows you  to either  exit TheDraw completely or leave the program
  4025.       just temporarily.  In both cases, you end up at the Dos prompt.
  4026.  
  4027.       To return to TheDraw from a Dos Shell, type EXIT.   This  is useful
  4028.       when you want to run a DOS command without quitting TheDraw.
  4029.  
  4030.  
  4031.  
  4032.  
  4033.  
  4034.  
  4035.  
  4036.  
  4037.  
  4038.  
  4039.  
  4040.        TheDraw v4.50           Pull Down Menu System            56
  4041.  
  4042.  
  4043.  
  4044.  
  4045.        The GLOBAL Menu
  4046.        ──────────────────────────────────────────────────────────────────────
  4047.        The global  menu offers  options that  affect the  entire edit screen.
  4048.        These options include  moving  and  copying  the  screen,  plus global
  4049.        screen fills and text operations.
  4050.  
  4051.  
  4052.       ════════════════════════════════════════════════════════════════
  4053.       Files GLOBAL Options Screen foNts Animation   Color Toggles Help
  4054.            ┌───────────────┐
  4055.            │ Copy  Alt-G,C │
  4056.            │ Move  Alt-G,M │
  4057.            │ Fill  Alt-G,F │
  4058.            │ Text  Alt-G,T │
  4059.            └───────────────┘
  4060.       ════════════════════════════════════════════════════════════════
  4061.  
  4062.  
  4063.        COPY - Global Screen Copy (ALT-G,Copy)
  4064.  
  4065.       Copies the  current screen  page to another page.  You are prompted
  4066.       for which destination page you want.
  4067.  
  4068.  
  4069.        MOVE - Global Screen Movement (ALT-G,Move)
  4070.  
  4071.       Allows the rotating of the screen  around  its  borders.    Use the
  4072.       arrow keys or the mouse.  Press [ENTER] or the LEFT mouse button to
  4073.       save at the new location.
  4074.  
  4075.  
  4076.        FILL - Global Fill Screen (ALT-G,Fill)
  4077.  
  4078.       Fills the entire screen based  on  a  specified  sub-command.   The
  4079.       available  options  allow  just  the  color  attributes,  just  the
  4080.       characters, or both to be changed at once.
  4081.  
  4082.  
  4083.        TEXT - Global Text Operations (ALT-G,Text)
  4084.  
  4085.       Performs various  screen  text  operations.    Available suboptions
  4086.       are:   Draw Box,  Outline contents of screen, Center Justify screen
  4087.       contents, Left Justify, and Right Justify.
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099.        TheDraw v4.50           Pull Down Menu System            57
  4100.  
  4101.  
  4102.  
  4103.  
  4104.        The OPTIONS Menu
  4105.        ──────────────────────────────────────────────────────────────────────
  4106.        The Options menu contains  facilities to  aid you  in the  layout of a
  4107.        screen design.  Commands affect things like the current character set,
  4108.        the Tab line setup,  and  the  on-screen  ruler.    A  screen painting
  4109.        function is available also.
  4110.  
  4111.       ════════════════════════════════════════════════════════════════
  4112.       Files Global OPTIONS Screen foNts Animation   Color Toggles Help
  4113.               ┌──────────────────────┐
  4114.               │ Character Set  Alt-F │
  4115.               │ Tab Setup      Alt-T │
  4116.               │ Ruler          Alt-N │
  4117.               │ Paint/Fill     Alt-P │
  4118.               │──────────────────────│
  4119.               │ Setup Options        │
  4120.               └──────────────────────┘
  4121.       ════════════════════════════════════════════════════════════════
  4122.  
  4123.  
  4124.        CHARACTER SET - Display and Select Character Set (ALT-F)
  4125.  
  4126.       Shows  a  screen  containing  all  special  IBM  extended character
  4127.       symbols.  From this you can  select which  character set  you would
  4128.       like to work with.  Use the arrow keys or the mouse.  Press [ENTER]
  4129.       to save your choice.
  4130.  
  4131.  
  4132.        TAB SETUP - Adjust TheDraw Tab Stops (ALT-T)
  4133.  
  4134.       This command permits the setting of  tabs in  the editor (positions
  4135.       where the  [TAB] key  stops).  Initially the positions are at every
  4136.       tenth column.   Sub-commands  are available  for setting, clearing,
  4137.       and resetting tabs.
  4138.  
  4139.  
  4140.        RULER - On-Screen Ruler (ALT-N)
  4141.  
  4142.       Places a  pair of lines on the screen which intersect at the cursor
  4143.       position.  Move the ruler using  arrows or  the mouse.   [ENTER] or
  4144.       LEFT mouse  button saves  the new cursor position.  This command is
  4145.       useful for aligning items of the screen.  The ruler can be  held on
  4146.       the screen by selecting the [S]ticky option.
  4147.  
  4148.  
  4149.        PAINT/FILL - Enclosed Area Painter (ALT-P)
  4150.  
  4151.       Lets you  fill an enclosed area easily with characters and/or color
  4152.       attributes.  An area is defined  as  any  shape  formed  using line
  4153.       characters  (from  function  key  sets  1-4).  To use this command,
  4154.       position the cursor inside  the target  area before  activating the
  4155.       pull down menus.
  4156.  
  4157.  
  4158.        TheDraw v4.50           Pull Down Menu System            58
  4159.  
  4160.  
  4161.  
  4162.  
  4163.        SETUP OPTIONS - Default Setup Configuration (no separate key sequence)
  4164.  
  4165.       Provides access  to many  of the  configurable defaults while using
  4166.       TheDraw.  The following options may be changed:
  4167.  
  4168.       WORKSHEET WIDTH
  4169.          Choose how wide the  edit buffer  should be.   Either  80 or 160
  4170.          characters.
  4171.  
  4172.       WORKSHEET DEPTH
  4173.          Choose how  deep the  edit buffer should be.  Can be 23, 25, 43,
  4174.          or 50 lines.  Note the worksheet depth  cannot be  less than the
  4175.          video mode  in use.   For  example, if using 43 line EGA editing
  4176.          the worksheet depth may only be 43 or 50 lines.
  4177.  
  4178.          An exception is the 23  line  buffer,  available  only  with the
  4179.          standard 80x25  video mode.   Using  the 23 line buffer disables
  4180.          full screen editing and [CTRL-PRTSC] is ignored.
  4181.  
  4182.       VIDEO SCREEN MODE
  4183.          Choose one of the  following  video  edit  modes:    Standard 80
  4184.          character  by  25  lines  (80x25),  80x43 (if using EGA card) or
  4185.          80x50 (if using VGA card).
  4186.  
  4187.       MAINTAIN FILE DIRECTORY LISTING WILDCARDS
  4188.          Tells TheDraw to maintain  wildcards specified  in the directory
  4189.          listing  available  during  loading  (or deleting).  For example
  4190.          entering "*.BIN" to  see  all  binary  files  would  normally be
  4191.          forgotten, unless this option was turned on.
  4192.  
  4193.       DEFAULT SAVE SCREEN FORMAT
  4194.          Default file  format TheDraw  should select  when saving a file.
  4195.          Upon hitting ALT-S, you are present with many choices.  Pressing
  4196.          [ENTER] selects  the default  save screen  format.   If you find
  4197.          yourself using a specific  format  often,  changing  the default
  4198.          might make things easier.
  4199.  
  4200.  
  4201.       DEFAULT LOAD SCREEN FORMAT
  4202.          Similar  to  the  above,  but  used  during loading.  If you are
  4203.          working with a given file type  regularly, changing  the default
  4204.          load format  will saves  typing the file extension.  ie:  if set
  4205.          to Binary, "DEMO" becomes "DEMO.BIN" instead of "DEMO.ANS".
  4206.  
  4207.       CREATE BACKUP FILES
  4208.          Instructs TheDraw to generate  backup files  when saving.   If a
  4209.          file  already   exists,  TheDraw  renames  the  existing  file's
  4210.          extension to .BAK before continuing.
  4211.  
  4212.       SAVING FILENAME PICK LIST ON EXIT TO DOS
  4213.          Controls the saving of the filename pick list  to disk  on exit.
  4214.          When off, any accumulated filenames will be lost upon exit.
  4215.  
  4216.  
  4217.        TheDraw v4.50           Pull Down Menu System            59
  4218.  
  4219.  
  4220.  
  4221.  
  4222.       ASK TO SAVE CHANGES BEFORE EXITING
  4223.          TheDraw can  be made  to prompt  before allowing exit to Dos, if
  4224.          changes were made to the current page or any page.
  4225.  
  4226.       USE ALT-KEY HELP WINDOW
  4227.          Holding down the ALT key  for  about  three  seconds  displays a
  4228.          brief pop-up of available commands.  The feature may be disabled
  4229.          by toggling this option.
  4230.  
  4231.       BLANK SCREEN AFTER HOW MANY MINUTES
  4232.          TheDraw will blank the screen by writing blanks if no  action is
  4233.          taken for a specified time.  The time delay can be set from 1 to
  4234.          255 minutes, or turned off completely.
  4235.  
  4236.       DISK SWAP FILE PATHNAME
  4237.          Used when doing a Dos Shell (see ALT-X,S).  TheDraw  attempts to
  4238.          write all  its data  to expanded  memory or  a disk swap file to
  4239.          provide more room during  the shell.   If  insufficient expanded
  4240.          memory (EMM  or EMS) is available, the disk swap file is used at
  4241.          the specified path.   Leaving  this  option  blank  will prevent
  4242.          TheDraw from using a swap file.
  4243.  
  4244.       DEFAULT FILENAME EXTENSIONS
  4245.          The default filename extensions TheDraw uses when saving a file.
  4246.          Change to your preference.   For  instance,  if  saving  an Ansi
  4247.          file, TheDraw will change "DEMO" into "DEMO.ANS".
  4248.  
  4249.       DEFAULT ASM,PASCAL,C SAVE FORMAT
  4250.          Controls if  TheDraw defaults  to Normal, Ascii, or Crunching of
  4251.          screen data.  See ALT-S for more information.
  4252.  
  4253.       FILTER OUT SOLID SPACES ON ANSI/ASCII/ASM/PASCAL/C FILES
  4254.          Occasionally  solid  spaces   (entered   with   Shift-Space  key
  4255.          combination)  cause  prompts  with  other programs.  This filter
  4256.          will convert all solid  spaces  to  normal  spaces  in  the data
  4257.          written to disk (for Ansi, Ascii, Asm, Pascal, and C formats).
  4258.  
  4259.       FORCE CR/LF ON END OF LINES OF ASCII THAT ARE SCREEN WIDTH
  4260.          TheDraw is  faced with  a dilemma  when saving Ascii files.  The
  4261.          Dos TYPE command automatically wraps the cursor down a line when
  4262.          screen width  text (80 characters) is printed.  TheDraw normally
  4263.          handles this by not writing a  carriage return  sequence (CR/LF)
  4264.          for those  lines, as it is not needed.  However, reading such an
  4265.          Ascii file into other  programs can  cause problems.   Therefore
  4266.          this option  forces TheDraw to always write the CR/LF regardless
  4267.          of anything.  A simple, yet effective, solution.
  4268.  
  4269.       RESET COLORS TO WHITE ON END OF ANSI FILES
  4270.          Controls if TheDraw resets the Ansi colors to white after all is
  4271.          said and  done.   Generally of use in animation files, where the
  4272.          last character printed is flashing magenta on a green background
  4273.          (or some even worse color combination).
  4274.  
  4275.  
  4276.        TheDraw v4.50           Pull Down Menu System            60
  4277.  
  4278.  
  4279.  
  4280.  
  4281.       DEFAULT ANSI VIDEO PREPARATION
  4282.          Choose if  by default  TheDraw does nothing, homes the cursor to
  4283.          the upper  left  screen  corder,  or  clears  the  screen before
  4284.          displaying an Ansi file.
  4285.  
  4286.       DEFAULT ANSI SLOW DOWN FACTOR
  4287.          Choose how  many delay  elements TheDraw inserts by default into
  4288.          an  Ansi  file.    Normally  used  on  faster  machines  to make
  4289.          animation more appealing (ie: visible).
  4290.  
  4291.       MAXIMUM ANSI LINE LENGTH
  4292.          Controls the  maximum line  length TheDraw will permit a line of
  4293.          Ansi to become.   Some  programs  have  line  length limitations
  4294.          (such as bulletin board systems).  Since TheDraw can conceivable
  4295.          generate lines thousands of characters long,  this option allows
  4296.          you  to  compensate.    The  setting  can  be between 32 and 255
  4297.          characters, or set to Unlimited if no conflicts exist.
  4298.  
  4299.  
  4300.  
  4301.        The SCREEN Menu
  4302.        ──────────────────────────────────────────────────────────────────────
  4303.        Use items in the  Screen menu  to erase  a page  layer or  select some
  4304.        other page.  Other options allow you to insert, delete, or restore the
  4305.        contents of individual lines.
  4306.  
  4307.  
  4308.       ════════════════════════════════════════════════════════════════
  4309.       Files Global Options SCREEN foNts Animation   Color Toggles Help
  4310.                   ┌──────────────────────┐
  4311.                   │ Clear Page     Alt-C │
  4312.                   │ Select Page    Alt-E │
  4313.                   │ Insert Line    Alt-I │
  4314.                   │ Delete Line    Alt-Y │
  4315.                   │ Insert Column        │
  4316.                   │ Delete Column        │
  4317.                   │ Restore/Undo   Alt-R │
  4318.                   └──────────────────────┘
  4319.       ════════════════════════════════════════════════════════════════
  4320.  
  4321.  
  4322.        CLEAR PAGE - Clear the Current or All Page Layers (ALT-C)
  4323.  
  4324.       Erases the image in the current page.   You may  also opt  to erase
  4325.       all page  layers in  one fell  swoop for  a completely clean slate.
  4326.       You will be prompted  to save  the current  screen if  changes have
  4327.       been made.
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.        TheDraw v4.50           Pull Down Menu System            61
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.        SELECT PAGE - Choose new page layer to display or work on (ALT-E)
  4342.  
  4343.       Prompts for  a new  page layer  you wish  to edit.   Enter a number
  4344.       between one (1) and the number of available  pages.   The mouse can
  4345.       be used for selection by pressing the RIGHT button.
  4346.  
  4347.  
  4348.        INSERT LINE - Place blank line on screen (ALT-I)
  4349.  
  4350.       Inserts a  blank horizontal screen line at the position of the edit
  4351.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4352.       command (ALT-R).
  4353.  
  4354.  
  4355.        DELETE LINE - Delete current line from screen (ALT-Y)
  4356.  
  4357.       Deletes  a  horizontal  screen  line  at  the  position of the edit
  4358.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4359.       command (ALT-R).
  4360.  
  4361.  
  4362.        INSERT COLUMN - Place blank column on screen (ALT-<left arrow>)
  4363.  
  4364.       Inserts a  blank vertical screen column at the position of the edit
  4365.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4366.       command (ALT-R).
  4367.  
  4368.  
  4369.        DELETE COLUMN - Delete current line from screen (ALT-<right arrow>)
  4370.  
  4371.       Deletes  a  vertical  screen  column  at  the  position of the edit
  4372.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4373.       command (ALT-R).
  4374.  
  4375.  
  4376.        RESTORE/UNDO - Recover from unwanted changes on the screen (ALT-R)
  4377.  
  4378.       Undoes the  most recent  changes done  to the  screen.  The restore
  4379.       can "undo" block operations, line insertion or deletions, animation
  4380.       mode toggles,  global screen functions, font entry, and any changes
  4381.       to the current horizontal  line being  worked on.   Notes  with the
  4382.       latter item, once you leave the current horizontal line any changes
  4383.       are permanent.
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394.        TheDraw v4.50           Pull Down Menu System            62
  4395.  
  4396.  
  4397.  
  4398.  
  4399.        The FONTS Menu
  4400.        ──────────────────────────────────────────────────────────────────────
  4401.        The Fonts pulldown menu supports choosing  various styles  and outline
  4402.        types.   The menu  shown below  is only  an example.  The actual fonts
  4403.        available can vary depending on your configuration.   Additional fonts
  4404.        may  be  present,  or  the  ones  shown  changed.   Ascii fonts can be
  4405.        extremely useful in sprucing  up a  display.   They are  excellent for
  4406.        title bars,  or whatever you desire.  Upon choosing an Ascii font, the
  4407.        word "FONT" will appear in the status line.
  4408.  
  4409.       ════════════════════════════════════════════════════════════════
  4410.       Files Global Options Screen FONTS Animation   Color Toggles Help
  4411.                      ┌─────────────────────┐
  4412.                      │ √ Standard Font     │
  4413.                      │   outline Type      │
  4414.                      │─────────────────────│
  4415.                      │   A: Outline      * │
  4416.                      │   B: BigOutline   * │
  4417.                      │   C: ThickOutline   │
  4418.                      │   D: Medium         │
  4419.                      │   E: Rounded        │
  4420.                      │   F: Raster         │
  4421.                      └─────────────────────┘
  4422.       ════════════════════════════════════════════════════════════════
  4423.  
  4424.        STANDARD FONT:
  4425.  
  4426.        The standard font is  the normal  text lettering  associated with each
  4427.        key.   This is the default setting upon loading TheDraw.  The standard
  4428.        font is used for lettering seen in the help screens, the pulldown menu
  4429.        bar, status line, etc...
  4430.  
  4431.  
  4432.        OUTLINE TYPE - Choose a Font Outline:
  4433.  
  4434.        The outline  type option  is only  available when an outline formatted
  4435.        font  is  selected.    These  are  indicated  with  an  asterisk ("*")
  4436.        appearing  after  the  font  description.  Outline formatted fonts are
  4437.        special in that they  can appear  in different  styles.   There are 17
  4438.        various styles to choose from.  Some examples are:
  4439.  
  4440.               ┌─────┐     ┌─────╖     █▀▀▀▀▀█
  4441.               │     │     │     ║     █     █
  4442.               │     │     │     ║     █     █
  4443.               │     │     │     ║     █     █
  4444.               └─────┘     ╘═════╝     ▀▀▀▀▀▀▀
  4445.  
  4446.  
  4447.  
  4448.  
  4449.  
  4450.  
  4451.  
  4452.  
  4453.        TheDraw v4.50           Pull Down Menu System            63
  4454.  
  4455.  
  4456.  
  4457.  
  4458.  
  4459.        FONT SELECTION:
  4460.  
  4461.        Remaining options in the fonts submenu select specific fonts.  TheDraw
  4462.        supports the entire visible Ascii character set (#33 to #126).  ie:
  4463.  
  4464.           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
  4465.           PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  4466.  
  4467.        Extended function key symbols are not currently supported.  To enter a
  4468.        given symbol  to the  edit screen, simply press the corresponding key.
  4469.        ie: for a letter "A", type the "A" key.  The symbol  will appear fully
  4470.        in the current color attributes.
  4471.  
  4472.        Not all  symbols are  necessarily available  in all fonts.  Some fonts
  4473.        may only provide the alphabet and numbers.  TheDraw beeps  if a wanted
  4474.        symbol is  not available.  The original fonts distributed with TheDraw
  4475.        do not contain any omissions.
  4476.  
  4477.        Once a font has  been selected,  the word  "FONT" replaces  the "Text"
  4478.        indicator on  the status  line as  a reminder.   In addition, once you
  4479.        start typing symbols the cursor becomes a full block.  So long  as the
  4480.        full block  cursor is  shown, you can use the BackSpace key to correct
  4481.        mistakes on  the  fly.    Press  ALT-R  (Restore/Undo)  to  remove any
  4482.        undesired key sequences completely.
  4483.  
  4484.  
  4485.  
  4486.        The ANIMATION Menu
  4487.        ──────────────────────────────────────────────────────────────────────
  4488.        Provides  various  facilities  for  working with the TheDraw animation
  4489.        system.  Options  allow  the  display  and  editing  of  the animation
  4490.        sequence.    The  registered  version  of  TheDraw  adds  Limiting and
  4491.        animation markers (as shown below).  Note this menu is  only available
  4492.        when TheDraw is actually in animation mode - otherwise it is disabled.
  4493.  
  4494.  
  4495.       ════════════════════════════════════════════════════════════════
  4496.       Files Global Options Screen foNts ANIMATION   Color Toggles Help
  4497.                        ┌───────────────────────────┐
  4498.                        │ Screen Redraw       Alt-Q │
  4499.                        │ Change Character    Alt-W │
  4500.                        │ Erase Character     Alt-Z │
  4501.                        │───────────────────────────│
  4502.                        │ Include Files     Alt-G,I │
  4503.                        │ Limiting          Alt-G,L │
  4504.                        │ marKer            Alt-G,K │
  4505.                        │ Movement Storage  Alt-G,M │
  4506.                        │ Rescan Animation  Alt-G,R │
  4507.                        │ Pause Animation   Alt-G,P │
  4508.                        └───────────────────────────┘
  4509.       ════════════════════════════════════════════════════════════════
  4510.  
  4511.  
  4512.        TheDraw v4.50           Pull Down Menu System            64
  4513.  
  4514.  
  4515.  
  4516.  
  4517.        SCREEN REDRAW - Display the Entire Animation Sequence (ALT-Q)
  4518.  
  4519.       Display the  animation sequence  as entered.  The command is useful
  4520.       for seeing how your work is progressing.   The speed  of the redraw
  4521.       may be  controlled by  specifying a  number between 0 (fastest) and
  4522.       255 (slowest).
  4523.  
  4524.  
  4525.        CHANGE CHARACTER - Edit a Character in Animation Sequence (ALT-W)
  4526.  
  4527.       Allows the editing of a mistyped  animation entry.   Animation mode
  4528.       differs  from  the  normal  edit  mode  in that simply overtyping a
  4529.       character does not replace it.  In animation mode, both entries are
  4530.       remembered -  the incorrect  character, plus  the wanted one.  This
  4531.       command can changes entries without adding unwanted new ones.
  4532.  
  4533.  
  4534.        ERASE CHARACTER - Delete a Character from Animation Sequence (ALT-Z)
  4535.  
  4536.       Deletes characters from the animation sequence.  As stated above in
  4537.       the CHANGE CHARACTER option, a character is not replaced or deleted
  4538.       in animation mode by overtyping.   To erase  something this command
  4539.       must  be  used.    Only  the  top-most character (the one currently
  4540.       visible) is removed; anything under it is left intact.
  4541.  
  4542.  
  4543.        INCLUDE FILES - Ansi/Ascii Include Files (ALT-J,Include)
  4544.  
  4545.       Allows text files created by  programs  other  than  TheDraw  to be
  4546.       inserted into  Animation sequences.   Particularly  useful for Ansi
  4547.       Music, BBS control codes, and often used sequences.
  4548.  
  4549.  
  4550.        LIMITING - Animation Sequence Editing (ALT-J,Limit) - Registered
  4551.  
  4552.       Limiting gives  total control  over the  animation sequence, making
  4553.       changes anywhere  trivial.   Normally all changes and additions are
  4554.       done on the end of the animation sequence.  By  using limiting, you
  4555.       can move the edit point to anywhere within the sequence.
  4556.  
  4557.       Once the limit point has been set, TheDraw operates only up to that
  4558.       point.  All deletions, additions and correcting are  done where the
  4559.       limit is  specified.  Everything in the sequence above the limit is
  4560.       protected, temporarily out of the way.
  4561.  
  4562.  
  4563.        MARKER - Animation Markers (ALT-J,marKer) - Registered
  4564.  
  4565.       Markers are  used  to  "mark"  or  "tag"  different  places  in the
  4566.       animation sequence  for later  reference.  Once set, markers can be
  4567.       used for quickly changing the animation limit position  (see above)
  4568.       and viewing specific portions of the animation sequence.
  4569.  
  4570.  
  4571.        TheDraw v4.50           Pull Down Menu System            65
  4572.  
  4573.  
  4574.  
  4575.  
  4576.        MOVEMENT STORAGE - Cursor Movement Storage (ALT-J,Movement)
  4577.  
  4578.       Controls whether  or not cursor movement is stored in the animation
  4579.       sequence.    Normally  only   characters  specifically   typed  are
  4580.       recorded.   With this  option turned  on however,  movements of the
  4581.       cursor are also saved (for example, using the mouse or arrow keys).
  4582.  
  4583.  
  4584.        RESCAN ANIMATION - Animation Screen Rescanning (ALT-J,Rescan)
  4585.  
  4586.       Creates a new animation  sequence using  the current  screen image.
  4587.       Any previous animation is lost (unless in animation limiting mode).
  4588.  
  4589.  
  4590.        PAUSE ANIMATION - Animation Pausing (ALT-J,Pause)
  4591.  
  4592.       Inserts  either  a  keyboard  or  timed  pause  into  the animation
  4593.       sequence.   Gives the opportunity to sit and reflect upon a certain
  4594.       presentation.  Note these pauses are  truly functional  only within
  4595.       TheDraw or  THEPP (The Presentation Program).  In Ansi files, timed
  4596.       pauses cannot be accurately saved.  Keyboard pauses  are flatly not
  4597.       possible with standard Ansi.
  4598.  
  4599.  
  4600.  
  4601.        The COLOR Menu
  4602.        ──────────────────────────────────────────────────────────────────────
  4603.        Use this menu to select edit colors.  Available options set the normal
  4604.        edit foreground and background  color,  the  default  background color
  4605.        used for  erasing areas,  and "picking up" colors currently used under
  4606.        the cursor.
  4607.  
  4608.  
  4609.       ════════════════════════════════════════════════════════════════
  4610.       Files Global Options Screen foNts Animation   COLOR Toggles Help
  4611.                            ┌─────────────────────┐
  4612.                            │ Fore/Back     Alt-A │
  4613.                            │ Default       Alt-D │
  4614.                            │ Under Cursor  Alt-U │
  4615.                            └─────────────────────┘
  4616.       ════════════════════════════════════════════════════════════════
  4617.  
  4618.  
  4619.        FORE/BACK - Change New Character Fore/Background Color (ALT-A)
  4620.  
  4621.       Displays a screen showing available colors.   Simply  select wanted
  4622.       color using  mouse, arrow keys, or directly typing the number.  See
  4623.       also CTRL-UP/DOWN.
  4624.  
  4625.  
  4626.  
  4627.  
  4628.  
  4629.  
  4630.        TheDraw v4.50           Pull Down Menu System            66
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.        DEFAULT - Change Default Erase Background Color (ALT-D)
  4637.  
  4638.       Similar to above, except  changes  default  color.    This  is used
  4639.       whenever  TheDraw  must  erase  an  area,  or otherwise deal with a
  4640.       "void" created by some operation.
  4641.  
  4642.  
  4643.        UNDER CURSOR - Use Colors Currently Under Cursor (ALT-U)
  4644.  
  4645.       Changes new character  fore/background  color  attributes  to those
  4646.       under the  edit cursor.   Very  useful for making quick updates and
  4647.       fixes.
  4648.  
  4649.  
  4650.  
  4651.        The TOGGLES Menu
  4652.        ──────────────────────────────────────────────────────────────────────
  4653.        The Toggles menu contains settings for controlling how  TheDraw works.
  4654.        The settings  affect things  like line  draw or sprite mode, animation
  4655.        mode toggling, character insert mode, and full screen editing.
  4656.  
  4657.  
  4658.       ════════════════════════════════════════════════════════════════
  4659.       Files Global Options Screen foNts Animation   Color TOGGLES Help
  4660.                            ┌─────────────────────────┐
  4661.                            │ Draw Mode         Alt-M │
  4662.                            │ Color Draw        Alt-- │
  4663.                            │ Sprite Mode     Alt-E,T │
  4664.                            │ Animation Mode    Alt-J │
  4665.                            │ Insert Mode         Ins │
  4666.                            │ Full Screen  Ctrl-PrtSc │
  4667.                            └─────────────────────────┘
  4668.       ════════════════════════════════════════════════════════════════
  4669.  
  4670.  
  4671.        DRAW MODE - Line Draw Mode Toggle (ALT-M)
  4672.  
  4673.       Turns on/off line drawing mode.  Line drawing is accomplished using
  4674.       characters from function key sets 1 to 4.  In this mode, moving the
  4675.       cursor draws a line.  Useful  for creating  abstract shapes quickly
  4676.       and easily.
  4677.  
  4678.  
  4679.        COLOR DRAW - Color Draw Mode Toggle (ALT--)
  4680.  
  4681.       Turns on/off  color attribute drawing mode.  Color drawing involves
  4682.       simply changing characters to the current colors.  A manual  way of
  4683.       easily painting an area a given color.
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.        TheDraw v4.50           Pull Down Menu System            67
  4690.  
  4691.  
  4692.  
  4693.  
  4694.        SPRITE MODE - Sprite Editing Toggle (ALT-E,Toggle)
  4695.  
  4696.       Turns on/off  TheDraw Sprite  Editing Mode.   Please refer to ALT-E
  4697.       for discussion about this mode.
  4698.  
  4699.  
  4700.        ANIMATION MODE - Animation Mode Toggle (ALT-J)
  4701.  
  4702.       Changes TheDraw from Normal to Animation mode and visa versa.  When
  4703.       going from  Normal to  Animation mode,  a list  of available screen
  4704.       scanners are presented.  Refer to ALT-J for more details.
  4705.  
  4706.  
  4707.        INSERT MODE - Character Insert Mode Toggle (INS)
  4708.  
  4709.       Turns  on/off  character  insert  mode.    In  insert  mode, typing
  4710.       something bumps  everything to  the right  to make room for the new
  4711.       character.
  4712.  
  4713.  
  4714.        FULL SCREEN - Full Screen Editing Toggle (CTRL-PRTSC)
  4715.  
  4716.       Toggles using the entire screen for editing.   In full  screen edit
  4717.       mode, the  status line  along with  all indicators disappear.  This
  4718.       makes the full 80 by 25 screen available for editing.
  4719.  
  4720.  
  4721.  
  4722.  
  4723.  
  4724.  
  4725.  
  4726.  
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748.        TheDraw v4.50           Pull Down Menu System            68
  4749.  
  4750.  
  4751.  
  4752.  
  4753.  
  4754.                  THEDRAW KEYBOARD COMMANDS
  4755.  
  4756.  
  4757.             ALT-A: CHANGE TEXT COLOR ATTRIBUTES
  4758.  
  4759.        This function allows you to change  the current  color attributes used
  4760.        by TheDraw.  These attributes "color" any new characters placed on the
  4761.        screen.  When you press ALT-A, the screen will change to a  display of
  4762.        the available and currently selected colors.
  4763.  
  4764.        The lower portion of the screen contains two prompts:
  4765.  
  4766.               Please Select Foreground Color (0-31):
  4767.               Please Select Background Color  (0-7):
  4768.  
  4769.        The cursor  will be  flashing immediately after the first prompt.  You
  4770.        can now change the current foreground color via the Up/Down arrow keys
  4771.        or by  directly typing  the number  associated with a foreground color
  4772.        (see table below).  Mouse users can position  the mouse  on the wanted
  4773.        color then press a button.
  4774.  
  4775.            0  Black              8  Dark Gray
  4776.            1  Blue               9  Light Blue
  4777.            2  Green             10  Light Green
  4778.            3  Cyan              11  Light Cyan
  4779.            4  Red               12  Light Red
  4780.            5  Magenta           13  Light Magenta
  4781.            6  Brown             14  Yellow
  4782.            7  Light Gray        15  White
  4783.  
  4784.        Characters can  be made to blink by selecting colors from the range 16
  4785.        through 31.  These match the above exactly, except they blink.
  4786.  
  4787.        After changing the foreground color  (or  leaving  it  alone)  you can
  4788.        either proceed  to the  background colors by pressing [ENTER] or press
  4789.        [ESC] to return to the edit screen.  The background  color is selected
  4790.        in a fashion similar to the above.  Allowed values are the first eight
  4791.        (0 through 7) colors.  There are no  background colors  available that
  4792.        allow background blinking.
  4793.  
  4794.        Pressing either [ENTER] or [ESC] at this point will return to the edit
  4795.        screen.
  4796.  
  4797.        Notes:   It is possible to  change  the  colors  without  using ALT-A.
  4798.         Please see the Ctrl-<Arrow Key> commands for more details
  4799.         (ie: Ctrl-<Up Arrow>, Ctrl-<Left Arrow>, etc...)
  4800.  
  4801.         Monochrome screen users will find background colors generally
  4802.         useless except when set to light gray (7) while using a black
  4803.         foreground color of 0 or 16 (blinking black).
  4804.  
  4805.  
  4806.  
  4807.        TheDraw v4.50         TheDraw Command Functions          69
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.                ALT-B: BLOCK ACTION COMMANDS
  4814.  
  4815.        The  Block  Action  Commands  provide  many facilities for editing the
  4816.        current screen and making  extensive changes.   The  following options
  4817.        are available:
  4818.  
  4819.       o  Move or Copy blocks of text.
  4820.       o  Fill in areas with characters, colors or both.
  4821.       o  Perform left, right or center text justification.
  4822.       o  Draw boxes or outline text with lines quickly and easily.
  4823.       o  Delete or simply Erase blocks of text.
  4824.       o  Load a block of screen area from a file on disk.
  4825.       o  Save just a piece of the current screen to disk.
  4826.       o  Rescan an area into animation sequence (animation mode only).
  4827.  
  4828.        The Block  Action Commands in TheDraw are one of the more useful tools
  4829.        available.  After pressing ALT-B, you will see the following prompt:
  4830.  
  4831.      Use [L]ast block or move to Upper-Left corner and press [SPACE].
  4832.  
  4833.        Press [L] to use  the last  block specified.   Otherwise  define a new
  4834.        block by  indicating the  upper-left and lower-right corners.  Use the
  4835.        arrow keys, PgUp, PgDn, Home or End keys on the  keyboard to  move the
  4836.        cursor to  the wanted  locations, then  press [SPACE]  after you reach
  4837.        each point.
  4838.  
  4839.        The current block is highlighted (colors inverted) to make it obvious.
  4840.        Once you define the upper-left corner of the block, moving above or to
  4841.        the left of it will not invert any text.  TheDraw will  stop the block
  4842.        marking if you press [SPACE] under this situation.
  4843.  
  4844.        Upon pressing  [SPACE] the  second time  (with an  inverted block) you
  4845.        will see the available block option commands.  The items  on the menu,
  4846.        and their significance are described on the following pages.
  4847.  
  4848.        -----
  4849.  
  4850.        Mouse users  may mark  a block  by pressing and holding the LEFT mouse
  4851.        button, moving the mouse  to  wanted  block  size,  and  releasing the
  4852.        button.  Block option commands as described below will then appear.
  4853.  
  4854.  
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.        TheDraw v4.50         TheDraw Command Functions          70
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.        COPY - Copy a Block
  4873.  
  4874.       Copies the marked block.  Use mouse or normal cursor movement keys,
  4875.       such as the arrow keys, Tab, PgUp, PgDn,  Home or  End to  move the
  4876.       block copy around.  Available sub-commands are:
  4877.  
  4878.         pagE   - Change to  a different page layer screen.  With this
  4879.              option you can choose to stamp (see below) copies of
  4880.              the block  on other  layers.  A small window appears
  4881.              with a prompt for  the  new  page  layer.    Enter a
  4882.              number or press [ESC] to abort.
  4883.  
  4884.         Toggle - Toggles  between  single  layer  and  sprite editing
  4885.              modes (see ALT-E for discussion on  sprite editing).
  4886.              In sprite  mode, any  text on a higher numbered page
  4887.              layer will appear "under" text on the current page.
  4888.  
  4889.         Stamp  - Makes a copy of the  current  block  at  the current
  4890.              position.    Additional  copies  can be made as many
  4891.              times as wished.
  4892.  
  4893.         Under  - Toggles between moving the block "above"  or "under"
  4894.              the current  page layer.   The  block copy starts in
  4895.              above mode.   In  above  mode  the  entire  block is
  4896.              visible,  no  matter  where  it  is moved.  In under
  4897.              mode, the block appears UNDER any other text  on the
  4898.              current page  layer.   It will only show through the
  4899.              black spaces on the current layer.
  4900.  
  4901.              Note:     Under  mode  also  allows  an  interesting
  4902.                    effect.    If  you are sprite editing (see
  4903.                    ALT-E command) the  block  will  appear to
  4904.                    move -between- the current layer and those
  4905.                    below it.
  4906.  
  4907.         [ENTER]  Saves all changes made to all layers.
  4908.  
  4909.         [ESC]    Aborts and removes all changes made to all layers.
  4910.  
  4911.  
  4912.  
  4913.        MOVE - Move a Block
  4914.  
  4915.       Moving a block operates identically to copying a block (see above).
  4916.       The  only  difference  is  the  block is "cut" out from the current
  4917.       screen, leaving a hole behind.  This hole is filled with spaces and
  4918.       the  current  default  background  color  (see  ALT-D regarding the
  4919.       default background color).  All sub-commands  are identical  to the
  4920.       block copy  described above.  Under animation, the exact pattern of
  4921.       a the shifted animation sequence is relocated.
  4922.  
  4923.  
  4924.  
  4925.        TheDraw v4.50         TheDraw Command Functions          71
  4926.  
  4927.  
  4928.  
  4929.  
  4930.  
  4931.        FILL - Fill a Block
  4932.  
  4933.       Fills the marked block  based  on  a  specified  sub-command.   The
  4934.       available options are listed below:
  4935.  
  4936.         Attribute - Changes  both  foreground  and  background  color
  4937.                 attributes  to  current  values  shown  in status
  4938.                 line.
  4939.  
  4940.         Fore      - Changes just  the foreground  color attributes to
  4941.                 current values shown in status line.
  4942.  
  4943.         bacK      - Changes just  the background  color attributes to
  4944.                 current values shown in status line.
  4945.  
  4946.         Use       - Changes  both  foreground  and  background  color
  4947.                 attributes to those  under  the  CURSOR  when you
  4948.                 first pressed  ALT-B.  This is not the upper-left
  4949.                 block corner, but the position on  the screen the
  4950.                 cursor  was  sitting  when  block  commands  were
  4951.                 first selected.
  4952.  
  4953.         Character - Prompts  for  a  keyboard  character  or  special
  4954.                 function set  symbol (see  ALT-F command).  Solid
  4955.                 spaces can be used by pressing  Shift-Space.  The
  4956.                 block  is  then  overwritten  using  whatever was
  4957.                 selected.  The color  attributes at  a given spot
  4958.                 are not changed, just the character there.
  4959.  
  4960.         Both      - Combines  both  the  Attribute and Character fill
  4961.                 operations  described  above.    A  character  is
  4962.                 prompted  for,  then  everything  in the block is
  4963.                 overwritten using that character with the current
  4964.                 color attributes from the status line.
  4965.  
  4966.  
  4967.       These  commands  offer  much  flexibility;  however,  nothing  will
  4968.       satisfy everyone.   For  this reason,  the "last  block" option was
  4969.       added.  To perform multiple fill operations on a given block is now
  4970.       done quickly and easily.
  4971.  
  4972.       ----
  4973.  
  4974.       Note: In animation mode, the Attribute, Fore, bacK, and Use options
  4975.         actually change  characters in the animation sequence (no new
  4976.         characters are added).  Use of  the Character  or Both option
  4977.         in Animator  mode however  WILL add  additional characters to
  4978.         the animation sequence.
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984.        TheDraw v4.50         TheDraw Command Functions          72
  4985.  
  4986.  
  4987.  
  4988.  
  4989.  
  4990.        TEXT - Block Text Operations
  4991.  
  4992.       Performs various text operations on the specified block.  Available
  4993.       sub-commands are:
  4994.  
  4995.         Box     - Draws a  box using  the current  function set.  The
  4996.               box border is defined by  the  edges  of  the block
  4997.               area.   The contents of the box are left unchanged,
  4998.               however anything where the  box lines  are actually
  4999.               drawn will be overwritten.
  5000.  
  5001.         Outline - Operates  similar  to  the  Box command, except the
  5002.               contents of the block are examined first.   The box
  5003.               border  will  be  adjusted  to just accommodate all
  5004.               words either fully or  partially  contained  by the
  5005.               block area.
  5006.  
  5007.               For  instance,  assume  just  one  character in the
  5008.               center of the  edit  screen.    You  then  mark the
  5009.               entire screen  as a block, and select text outline.
  5010.               The result would only be  a  small  box  around the
  5011.               character.
  5012.  
  5013.               Going the  other way,  if you block marked just the
  5014.               center letter of a long word  (with no  spaces) the
  5015.               block edges  would expand to accommodate the entire
  5016.               word.   Note: the expansion is only  done for words
  5017.               INITIALLY part  of the  block.  Any words the block
  5018.               expansion happens to go  over are  ignored, and are
  5019.               not considered by Text Outline.
  5020.  
  5021.         Center  - Text contained  or partially contained by the block
  5022.               is centered.  The  way this  is done  is similar to
  5023.               the  text  Outline  described  above.  Each line of
  5024.               characters considered  is expanded  to just enclose
  5025.               all words.  The string of words is then centered on
  5026.               the position of the block.
  5027.  
  5028.         Left    - Text contained or partially  contained is  moved to
  5029.               the  left  edge  of  the block.  Block expansion is
  5030.               used so words are not split apart.
  5031.  
  5032.         Right   - Identical to  Left  except  contained  or partially
  5033.               contained text  is moved  to the  right edge of the
  5034.               block.
  5035.  
  5036.  
  5037.       These  commands  are  useful  making  menu  displays,  short memos,
  5038.       letters, etc...
  5039.  
  5040.  
  5041.  
  5042.  
  5043.        TheDraw v4.50         TheDraw Command Functions          73
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.        DELETE - Delete a Block
  5050.  
  5051.       This command is fairly intuitive.  The block is completely removed.
  5052.       Anything on the edit screen to the right of the block is shift over
  5053.       to fill  in the space.  The area previously occupied by the shifted
  5054.       text is erased using spaces and  the default  background color (see
  5055.       the ALT-D).
  5056.  
  5057.  
  5058.        ERASE - Erase a Block
  5059.  
  5060.       Erases the  block, without  changing anything  other portion of the
  5061.       edit screen.  The block is  erased  using  spaces  and  the default
  5062.       background color (see ALT-D).
  5063.  
  5064.  
  5065.        REPLACE - Block Character/Color Replace
  5066.  
  5067.       Performs  character  and/or  color  attribute  replacement on block
  5068.       based on specified sub-command.  The pattern is  whatever was under
  5069.       the  cursor  when  ALT-G  was  selected.  The available options are
  5070.       shown below (these are similar to the Fill options):
  5071.  
  5072.         Attribute -   Searches both foreground  and  background color
  5073.                   attributes,  then  replaces  all  matches  with
  5074.                   current values shown on status line.
  5075.  
  5076.         Fore       -  Searches and replaces just the foreground color
  5077.                   attributes with current value.
  5078.  
  5079.         bacK       -  Searches and replaces just the background color
  5080.                   attributes with current value.
  5081.  
  5082.         Character -   Prompts for  a  keyboard  character  or special
  5083.                   function set symbol (see ALT-F command).  Solid
  5084.                   spaces can  be  used  by  pressing Shift-Space.
  5085.                   The block  is then  searched and all characters
  5086.                   matching the pattern are replaced with  the new
  5087.                   selection.    Color  attributes at any position
  5088.                   are not changed, just character values.
  5089.  
  5090.         Both       -  Combines  both  the  Attribute   and  Character
  5091.                   operations  described  above.    A  replacement
  5092.                   character is  prompted for,  then everything on
  5093.                   the screen matching the pattern (both character
  5094.                   and fore/back attributes) is  replaced with the
  5095.                   character and current colors.
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102.        TheDraw v4.50         TheDraw Command Functions          74
  5103.  
  5104.  
  5105.  
  5106.  
  5107.        The following  commands are  available only  in normal (non-animation)
  5108.        screen edit mode:
  5109.  
  5110.        LOAD - Load a Block
  5111.  
  5112.       Imports a block of data from another screen saved on disk.  You are
  5113.       first prompted  for the  import filespec  (see ALT-L for details on
  5114.       loading files).
  5115.  
  5116.       The import image is then loaded  onto the  screen, and  an inverted
  5117.       area of  the defined  block size  appears.  Move this inverted area
  5118.       using arrow keys, PgUp, PgDn, Home  or End  to the  wanted portion.
  5119.       Press [ENTER]  to save  a copy of the inverted area in the original
  5120.       edit screen.  The rest of the import image is discarded.
  5121.  
  5122.  
  5123.        SAVE - Save a Block
  5124.  
  5125.       Operates almost identically to the normal save screen  command (see
  5126.       ALT-S  for  information  on  saving  edit screens).  The difference
  5127.       being the save is restricted to the defined block.
  5128.  
  5129.  
  5130.        The following command is available only in animation edit mode:
  5131.  
  5132.        RESCAN - Rescan a Block
  5133.  
  5134.       Operates just like the  ALT-J animator  rescan option,  except only
  5135.       the  marked  block  is  rescanned.   The marked block area is first
  5136.       erased from the animation sequence, then the block is rescanned and
  5137.       added onto the end of sequence.
  5138.  
  5139.  
  5140.  
  5141.  
  5142.                 ALT-C: CLEAR CURRENT SCREEN
  5143.  
  5144.        The operation  of this command should be apparent.  Once selected, the
  5145.        following prompt appears:
  5146.  
  5147.       Do you want to CLEAR this Page or All Page Layers? (Yes/No/All)
  5148.  
  5149.        Selecting [Y]es or pressing [ENTER] will clear the  current page layer
  5150.        and nothing  else.   Selecting [N]o  or pressing  [ESC] will abort the
  5151.        command.  Selecting  [A]ll  will  clear  ALL  page  layers.    You are
  5152.        prompted to verify this request before continuing.  Useful if you want
  5153.        a completely clean slate.
  5154.  
  5155.        The clearing of a given page  layer is  done by  using spaces  and the
  5156.        default  background  color  (see  ALT-D).    The  clear  screen can be
  5157.        reversed using the Restore/Undo command (see ALT-R).
  5158.  
  5159.  
  5160.  
  5161.        TheDraw v4.50         TheDraw Command Functions          75
  5162.  
  5163.  
  5164.  
  5165.  
  5166.  
  5167.             ALT-D: SET DEFAULT BACKGROUND COLOR
  5168.  
  5169.        The default  background color  is used  whenever TheDraw  must erase a
  5170.        portion of the screen.  Examples of commands where this is used are:
  5171.  
  5172.       o  Clear Current Screen.
  5173.       o  Block Delete, Erase, and Move.
  5174.       o  Text Operations which move words.
  5175.       o  Use of the Backspace or Delete keys to remove characters.
  5176.       o  Inserting or Deleting of lines or columns.
  5177.  
  5178.        All  these  commands  "clear"  an  area  of  the  screen in one way or
  5179.        another.  TheDraw does  this using  spaces and  the default background
  5180.        color specified.
  5181.  
  5182.        When you  select ALT-D,  the screen  changes to a display of available
  5183.        colors and the current default background color.  In the lower portion
  5184.        of the screen is the prompt:
  5185.  
  5186.                Please Select Background Color (0-7):
  5187.  
  5188.        The  cursor  will  be  flashing  after this prompt.  Select the wanted
  5189.        default background  color via  the Up/Down  arrow keys  or by directly
  5190.        entering the  number associated  with a color (see ALT-A for available
  5191.        colors).  Mouse users simply position  the mouse  on the  wanted color
  5192.        and press a button.
  5193.  
  5194.        Press [ENTER] or [ESC] to return to the edit screen.
  5195.  
  5196.  
  5197.  
  5198.  
  5199.               ALT-E: CHANGE PAGE LAYER/TOGGLE SPRITES
  5200.  
  5201.        The change  page layer  command allows  you to select a different page
  5202.        layer for editing.   Up to  eight simultaneous  layers can  be used at
  5203.        once, in  either normal  or animation  modes.  With this facility, you
  5204.        can load several images, copy/exchange parts and do much more.
  5205.  
  5206.        After pressing ALT-E, the following prompt appears:
  5207.  
  5208.          Display Page Layer (1-8), Toggle Single/Layers, or [ESC]?
  5209.  
  5210.        The number of available  layers (8  here) will  vary depending  on how
  5211.        TheDraw has been configured.  To select a different page layer, simply
  5212.        press the number.   The second  option, [T]oggle  Single/Layers, is to
  5213.        toggle  the  sprite  editing  facility  of  TheDraw.    Sprite mode is
  5214.        indicated by the word  "Page" or  "Anim" appearing  in capital letters
  5215.        on the status line (ie: PAGE).
  5216.  
  5217.  
  5218.  
  5219.  
  5220.        TheDraw v4.50         TheDraw Command Functions          76
  5221.  
  5222.  
  5223.  
  5224.  
  5225.  
  5226.        Sprite editing  allows you  to see everything "underneath" the current
  5227.        page layer.  Imagine several sheets  of glass,  stacked on  top of one
  5228.        another.    If  you  look  down  from  the top-most sheet, you can see
  5229.        anything placed on a piece of glass lower down.
  5230.  
  5231.        The sprite  editing mode  of TheDraw  is akin  to the  layers of glass
  5232.        described above.   In  this case,  layer one  is the top-most sheet of
  5233.        glass.  Page layer eight (8) is the bottom-most sheet of glass.  ie:
  5234.  
  5235.                        ┌────────┐
  5236.                       .│      . │
  5237.                     .  │    .   │ Bottom-Most Layer
  5238.                  ┌────────┐    8│
  5239.                    ┌─┴──────┐ │─────┘
  5240.                  ┌─┴──────┐ │ │   .
  5241.                  │        │ │3│ .
  5242.           Top-Most Layer │        │2├─┘
  5243.                  │       1├─┘
  5244.                  └────────┘
  5245.  
  5246.        Naturally, an  object  or  character  closer  to  the  top  will cover
  5247.        anything under  it.  In TheDraw, anything other than a non-solid black
  5248.        space will conceal the contents of a lower layer (see  SHIFT-SPACE for
  5249.        information on solid spaces).
  5250.  
  5251.        Another useful  feature about  sprite editing is only the current page
  5252.        layer may be changed.  Nothing you do will alter a layer  below (short
  5253.        of clearing  all layers),  even though  you can see its contents.  The
  5254.        current layer can be globally moved,  have lines  inserted or deleted,
  5255.        etc...    Anything  lower  down  is  protected unless you specifically
  5256.        change to that page layer for editing.
  5257.  
  5258.        The question than now comes to mind is:  What can be done with it?
  5259.        Imagine you have a  screen  made  of  several  distinct  parts,  say a
  5260.        backdrop with  figures on it.  Now a figure must be moved to make room
  5261.        for something  else.   Unless "block"  shaped, the  block move command
  5262.        (ALT-B) is  tedious to  use.  For something tree shaped, an easier way
  5263.        is desired.
  5264.  
  5265.        Using sprite editing each figure could  have its  own layer,  with the
  5266.        backdrop  placed  on  the  bottom-most  page.    To move a figure, you
  5267.        merely switch to its layer and  use  the  global  screen  move command
  5268.        (ALT-G,M).    Nothing  could  be  simpler.   To see the result of your
  5269.        change, switch back to the top-most layer.
  5270.  
  5271.        Menu making is made easier with sprites also.  Put  together the basic
  5272.        outline (lines,  boxes, etc...)  on one page layer, then switch to one
  5273.        higher up for the text.  If you do not like the  initial text, erasing
  5274.        it will  not harm  the outline.   There are endless more possibilities
  5275.        waiting to be discovered.
  5276.  
  5277.  
  5278.  
  5279.        TheDraw v4.50         TheDraw Command Functions          77
  5280.  
  5281.  
  5282.  
  5283.  
  5284.                ALT-F: VIEW FUNCTION KEY SETS
  5285.  
  5286.        This command presents a display of the 150 special extended characters
  5287.        supported by TheDraw.  These characters are stored in fifteen separate
  5288.        "function key sets".  The current  set  is  displayed  on  the TheDraw
  5289.        status line.
  5290.  
  5291.        Selecting  function  key  sets  within  this display is done using the
  5292.        Up/Down arrow keys or  using the  mouse.   Press [ENTER]  or click the
  5293.        mouse button when satisfied.
  5294.  
  5295.        The  actual  characters  are  accessed  using  the  function  keys  by
  5296.        themselves.  If function key set 7 was  selected, pressing  [F2] would
  5297.        display the second character in that set (a smiley face).
  5298.  
  5299.        ----
  5300.  
  5301.        An alternate  means for  selecting function key sets is available from
  5302.        the normal edit screen.  To use function key sets  1 to  10, press ALT
  5303.        followed by  a function  key 1  to 10.  To use function key sets 11 to
  5304.        15, press CTRL followed by a function key 1 to 5.  ie:
  5305.  
  5306.                ALT-F7 will select function key set 7
  5307.               CTRL-F4 will select function key set 14
  5308.  
  5309.        Note:    Appendix  C  contains  a  list  of   all  special  characters
  5310.         supported  by  the  IBM-PC  extended character set in numeric
  5311.         order.    To  access  these  characters  -without-  using the
  5312.         function  key  sets,  press  and  hold down the ALT key.  Now
  5313.         using the numeric keypad on the side of the keyboard, type in
  5314.         the number  associated with the wanted character.  Once done,
  5315.         release the ALT key.  The  character will  then appear.   ie:
  5316.         press and  hold ALT.   Now type 65 on the numeric keypad, and
  5317.         release ALT.  The letter "A" will appear.
  5318.  
  5319.  
  5320.  
  5321.                   ALT-G: GLOBAL COMMANDS
  5322.  
  5323.        The global commands offer many facilities  for doing  "global" changes
  5324.        to the  entire screen.  All of these commands could be duplicated with
  5325.        block  operations;  they  exist   for  convenience.     The  following
  5326.        selections are available:
  5327.  
  5328.       o  Copy the current screen to another page layer.
  5329.       o  Move/Rotate the current screen around its borders.
  5330.       o  Globally fill the screen with colors and/or characters.
  5331.       o  Perform text operations globally on the screen.
  5332.       o  Globally replace a character or color with something else.
  5333.  
  5334.        After  pressing  ALT-G  the  available  commands are listed.  The menu
  5335.        items are described on the following pages.
  5336.  
  5337.  
  5338.        TheDraw v4.50         TheDraw Command Functions          78
  5339.  
  5340.  
  5341.  
  5342.  
  5343.  
  5344.        COPY - Copy Screen
  5345.  
  5346.       The command first prompts  for the  destination page.   The current
  5347.       screen is then copied to the specified page layer.
  5348.  
  5349.       In  animation  mode,  this  deletes  everything  on the destination
  5350.       layer.  The current screen is then copied item by item to it.
  5351.  
  5352.  
  5353.        MOVE - Move/Rotate Screen
  5354.  
  5355.       Moves the entire screen around its borders.  Use the arrows keys to
  5356.       rotate the  screen.  Press [ENTER] when satisfied or [ESC] to leave
  5357.       the screen as it was.   ie: moving the screen upwards will "rotate"
  5358.       the line at the top of the screen down to the bottom of the screen.
  5359.  
  5360.  
  5361.        FILL - Fill Screen
  5362.  
  5363.       Fills  the  entire  screen  based  on a specified sub-command.  The
  5364.       available options are listed  below  (these  are  identical  to the
  5365.       block fill commands):
  5366.  
  5367.         Attribute - Changes  both  foreground  and  background  color
  5368.                 attributes  to  current  values  shown  in status
  5369.                 line.
  5370.  
  5371.         Fore      - Changes just  the foreground  color attributes to
  5372.                 current values shown in status line.
  5373.  
  5374.         bacK      - Changes just  the background  color attributes to
  5375.                 current values shown in status line.
  5376.  
  5377.         Use       - Changes  both  foreground  and  background  color
  5378.                 attributes to those  under  the  CURSOR  when you
  5379.                 first pressed ALT-G.  This is the position on the
  5380.                 screen  the   cursor  was   sitting  when  global
  5381.                 commands were selected.
  5382.  
  5383.         Character - Prompts  for  a  keyboard  character  or  special
  5384.                 function set symbol (see  ALT-F command).   Solid
  5385.                 spaces can  be used by pressing Shift-Space.  The
  5386.                 screen is  then  overwritten  using  whatever was
  5387.                 selected.    The  color  attributes  at any given
  5388.                 position are not changed,  just the  character at
  5389.                 that position.
  5390.  
  5391.  
  5392.  
  5393.  
  5394.  
  5395.  
  5396.  
  5397.        TheDraw v4.50         TheDraw Command Functions          79
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.         Both      - Combines  both  the  Attribute and Character fill
  5404.                 operations  described  above.    A  character  is
  5405.                 prompted  for,  then  everything on the screen is
  5406.                 overwritten using that character with the current
  5407.                 color attributes from the status line.
  5408.  
  5409.  
  5410.       In animation  mode, the Attribute, Fore, bacK, and Use options only
  5411.       alter characters already in  the animation  sequence (no additional
  5412.       characters are  added).  The Character or Both options however WILL
  5413.       add additional characters to the animation sequence.
  5414.  
  5415.  
  5416.        TEXT - Global Text Operations
  5417.  
  5418.       Performs various text operations on  the  screen.    Available sub-
  5419.       commands are:
  5420.  
  5421.         Box     - Draws a  box using  the current  function set.  The
  5422.               box border will be the defined by the  edges of the
  5423.               screen.   The inside  of the box is left unchanged,
  5424.               however anything where the  box lines  are actually
  5425.               drawn will be overwritten.
  5426.  
  5427.         Outline - Operates  similar  to  the Box command, however the
  5428.               contents of the block are examined first.   The box
  5429.               border  will  be  adjusted  to just accommodate all
  5430.               words contained by the screen.
  5431.  
  5432.               For instance, assume you just had  one character in
  5433.               the center of the edit screen.  The result of using
  5434.               global text  outline  would  only  be  a  small box
  5435.               around the character.
  5436.  
  5437.         Center  - Text in  the screen  is centered.   The way this is
  5438.               done  is  similar  to  the  text  Outline described
  5439.               above.    Each  line  of  characters  considered is
  5440.               reduced to just enclose all words.   The  string of
  5441.               words is then centered in the screen.
  5442.  
  5443.         Left    - Text is moved to the left edge of the screen.
  5444.  
  5445.         Right   - Identical to Left except text is moved to the right
  5446.               edge of the screen.
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456.        TheDraw v4.50         TheDraw Command Functions          80
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.        REPLACE - Global Character/Color Replace
  5463.  
  5464.       Performs character and/or  color  attribute  replacement  on entire
  5465.       screen based on specified sub-command.  The pattern is whatever was
  5466.       under the cursor when  ALT-G was  selected.   The available options
  5467.       are shown below (these are similar to the Fill options):
  5468.  
  5469.         Attribute -   Searches  both  foreground and background color
  5470.                   attributes,  then  replaces  all  matches  with
  5471.                   current values shown on status line.
  5472.  
  5473.         Fore       -  Searches and replaces just the foreground color
  5474.                   attributes with current value.
  5475.  
  5476.         bacK       -  Searches and replaces just the background color
  5477.                   attributes with current value.
  5478.  
  5479.         Character -   Prompts  for  a  keyboard  character or special
  5480.                   function set symbol (see ALT-F command).  Solid
  5481.                   spaces  can  be  used  by pressing Shift-Space.
  5482.                   The screen is then searched and  all characters
  5483.                   matching the  pattern are replaced with the new
  5484.                   selection.  Color  attributes  at  any position
  5485.                   are not changed, just character values.
  5486.  
  5487.         Both       -  Combines  both   the  Attribute  and  Character
  5488.                   operations  described  above.    A  replacement
  5489.                   character is  prompted for,  then everything on
  5490.                   the screen matching the pattern (both character
  5491.                   and fore/back  attributes) is replaced with the
  5492.                   character and current colors.
  5493.  
  5494.       These commands operate similar to the block action text commands.
  5495.  
  5496.  
  5497.  
  5498.  
  5499.               ALT-H: DISPLAY HELP INFORMATION
  5500.  
  5501.        The help  screens provide  a quick  reminder for  the various commands
  5502.        supported  by  TheDraw.    The  three  screens  briefly  describe most
  5503.        available functions.
  5504.  
  5505.        The registered  version of  TheDraw supports  context sensitive pop-up
  5506.        help  for  the  ENTIRE  program.    Typing  ALT-H at any position will
  5507.        display specific help on what you are doing.  Try it, you'll like it!
  5508.  
  5509.  
  5510.  
  5511.  
  5512.  
  5513.  
  5514.  
  5515.        TheDraw v4.50         TheDraw Command Functions          81
  5516.  
  5517.  
  5518.  
  5519.  
  5520.                    ALT-I: INSERT A LINE
  5521.  
  5522.        Inserts a blank horizontal line at the current position.   The current
  5523.        line and  all those  below it  are shifted  down.   The bottom line is
  5524.        lost.  The blank line is filled with spaces colored  using the default
  5525.        background color.  This command can be reversed using the Restore/Undo
  5526.        command (ALT-R).
  5527.  
  5528.  
  5529.  
  5530.                   ALT-J: ANIMATOR OPTIONS
  5531.  
  5532.        The Animator Options command  operates differently  depending on which
  5533.        mode you are currently in (normal or animator).
  5534.  
  5535.  
  5536.        ALT-J FROM NORMAL/STATIC MODE
  5537.        ──────────────────────────────────────────────────────────────────────
  5538.        When in  normal mode,  selecting ALT-J will put TheDraw into animation
  5539.        mode.  To convert the existing normal screen images (static images) to
  5540.        animation entries,  a scan "method" or pattern must be specified.  The
  5541.        particular pattern used tells TheDraw how  to read  your static images
  5542.        for  display.    Scan  patterns  can  be  altered using two adjustment
  5543.        toggles.  These are:
  5544.  
  5545.  
  5546.       REVERSE   Reverse entire  scan  pattern.    Last  character scanned
  5547.             becomes the first displayed in the animation sequence.
  5548.  
  5549.       FLIP      Vertically exchanges  scanning of  the screen scan top to
  5550.             bottom.  For example  the TOP  scanner below  scan across
  5551.             the screen  (left to  right) starting on the bottom line,
  5552.             moving upwards.
  5553.  
  5554.  
  5555.        There  are  fourteen  different  generic  scan   methods/patterns  are
  5556.        available.   By combining these with the above adjust toggles, over 50
  5557.        patterns are possible:
  5558.  
  5559.  
  5560.        TOP - Scan Top to Bottom
  5561.  
  5562.       The static page layers are scanned from their  upper-left to lower-
  5563.       right corners.   The  scan goes  across the screen (left to right).
  5564.       The next line down is then scanned, and so on.
  5565.  
  5566.  
  5567.        LEFT - Scan Left to Right
  5568.  
  5569.       Similar to TOP, except  the  scan  goes  down  the  screen  (top to
  5570.       bottom).  The next column over is then scanned, and so on.
  5571.  
  5572.  
  5573.  
  5574.        TheDraw v4.50         TheDraw Command Functions          82
  5575.  
  5576.  
  5577.  
  5578.  
  5579.  
  5580.        CLOCK - Clock Arm Scan
  5581.  
  5582.       Scans in  clockwise direction  from center of screen to border edge
  5583.       around screen.  Appears somewhat like a growing pie-slice.
  5584.  
  5585.  
  5586.        CIRCLES - Circular Ring Scan
  5587.  
  5588.       Scans image in ever growing circles from center  of screen outward.
  5589.       ie:   small circle,  then slightly larger encompassing circle, then
  5590.       slightly larger again, etc...
  5591.  
  5592.  
  5593.        CHECKERBOARD - Checkerboard Effect Scan
  5594.  
  5595.       Scans alternating squares on  first  pass  creating  a checkerboard
  5596.       appearance, then fills in all the gaps on the second pass.
  5597.  
  5598.  
  5599.        ANGLE - Angle Scan
  5600.  
  5601.       Scans  each  static  page  layer  from  upper-left  to  lower-right
  5602.       corners, using a backward angle approach.  ie:  scan character then
  5603.       move down to next line and backup one position.
  5604.  
  5605.                    AAAAAAAAAA
  5606.                    BBBBBBBBB
  5607.                    CCCCCCCC
  5608.                    DDDDDDD
  5609.                    etc...
  5610.  
  5611.        GATE - Gated Scan
  5612.  
  5613.       Alternating lines  scan from  opposite sides of the screen forwards
  5614.       and backwards  going across.     The first  line will  scan left to
  5615.       right going across the screen.  The second line scans right to left
  5616.       across the screen.  The third line scans as the first, etc...   All
  5617.       lines are processed at once, so the screen appears "gated".
  5618.  
  5619.  
  5620.        PYRAMID - Pyramid Scan
  5621.  
  5622.       Scans in a "pyramid" shape, starting from bottom center of screen.
  5623.                     .
  5624.                        .D.
  5625.                       cDCD.
  5626.                      tDCBCD.
  5627.                     eDCBABCD.
  5628.  
  5629.  
  5630.  
  5631.  
  5632.  
  5633.        TheDraw v4.50         TheDraw Command Functions          83
  5634.  
  5635.  
  5636.  
  5637.  
  5638.  
  5639.        SQUARES - Squares or Spiral Scan
  5640.  
  5641.       Scans static screen images using squares.  The border of the screen
  5642.       is first scanned (progressing clockwise).  The next  smaller square
  5643.       is then scanned, and so.  Produces a spiral effect.
  5644.  
  5645.  
  5646.        SCRAMBLE - Random Scramble Scan
  5647.  
  5648.       Each static page layer is scanned in a completely random order.
  5649.  
  5650.  
  5651.        DOOR - Closing Door Scan
  5652.  
  5653.       Screen is  scanned from  top to  bottom, on both sides of screen at
  5654.       once.  Gives the impression of doors closing on the user.
  5655.  
  5656.  
  5657.        DIAMOND - Growing Diamond Scan
  5658.  
  5659.       Scans image using ever growing diamond shapes from center of screen
  5660.       outward.  Mildly similar to the circle scan in operation.
  5661.  
  5662.  
  5663.        WIGGLE - Wiggle Scan
  5664.  
  5665.       Similar  to  GATE,  except  only  one  line is processed at a time.
  5666.       Produces a  snaking line  appearance starting  from the  top of the
  5667.       screen.   Scan first goes across screen, then returns on next.  The
  5668.       cycle is then repeated.
  5669.  
  5670.  
  5671.        WIGGLEOUT - Wiggle Out Scan
  5672.  
  5673.       Starts in center of screen with wiggle operation going both  up and
  5674.       down at once.
  5675.  
  5676.  
  5677.        Once  the  animation  scan  is  completed,  the  screen is cleared and
  5678.        redrawn.  At this point  TheDraw  will  operate  normally,  except all
  5679.        entries are  sequenced by  the animation  system.  Please refer to the
  5680.        section "The Animation System" for more details on its use.
  5681.  
  5682.        If you have ideas for more animation scanners, please send them!
  5683.  
  5684.  
  5685.  
  5686.  
  5687.  
  5688.  
  5689.  
  5690.  
  5691.  
  5692.        TheDraw v4.50         TheDraw Command Functions          84
  5693.  
  5694.  
  5695.  
  5696.  
  5697.  
  5698.        ALT-J FROM ANIMATOR MODE
  5699.        ──────────────────────────────────────────────────────────────────────
  5700.        Once in animator mode, selecting ALT-J presents several facilities for
  5701.        managing the animation system.  The following commands are available:
  5702.  
  5703.       o  Specify Animation Include Files
  5704.       o  Specify User Control Sequences
  5705.       o  Toggle storing of cursor movements
  5706.       o  Convert animation screens to normal mode static screen images
  5707.       o  Rescan current animation screen
  5708.       o  Enter a pause into the animation sequence
  5709.  
  5710.        The registered version of TheDraw also supports:
  5711.  
  5712.       o  Animation Position Editing (Sequence Limiting)
  5713.       o  Specify Animation Markers
  5714.  
  5715.  
  5716.        INCLUDE - Specify Animation Include File
  5717.  
  5718.       When creating  an ANSI  file, TheDraw  allows you to "include" text
  5719.       from other files in the new one being created.  Ten different files
  5720.       can  be  included  at  various  points  in the sequence.  These are
  5721.       useful for the so  called "Ansi  Music" sequences,  frequently used
  5722.       images,  complex  BBS  control  code sequences (for systems such as
  5723.       WildCat), etc...   The animation USER-SEQ function  following might
  5724.       be more suitable for the latter task however.
  5725.  
  5726.       When TheDraw  includes another  file, its  contents are copied into
  5727.       the new output file TheDraw is making.   Once the  output Ansi file
  5728.       is created, the include file is not needed again.  The include file
  5729.       need only be present when TheDraw is actually copying text from it.
  5730.  
  5731.       Include  files  are  only  accessed  when TheDraw is saving a file.
  5732.       They are  ignored by  ALT-Q.   If you  wish to  see what everything
  5733.       looks like before saving, use the View option described below.
  5734.  
  5735.       Upon  choosing  the  INCLUDE  option,  a  window will appear on the
  5736.       screen.  All currently defined include files will  be listed, along
  5737.       with their positions in the animation sequence.  The following sub-
  5738.       commands are available:
  5739.  
  5740.          SET   - Sets an include file at the  current animation position.
  5741.              In the shareware version of TheDraw, this will always be
  5742.              the end of the current animation sequence.
  5743.  
  5744.              In the registered version, this is the current animation
  5745.              limit position.   This allows include files to be easily
  5746.              specified "after the fact",  anywhere  in  the animation
  5747.              sequence (see Limit below).
  5748.  
  5749.  
  5750.  
  5751.        TheDraw v4.50         TheDraw Command Functions          85
  5752.  
  5753.  
  5754.  
  5755.  
  5756.  
  5757.          CLEAR - Erases the include file entry you specify.  No verify is
  5758.              done before the entry is deleted, so be warned.
  5759.  
  5760.          VIEW  - Displays  the   entire  animation   sequence,  with  all
  5761.              specified include  files.   Very useful  for testing the
  5762.              appearance of things.
  5763.  
  5764.  
  5765.       Press [ESC] once when done editing the include files.   All changes
  5766.       are saved.
  5767.  
  5768.  
  5769.       ANSI MUSIC WITH INCLUDE FILES:
  5770.  
  5771.       Animation  include  files  are  especially  useful for including so
  5772.       called "Ansi Music" sequences into a TheDraw image.  Ansi  Music is
  5773.       not part  of the standard Ansi driver.  It is an extension found in
  5774.       certain modem communication programs (such as Qmodem).  Please note
  5775.       that TheDraw cannot generate Ansi Music source sequences.  The code
  5776.       format of Ansi Music is as follows:
  5777.  
  5778.                <esc>[MF<music control codes><ctrl-N>
  5779.              │                     │
  5780.                ascii 27             ascii 14
  5781.  
  5782.       The section <music control codes> is a string  of music descriptors
  5783.       identical to  those used  in the  Basic PLAY  command.   Refer to a
  5784.       Basic language reference manual for further information.
  5785.  
  5786.  
  5787.  
  5788.        USER_SEQ - Specify Animation User Control Sequence
  5789.  
  5790.       Allows you to insert your own short control code sequences directly
  5791.       into the  Ansi file output TheDraw generates.  Extremely useful for
  5792.       BBS control codes (ie:  for  user  names  and  such),  or inserting
  5793.       special  extra  Ansi  codes  into  the  animation (ie: clearing the
  5794.       display midstream, or causing an image to scroll).   User Sequences
  5795.       are only  referred to  when TheDraw  saves a file, and are not used
  5796.       when redrawing (see ALT-Q).
  5797.  
  5798.       Upon choosing the USER_SEQ option,  a  window  will  appear  on the
  5799.       screen.    All  currently  defined  user  control sequences will be
  5800.       listed, along with their positions in the animation sequence.
  5801.  
  5802.  
  5803.  
  5804.  
  5805.  
  5806.  
  5807.  
  5808.  
  5809.  
  5810.        TheDraw v4.50         TheDraw Command Functions          86
  5811.  
  5812.  
  5813.  
  5814.  
  5815.  
  5816.       The following sub-commands are available:
  5817.  
  5818.          SET   - Sets a user sequence at the  current animation position.
  5819.              In the shareware version of TheDraw, this will always be
  5820.              the end of  the  current  animation  sequence.    In the
  5821.              registered version,  this is the current animation limit
  5822.              position.    This  allows  control  codes  to  be easily
  5823.              specified after  a screen has been made, anywhere during
  5824.              the display of the animation sequence (see Limit below).
  5825.  
  5826.              You are prompted for the user sequence to  modify.  Next
  5827.              the sequence must be typed in.  For Ansi escape sequence
  5828.              press the escape key (appears as  "^["), an  open square
  5829.              bracket, followed by the necessary command codes.  ie:
  5830.  
  5831.                   <esc>[2J    (will clear the screen)
  5832.  
  5833.          CLEAR - Removes the  user sequence entry you specify.  No verify
  5834.              is done before the entry is deleted, so be warned.
  5835.  
  5836.          VIEW  - Displays the  animation  sequence,  up  to  the position
  5837.              where  the  specified  user  sequence  is  to be output.
  5838.              Useful for jogging your memory.
  5839.  
  5840.  
  5841.  
  5842.        LIMIT - Specify Animation Limit (registered version only)
  5843.  
  5844.       The animation limit facility of  TheDraw  provides  for  a powerful
  5845.       animation editing system.  You can easily correct mistakes, insert,
  5846.       delete or do anything else in the MIDDLE of any animation sequence.
  5847.  
  5848.       To use limiting, you tell  TheDraw  where  to  stop  displaying the
  5849.       animation sequence.   For  example, assume  you had a sequence with
  5850.       5000 entries.  You could  limit  it  to  2000,  correct  a spelling
  5851.       mistake, then  quickly reset the limit back to 5000.  With limiting
  5852.       turned on TheDraw operates as always,  except everything  above the
  5853.       animation limit is temporarily held out of the way.
  5854.  
  5855.       Upon choosing the LIMIT option, you can specify the animation limit
  5856.       position by means of the following keys:
  5857.  
  5858.          Up/Down Arrows   Advance/Backup limit by one position.
  5859.          PgUp/PgDn        Advance/Backup limit by 100 positions.
  5860.          Home             Go to start of sequence (position = 0).
  5861.          End          Go to end of sequence (all entries).
  5862.  
  5863.  
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.        TheDraw v4.50         TheDraw Command Functions          87
  5870.  
  5871.  
  5872.  
  5873.  
  5874.  
  5875.          marKer           Move to the position of an animation marker.
  5876.                   Selecting this command displays a window of all
  5877.                   currently   set   animation   markers.    After
  5878.                   choosing a marker, the animation limit moves to
  5879.                   the position  of the marker.  Assuming you have
  5880.                   set markers in  strategic  places,  this allows
  5881.                   you  to  quickly  bounce  around  an  animation
  5882.                   sequence looking for a particular spot.
  5883.  
  5884.       Press [ENTER] to save the  new  animation  limit.    Pressing [ESC]
  5885.       leaves the original animation limit position unchanged.
  5886.  
  5887.  
  5888.  
  5889.        MARKER - Specify Animation Markers (registered version only)
  5890.  
  5891.       Markers  are  used  to  "mark"  different  places  in the animation
  5892.       sequence for later reference.  Once  set, markers  can be  used for
  5893.       changing the  animation limit position (see above) and viewing just
  5894.       portions of the  animation  sequence.      They  can  be  useful in
  5895.       locating things  forgotten or set aside until later, editing images
  5896.       a page at a time, etc...
  5897.  
  5898.       Upon choosing the  MARKER  option,  a  window  will  appear  on the
  5899.       screen.  All currently defined markers are listed, along with their
  5900.       position in the animation  sequence.    The  following sub-commands
  5901.       are available:
  5902.  
  5903.          SET   - Sets a marker at the current animation limit position.
  5904.              This allows  markers to  be easily specified anywhere in
  5905.              the animation sequence.  You are  first be  prompted for
  5906.              which marker  to change.   If the marker is already set,
  5907.              it will be erased before continuing.  After  you specify
  5908.              a marker, you can then enter a comment (32 characters).
  5909.  
  5910.          CLEAR - Erases the marker you specify.  No verify is done before
  5911.              the entry is deleted, so be warned.
  5912.  
  5913.          VIEW  - Displays  the  animation  sequence,  up  to  a specified
  5914.              marker.   Useful for  reminding yourself of what happens
  5915.              early in a 16000 entry animation sequence.
  5916.  
  5917.       Press [ESC] once done editing markers.  All changes are saved.
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928.        TheDraw v4.50         TheDraw Command Functions          88
  5929.  
  5930.  
  5931.  
  5932.  
  5933.  
  5934.        MOVEMENT - Toggle Storage of Cursor Movements
  5935.  
  5936.       Toggles whether or  not  TheDraw  stores  actual  movements  of the
  5937.       cursor.   Normally only  typed characters are recorded; however, if
  5938.       the cursor movement toggle is on  all movements  of the  cursor are
  5939.       also stored.   Cursor  movements are being stored whenever the ANIM
  5940.       symbol in the status line is flashing.  If you are still  in doubt,
  5941.       watch the  animation entry  count.  It will increase every time you
  5942.       move the cursor.
  5943.  
  5944.  
  5945.        NORMAL - Convert to Normal Edit Mode.
  5946.  
  5947.       Converts what appears on  the screen  to normal  mode images.   All
  5948.       animation is  erased after  executing this  command.  You are first
  5949.       prompted to verify this before continuing.
  5950.  
  5951.       In  the  registered  version,  anything  not  displayed  because of
  5952.       animation  limiting  is  lost.    Only  what appears exactly on the
  5953.       screen when  you select  this command  is converted  to normal mode
  5954.       images.
  5955.  
  5956.  
  5957.        RESCAN - Rescan the Screens
  5958.  
  5959.       Selecting  this  command  prompts  for  an animation scan method as
  5960.       described above in the ALT-J FROM NORMAL MODE  section.  Everything
  5961.       in the  animation sequence  is first erased, then the images on the
  5962.       screens are rescanned.
  5963.  
  5964.       In the registered version,  any  animation  sequence  not displayed
  5965.       because  of  animation  limiting  is  NOT  lost.   It will still be
  5966.       available after this operation is  done.    This  differs  from the
  5967.       above suboption  and permits rebuilding something which did not cut
  5968.       it the first time.
  5969.  
  5970.  
  5971.        PAUSE - Animation Pausing
  5972.  
  5973.       Allows for the  putting  of  pauses  into  the  animation sequence.
  5974.       TheDraw can  wait for  either a  key press or a specified number of
  5975.       seconds.  There is no limit on pauses  and they  may occur anywhere
  5976.       in  the   animation  sequence.      This  can  be  very  useful  in
  5977.       presentations.
  5978.  
  5979.       After selecting PAUSE, the following sub-commands are available:
  5980.  
  5981.          TIME_PAUSE       Creates  a  pause  for  a  specified  number of
  5982.                   seconds (the  pause can  be aborted by pressing
  5983.                   any key  when  actually  displayed).    You are
  5984.                   prompted for the number of seconds to delay.
  5985.  
  5986.  
  5987.        TheDraw v4.50         TheDraw Command Functions          89
  5988.  
  5989.  
  5990.  
  5991.  
  5992.  
  5993.          KEY_ONLY_PAUSE   Creates a pause for a key to be pressed.
  5994.  
  5995.          CLEAR            Erases  pauses  from  the  animation  sequence.
  5996.                   TheDraw  searches  backwards  from  the current
  5997.                   animation  position  for  a  Pause.   If one is
  5998.                   found, you can DELETE,  VIEW up  to this pause,
  5999.                   or  scan  for  the  NEXT pause before this one.
  6000.                   Press [ESC] to abort clearing a pause.
  6001.  
  6002.       Pauses are observed whenever you redraw the animation sequence with
  6003.       ALT-Q.   When you  save an ANSI file, it is not possible to produce
  6004.       the exact pause equivalent (pauses for a key are impossible).   For
  6005.       this  reason,  a  small  separate  presentation  program (THEPP) is
  6006.       included  with  registered  copies   of  TheDraw.     This  program
  6007.       duplicates  the  operation  of  the ALT-Q command, and uses THEDRAW
  6008.       format data files.  See section entitled "The Presentation Program"
  6009.       for information on using THEPP.
  6010.  
  6011.  
  6012.  
  6013.                    ALT-K: DELETE A FILE
  6014.  
  6015.        Deletes a  specified file  from disk.  Use this option to free up disk
  6016.        space when the need arises.   The directory  file selector  (see ALT-L
  6017.        below) displays  everything in  the current  directory.  Use the arrow
  6018.        keys to select a file to delete, or simply type in the filename at the
  6019.        bottom of the screen.  Press [ENTER] to select the file.
  6020.  
  6021.        TheDraw will  then check for the file.  If it exists, you are prompted
  6022.        to verify before continuing.  This  is  your  last  chance  before you
  6023.        delete something you might regret later.
  6024.  
  6025.  
  6026.  
  6027.                ALT-L: LOAD SCREEN FROM DISK
  6028.  
  6029.        This command  allows you  to load any ANSI text, ANSI Animation, ASCII
  6030.        text, BINARY  dump,  Basic  BSAVE,  TheDraw  Object,  TheDraw  COM, or
  6031.        TheDraw (.TD) format file.
  6032.  
  6033.        You are  prompted to continue if the current screen image has not been
  6034.        saved.  The directory  file selector  next displays  all files  in the
  6035.        current directory for convenience.  The selector cursor may be used to
  6036.        choose a file, or a filename can  be  typed  in  directly.    Move the
  6037.        selector cursor  via the  arrow and  PgUp/PgDn keys.   To see the pick
  6038.        list of last 10 files accessed, press the TAB key.   Press  [ENTER] to
  6039.        load the file.
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046.        TheDraw v4.50         TheDraw Command Functions          90
  6047.  
  6048.  
  6049.  
  6050.  
  6051.  
  6052.        If there  are many  files in the directory, a wildcard filename can be
  6053.        used to display a partial listing  of  those  available.     Wildcards
  6054.        operate  as  found  in  Dos.    Please  refer  to  your Dos manual for
  6055.        additional information.  Wildcards are normally temporary, and are not
  6056.        maintained between  directory invocations.   They can be made "sticky"
  6057.        however by use of the Setup utility.
  6058.  
  6059.        If you type in  the  filename,  a  file  extension  is  assumed unless
  6060.        otherwise specified.   The  assumed value  is ".ANS" unless changed in
  6061.        the setup  options.   The following  file types  require the specified
  6062.        extensions for TheDraw to be able to load them:
  6063.  
  6064.                    Binary Dump      .BIN
  6065.                    Basic BSAVE      .BSV
  6066.                    TheDraw COM File .COM
  6067.                    TheDraw OBJ File .OBJ
  6068.                    TheDraw Format   .TD
  6069.  
  6070.        (Note:   The above filename extensions can be changed in Setup Options
  6071.        menu with TheDraw, or via the Setup Utility Defaults option).
  6072.  
  6073.        A file without one of  the  above  is  assumed  to  be  an  ANSI file.
  6074.        Assembler, Pascal,  and C  format files  cannot be reloaded, except as
  6075.        Ascii text.  You  must  keep  another  copy  of  those  screens safely
  6076.        somewhere in one of the above loadable formats.
  6077.  
  6078.        Binary, BSave,  COM, Object  (OBJ), and  TheDraw format  files are all
  6079.        reloadable and may contain either a full screen or small  block image.
  6080.        Where a  block is  displayed depends upon the file format.  Binary and
  6081.        Object formats load in the upper-left corner.   Formatting information
  6082.        is not  stored with  binary blocks however, so TheDraw will prompt for
  6083.        block width before loading.
  6084.  
  6085.        BSave and COM formats load in the same locations they  were originally
  6086.        saved from.   The TheDraw format is more flexible however, placing you
  6087.        automatically into block copy/move mode to position the block.
  6088.  
  6089.        When loading Ansi or Ascii, only the first screen full is stored.  Any
  6090.        extra lines  below the  first screen are discarded.  Do not be alarmed
  6091.        by Ansi files which might be  hundreds (or  thousands) of  lines long.
  6092.        So  long  as  the  cursor  never  goes below the bottom of the screen,
  6093.        everything will load properly.
  6094.  
  6095.        Ansi  animation  is  automatically  detected  by   TheDraw  using  the
  6096.        following advanced system:  If the cursor suddenly moves to a place it
  6097.        normally could never go, the file must be animated.
  6098.  
  6099.  
  6100.  
  6101.  
  6102.  
  6103.  
  6104.  
  6105.        TheDraw v4.50         TheDraw Command Functions          91
  6106.  
  6107.  
  6108.  
  6109.  
  6110.  
  6111.                   ALT-M: SELECT DRAW MODE
  6112.  
  6113.        TheDraw supports the "drawing" of lines.   This  is easily  done using
  6114.        the arrow  keys while in Draw mode.   The characters used in the lines
  6115.        are those available via  the function  keys from  the current function
  6116.        key set.  Only the first four sets of characters contain lines.   If a
  6117.        function key set without lines  is  selected,  the  first  set (single
  6118.        lines) is  used.   Draw mode  is indicated  by the  word "Draw" at the
  6119.        bottom of the screen.
  6120.  
  6121.        In draw mode, everything  operates without  change.   Typed characters
  6122.        still appear.     The only change is that using the arrow keys makes a
  6123.        line appear in the direction moved.
  6124.  
  6125.  
  6126.  
  6127.  
  6128.                    ALT-N: RULER
  6129.  
  6130.        The Ruler command places a pair of intersecting  lines on  the screen.
  6131.        The point  of intersection  represents the position of the cursor.  It
  6132.        is useful for lining up rows or columns of text or figures.
  6133.  
  6134.        The ruler can be  moved using  all normal  cursor keys  (ie: the arrow
  6135.        keys, Tab,  PgUp, PgDn, Home, End, etc...).  Press [ENTER] to save the
  6136.        new cursor location, or press [ESC]  to return  to the  initial cursor
  6137.        position.
  6138.  
  6139.        The ruler  can held  on the  screen during normal editing by selecting
  6140.        [S]ticky mode.  The  ruler will  appear under  the current  layer.  To
  6141.        turn off the sticky ruler, simply select ALT-N again then press [ESC].
  6142.  
  6143.  
  6144.  
  6145.              ALT-O: CHANGE DRIVE/SUB DIRECTORY
  6146.  
  6147.        This command  allows you  to change  the Dos default directory or path
  6148.        (displayed when loading or  viewing a  file).   All sub-directories of
  6149.        the  current  path  are  displayed  for  you.   A new directory can be
  6150.        selected by using the arrows keys  or typing  in the  pathname.  Press
  6151.        [ENTER] to change to it.  Note that the details of sub-directories are
  6152.        not covered here.  Please refer to your dos manual for that.
  6153.  
  6154.        For example, if you were on  drive C  in a  sub-directory named GAMES,
  6155.        you could  switch to  the subdirectory  UTILITY of drive D by entering
  6156.        "D:\UTILITY".  You could then  get  back  to  the  directory  GAMES by
  6157.        simply entering "C:" (no backslash).
  6158.  
  6159.  
  6160.  
  6161.  
  6162.  
  6163.  
  6164.        TheDraw v4.50         TheDraw Command Functions          92
  6165.  
  6166.  
  6167.  
  6168.  
  6169.  
  6170.                 Alt-P:  PAINT/FILL COMMANDS
  6171.  
  6172.        This command allows enclosed areas to be easily filled with characters
  6173.        and/or attributes.  An enclosed area  is  made  by  using  lines (from
  6174.        function key  sets 1-4) or using the Draw command (see ALT-M).  To use
  6175.        this command, position the cursor inside the area then press ALT-P.
  6176.  
  6177.        The following sub-commands are available:
  6178.  
  6179.      ATTRIBUTE   Changes all  foreground and  background color attributes
  6180.              within the  enclosed area  to those  values shown in the
  6181.              status line.
  6182.  
  6183.      FORE        Changes only the foreground color attributes  within the
  6184.              enclosed area to the current foreground value.
  6185.  
  6186.      BACK        Changes only  the background color attributes within the
  6187.              enclosed area to the current background value.
  6188.  
  6189.      CHARACTER   Prompts for a keyboard character or special function set
  6190.              symbol (see ALT-F command).  Solid spaces can be used by
  6191.              pressing Shift-Space.  All enclosed characters  are then
  6192.              overwritten  using  whatever  was  specified.   No color
  6193.              attributes are changed, just actual character symbols.
  6194.  
  6195.      BOTH        Combines  both  the   Attribute   and   Character  paint
  6196.              operations  above.    A  character is prompted for, then
  6197.              everything  in  the  area  is  overwritten   using  that
  6198.              character  with  the  current  color attributes from the
  6199.              status line.
  6200.  
  6201.        In animation mode, the Character and Both options  add new  entries to
  6202.        the  animation  sequence;  nothing  is deleted.  The Attribute command
  6203.        however only changes the color attributes of characters already in the
  6204.        animation sequence.  No new entries are added.
  6205.  
  6206.  
  6207.  
  6208.                    ALT-Q: REDRAW SCREEN
  6209.             (available in animation mode only)
  6210.  
  6211.        This command  redraws the animation sequence on the screen.  With this
  6212.        you can see how your work is developing.     You are  prompted for the
  6213.        display speed  to redraw at.  Available speeds are from 0 (fastest) to
  6214.        255 (crawl).  A value of about 40  is generally  a good  speed to view
  6215.        at.  Be warned that 255 literally is a crawl speed, displaying between
  6216.        two and four characters per second  (standard PC/XT).   A  slow redraw
  6217.        can be broken out of by pressing any key.
  6218.  
  6219.  
  6220.  
  6221.  
  6222.  
  6223.        TheDraw v4.50         TheDraw Command Functions          93
  6224.  
  6225.  
  6226.  
  6227.  
  6228.                 ALT-R: RESTORE/UNDO CHANGES
  6229.  
  6230.        Restores from  unwanted or  unintended screen  changes.  This function
  6231.        can undo block or global  changes,  clear  or  load  screens,  line or
  6232.        column insert or deletes, animation mode toggles, font entry, mistakes
  6233.        made to the current line, etc...
  6234.  
  6235.        In regards to current line changes,  such modifications  are permanent
  6236.        once you move to a new line.
  6237.  
  6238.  
  6239.  
  6240.                 ALT-S: SAVE SCREEN TO DISK
  6241.  
  6242.        The  Save  Screen  command  offers  many formats for saving the entire
  6243.        current screen.    The  available  formats  are:    Ansi,  Ascii, Asm,
  6244.        Binary, BSave,  Com, C, Pascal, Object, and TheDraw.  Please note that
  6245.        all color attributes are  lost in  an Ascii  file.   All other formats
  6246.        store the complete screen with color (unless specified otherwise).
  6247.  
  6248.        The entire  screen is  saved when  using this  command.  If you do not
  6249.        require the full video, use a block save  (see ALT-B).   These  can be
  6250.        more effective at times.
  6251.  
  6252.        You are  first prompted for which storage format to use.  In animation
  6253.        mode, only ANSI and THEDRAW formats are available.   The  items on the
  6254.        menu are discussed below.
  6255.  
  6256.  
  6257.        ANSI - Ansi text file
  6258.  
  6259.       You are first asked what initial screen preparation you want before
  6260.       the image is displayed.  Options are:
  6261.  
  6262.         CLEAR - Clears the screen
  6263.         HOME  - Move cursor to upper-left corner of screen
  6264.         NONE  - Leave screen and cursor position as is.
  6265.  
  6266.       The next prompt is for the maximum length of each line in the saved
  6267.       file.   TheDraw is  capable of  producing over  1300 characters per
  6268.       screen line (if every character had a differing color combination).
  6269.       Some  applications  and  programs  (ie:  other text editors) cannot
  6270.       handle so many characters per line.  This option limits  the output
  6271.       line length sacrificing time to display the image.  If length is no
  6272.       problem, specify [N]one for the most efficient file.
  6273.  
  6274.       Lastly, you are prompted for the Ansi display speed (a  number from
  6275.       0 to  50).   The operation  is similar to the ALT-Q animator redraw
  6276.       screen function.  Things are slowed down by  adding redundant codes
  6277.       after displayed  characters.   A value of 50 is approximately equal
  6278.       to an ALT-Q speed  of 255  (extremely slow).   Experimentation will
  6279.       find the most appropriate speed for your needs.
  6280.  
  6281.  
  6282.        TheDraw v4.50         TheDraw Command Functions          94
  6283.  
  6284.  
  6285.  
  6286.  
  6287.        ASCII - Ascii Text (no colors)
  6288.  
  6289.       If you  select ASCII,  you are  prompted if  you really want a non-
  6290.       color image  made before  continuing.   The Ascii  file produced is
  6291.       similar to  any file  produced by  a normal  text editor (ie: Turbo
  6292.       Pascal or Sidekick editor).
  6293.  
  6294.       There is one difference  in the  approach used  by TheDraw however.
  6295.       Lines of  Ascii that  are the  full 80  character screen width, are
  6296.       normally NOT  terminated with  a carriage  return sequence (CR/LF).
  6297.       Such Ascii  files viewed  via the Dos TYPE command display properly
  6298.       but do not load correctly into most other software.   Therefore, an
  6299.       option to  force CR/LF  was added  to the Setup Options menu within
  6300.       TheDraw, and the Setup Utility Defaults area.   Set this  toggle if
  6301.       you are having difficulties.
  6302.  
  6303.  
  6304.        ASM - Assembly Language
  6305.  
  6306.       ASM  produces  a  list  of  DB  data statements for use by assembly
  6307.       language  programmers.    Additional  suboptions  are  available to
  6308.       specify  the  assembler  data  format.   You can specify to Crunch,
  6309.       output only Ascii characters, or generate a normal file.  Crunching
  6310.       uses a  custom technique  for compressing color changes and strings
  6311.       of identical  characters to  make the  smallest possible  file.  To
  6312.       display  a  crunched  file  you  must  use  the  uncruncher routine
  6313.       included separately with TheDraw  (UNCRUNCH.ASM).    This  file has
  6314.       comments  explaining  its  use.    It  is compatible with Microsoft
  6315.       (MASM) and  Borland (TASM)  assemblers.   Simple formatting changes
  6316.       may be required for other vendors assemblers.
  6317.  
  6318.       The  Ascii  format  saves  all  characters on the screen.  No color
  6319.       attribute information is stored  however.   The Normal  format is a
  6320.       pure  binary   dump  of  the  screen,  converted  to  an  assembler
  6321.       compatible format.
  6322.  
  6323.       You are also prompted for a reference identifier to use.  This will
  6324.       be the  name used  to access  the data  within a  program.  TheDraw
  6325.       takes this and generates statements to  simplify programming.   For
  6326.       instance, assume a standard full screen with the default IMAGEDATA:
  6327.  
  6328.         IMAGEDATA_WIDTH EQU 80
  6329.         IMAGEDATA_DEPTH EQU 25
  6330.         IMAGEDATA_LENGTH EQU 4000
  6331.         IMAGEDATA LABEL BYTE
  6332.              ... data for screen image follows here ...
  6333.  
  6334.       The width  and depth  statements reflect the character dimension of
  6335.       the image saved.  Saving a block changes them appropriately.   This
  6336.       facilitates easier program development.  Instead of directly coding
  6337.       block sizes refer to the above  identifiers.   Thus eliminating the
  6338.       need to remember arbitrary block sizes.
  6339.  
  6340.  
  6341.        TheDraw v4.50         TheDraw Command Functions          95
  6342.  
  6343.  
  6344.  
  6345.  
  6346.  
  6347.        BINARY - Binary Screen Dump
  6348.  
  6349.       Produces a  straight data byte dump of the video screen.  This data
  6350.       format is generic.  It is useful for  many things,  such as loading
  6351.       screen  images  directly  to  video  ram, etc...  This will be 4000
  6352.       bytes for a standard 80x25 screen, larger for EGA/VGA displays.
  6353.  
  6354.  
  6355.        BSAVE - Basic BSave Screen Dump
  6356.  
  6357.       This file is identical to  a  binary  screen  dump,  except loading
  6358.       codes for Basic are placed at the front.  These files can be loaded
  6359.       from basic with:
  6360.  
  6361.               DEF SEG = &HB800 : BLOAD"filespec.BSV"
  6362.  
  6363.       If you have a monochrome monitor, replace the B800 with B000 in the
  6364.       above line.  BSAVE files are always saved to the full screen width.
  6365.       Block saves are limited by this restriction also.
  6366.  
  6367.  
  6368.        COM - Dos Executable COM Files.
  6369.  
  6370.       Produces a truly separate program executable from Dos by typing the
  6371.       program name.   COM  files are  useful in  batch files and the like
  6372.       for -fast- displaying.  COM file screen blocks  (via ALT-B) display
  6373.       only  the   block  without  changing  anything  else.    You  could
  6374.       conceivably generate a "layering" windows effect if you so desired.
  6375.       TheDraw  has   three  different   styles  of  COM  file,  and  will
  6376.       transparently select the most appropriate to minimize file size.
  6377.  
  6378.  
  6379.        PASCAL - Turbo Pascal Compatible Screen Dump
  6380.  
  6381.       This operates the same  as the  ASM option  described above, except
  6382.       the output  is in  a Turbo  Pascal compatible CONST structure.  See
  6383.       Appendix B for the section entitled "Programmers Programming Tips".
  6384.       To use the Crunched file format, use the file UNCRUNCH.PAS.
  6385.  
  6386.  
  6387.        C - Modern C Formatted Compatible Screen Dump (Turbo C)
  6388.  
  6389.       Again, this operates the same as the ASM option.  The format is for
  6390.       the new  "modern C" string continuation structure.  The data may be
  6391.       uncrunched  using  routines  in  the  two  files  UNCRUN_N.OBJ  and
  6392.       UNCRUN_F.OBJ  (for  near  and  far  code models respectfully).  The
  6393.       header file UNCRUNCH.H contains instructions on their proper usage.
  6394.  
  6395.       We are aware only of TurboC able to handle this  structure.  People
  6396.       using other compilers should use the Object file format below.
  6397.  
  6398.  
  6399.  
  6400.        TheDraw v4.50         TheDraw Command Functions          96
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.        OBJECT - Intel Compatible Object Code File
  6407.  
  6408.       This  is   a  format  compatible  with  many  high  level  language
  6409.       compilers.  Object files  can be  produced with  screen information
  6410.       crunched, ascii  only, or  binary normal  (as in ASM format).  Four
  6411.       code/data models are supported:
  6412.  
  6413.                  Turbo Pascal v4.0 (and above)
  6414.                  QuickBasic v4.0 (and above)
  6415.                  Small Data
  6416.                  Large Data
  6417.  
  6418.       The TP40 format is compatible with Turbo Pascal  v4.0 through v6.0.
  6419.       Data  saved  to  these  files  is  referenced by external procedure
  6420.       calls and pointers.  Refer to the topics "TURBO PASCAL v4.0 through
  6421.       v5.5"   and   "TURBO   PASCAL   VERSION  6.0"  in  the  Programmers
  6422.       Programming Tips section for examples.
  6423.  
  6424.       The QB40 format is for use  with QuickBasic  v4.0 and  higher.  The
  6425.       image data  saved to these files are referenced by provided display
  6426.       routines.  The  object  files  are  linkable  (if  you  use  the BC
  6427.       compiler),  or  can  be  incorporated  into a Quick Library for use
  6428.       within the  QuickBasic environment.   When  linking separately, you
  6429.       must include  the file QBUTIL.LIB in addition to any TheDraw object
  6430.       files.  To simplify  matters,  you  can  merge  the  QBUTIL.LIB and
  6431.       object files into one library.
  6432.  
  6433.       A batch  file MAKEQLB.BAT  is provided  to simplify  the process of
  6434.       creating Quick Library and the separate library files.  To use, the
  6435.       first parameter  should be the name of the quick library to create.
  6436.       The following parameters are TheDraw object files plus other object
  6437.       (.OBJ) and library (.LIB) files you want included.  ie:
  6438.  
  6439.                MAKEQLB testlib IMAGE1.OBJ IMAGE2.OBJ
  6440.  
  6441.       This creates  the files named TESTLIB.LIB and TESTLIB.QLB.  Note no
  6442.       file extension was  specified  on  the  "testlib"  parameter above,
  6443.       since the  batch file  adds ".LIB"  and ".QLB"  automatically.  The
  6444.       Quick Library contains the display routines (from QBUTIL.LIB, which
  6445.       is  always  added  by  the  batch  file), plus the screen images in
  6446.       IMAGE1.OBJ and IMAGE2.OBJ.   See  the  topic  "MICROSOFT QUICKBASIC
  6447.       v4.0  AND  v4.5"  in  the  Programmers Programming Tips section for
  6448.       examples on usage.
  6449.  
  6450.  
  6451.  
  6452.  
  6453.  
  6454.  
  6455.  
  6456.  
  6457.  
  6458.  
  6459.        TheDraw v4.50         TheDraw Command Functions          97
  6460.  
  6461.  
  6462.  
  6463.  
  6464.       OBJECT FILE DATA FORMATS:
  6465.  
  6466.       The data formats use the following identifiers:
  6467.  
  6468.                  Small Data        Large Data
  6469.                  ──────────      ───────────────
  6470.              Segment:      _DATA      filename_DATA
  6471.              Group:        DGROUP         filename_DATA
  6472.  
  6473.       Where "filename" is the actual filename given the object file.
  6474.  
  6475.       The last prompt  under  object  files  is  for  the  data reference
  6476.       identifier.    This  is  the  name  you will use in your program to
  6477.       access the object data.   It  defaults to  IMAGEDATA (for  TP40 and
  6478.       QuickBasic) or _IMAGEDATA (Small or Large Data).  The underscore is
  6479.       usually  required  for  small  or  large   data  formats,   but  is
  6480.       application and compiler dependent.
  6481.  
  6482.       The above  identifier is  used to directly reference the image data
  6483.       stored.    In   addition,   TheDraw   generates   three  additional
  6484.       identifiers similar to the ASM case:
  6485.  
  6486.                  identifier_WIDTH
  6487.                  identifier_DEPTH
  6488.                  identifier_LENGTH
  6489.  
  6490.       For QuickBasic  users the following identifiers are used, called as
  6491.       subroutine functions to obtain the wanted value:
  6492.  
  6493.                  identifierWIDTH
  6494.                  identifierDEPTH
  6495.                  identifierLENGTH
  6496.  
  6497.       In all cases, these contain the  dimensions of  the block specified
  6498.       (width and depth).  The last identifier specifies how long the data
  6499.       block is.  The  width/depth values  are useful  for drawing windows
  6500.       and other  related functions.   The  length parameter is useful for
  6501.       displaying crunched images.
  6502.  
  6503.  
  6504.        THEDRAW - TheDraw Setup Save
  6505.  
  6506.       This format saves everything  about  the  current  configuration of
  6507.       TheDraw.   In normal edit mode, all occupied page layers are saved.
  6508.       In animation mode, the complete animation sequence is  stored.  All
  6509.       other  parameters  are  saved  also  (ie: current colors, tab line,
  6510.       cursor position, current page layer, etc...).
  6511.  
  6512.       The TheDraw format file also has the benefit  of being  the fastest
  6513.       way to  load and retrieve screen images; eight page layers or 16000
  6514.       animation entries take only seconds to load.
  6515.  
  6516.  
  6517.  
  6518.        TheDraw v4.50         TheDraw Command Functions          98
  6519.  
  6520.  
  6521.  
  6522.  
  6523.  
  6524.        Following the above prompts, TheDraw prompts for a  filename.   If the
  6525.        file already  exists, you  are prompted to verify the save.  If you do
  6526.        not specify a filename extension, TheDraw assumes the following:
  6527.  
  6528.               .ANS     ANSI compatible files
  6529.               .ASC     ASCII text files
  6530.               .ASM     Assembler files
  6531.               .BIN     Binary dumps
  6532.               .BSV     Bsave files
  6533.               .COM     files
  6534.               .PAS     Pascal files
  6535.               .H       C files
  6536.               .OBJ     Object files
  6537.               .TD      TheDraw format files.
  6538.  
  6539.        A file without an extension can  be specified  by placing  a period as
  6540.        the last character of the filename (ie: TESTFILE. ).  After entry of a
  6541.        valid filename, the screen is saved to disk.
  6542.  
  6543.        For information and suggestions on using  the screen  files created by
  6544.        TheDraw see Appendix B (Programmers Programming Tips).
  6545.  
  6546.  
  6547.  
  6548.                  ALT-T: TAB SETUP
  6549.  
  6550.        This command allows you to set tabs in the editor (positions where the
  6551.        [TAB] key stops).  Initially the positions are at every  tenth column.
  6552.        Available sub-commands are:
  6553.  
  6554.       SET       - Set a  new tab position.  Move the cursor to the wanted
  6555.               position then press 'S'.
  6556.       CLEAR     - Clears tab at current cursor position
  6557.       RESET     - Resets tab line to initial settings (every ten spaces).
  6558.       ERASE     - Delete all current tab setting for a clean slate.
  6559.       INCREMENT - Prompts for a  step  size.    From  the  current cursor
  6560.               position, every  nth location is then set.  This allows
  6561.               you to  quickly specify,  say every  fourth position if
  6562.               your need requires it.
  6563.  
  6564.        Press [ESC] to leave the tab set command.
  6565.  
  6566.  
  6567.  
  6568.               ALT-U: USE COLORS UNDER CURSOR
  6569.  
  6570.        Changes current  edit colors  (seen on status line) to those currently
  6571.        under the cursor.   This provides  a fast  method to  change to colors
  6572.        already displayed on the screen.
  6573.  
  6574.  
  6575.  
  6576.  
  6577.        TheDraw v4.50         TheDraw Command Functions          99
  6578.  
  6579.  
  6580.  
  6581.  
  6582.  
  6583.                    ALT-V: VIEW A SCREEN
  6584.  
  6585.        This command allows you to look at an image saved on disk.  Nothing is
  6586.        altered by this command.  This might be  used in  conjunction with the
  6587.        block load/import function (see ALT-B).
  6588.  
  6589.        Viewing a  screen is  similar to loading (see ALT-L) except the loaded
  6590.        image is not remembered.  Once the image is fully  displayed, a window
  6591.        appears  with  instructions.      Press  [ENTER]  to  exit  view mode.
  6592.        Pressing any other key  will make  the window  disappear to facilitate
  6593.        viewing.   After about  30 seconds  the window reappears to remind you
  6594.        about view mode (in case you leave the computer unattended).
  6595.  
  6596.  
  6597.  
  6598.                    ALT-W: EDIT CHARACTER
  6599.             (available in animation mode only)
  6600.  
  6601.        Allows the editing of a mistyped animation entry.  This command exists
  6602.        because simply  overwriting an incorrect character does not delete it.
  6603.        In  animation  mode,  both  entries  are  remembered  -  the incorrect
  6604.        character,  plus  the  wanted  one.    Upon redisplaying the animation
  6605.        sequence (see ALT-Q), both  characters would  be seen  (the former for
  6606.        only a millisecond perhaps, but it would appear).
  6607.  
  6608.        Another way  is using ALT-Z to delete the incorrect entry.  The wanted
  6609.        character could then be typed in.  This works perfectly well, and some
  6610.        people may  prefer it;  however, to  quickly change  an entry ALT-W is
  6611.        more convenient.
  6612.  
  6613.        After pressing Alt-W you are prompted to type the new  character.  The
  6614.        current  position  will  flicker.    All  color  changing commands are
  6615.        available (ALT-A and the Ctrl-Arrow keys) while editing.
  6616.  
  6617.  
  6618.  
  6619.  
  6620.                 ALT-X: EXIT THEDRAW
  6621.  
  6622.        Prompts if you wish  to  exit  TheDraw  or  execute  a  shell  to DOS.
  6623.        Responding Yes exits the program.  No cancels the command.
  6624.  
  6625.        Shell  also  exits  to  Dos,  however  TheDraw remains in memory.  All
  6626.        screen page layers and  animation entries  are retained.   To  free up
  6627.        memory for the Dos Shell, TheDraw will try temporarily saving its data
  6628.        to expanded memory/EMS  or  a  disk  swap  file  (if  insufficient EMS
  6629.        exists).    Typing  the  command  "EXIT" at the Dos prompt will return
  6630.        control to TheDraw.
  6631.  
  6632.  
  6633.  
  6634.  
  6635.  
  6636.        TheDraw v4.50         TheDraw Command Functions         100
  6637.  
  6638.  
  6639.  
  6640.  
  6641.  
  6642.                 ALT-Y: DELETE CURRENT LINE
  6643.  
  6644.        Deletes the current horizontal line on  the screen.   All  lines below
  6645.        are shifted  up one  line position.   The bottom line is cleared using
  6646.        spaces and the default background color.   This  command is reversible
  6647.        using the Restore/Undo command (ALT-R).
  6648.  
  6649.  
  6650.  
  6651.                ALT-Z: ERASE CURSOR CHARACTER
  6652.             (available in animation mode only)
  6653.  
  6654.        Erases  the  top-most  character  from  the  animation sequence at the
  6655.        current cursor position.  Only the last character typed at  the cursor
  6656.        position is deleted, everything typed before is unchanged.
  6657.  
  6658.        This  differs  from  the  Backspace  key which deletes everything at a
  6659.        cursor position.
  6660.  
  6661.  
  6662.  
  6663.              ALT-[LEFT]: DELETE CURRENT COLUMN
  6664.  
  6665.        Deletes the current column on the screen.  Everything to  the right of
  6666.        the current  column is shift over one position.  The right-most column
  6667.        is cleared using  spaces  and  the  default  background  color.   This
  6668.        command is  equivalent to  using Block Delete (ALT-B,D) on the current
  6669.        column.  The action is reversible using Restore/Undo (ALT-R).
  6670.  
  6671.  
  6672.  
  6673.                ALT-[RIGHT]: INSERT A COLUMN
  6674.  
  6675.        Inserts a blank vertical column at  the current  position.   The blank
  6676.        column is  filled using  spaces and the default background color.  The
  6677.        current column and all those to  its  right  are  shifted  over.   The
  6678.        right-most  column  is  lost.    The  action  is  reversible using the
  6679.        Restore/Undo command (ALT-R).
  6680.  
  6681.  
  6682.  
  6683.                ALT-- TOGGLE COLOR DRAW MODE
  6684.  
  6685.        Toggles color attribute drawing.   In  this  mode,  moving  the cursor
  6686.        updates the  new character  position to the current edit colors.  This
  6687.        permits easy manual color painting of  a  given  area.    In animation
  6688.        mode, only  those locations  with characters in the animation sequence
  6689.        will be altered.  Unused locations will not be affected.
  6690.  
  6691.        Operation of TheDraw is not changed by this  mode.   Moving the cursor
  6692.        will simply change colors.
  6693.  
  6694.  
  6695.        TheDraw v4.50         TheDraw Command Functions         101
  6696.  
  6697.  
  6698.  
  6699.  
  6700.  
  6701.                ALT-= TOGGLE MACRO LEARN MODE
  6702.                  (registered version only)
  6703.  
  6704.        Activates the  macro learning  mode of TheDrawR.  You are prompted for
  6705.        which macro key to program (0-9).  After specifying the macro, TheDraw
  6706.        remembers everything  you type.   This  is somewhat  akin to animation
  6707.        mode; however, macro learn mode literally  remembers everything.   All
  6708.        editing commands  performed, any  characters typed,  etc...  Up to 512
  6709.        characters will be recorded.
  6710.  
  6711.        Once satisfied with the macro, type ALT-= again  to save  it.   To use
  6712.        the macro,  press ALT  followed by  the proper  number key 0 through 9
  6713.        (do not use the numbers on the keypad).
  6714.  
  6715.        While programming a macro,  selecting  another  macro  chains  the two
  6716.        together.    Chaining  a macro  in this  fashion permits you to create
  6717.        longer macros than available otherwise.   When you  specify the second
  6718.        macro, the one being programmed is saved and learn mode is turned off.
  6719.  
  6720.        To program  the second macro (and continue the sequence), select Alt-=
  6721.        from command mode again.
  6722.  
  6723.        You can create an "endless" macro quite easily.   Simply  have a macro
  6724.        call itself.  For instance, if programming macro 0, type ALT-0.  ie:
  6725.  
  6726.         ALT-= 0 [Enter]     Start programming macro 0.
  6727.         <macro contents>
  6728.         Alt-0
  6729.  
  6730.        TheDraw would repeat the macro contents until ESC was pressed.
  6731.  
  6732.  
  6733.  
  6734.  
  6735.               ALTERNATE COLOR CHANGE OPTIONS
  6736.  
  6737.        For the  experienced user,  TheDraw provides  a more convenient way of
  6738.        adjusting the current status line colors.
  6739.  
  6740.        Pressing Ctrl-Up increments the current foreground color number (found
  6741.        in ALT-A)  and Ctrl-Down decrements it.  These two key combinations do
  6742.        not always work reliably on all  computers (a  Bios flaw  exists).  To
  6743.        get  around  this,  TheDraw  incorporates a special keyboard driver to
  6744.        handle these two keys.  If they do  not work  on your  machine run the
  6745.        SETUP  utility  and  use  "Keyboard Customize" to configure TheDraw to
  6746.        your keyboard.
  6747.  
  6748.        Pressing Ctrl-Right increments the  current  background  color number;
  6749.        Ctrl-Left decrements it.
  6750.  
  6751.  
  6752.  
  6753.  
  6754.        TheDraw v4.50         TheDraw Command Functions         102
  6755.  
  6756.  
  6757.  
  6758.  
  6759.  
  6760.             SHIFT-SPACE: SOLID SPACE CHARACTER
  6761.  
  6762.        As stated elsewhere in this documentation (see ALT-E), the sprite mode
  6763.        of TheDraw makes lower  page layers  appear through  "black spaces" on
  6764.        the  current  page  layer.    This  can  sometimes  be  convenient and
  6765.        sometimes not.  There are instances  when  you  want  to  have  a non-
  6766.        transparent black space on the screen.
  6767.  
  6768.        The Solid  Space performs this function (non-transparent black space).
  6769.        Moving the cursor onto a solid space will  cause the  background color
  6770.        to flicker  as an  indicator.   A Solid  space is  nothing more than a
  6771.        character #255 (which is a blank IBM extended character).
  6772.  
  6773.  
  6774.  
  6775.  
  6776.             CTRL-PRTSC: FULL SCREEN MODE TOGGLE
  6777.  
  6778.        This command toggles screen usage in  TheDraw between  normal and full
  6779.        screen.   In full-screen  mode the  status line  disappears so you can
  6780.        fully use the screen.    Also,  TheDraw  makes  heavy  use  of  pop up
  6781.        windows for  prompts and  messages.   While useful,  it can be awkward
  6782.        since YOU must remember  where you  are at  all times.   For instance,
  6783.        block marking and etc...  It is easy to become confused unless you are
  6784.        careful.  If all else fails, hit ESC a few times to  abort the current
  6785.        command.   Some people  may prefer  this mode  which is fine.  Nothing
  6786.        forces you to use either way.
  6787.  
  6788.        TheDraw will automatically scroll  the video  as necessary,  even with
  6789.        the status  line on.   Full  screen mode  is generally  used to take a
  6790.        complete look at your work.
  6791.  
  6792.        Ctrl-PrtSc only operates from command mode.  It is not available under
  6793.        any  sub  commands  (such  as  Block,  Global,  etc...).  There are no
  6794.        restrictions on full screen use in animation modes.
  6795.  
  6796.  
  6797.  
  6798.  
  6799.  
  6800.  
  6801.  
  6802.  
  6803.  
  6804.  
  6805.  
  6806.  
  6807.  
  6808.  
  6809.  
  6810.  
  6811.  
  6812.  
  6813.        TheDraw v4.50         TheDraw Command Functions         103
  6814.  
  6815.  
  6816.  
  6817.  
  6818.  
  6819.                   THE FONT EDITOR
  6820.  
  6821.  
  6822.        TheDraw has complete support for Ascii class fonts.   These  fonts are
  6823.        letters and symbols drawn using the IBM extended character set.  ie:
  6824.  
  6825.                  ┌────┐   ┌─────┐    ▄▄▄▄
  6826.                  │    │   │ ┌─┐ │   █▀  ▀█
  6827.                  ├────┤   │ └─┘ │   █▄▄▄▄█   etc...
  6828.                  │    │   │ ┌─┐ │   █▀▀▀▀█
  6829.                       └─┘ └─┘   ▀    ▀
  6830.  
  6831.        TDFonts is  the management  utility for  adding and  updating the font
  6832.        database.  The utility was designed to be straightforward to learn.
  6833.  
  6834.        There are two types of fonts supported by  TDFonts and  TheDraw: Block
  6835.        and Outline  formatted.   Block fonts are very simple and nothing more
  6836.        than recorded shapes you  enter.   Outline fonts  are special  in that
  6837.        they  can  appear  using  one  of  17 different styles (see "The FONTS
  6838.        Menu").  Included with TheDraw, the  fonts "Outline"  and "BigOutline"
  6839.        are examples of this type.  Some possible types are:
  6840.  
  6841.               ┌─────┐     ┌─────╖    █▀▀▀▀▀█
  6842.               │     │     │     ║    █     █
  6843.               │     │     │     ║    █     █
  6844.               └─────┘     ╘═════╝    ▀▀▀▀▀▀▀
  6845.  
  6846.        The choice of formatting types is made when creating a font.  The Font
  6847.        Editor (described later) is used to prepare and update the symbols.
  6848.  
  6849.  
  6850.        RUNNING TDFONTS:
  6851.  
  6852.        To start TDFonts, type from the dos prompt:
  6853.  
  6854.       TDFONTS
  6855.  
  6856.        Press [ENTER] to run the program.   By  default the  program looks for
  6857.        the database file TDFONTS.TDF in the current directory.  To edit other
  6858.        files, list the filename as show:
  6859.  
  6860.       TDFONTS MYFONTS.TDF      (loads MYFONTS.TDF instead of default)
  6861.  
  6862.        Keep in mind only TDFONTS.TDF is actually used by TheDraw.
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.  
  6872.        TheDraw v4.50          The Font Editor              104
  6873.  
  6874.  
  6875.  
  6876.  
  6877.  
  6878.        The database is loaded and the font names listed on the screen.  ie:
  6879.  
  6880.       A: Outline
  6881.       B: BigOutline
  6882.       C: Raster
  6883.       D: Rounded
  6884.  
  6885.        Naturally the actual list will vary depending on how the data file has
  6886.        been manipulated.   Along  the bottom  of the  screen are all the edit
  6887.        commands.    These  are  for  viewing,  changing,  adding  new  fonts,
  6888.        importing and exporting fonts, etc...
  6889.  
  6890.  
  6891.        VIEWING FONTS:
  6892.  
  6893.        This command  is for  seeing exactly  how a  given font symbol appears
  6894.        when used in TheDraw.  Any special formatting information is hidden.
  6895.  
  6896.        Select [V]iew from the main menu.  You then must  designate which font
  6897.        should be  displayed.   Use either the up/down arrows keys or type the
  6898.        letter associated with the wanted font.  Press [ENTER] to  continue to
  6899.        continue or [ESC] to return to the main menu.
  6900.  
  6901.        Pressing [ENTER] brings up the font symbol selector bar.  ie:
  6902.  
  6903.           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
  6904.           PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  6905.  
  6906.        The  first  character  "!"  is highlighted, and the corresponding font
  6907.        symbol appears below the  selector bar.   You  view symbols  using the
  6908.        arrow keys to choose.  For undefined symbols, the following message is
  6909.        displayed:
  6910.                 Symbol not defined
  6911.  
  6912.        When done, press [ESC] to return to the main menu.
  6913.  
  6914.  
  6915.  
  6916.        CHANGING A FONT:
  6917.  
  6918.        The change command is the used for modifying  or adding  symbols to an
  6919.        existing font.  To create a font, use the [N]ew command.
  6920.  
  6921.        Select [C]hange  from the  main menu.   You  then must designate which
  6922.        font should be worked on.  Use either the up/down arrows keys  or type
  6923.        the letter associated with the wanted font.  Press [ENTER] to continue
  6924.        to continue or [ESC] to return to the main menu.
  6925.  
  6926.  
  6927.  
  6928.  
  6929.  
  6930.  
  6931.        TheDraw v4.50          The Font Editor              105
  6932.  
  6933.  
  6934.  
  6935.  
  6936.  
  6937.        Once a font has been selected,  a screen  similar to  the View command
  6938.        appears.  Additional options are available however:
  6939.  
  6940.       [DEL]       Delete current symbol
  6941.       [INS]       Copying current symbol
  6942.       [ENTER]     Edit or Add symbol
  6943.  
  6944.        These three  commands in  combination with  the font editor (described
  6945.        below) give good flexibility in maintaining the symbol database.
  6946.  
  6947.  
  6948.        DELETE SYMBOL:
  6949.  
  6950.       Removes the database definition for the specified symbol.   You are
  6951.       asked to  verify this  command before  continuing.  Once deleted, a
  6952.       font symbol cannot be restored.
  6953.  
  6954.  
  6955.        COPY SYMBOL:
  6956.  
  6957.       Copies current symbol over  to another  undefined symbol.   You are
  6958.       asked  to  specify  what  the  target  symbol is.  Note: The target
  6959.       symbol cannot be defined.  The prevents overwriting  definitions by
  6960.       accident.    This  option  is  of particular use in duplicating the
  6961.       letters symbols (ie:  "A" to "a", "B" to "b", etc...), assuming you
  6962.       intend uppercase  and lowercase  to appear  the same.  This command
  6963.       permits quickly filling out all the definitions.
  6964.  
  6965.  
  6966.        MODIFY SYMBOL:
  6967.  
  6968.       Transfers the symbol definition  to  the  font  editor.    The font
  6969.       editor is  similar to TheDraw in many respects, supporting a useful
  6970.       subset of functions.  Some  familiarity  with  TheDraw  is assumed.
  6971.       Available editor commands are:
  6972.  
  6973.            [ALT-C]    Clear Screen
  6974.            [ALT-F]    Function key symbol table
  6975.            [ALT-H]    Help Screen
  6976.            [ALT-I]    Insert a blank line
  6977.            [ALT-M]    Toggle line drawing mode
  6978.            [ALT-X]    Leave font editor, saving changes.
  6979.            [ALT-Y]    Delete current line
  6980.              [INS]    Toggle insert mode
  6981.              [DEL]    Delete character under cursor.
  6982.              [ESC]    Leave font editor, discarding changes.
  6983.          [SHIFT-SPACE]    Enter a solid space (a "≈" symbol)
  6984.  
  6985.       All function  key sets  are identical  to TheDraw  and are selected
  6986.       using the same keystrokes: [ALT-F1/F10] and [CTRL-F1/F5]
  6987.  
  6988.  
  6989.  
  6990.        TheDraw v4.50          The Font Editor              106
  6991.  
  6992.  
  6993.  
  6994.  
  6995.  
  6996.       EDIT MODES:
  6997.  
  6998.       There are two  main  differences  between  editing  in  TheDraw and
  6999.       TDFonts.    These  refer  to  the  special  edit modes and reserved
  7000.       characters.  The edit modes  are  for  the  two  font  format types
  7001.       (Outline and Block).
  7002.  
  7003.       Outline  formatted  fonts  place  restrictions  on  the  characters
  7004.       composing each symbol.  You can only use  the line  drawing symbols
  7005.       from function  key sets 1 to 4.  In addition, specific symbols must
  7006.       used in specific places for the variable outlines to work properly.
  7007.       Consider the following:
  7008.  
  7009.               ╒══════╗
  7010.               │ ╓──┐ ║        ╒═╗     Horizontal Beam
  7011.               │ ║  │ ║        │ ║        ╒══════╗
  7012.               │ ║  │ ║        │ ║        └──────╜
  7013.               │ ╚══╛ ║        │ ║
  7014.               └───┐ ╓╜        └─╜ < Vertical Column
  7015.               └─╜
  7016.  
  7017.       All outline  symbols are  made from vertical columns and horizontal
  7018.       beams.  The "Q" above is a classic example.  The double lines which
  7019.       give the  3D effect  tell TDFonts about the left/right column sides
  7020.       and top/bottom of beams.  The rules of usage are:
  7021.  
  7022.          Double lines are always the rightmost side of a column.
  7023.          Double lines are always the topmost side of a beam.
  7024.  
  7025.       You must  follow  this  guideline  exactly  in  order  to  create a
  7026.       functional  outline  formatted  font.    Not  doing so will produce
  7027.       undesired side effects when changing the outlines in TheDraw.
  7028.  
  7029.  
  7030.       RESERVED CHARACTERS:
  7031.  
  7032.       The  reserved  characters  are  for  solid  spaces  and  specifying
  7033.       descender  lines.    Typically  solid  spaces  are used to fill the
  7034.       inside of columns and beams.  These are drawn with  "≈" characters.
  7035.       ie:
  7036.  
  7037.                   ╒════════╗  ╒════════╗
  7038.                   │≈≈≈≈≈≈≈≈║  │≈≈≈≈≈≈≈≈║      Note that solid
  7039.                   │≈≈╓──┐≈≈║  │≈≈╔══╕≈≈║      spaces are always
  7040.                   │≈≈║  │≈≈║  │≈≈║  │≈≈║      visible in TDFonts
  7041.                   │≈≈╚══╛≈≈║  │≈≈║  │≈≈║      verses TheDraw).
  7042.                   │≈≈≈≈≈≈≈≈║  │≈≈╙──┘≈≈║
  7043.                   │≈≈╓──┐≈≈║  │≈≈≈≈≈≈≈≈║
  7044.                   └──╜  └──╜  └────┐≈≈╓╜
  7045.                            └──╜&
  7046.  
  7047.  
  7048.  
  7049.        TheDraw v4.50          The Font Editor              107
  7050.  
  7051.  
  7052.  
  7053.  
  7054.  
  7055.       Descenders  also  require  a  special "&" marker.  TheDraw arranges
  7056.       font symbols based on their bottom line.  Note how the "A"  and "Q"
  7057.       were drawn  above.   Lines marked  with ampersands  are not counted
  7058.       when TheDraw aligns the symbols.   Font  symbols  typically needing
  7059.       the descender marks are:
  7060.  
  7061.                 $ , ; _ Q g j p q y
  7062.  
  7063.       Others symbols may require them also, depending on how your font is
  7064.       designed.
  7065.  
  7066.  
  7067.  
  7068.        MAKING NEW FONTS:
  7069.  
  7070.        Creating a new font is a simple two part process.   First  make a font
  7071.        slot with  the [N]ew  command.  Next, use the [C]hange command to fill
  7072.        all the font symbol definitions.
  7073.  
  7074.        After choosing [N]ew, TDFonts prompts for some descriptive name.  This
  7075.        will appear  in the  font listing, and in TheDraw.  Names can be up to
  7076.        12 characters.
  7077.  
  7078.        Once a name is picked name  (which can  be changed  later), you select
  7079.        the font  formatting type.   Choices  are either [B]lock or [O]utline.
  7080.        Refer to "EDIT MODES"  above  for  a  description  of  the difference.
  7081.        Briefly, fonts  of type Block can be drawn using anything - but remain
  7082.        fixed.  As you draw them, they will appear in TheDraw.   Outline fonts
  7083.        can be altered on the fly using the "Outline Type" pulldown command.
  7084.  
  7085.        You have  now generated  a new font slot.  Proceed to use the [C]hange
  7086.        command to define  the  individual  font  symbols.    One  approach to
  7087.        simplify the  procedure is  making a generic symbol such as "O" first.
  7088.        Copy it to other similar symbols (such as "0", "Q", "G", "C", etc...).
  7089.        Only minor edits are needed to finish the first symbols.  Use parts of
  7090.        these to make other symbols, such as "(", ")", and carry onwards.
  7091.  
  7092.        Keep in mind nothing requires you to place letters into  a font.   You
  7093.        could create a font holding several often used patterns or pictures.
  7094.  
  7095.  
  7096.  
  7097.        MOVING A FONT:
  7098.  
  7099.        This command  reorders the  list of  font names.  Use it to place your
  7100.        fonts in alphabetical or any order which you prefer.
  7101.  
  7102.        Press [M], then choose a font (see View command).   Next, TDFonts asks
  7103.        the destination  to put  it.  The font is placed in front of whichever
  7104.        destination font you pick.
  7105.  
  7106.  
  7107.  
  7108.        TheDraw v4.50          The Font Editor              108
  7109.  
  7110.  
  7111.  
  7112.  
  7113.  
  7114.        RENAMING A FONT:
  7115.  
  7116.        Changes font descriptions which appear in the main menu list.   Select
  7117.        [R]ename and  choose a  font.   You are then prompted for the new font
  7118.        name.  Press [ENTER] when done or [ESC] to abort.
  7119.  
  7120.  
  7121.        DELETING A FONT:
  7122.  
  7123.        Permanently removes a font  from the  database file.   Press  [D] then
  7124.        choose the  target font.   TDFonts  asks you to verify this operation.
  7125.        Be careful since deleting a  font  cannot  be  undone.    Type  [Y] to
  7126.        proceed with erasing the font or [N] to abort.
  7127.  
  7128.  
  7129.  
  7130.        FONT IMPORTING:
  7131.  
  7132.        Appends  a  separate  database  file  onto the current database file.
  7133.        Press [I], and TDFonts prompts for a filename.   Type  in the pathname
  7134.        to the  import file.   Press [ENTER] to continue or [ESC] to abort the
  7135.        command.
  7136.  
  7137.        Upon pressing [ENTER] all fonts contained in the specified import file
  7138.        are loaded  and added  to the current database list.  An error message
  7139.        appears if the file was invalid.
  7140.  
  7141.  
  7142.  
  7143.        FONT EXPORTING:
  7144.  
  7145.        Copies fonts in the current database to another file.   Press [E], and
  7146.        choose  the  font  to  export/copy.    TDFonts  prompts for the output
  7147.        filename.  Enter your filename and press [ENTER] to continue  or [ESC]
  7148.        to abort.
  7149.  
  7150.        After hitting  [ENTER], TDFonts  checks to  see if  the file specified
  7151.        already exists.  If so, type [Y] to overwrite the existing file or [N]
  7152.        to abort this command.
  7153.  
  7154.        The new font file is generated and you return to the main menu.
  7155.  
  7156.  
  7157.  
  7158.  
  7159.  
  7160.  
  7161.  
  7162.  
  7163.  
  7164.  
  7165.  
  7166.  
  7167.        TheDraw v4.50          The Font Editor              109
  7168.  
  7169.  
  7170.  
  7171.  
  7172.  
  7173.                  THE PRESENTATION PROGRAM
  7174.  
  7175.  
  7176.        The Presentation  Program (THEPP) included with the registered version
  7177.        of TheDraw is a  command  line  driven  utility  intended  to simplify
  7178.        displays and  demonstrations.   It is flexible and easy to use.  THEPP
  7179.        can display any file loadable by TheDraw (Ansi,  Ascii, Binary, BSave,
  7180.        Object and TheDraw formats).  As with TheDraw, the filename extensions
  7181.        tell THEPP what format a  given  file  is  saved  in.    The following
  7182.        extensions are used (but changeable via the SETUP utility):
  7183.  
  7184.                   Binary Dump        .BIN
  7185.                   Basic BSAVE        .BSV
  7186.                   TheDraw COM Files  .COM
  7187.                   TheDraw OBJ Files  .OBJ
  7188.                   TheDraw Format     .TD
  7189.  
  7190.        Any other  file is assumed to be either Ansi or Ascii.  TheDraw format
  7191.        files store which page layer was  being edited.   THEPP  displays only
  7192.        this page  layer.  If sprite mode was turned on, any page layers below
  7193.        the current one will appear also ("under" the current layer).
  7194.  
  7195.        THEPP takes as its parameters a  list of  filenames to  display on the
  7196.        screen.   This it  will do  as fast and efficiently as possible unless
  7197.        otherwise stated (on other  words,  you  will  probably  want  to slow
  7198.        things down a bit).
  7199.  
  7200.        The  following  options  may  be  interspersed anywhere in the command
  7201.        line, before between or after, any  filenames.   Options are specified
  7202.        by using a slash followed by one of these characters:
  7203.  
  7204.       Character       Action
  7205.  
  7206.           p       Stops THEPP  the display  of pause  messages on the
  7207.               screen.  Note the pauses are still performed.
  7208.  
  7209.           k       Pause for a key  to be  pressed by  user.   This is
  7210.               useful for  placing between  files, so you can stop
  7211.               to appreciate what is shown.  See also /i command.
  7212.  
  7213.           t<num>      Pauses for <num> number of seconds.   Valid numbers
  7214.               for <num> are 1 to 255 seconds.  ie:
  7215.  
  7216.                    /t10   (pause for ten seconds)
  7217.  
  7218.           s<num>      Animation display speed.  This is a slowdown factor
  7219.               identical to the value you enter  when using ALT-Q.
  7220.               It is  used whenever  THEPP displays a Ansi, Ascii,
  7221.               or TheDraw format file.   ie:  s10  slows  down the
  7222.               file display equivalent to an ALT-Q value of 10.
  7223.  
  7224.  
  7225.  
  7226.        TheDraw v4.50         The Presentation Program          110
  7227.  
  7228.  
  7229.  
  7230.  
  7231.  
  7232.       Character       Action (continued)
  7233.  
  7234.           b       Produces a beep on the computer speaker.
  7235.  
  7236.           c       Clears the  screen.   THEPP by default does nothing
  7237.               before displaying a file.  If you wish to clear the
  7238.               screen beforehand use this option.
  7239.  
  7240.           m<x>,<y>    Moves  the  cursor  to  horizontal position <x> and
  7241.               vertical position  <y>.    Useful  if  you  want to
  7242.               control where  an Ansi  or Ascii file will start to
  7243.               appear on the screen, or wish to display  a message
  7244.               using the command below.  ie:
  7245.  
  7246.                  /m40,12   (move cursor to center of screen)
  7247.  
  7248.           a<f>,<b>    Changes   text   output   color  to  the  specified
  7249.               foreground and background colors.   Colors  are the
  7250.               same as listed under ALT-A, but are repeated below:
  7251.  
  7252.                   Black           DGray     (Dark Gray)
  7253.                   Blue            LBlue     (Light Blue)
  7254.                   Green           LGreen    (Light Green)
  7255.                   Cyan            LCyan     (Light Cyan)
  7256.                   Red             LRed      (Light Red)
  7257.                   Magenta         LMagenta  (Light Magenta)
  7258.                   Brown           Yellow
  7259.                   LGray (Light Gray)  White
  7260.  
  7261.               Foreground  colors   may  be   any  of  the  above.
  7262.               Background colors are restricted to the first eight
  7263.               however (Black to LGray).  ie:
  7264.  
  7265.                   /aYellow,Cyan  (Yellow on Cyan background)
  7266.  
  7267.           "text"      Displays  any  message  or text between the quotes.
  7268.               The  message  MUST  be   terminated  by   a  quote,
  7269.               otherwise  THEPP  assumes  the  rest of the command
  7270.               line is a message.  This is useful  if you  wish to
  7271.               display your  own "Press any key to continue" style
  7272.               message, etc...  Use the "m" option described above
  7273.               to  position  messages  anywhere on the screen, and
  7274.               "a" option to select appropriate colors.  ie:
  7275.  
  7276.                       /"Hello World"
  7277.  
  7278.               Prints  message  "Hello   World"   (without  quotes
  7279.               naturally) at cursor position.
  7280.  
  7281.  
  7282.  
  7283.  
  7284.  
  7285.        TheDraw v4.50         The Presentation Program          111
  7286.  
  7287.  
  7288.  
  7289.  
  7290.  
  7291.           v<size>     Specify video  size to  use.   Either 25, 43, or 50
  7292.               vertical  lines.    Note  the  43  &  50 parameters
  7293.               operate identically  (43 lines  always selected for
  7294.               EGA adapter, 50 for VGA).  ie:
  7295.  
  7296.                  /v50  (select VGA 50 line display)
  7297.  
  7298.           f<filename> Directs THEPP  to  obtain  more  commands  from the
  7299.               specified file.   This command file simply contains
  7300.               a list of the above  commands.    In  addition, the
  7301.               command  file  may  call upon another command file.
  7302.               Once  that  nested   command   file   is  finished,
  7303.               execution returns  to the  following instruction in
  7304.               the first file.   Up to  ten levels  of nesting may
  7305.               be active at once.  ie:
  7306.  
  7307.                        /fCOMMANDS.FIL
  7308.  
  7309.               Use file COMMANDS.FIL as source for next commands.
  7310.  
  7311.  
  7312.        If you  do not  give any parameters, THEPP will display an abbreviated
  7313.        help screen for convenience.  Examples of THEPP usage and explanations
  7314.        are given below:
  7315.  
  7316.  
  7317.        THEPP /c/p SHUTTLE2.ANS /m34,25 /aYellow,Black /"Press a key" /k/c
  7318.  
  7319.       Clears the  screen, and  turns off  the display  of pause messages.
  7320.       The Ansi text demo file SHUTTLE2.ANS is displayed,  followed by the
  7321.       message "Press  a key" in Yellow approximately in the center of the
  7322.       bottom line.  THEPP then waits  for  a  key  to  be  pressed before
  7323.       clearing the screen and returning to Dos.
  7324.  
  7325.  
  7326.        THEPP DEMO.TD /c /m38,12 /"BLIP" /b/p/t10 /m1,20
  7327.  
  7328.       Displays the current page layer of DEMO.TD, then immediately clears
  7329.       the screen, displays "BLIP" in the middle of the screen, and sounds
  7330.       the speaker.  The cursor is then placed at the beginning of line 20
  7331.       and THEPP exits.
  7332.  
  7333.  
  7334.        THEPP SOMEFILE.ASC
  7335.  
  7336.       Displays the contents of the Ascii file SOMEFILE.ASC on the screen.
  7337.       Equivalent to using "TYPE SOMEFILE.ASC".
  7338.  
  7339.  
  7340.  
  7341.  
  7342.  
  7343.  
  7344.        TheDraw v4.50         The Presentation Program          112
  7345.  
  7346.  
  7347.  
  7348.  
  7349.  
  7350.        THEPP /fCOMMAND1.FIL /m1,6 /"All done!"
  7351.  
  7352.       Makes THEPP  obtain its  next commands  from the file COMMAND1.FIL.
  7353.       This file simply contains a list  of command  line parameters.   An
  7354.       example might be:
  7355.  
  7356.          Filename #1:  COMMAND1.FIL
  7357.         /m1,1
  7358.         /"Command file 1 running - Running command file 2"
  7359.         /fCOMMAND2.FIL
  7360.         /m1,5
  7361.         /"Command file 1 resumed."
  7362.  
  7363.  
  7364.          Filename #2:  COMMAND2.FIL
  7365.         /m1,2
  7366.         /"Command file 2 running - Running command file 3"
  7367.         /fCOMMAND3.FIL
  7368.         /m1,4
  7369.         /"Command file 2 resumed."
  7370.  
  7371.  
  7372.          Filename #3:  COMMAND3.FIL
  7373.         /m1,3
  7374.         /"Command file 3 running"
  7375.  
  7376.       In this  example, command files are nest two levels deep.  In other
  7377.       words, COMMAND1.FIL  calls  COMMAND2.FIL  which  calls COMMAND3.FIL
  7378.       which then exits back to COMMAND2.FIL which then exits finally back
  7379.       to COMMAND1.FIL.  THEPP allows nesting to go  ten (10)  levels deep
  7380.       for a  large amount of complexity.  Running the above example would
  7381.       produce the output:
  7382.  
  7383.          Command file 1 running - Running command file 2
  7384.          Command file 2 running - Running command file 3
  7385.          Command file 3 running
  7386.          Command file 2 resumed
  7387.          Command file 1 resumed
  7388.          All done!
  7389.  
  7390.       Note:  Conceivably, an semi-endless  loop  is  possible.    In this
  7391.       case, a  command file would call itself (ie: replace /fCOMMAND2.FIL
  7392.       with /fCOMMAND1.FIL in the above example).  If this occurred, THEPP
  7393.       would open  the same  command file 10 times then stop with an error
  7394.       message.
  7395.  
  7396.  
  7397.  
  7398.  
  7399.  
  7400.  
  7401.  
  7402.  
  7403.        TheDraw v4.50         The Presentation Program          113
  7404.  
  7405.  
  7406.  
  7407.  
  7408.  
  7409.                  THE SETUP UTILITY
  7410.  
  7411.  
  7412.        This section describes  how  to  customize  TheDraw  and  install your
  7413.        customizations   in   the   THEDRAW.EXE  or  THEDRAWR.EXE  (registered
  7414.        version) files.
  7415.  
  7416.  
  7417.        WHY SETUP?
  7418.        ──────────────────────────────────────────────────────────────────────
  7419.        Setup is the  TheDraw  installation  program;  used  to  customize the
  7420.        TheDraw program (.EXE) file.  With this utility you can specify screen
  7421.        modes, change edit colors  and customize  various other  defaults.  It
  7422.        directly  modifies  various  parameter  values  within  your  copy  of
  7423.        THEDRAW.EXE or THEDRAWR.EXE.
  7424.  
  7425.        Via Setup you can do the following:
  7426.  
  7427.       o  Setup the default video display mode
  7428.  
  7429.       o  Change screen colors
  7430.  
  7431.       o  Resize TheDraw's usage of available memory
  7432.  
  7433.       o  Change save screen default parameters.
  7434.  
  7435.       o  Specify initial default filespec wildcards.
  7436.  
  7437.  
  7438.        In the registered version of TheDraw, the Setup utility can also:
  7439.  
  7440.       o  Customize or "remap" the editor command keys and mouse buttons.
  7441.  
  7442.       o  Setup a path to the directory where help files are stored.
  7443.  
  7444.  
  7445.        TheDraw comes ready to run; there is no mandatory installation.  After
  7446.        setting up as specified in "GETTING STARTED", TheDraw is usable.
  7447.  
  7448.        However, you  will need  to run  Setup if  you want  to do  any of the
  7449.        following:
  7450.  
  7451.       o  Change TheDraw default colors.
  7452.  
  7453.       o  Force a display mode or "snow" checking
  7454.  
  7455.       o  Customize the editor commands to preferred sequences.
  7456.  
  7457.       o  Adjust memory usage to better suit your needs.
  7458.  
  7459.  
  7460.  
  7461.  
  7462.        TheDraw v4.50         The Presentation Program          114
  7463.  
  7464.  
  7465.  
  7466.  
  7467.  
  7468.        DISPLAY WINDOWS AND SELECTING OPTIONS
  7469.        ──────────────────────────────────────────────────────────────────────
  7470.        The setup utility operates  in  a  windowing  user  environment.   You
  7471.        select commands by either pressing the highlighted capital letter of a
  7472.        given option, or using  the Up  and Down  arrow keys  to move  to your
  7473.        selection and then pressing [ENTER].
  7474.  
  7475.  
  7476.        SAVING AND ABORTING CHANGES
  7477.        ──────────────────────────────────────────────────────────────────────
  7478.        In general,  pressing [ENTER]  will save  any changes.  Pressing [ESC]
  7479.        (as many times as needed) will abort a function and return you  from a
  7480.        submenu to  the main  installation menu.  Where this convention is not
  7481.        followed, instructions are displayed on screen for you.
  7482.  
  7483.  
  7484.        RUNNING SETUP
  7485.        ──────────────────────────────────────────────────────────────────────
  7486.        To get started, from the Dos prompt type:
  7487.  
  7488.       SETUP
  7489.  
  7490.        Press [ENTER] to start the utility.   Once  running, you  are prompted
  7491.        for the program filename to configure.  You can have several different
  7492.        customized copies of TheDraw on your system.  These various  copies of
  7493.        THEDRAW.EXE can  each have  different executable  program names.  This
  7494.        allows you to prepare various editor command-keys, menu colors, etc...
  7495.        if  you  are  so  inclined.   The registered program version is called
  7496.        THEDRAWR.EXE.
  7497.  
  7498.        After selecting a file  to  edit,  SETUP  determines  what  version of
  7499.        TheDraw is  being updated (shareware or registered).  It then proceeds
  7500.        to the main menu.
  7501.  
  7502.  
  7503.        THE MAIN MENU:
  7504.  
  7505.        The  main  setup  menu  displays  all  the  primary  areas  which  are
  7506.        configurable.   Options available  are Editor configuration*, Keyboard
  7507.        customize, Screen mode, Colors,  Help and  overlay file  path*, Memory
  7508.        usage, Defaults, or Quit/Save.  These are described below.
  7509.  
  7510.        * Available while editing the registered version only.
  7511.  
  7512.  
  7513.  
  7514.  
  7515.  
  7516.  
  7517.  
  7518.  
  7519.  
  7520.  
  7521.        TheDraw v4.50         The Presentation Program          115
  7522.  
  7523.  
  7524.  
  7525.  
  7526.  
  7527.        EDITOR CONFIGURATION:
  7528.  
  7529.       The  editor  in  TheDraw  provides  many features, including cursor
  7530.       control, color changing, various  text  operations,  etc...   These
  7531.       editing commands  are assigned  to certain keystrokes, as described
  7532.       earlier throughout this documentation.   This  setup option permits
  7533.       you to change the default assignments for each function.
  7534.  
  7535.       When you  select Editor  Configuration from  SETUP's main menu, the
  7536.       editor installation screen appears.   Three  columns of information
  7537.       will be immediately notable:
  7538.  
  7539.          o  The  first  (left-most)  column  describes  each configurable
  7540.         function available in the editor.
  7541.  
  7542.          o  The second column lists Primary keystrokes.   These  keys are
  7543.         the defaults by which TheDraw normally operates.
  7544.  
  7545.          o  The  third  column  lists  Secondary  keystrokes.   These are
  7546.         optional alternates keystrokes  you  may  press  to  invoke a
  7547.         given   editor   action.      These  keystrokes  always  take
  7548.         precedence over the primary keystrokes described above.
  7549.  
  7550.       Along the bottom of the screen is a list of the keys used to select
  7551.       and modify entries.
  7552.  
  7553.          Key          Action
  7554.          ───────────────────────────────────────────────────────────────
  7555.          [UP] [DOWN]      Selects the editor command you wish to change.
  7556.  
  7557.          [PGUP] [PGDN]    Scrolls up/down one full screen page.
  7558.  
  7559.          [ENTER]          Enters the secondary keystroke modify mode.
  7560.  
  7561.          [R]          Restore  all  editor  commands  to the original
  7562.                   default values.
  7563.  
  7564.          [ESC]            Returns to the main SETUP options menu.
  7565.          ───────────────────────────────────────────────────────────────
  7566.  
  7567.       After pressing [ENTER] to modify a  command, the  current secondary
  7568.       definition disappears.   You  can then type in your new definition.
  7569.       Anything may  be used  for redefining  a key  except Numbers (0-9),
  7570.       Letters (A-Z,a-z),  [ENTER], [ESC]  and [BACKSPACE].   A maximum of
  7571.       four keystrokes for any given editor  command is  allowed; however,
  7572.       certain  key  combinations  are  equal  to  two  keystrokes.  These
  7573.       include ALT-(key), cursor movement keys ([UP],  [PGDN], etc...) and
  7574.       any keystroke involving a function key ([F1], [CTRL-F4], etc...).
  7575.  
  7576.  
  7577.  
  7578.  
  7579.  
  7580.        TheDraw v4.50         The Presentation Program          116
  7581.  
  7582.  
  7583.  
  7584.  
  7585.  
  7586.       Press  [ESC]  to  save  any  changes  to  keystrokes.   You will be
  7587.       prompted  to  verify  the  save.    If  there   are  any  duplicate
  7588.       keystrokes, SETUP  will point  out the  first occurrence so you can
  7589.       clear up the problem (marked with an asterisk).
  7590.  
  7591.  
  7592.  
  7593.        KEYBOARD CUSTOMIZE:
  7594.  
  7595.       The true IBM-PC and certain clones have a  Bios omission preventing
  7596.       the [CTRL-UP],  [CTRL-DOWN], [ALT-LEFT]  and [ALT-RIGHT] keystrokes
  7597.       from working properly.  TheDraw gets around this by using  a custom
  7598.       keyboard driver.   The  factory defaults from TheSoft will work for
  7599.       the great majority of computers.  However, if you have difficulties
  7600.       try this setup configuration option.
  7601.  
  7602.       SETUP examines  the keyboard  hardware to see what happens when any
  7603.       of the above are pressed.  Upon selecting  this option,  the screen
  7604.       clears and  prompts if you wish to continue.  Next you are asked to
  7605.       press [CTRL-UP], [CTRL-DOWN], [ALT-LEFT]  and  [ALT-RIGHT]  in that
  7606.       order.  The scan codes returned by your keyboard are displayed.
  7607.  
  7608.       Next you  can experiment  to see  that everything is indeed working
  7609.       properly.    Press   [CTRL-UP/DOWN]   and   [ALT-LEFT/RIGHT]  until
  7610.       satisfied  the  keys  were  programmed correctly.  Press [ENTER] to
  7611.       return to the main menu.
  7612.  
  7613.       Note:
  7614.          A few computers react badly to  this driver.   If  your computer
  7615.          does  not  operate  as  expected when running TheDraw, start the
  7616.          setup utility by typing (from the dos prompt):
  7617.  
  7618.            SETUP *
  7619.  
  7620.          Press [ENTER] to start  Setup.    The  current  settings  of the
  7621.          keyboard driver will be displayed.  Respond [Y]es or [N]o if the
  7622.          setting is correct.    If  after  deactivating  the  driver your
  7623.          computer still locks, please contact TheSoft.
  7624.  
  7625.  
  7626.  
  7627.        SCREEN MODE:
  7628.  
  7629.       Normally,  THEDRAW  will  automatically determine the correct video
  7630.       mode of your computer.  You should only  need to  change the Screen
  7631.       mode option if:
  7632.  
  7633.          o  you think TheDraw is incorrectly detecting your hardware.
  7634.  
  7635.          o  you have a Color Graphics Adapter (CGA) that does not produce
  7636.         the "snow" or hashing effect.
  7637.  
  7638.  
  7639.        TheDraw v4.50         The Presentation Program          117
  7640.  
  7641.  
  7642.  
  7643.  
  7644.  
  7645.          o  You have an EGA or VGA video card and wish to always start in
  7646.         43/50 line edit mode.
  7647.  
  7648.          o  your computer  has a composite or LCD video screen, appearing
  7649.         like a CGA but with only one color.  In  this case,  you want
  7650.         the Black and White screen option.
  7651.  
  7652.       Upon pressing  S to  select this  option, a pop-up menu will appear
  7653.       with the available options.  These are fairly apparent:
  7654.  
  7655.  
  7656.       DEFAULT
  7657.  
  7658.          TheDraw will operate in the mode active when first run.
  7659.  
  7660.  
  7661.       BLACK AND WHITE
  7662.  
  7663.          TheDraw will use composite black  and  white  mode  (80 column),
  7664.          regardless  of  the  active  mode  when first run.  The original
  7665.          video mode will be selected when you exit TheDraw.
  7666.  
  7667.  
  7668.       COLOR
  7669.  
  7670.          TheDraw will use color mode (80 column), regardless of what mode
  7671.          active when first run.  The original video mode will be selected
  7672.          when you exit TheDraw.
  7673.  
  7674.  
  7675.       EGA/VGA
  7676.  
  7677.          TheDraw  will  use  color  mode  (80  column)  and  43/50 lines,
  7678.          regardless  of  what  mode  was active initially.  Initial video
  7679.          mode is restored upon exit from TheDraw.
  7680.  
  7681.  
  7682.       MONOCHROME
  7683.  
  7684.          TheDraw uses monochrome video mode,  and  switches  back  to the
  7685.          previous mode upon exiting.
  7686.  
  7687.       After selecting one of the first three options above (Default, B&W,
  7688.       or Color), SETUP checks the screen for snow.   If  you see  snow or
  7689.       hashing, respond Yes to the prompt that appears.
  7690.  
  7691.  
  7692.  
  7693.  
  7694.  
  7695.  
  7696.  
  7697.  
  7698.        TheDraw v4.50         The Presentation Program          118
  7699.  
  7700.  
  7701.  
  7702.  
  7703.  
  7704.        COLOR CONFIGURATION:
  7705.  
  7706.       TheDraw holds  three complete  sets of  configurable colors.  Which
  7707.       color set is used depends  on  the  initial  screen  mode specified
  7708.       above.   The sets  are for  Color, Black  and White, and Monochrome
  7709.       screen users.  A pop-up window prompts for which set to edit.
  7710.  
  7711.       After selecting a color  set, another  pop-up prompts  for the item
  7712.       type to configure.  Options are the Edit Screen, Main Help Display,
  7713.       Directory  (Load/View)  Screen,  Pop-up  help,  and  Pull-Down menu
  7714.       display.
  7715.  
  7716.       Next,  a  menu  of  configurable  items  under  that  type appears.
  7717.       Selecting one displays a view port and list  of available  colors.
  7718.       The view  port shows  an example  of the screen item you chose.  It
  7719.       also reflects any changes in colors as you scroll through the color
  7720.       palette.
  7721.  
  7722.       Use  the  arrows  keys  to  select  a color to your liking from the
  7723.       palette.  Watch the view port  to see  how the  item looks  in that
  7724.       color.  Press [ENTER] or [ESC] to save your choice.
  7725.  
  7726.       Now repeat  this procedure  for every screen color item you want to
  7727.       customize.  When done,  press [ESC]  until you  return to  the main
  7728.       SETUP menu.
  7729.  
  7730.  
  7731.  
  7732.        FILES DIRECTORY:
  7733.  
  7734.       The Files  Directory is  used by  TheDraw to  find its  files.  The
  7735.       shareware version looks for the pick list file (THEDRAW.PCK) there.
  7736.       The registered  version of TheDraw looks for its help and macro key
  7737.       files there in addition.
  7738.  
  7739.       The current setting is  displayed for  you.   To change  it, simply
  7740.       type in the new directory.  Enter a period (.) by itself to use the
  7741.       current directory  of Dos  when TheDraw  is loaded.   Press [ENTER]
  7742.       without entry to leave unchanged.
  7743.  
  7744.  
  7745.  
  7746.  
  7747.  
  7748.  
  7749.  
  7750.  
  7751.  
  7752.  
  7753.  
  7754.  
  7755.  
  7756.  
  7757.        TheDraw v4.50         The Presentation Program          119
  7758.  
  7759.  
  7760.  
  7761.  
  7762.  
  7763.        MEMORY USAGE:
  7764.  
  7765.       TheDraw always  tries to allocate all available memory up to limits
  7766.       specified by this SETUP option.  When fully configured, TheDraw can
  7767.       use  as  much  as  410k  of  memory.  Memory is allocated first for
  7768.       screen page layers and then for the animation system.
  7769.  
  7770.       If you have limited memory, there might not  be enough  space for 8
  7771.       page layers and 16000 animation entries (maximum usage).  There may
  7772.       however be enough  space  for  4  page  layers  and  5000 animation
  7773.       entries, or just one layer, or anything in between.
  7774.  
  7775.       This  is  when  you  may  wish  to  override  the  automatic memory
  7776.       allocation.  To make  TheDraw operate  as in  earlier versions, you
  7777.       would  want  just  2  page  layers  and 5000 entries.  Feel free to
  7778.       experiment.  Keep in mind that TheDraw will scale down all settings
  7779.       when loaded if there is insufficient memory.
  7780.  
  7781.       Upon selecting  this option  the current settings are displayed for
  7782.       you.  The amount of memory occupied by  screen page  layers and the
  7783.       animation system  is also  indicated.   If you  wish to change them
  7784.       answer Yes to the prompt.  You can then enter new values for both.
  7785.  
  7786.  
  7787.  
  7788.        DEFAULTS:
  7789.  
  7790.       TheDraw has certain default  values  used  throughout  the program.
  7791.       Some of these are:
  7792.  
  7793.          o  Initial edit colors
  7794.          o  Default file extensions
  7795.          o  Default file save parameters
  7796.          o  Sticky directory wildcards
  7797.          o  Initial work file directory
  7798.          etc...
  7799.  
  7800.       Selecting Defaults  from the main setup menu displays a screen with
  7801.       several fields.  Use the up and down arrow keys to select the field
  7802.       you wish  to change.   PgUp/PgDn switches between the three screens
  7803.       of options.  To  change a  value follow  the on  screen directions.
  7804.       Pressing [R]  at any  time restores  all "factory" defaults.  Press
  7805.       [ESC] when satisfied with your changes.
  7806.  
  7807.       Note: Many of the defaults may be changed  using TheDraw's internal
  7808.       Setup screen also.
  7809.  
  7810.  
  7811.  
  7812.  
  7813.  
  7814.  
  7815.  
  7816.        TheDraw v4.50         The Presentation Program          120
  7817.  
  7818.  
  7819.  
  7820.  
  7821.  
  7822.        QUIT/SAVE:
  7823.  
  7824.       Once all  changes are completed, select Quit/save at the main SETUP
  7825.       menu.  The message:
  7826.  
  7827.                 Save Changes? (Y/N)
  7828.  
  7829.       appears along the bottom line of  the screen.   Reply  Yes, and all
  7830.       the changes  you have  made will  be saved into TheDraw.  Reply No,
  7831.       and all your changes are ignored.  After  either reply,  you return
  7832.       to the dos prompt.
  7833.  
  7834.       If you ever decide to reset TheDraw completely to factory defaults,
  7835.       simply copy the EXE program file from your  original disk  (you did
  7836.       make  one  right?)  onto  your  work  disk.  If you -just- want the
  7837.       editor commands restored, type [R] under the editor configuration.
  7838.  
  7839.  
  7840.  
  7841.  
  7842.  
  7843.  
  7844.  
  7845.  
  7846.  
  7847.  
  7848.  
  7849.  
  7850.  
  7851.  
  7852.  
  7853.  
  7854.  
  7855.  
  7856.  
  7857.  
  7858.  
  7859.  
  7860.  
  7861.  
  7862.  
  7863.  
  7864.  
  7865.  
  7866.  
  7867.  
  7868.  
  7869.  
  7870.  
  7871.  
  7872.  
  7873.  
  7874.  
  7875.        TheDraw v4.50         The Presentation Program          121
  7876.  
  7877.  
  7878.  
  7879.  
  7880.  
  7881.                     APPENDIX A
  7882.  
  7883.                    SETTING UP CONFIG.SYS
  7884.  
  7885.  
  7886.        The ANSI driver must  be installed  to display  Ansi color  images and
  7887.        Ansi animation  files via  the Dos  TYPE command.  This can be done by
  7888.        adding a 'DEVICE=ANSI.SYS' statement to your CONFIG.SYS file.   If you
  7889.        do  not  have  a  CONFIG.SYS  file,  you  can create one by typing the
  7890.        following in your root directory:
  7891.  
  7892.               COPY CON CONFIG.SYS<enter>
  7893.               DEVICE=ANSI.SYS<enter>
  7894.               ^Z<enter>           ( <-- press CTRL and Z )
  7895.  
  7896.        If you have a CONFIG.SYS file, append the sequence with:
  7897.  
  7898.               EDLIN CONFIG.SYS<enter>
  7899.               #I<enter>
  7900.               DEVICE=ANSI.SYS<enter>
  7901.               ^Z<enter>           ( <-- press CTRL and Z )
  7902.               E<enter>
  7903.  
  7904.        For this to work properly, the ANSI.SYS file must also be in  the root
  7905.        directory of your boot disk or hard drive (whichever is applicable).
  7906.  
  7907.        People wanting  to use  a mouse  with TheDraw  may have  to install an
  7908.        additional file in  their  CONFIG.SYS  file.    If  a  driver  must be
  7909.        installed, follow  the above instructions using the name of your mouse
  7910.        driver (ie: MSMOUSE.SYS or  MOUSE.SYS,  etc...)  instead  of ANSI.SYS.
  7911.        Additional parameters  may be  required.   Please refer  to the manual
  7912.        that came with your mouse for more details.
  7913.  
  7914.        There are many other useful statements  that  can  be  placed  in your
  7915.        CONFIG.SYS file.   Two  which can dramatically improve the performance
  7916.        of DOS are:
  7917.  
  7918.                      BUFFERS=10
  7919.                      FILES=10
  7920.  
  7921.        Add these as stated above.  If you  created a  new CONFIG.SYS  for the
  7922.        DEVICE=ANSI.SYS clause by COPY CON, then append these using the second
  7923.        method.  Enjoy!
  7924.  
  7925.  
  7926.  
  7927.  
  7928.  
  7929.  
  7930.  
  7931.  
  7932.  
  7933.  
  7934.        TheDraw v4.50            Appendix A             122
  7935.  
  7936.  
  7937.  
  7938.  
  7939.  
  7940.                     APPENDIX B
  7941.  
  7942.               EXTENDED/SPECIAL CHARACTER SET
  7943.  
  7944.  
  7945.        The  following  lists  every  symbol  available  in  the  IBM extended
  7946.        character  set.    These  are  all  found  in the 15 special character
  7947.        function key sets supported by TheDraw.
  7948.  
  7949.  
  7950.         Code Symbol     Code Symbol     Code Symbol     Code Symbol
  7951.  
  7952.          128   Ç         160   á         192   └         224   α
  7953.          129   ü         161   í         193   ┴         225   ß
  7954.          130   é         162   ó         194   ┬         226   Γ
  7955.          131   â         163   ú         195   ├         227   π
  7956.          132   ä         164   ñ         196   ─         228   Σ
  7957.          133   à         165   Ñ         197   ┼         229   σ
  7958.          134   å         166   ª         198   ╞         230   µ
  7959.          135   ç         167   º         199   ╟         231   τ
  7960.          136   ê         168   ¿         200   ╚         232   Φ
  7961.          137   ë         169   ⌐         201   ╔         233   Θ
  7962.          138   è         170   ¬         202   ╩         234   Ω
  7963.          139   ï         171   ½         203   ╦         235   δ
  7964.          140   î         172   ¼         204   ╠         236   ∞
  7965.          141   ì         173   ¡         205   ═         237   φ
  7966.          142   Ä         174   «         206   ╬         238   ε
  7967.          143   Å         175   »         207   ╧         239   ∩
  7968.          144   É         176   ░         208   ╨         240   ≡
  7969.          145   æ         177   ▒         209   ╤         241   ±
  7970.          146   Æ         178   ▓         210   ╥         242   ≥
  7971.          147   ô         179   │         211   ╙         243   ≤
  7972.          148   ö         180   ┤         212   ╘         244   ⌠
  7973.          149   ò         181   ╡         213   ╒         245   ⌡
  7974.          150   û         182   ╢         214   ╓         246   ÷
  7975.          151   ù         183   ╖         215   ╫         247   ≈
  7976.          152   ÿ         184   ╕         216   ╪         248   °
  7977.          153   Ö         185   ╣         217   ┘         249   ∙
  7978.          154   Ü         186   ║         218   ┌         250   ·
  7979.          155   ¢         187   ╗         219   █         251   √
  7980.          156   £         188   ╝         220   ▄         252   ⁿ
  7981.          157   ¥         189   ╜         221   ▌         253   ²
  7982.          158   ₧         190   ╛         222   ▐         254   ■
  7983.          159   ƒ         191   ┐         223   ▀         255   solid spc
  7984.  
  7985.  
  7986.  
  7987.  
  7988.  
  7989.  
  7990.  
  7991.  
  7992.  
  7993.        TheDraw v4.50            Appendix B             123
  7994.  
  7995.  
  7996.  
  7997.  
  7998.  
  7999.                     APPENDIX C
  8000.  
  8001.                 COMMON QUESTIONS & ANSWERS
  8002.  
  8003.        In an  attempt  to  help  users  with  commonplace  difficulties, this
  8004.        section answers some of the more frequent questions.
  8005.  
  8006.        Q:   When  saving  a  full  screen  Ansi file, TheDraw reports it used
  8007.         only 3 or 4 lines.  Did something go wrong?
  8008.  
  8009.        A:   No.  The number TheDraw reports  is the  number of  output lines.
  8010.         This  is  the  number  of  text  lines,  for  instance, used when
  8011.         uploading such an Ansi screen to a BBS system.   TheDraw normally
  8012.         puts  as  much  information  onto  a  given  output  text line as
  8013.         possible.  A number of the Ansi screen lines could be placed onto
  8014.         one output line; however, the file will display as expected.
  8015.        ----
  8016.        Q:   Why does  TheDraw display  garbage when  I load captured graphics
  8017.         screens?
  8018.  
  8019.        A:   TheDraw is not designed  to handle  high resolution  graphics per
  8020.         say.   TheDraw handles only text images.  It is similar to a word
  8021.         processor in that regard.
  8022.        ----
  8023.        Q:   How can TheDraw support imbedded Ansi BBS control sequences?
  8024.  
  8025.        A:   Previously  users  had  to  resort  to  Animation  Include files,
  8026.         however starting  with TheDraw  v4.0, user  control sequences are
  8027.         directly supported.  Refer  to  command  ALT-J,User-Seq  for more
  8028.         information.
  8029.        ----
  8030.        Q:   How can  I control  the location of the cursor after an Ansi file
  8031.         is displayed?
  8032.  
  8033.        A:   The easiest way is to  convert  your  Ansi  screen  to Animation.
  8034.         Select the  ALT-J, and  the "Top"  scanner.  The top scanner will
  8035.         make your Ansi file  display as  before.   You could  choose some
  8036.         other if you like.  Next, move the cursor where you would like to
  8037.         appear after the display is finished, and press the [SPACE] bar.
  8038.  
  8039.         The space  will  become  the  last  character  displayed  and the
  8040.         position where TheDraw leaves the cursor.
  8041.        ----
  8042.        Q:   Can I  use images  created with  this software in my own programs
  8043.         for public use (or sale)?
  8044.  
  8045.        A:   Yes.  There are  absolutely no  restrictions on  work you create.
  8046.         You  might  add  a  mention  "Screens  produced  by TheDraw", but
  8047.         TheSoft certainly does not require it.
  8048.  
  8049.  
  8050.  
  8051.  
  8052.        TheDraw v4.50            Appendix C             124
  8053.  
  8054.  
  8055.  
  8056.  
  8057.        Q:   How do I upload Ansi files to another computer (a  bulletin board
  8058.         system)?
  8059.  
  8060.        A:   Ansi files  are sent  identically to regular text messages, using
  8061.         your communication  programs Ascii  upload option.   Before doing
  8062.         so, be  aware some  BBS's explicitly do not support Ansi.  If you
  8063.         pass the first hurdle, note  some  BBS's  feature  automatic text
  8064.         wrap-around for  lines which are too long.  Other's simply refuse
  8065.         to accept more than a maximum line length.  Either  of the latter
  8066.         cases will disrupt the appearance of your Ansi files.
  8067.  
  8068.         To  avoid  difficulties,  find  the maximum line length enterable
  8069.         before the above problems occur (generally 70 characters is about
  8070.         average).    Next,  when  saving  your  Ansi files using TheDraw,
  8071.         specify the number determined  (70 here)  for the  maximum output
  8072.         line length.   TheDraw will limit lines to that length, and there
  8073.         should be no problems uploading the image.
  8074.        ----
  8075.        Q:   How do I draw circles/ovals/etc?
  8076.  
  8077.        A:   Smooth circles & ovals  are  not  possible  using  text graphics.
  8078.         Approximations  are  possible  by careful selection of characters
  8079.         and symbols.  For instance:
  8080.                     ▄▄▄▄
  8081.                      ▄▀▀    ▀▀▄
  8082.                     █          █
  8083.                    ▐▌          ▐▌
  8084.                     █          █
  8085.                      ▀▄▄    ▄▄▀
  8086.                     ▀▀▀▀
  8087.         The above was produced using symbols from function key set #6.
  8088.        ----
  8089.        Q:   I get disk full error messages when I try saving an Ansi  file to
  8090.         an empty  diskette.   The file  is large, very close to the 16000
  8091.         animation limit.  Is this a bug?
  8092.  
  8093.        A:   Seems unlikely a bug  exists.    The  Ansi  produced  is probably
  8094.         larger than  your diskette.   Try  splitting it  into two smaller
  8095.         chunks.  Although dependant  primarily  on  the  application, the
  8096.         largest  Ansi  file  we  know  of TheDraw producing was about 7.9
  8097.         million bytes (a test  of  16000  random  entries,  32 char/line,
  8098.         ansi pause of 50).  Even larger files might be possible.
  8099.        ----
  8100.        Q:   Why can't I change the video size from 25 lines to 43 or 50 lines
  8101.         as the manual suggests?
  8102.  
  8103.        A:   You must have an EGA or VGA video card adapter installed in order
  8104.         to  use  these  video  modes.    If  you  have a EGA/VGA card and
  8105.         TheDraw is not recognizing  your  hardware,  then  please contact
  8106.         TheSoft describing the situation.
  8107.  
  8108.  
  8109.  
  8110.  
  8111.        TheDraw v4.50            Appendix C             125
  8112.  
  8113.  
  8114.  
  8115.  
  8116.        Q:   How can I combine two Ansi files together?
  8117.  
  8118.        A:   There are  three ways.   Either load them both into TheDraw under
  8119.         animation mode (you will be  prompted  if  to  append  the second
  8120.         file), or use the Dos COPY command.  ie:
  8121.  
  8122.               COPY FILE1.ANS+FILE2.ANS FILE3.ANS
  8123.  
  8124.         The  above  will  create  a  new  file "FILE3.ANS" containing the
  8125.         complete contents of FILE1.ANS and FILE2.ANS.
  8126.  
  8127.         The last  method involves  using a  50 line  buffer mode, loading
  8128.         each target  Ansi file into appropriate portions (an ideal use of
  8129.         Block Load), then saving as one file.
  8130.        ----
  8131.        Q:   My mouse  will not  go below  line 25  when using  the 43/50 line
  8132.         video mode.   I  can use the cursor keys fine, but the mouse gets
  8133.         stuck.  What is wrong?
  8134.  
  8135.        A:   TheDraw requires a mouse  driver  (ie:  MOUSE.SYS,  MOUSE.COM, or
  8136.         similar  variation)  be  installed  which  is compatible with the
  8137.         EGA/VGA video card.   Please contact  your mouse  manufacturer or
  8138.         check local computer bulletin board systems for an update.
  8139.        ----
  8140.        Q:   Every  so  often  I  get  a  funny  space character on my screen.
  8141.         Moving the cursor onto it  cause  the  cursor  to  "flicker" with
  8142.         colors.  Why does that happen?
  8143.  
  8144.        A:   You have  come across  what is termed a "Solid-Space".  These are
  8145.         special characters  normally  used  with  TheDraw's  sprite mode.
  8146.         Solid  spaces   are  entered  by  pressing  the  SHIFT-SPACE  key
  8147.         combination.   They are not normal spaces  (character 32),  but a
  8148.         blank special IBM extended space (character 255).  A setup option
  8149.         exists for filtering them from your Ansi/Ascii screen files.
  8150.        ----
  8151.        Q:   When I  type  saved  ASCII  files,  sometimes  extra  blank lines
  8152.         appear.  What is wrong?
  8153.  
  8154.        A:   Your screen  contains lines which are the full screen width.  The
  8155.         cursor is "wrapping" down to the next line thus causing the extra
  8156.         blank  line  to  appear.    Such  Ascii files are compatible with
  8157.         standard  text  editors.    To  make  Ascii  files  which display
  8158.         properly  using  the  Dos  TYPE command, toggle the "Force CR/LF"
  8159.         option in the Setup options screen to "NO".
  8160.        ----
  8161.        Q:   When I save  animated  Ansi  files,  I  cannot  get  character to
  8162.         display in the lower-right corner.  How can I correct this?
  8163.  
  8164.        A:   You can't.   The screen scrolls whenever a character is displayed
  8165.         in the lower-right  corner.    This  is  extremely  disruptive to
  8166.         animated Ansi file.  TheDraw thus does not output characters, but
  8167.         will however paint the corner with the desired colors.
  8168.  
  8169.  
  8170.        TheDraw v4.50            Appendix C             126
  8171.  
  8172.  
  8173.  
  8174.  
  8175.  
  8176.        Q:   I am a BBS system operator and puzzled  by the  Ansi maximum line
  8177.         length parameter.   What  exactly is  this used  for, and does it
  8178.         mean I can't have full screen Ansi images?
  8179.  
  8180.        A:   The Ansi maximum  line  length  is  completely  separate  of what
  8181.         appears  on  the  screen.    The  parameter  affects  the  output
  8182.         formatting of Ansi files, but not  the way  they appear onscreen.
  8183.         We  must  make  the  distinction between displayed Ansi lines (as
  8184.         they appear) and output lines (as in the .ANS files).
  8185.  
  8186.         Output lines contains large  amounts  of  cursor  positioning and
  8187.         color control  codes.  A given displayed Ansi line might actually
  8188.         translate to an output line over 1000 characters long.
  8189.  
  8190.         In situations where Ansi files are loaded into other software, or
  8191.         uploaded  to  BBS  systems  as  messages,  physical limits on the
  8192.         output line lengths might be  imposed.    Say,  for  instance, 70
  8193.         characters.    This  is  the  maximum  amount of Ansi information
  8194.         TheDraw can pack onto  a given  output line.   This  fact however
  8195.         will not  change the  Ansi screen  is displayed  at all!  TheDraw
  8196.         will compensate for the short output  lines by  moving the cursor
  8197.         and  adjusting  color  codes  as  required.   The more TheDraw is
  8198.         forced to do this, the longer your Ansi file becomes.
  8199.  
  8200.         For maximum speed and the smallest  files, use  an Unlimited line
  8201.         length.    BBS  system  operators should use unlimited length for
  8202.         menu screens and the like --  unless  all  Ansi  files  are being
  8203.         stored as  messages.   Your message base might have a line length
  8204.         limit.  If all your BBS does is display a text file however, then
  8205.         use the unlimited line length.
  8206.  
  8207.  
  8208.  
  8209.  
  8210.  
  8211.  
  8212.  
  8213.  
  8214.  
  8215.  
  8216.  
  8217.  
  8218.  
  8219.  
  8220.  
  8221.  
  8222.  
  8223.  
  8224.  
  8225.  
  8226.  
  8227.  
  8228.  
  8229.        TheDraw v4.50            Appendix C             127
  8230.  
  8231.  
  8232.  
  8233.  
  8234.  
  8235.                  REVISION HISTORY
  8236.  
  8237.  
  8238.        05/01/86  -  Version 1.00  -  Program completed.
  8239.        ____
  8240.  
  8241.        05/05/86  -  Version 1.01
  8242.  
  8243.        Carl Ehmann noticed a glitch in text creation that caused highlighting
  8244.        and blinking attributes  changes  to  go  unnoticed.    This  has been
  8245.        corrected.
  8246.        ____
  8247.  
  8248.        06/05/86  -  Version 1.02
  8249.  
  8250.        Steven Mills  discovered a bug in the file loading routine that caused
  8251.        TheDraw to flag valid filenames as invalid.  It has been squashed.
  8252.  
  8253.        Changed the program to not allow the user to enter a code  #26 or code
  8254.        #27 into  a text screen. A code #26 is the Dos end of file marker, and
  8255.        entering it means loss of all following text upon displaying  the file
  8256.        or reloading  it back  into TheDraw.   A  code #27  is the ANSI driver
  8257.        signal  character.  Supposedly  ANSI  ignores  invalid  sequences, but
  8258.        allowing  the  code  created  "false"  ANSI codes which caused loading
  8259.        problems.
  8260.        ____
  8261.  
  8262.        07/31/86  -  Version 1.03
  8263.  
  8264.        Upon prompting from Carl Ehmann, output line length  limiting has been
  8265.        added.   This will  facilitate other  programs which cannot load lines
  8266.        conceivably going over 1300 characters (such as RBBS).   Color changes
  8267.        can now  be accomplished  using the  Ctrl-Left and Right arrow keys to
  8268.        increment the fore and background colors respectively.
  8269.        ____
  8270.  
  8271.        08/15/86  -  Version 1.10  (later changed to v2.00)
  8272.  
  8273.        Changes in a big way.  New features include:
  8274.      ANSI Animation, Line Drawing, Ruler, movement of
  8275.      blocks UNDER other text and much more!!
  8276.  
  8277.        Quick color change keys have been expanded to  use the  Ctrl-Up, Down,
  8278.        Left, and Right keys in a more logical manner.
  8279.        ____
  8280.  
  8281.        09/13/86  -  Version 2.01
  8282.  
  8283.        A few  more enhancements.   Pop-Up help, and macros have been added to
  8284.        the new registered version of the program.  Also a few aspects  of the
  8285.        animation editor have been sped up.
  8286.  
  8287.  
  8288.        TheDraw v4.50              History              128
  8289.  
  8290.  
  8291.  
  8292.  
  8293.  
  8294.                   REVISION HISTORY (cont)
  8295.  
  8296.  
  8297.        09/19/86 - Version 2.02
  8298.  
  8299.        Fixed a slight bug which was causing TheDraw to display the wrong Help
  8300.        Screen (in registered version).  Also,  the registered  version wasn't
  8301.        keeping track of where its overlay was.
  8302.        ____
  8303.  
  8304.        09/27/86 - Version 2.03
  8305.  
  8306.        Carl Ehmann noticed yet another glitch (what would I do without him?).
  8307.        The Ascii save routine was using ANSI codes  to advance  the cursor to
  8308.        the next line.
  8309.        ____
  8310.  
  8311.        11/28/86 - Version 2.04
  8312.  
  8313.        Ray Buti  discovered an  oddity with  the Pascal  screen save.  If you
  8314.        used a single quote "'" TheDraw didn't compensate  for it.   Therefore
  8315.        when  Turbo  Pascal  compiled  that  screen  it  complained.  Ray also
  8316.        noticed that  characters under  #32 were  missing the  "#" required by
  8317.        Turbo.  These have both been cured.
  8318.  
  8319.        In addition,   the animation load routine has been made more reliable.
  8320.        Occasionally movement just involving the  cursor  (no  text)  would be
  8321.        lost.   Other improvements  were made  to make  animation screen files
  8322.        smaller and display faster.
  8323.        ____
  8324.  
  8325.        03/06/87 - Version 2.10
  8326.  
  8327.        Support for monochrome monitors has finally been added.  Don't ask why
  8328.        I never  did it  before...   The glitches  Paul Pacter (and many other
  8329.        people) found  with IBM  PC Ctrl-Up/Down  keys has  been eliminated. I
  8330.        would have  never noticed  that glitch,  so many thanks!  Kent Godding
  8331.        made an excellent suggestion for a ansi-file slow down routine.   This
  8332.        has  been  added.    Lastly,  a  few  changes were made to the command
  8333.        structure to clarify things and many prompts were cleaned up.
  8334.  
  8335.  
  8336.  
  8337.  
  8338.  
  8339.  
  8340.  
  8341.  
  8342.  
  8343.  
  8344.  
  8345.  
  8346.  
  8347.        TheDraw v4.50              History              129
  8348.  
  8349.  
  8350.  
  8351.  
  8352.  
  8353.                   REVISION HISTORY (cont)
  8354.  
  8355.  
  8356.        06/20/87 - Version 2.20
  8357.  
  8358.        BSave saves fixed to operate properly  for monochrome  monitors.  Ansi
  8359.        files now  output <esc>[40m  color sequences  to clear screen to black
  8360.        color before doing anything else.  Thanks to Barry Simon  for bringing
  8361.        this  oversight  to  my  attention  and  also  suggesting command line
  8362.        filespecs.  Some  new  items  were  added,  most  notably  full screen
  8363.        editing.   Thank Ray  Buti for  finally bugging  me enough  to add it.
  8364.        Also extended options for Asm, Pascal,  and  new  C  storage  modes to
  8365.        crunch and  store only  Ascii in addition to the original normal (4000
  8366.        byte) mode.  Thanks to Douglas A. Nicklow for suggesting the C storage
  8367.        capacity.
  8368.        ____
  8369.  
  8370.        08/22/87 - Version 2.21
  8371.  
  8372.        Fixed a  minor glitch  with window  sizes being  slightly off.  Also I
  8373.        missed a problem in the registered version.  TheDraw was not using the
  8374.        overlay path  entered by the Setup utility when initializing.  So much
  8375.        for learning  from mistakes  (ie: it  happened before).   In addition,
  8376.        using a  command line  filespec sometimes loaded a Ansi or Ascii image
  8377.        with a random background color.  Needless to say, everything  has been
  8378.        fixed.
  8379.        ____
  8380.  
  8381.        04/28/88 - Version 3.00
  8382.  
  8383.        Many, MANY  changes.   TheDraw totally  rewritten to take advantage of
  8384.        Turbo Pascal v4.0.  A new title screen,  dynamic allocation  of screen
  8385.        layers and  animation space  (up to 16000 animation entries and 8 page
  8386.        layers can now be  used),  multi-layer  Sprite  editing,  dos shelling
  8387.        (suggestion from Billy Noto), and a new high-speed TheDraw format data
  8388.        file have all been added.    TheDraw  now  incorporates  its  own Ansi
  8389.        driver so Ansi/Ascii file loading is much faster.
  8390.  
  8391.        The animation  system has  been greatly  expanded.  Five new animation
  8392.        scanners have been added (ANGLE, GATE, PYRAMID, SQUARES,  and WIGGLE).
  8393.        Animation markers(R),  "include files",  animation pausing, support of
  8394.        animation on multiple page  layers (no  longer restricted  to just one
  8395.        page), global  animation screen  copies, and more have all been added.
  8396.        Animation sequences can now  be  appended  together.    The registered
  8397.        version supports easy animation editing.
  8398.  
  8399.        A couple  of bugs  were fixed.   The  pascal save left spurious single
  8400.        entries on the end of lines (yet another discovery of Ray Buti  :-) ).
  8401.        The Ascii Save no longer outputs spaces on the end of every line.
  8402.  
  8403.  
  8404.  
  8405.  
  8406.        TheDraw v4.50              History              130
  8407.  
  8408.  
  8409.  
  8410.  
  8411.  
  8412.                   REVISION HISTORY (cont)
  8413.  
  8414.        (v3.00 cont)
  8415.  
  8416.        The  Setup   utility  has   been  vastly  overhauled  and  now  allows
  8417.        configuring  of  the  TheDraw  edit  screen  colors,  TheDraw keyboard
  8418.        commands(R), and many other parameters.
  8419.        ____
  8420.  
  8421.        09/09/88 - Version 3.10
  8422.  
  8423.        Support for the Microsoft Mouse has been added, making cursor movement
  8424.        and the marking of blocks easier.  Five additional character sets have
  8425.        been added.   These  are accessed via CTRL-F(1-5).  With this revision
  8426.        goes a  new function  key screen  (ALT-F).   Finally, a  few bugs were
  8427.        eradicated.   Many people reported CTRL-Up/Down keys were not working.
  8428.        They did work, however the status display was not always updated (thus
  8429.        causing  the  following  confusion).    TheDraw  now  allows filespecs
  8430.        without extensions  to  be  used  again.    In  addition,  the default
  8431.        filespec extensions  can be  changed using the Setup utility (Ray Buti
  8432.        can now change .PAS to anything he likes  <grin>).   The Setup utility
  8433.        Defaults option now works as advertised.  Finally, the keyboard driver
  8434.        for Ctrl-Up/Down has been changed yet again.  With the  last revision,
  8435.        a few computers were gained but the PCjr was lost.
  8436.        ____
  8437.  
  8438.        04/04/89 - Version 3.20
  8439.  
  8440.        Pull down  menu system has been added to TheDraw.  The program can now
  8441.        be totally controlled by use of a mouse.   Various  small details that
  8442.        escaped detection  regarding the  mouse were corrected.  TheDraw has a
  8443.        new storage format -- COM files.  Separate  programs useful  for batch
  8444.        files and  the like.  They work with blocks and (naturally) the entire
  8445.        screen.  A few bugs floating around the program have been cured.  When
  8446.        attempting a  block save, TheDraw would sometimes display and save the
  8447.        wrong screen portion.  The ALT-U  command was  not processing blinking
  8448.        colors properly  -- thanks  to Darin  May for  pointing this out.  The
  8449.        ALT-L file directory had a minor problem when  there were  exactly 124
  8450.        items displayed.  You could go down to the next page even though there
  8451.        was nothing on it.   Animation  screen copies  might possibly  fail if
  8452.        they run out of room.  What the user saw didn't necessarily match what
  8453.        TheDraw thought was there until everything  got redrawn.   The problem
  8454.        with CTRL-UP/DOWN  simply won't go away.  The driver will work for 99%
  8455.        of  machines,  but  certain  computers  with  non-compatible  keyboard
  8456.        hardware  will  lockup  (notably  the  Tandy 1000A and HX).  The SETUP
  8457.        utility now has a provision for deactivating the driver completely.
  8458.  
  8459.  
  8460.  
  8461.  
  8462.  
  8463.  
  8464.  
  8465.        TheDraw v4.50              History              131
  8466.  
  8467.  
  8468.  
  8469.  
  8470.  
  8471.                   REVISION HISTORY (cont)
  8472.  
  8473.  
  8474.        11/01/89 - Version 3.30
  8475.  
  8476.        TheDraw format files now support block load/save.   A color attributes
  8477.        drawing  mode  has  been  added,  access  via  Alt--.  Thanks to James
  8478.        Carroll  for  this  suggestion.    You  can  now   specify  a  default
  8479.        directory/wildcard when  using sticky  directory listings.   Thanks to
  8480.        Sylvest Adam for this suggestion.   TheDraw supports  a ten  file pick
  8481.        list now.   This  maintains a  listing of the last ten files accessed.
  8482.        Simply press the TAB whenever TheDraw prompts for a filespec.  TheDraw
  8483.        now generates  Intel format  compatible object code files.  Useful for
  8484.        linking with Turbo Pascal v4.0 and above, C plus many other high-level
  8485.        languages.   The ruler  can now  be made  "sticky".   When active, the
  8486.        ruler stays on the screen appearing under the  current page  layer.  A
  8487.        few bugs  were fixed.   The  problem with ansi animation files getting
  8488.        confused  when  saved  without  screen  preparation  has  been solved.
  8489.        Thanks to Terry Blake for reporting it.  Alt-O now properly allows you
  8490.        to change  drives.    A  minor  glitch  with  animation  include files
  8491.        dropping characters  has been  solved.  Finally, the directory listing
  8492.        handles the mouse in a more predictable/controllable manner.
  8493.        ____
  8494.  
  8495.        03/01/91 - Version 4.00
  8496.  
  8497.        A great number of changes, additions, and improvements.  First the bug
  8498.        fixes:   Garry Kraemer  found the  uncruncher wasent  in sync with how
  8499.        TheDraw handled flashing characters.    Michael  Harris  discovered it
  8500.        was possible  to select  a page  0 in version 3.30.  Paul Furman noted
  8501.        BSAVE files was not quite compatible with Basic, lacking a termination
  8502.        sequence.   Carter Downer  noted that 80 column Ansi files produced by
  8503.        TheDraw were not fully compatible with bulletin board systems.
  8504.  
  8505.        New features are:  EGA/VGA screen  editing (43/50  lines for EGA/VGA).
  8506.        A virtual  screen edit  buffer was  added, allowing  screens up to 160
  8507.        characters by 50 lines can  be  edited.    Mouse  aided  line drawing;
  8508.        pressing the  middle mouse button down and moving will draws a line or
  8509.        box.  All cursor keys now function throughout  TheDraw.   Line drawing
  8510.        now tolerates bumping into the screen border.  New animation scanners:
  8511.        Doors*,  Diamond*,  Circle*,  Clock*,   Checkerboard,  and  Wiggleout.
  8512.        Thanks to  Guy StarBuck for suggesting the first four.  The ability to
  8513.        reverse any  animation scan  (making the  scan go  backwards) was also
  8514.        added.   Thanks to  Dorothy Hade  for this excellent suggestion.  User
  8515.        Ctrl sequences permitting BBS operators to install custom Ansi codes.
  8516.        The last animation improvement  was the  ability to  append -ANY- file
  8517.        format  (except  .TD)  to  an  animation sequence.  For non-ansi/ascii
  8518.        files, TheDraw requests an animation scanner to reading the screen.
  8519.  
  8520.  
  8521.  
  8522.  
  8523.  
  8524.        TheDraw v4.50              History              132
  8525.  
  8526.  
  8527.  
  8528.  
  8529.  
  8530.                   REVISION HISTORY (cont)
  8531.  
  8532.        (v4.00 cont)
  8533.  
  8534.        Block and global character/attribute  replace  has  been  added.   The
  8535.        default load  filename extension can now be changed to something other
  8536.        than  ANS.    An  online  setup  menu  was  added  to  TheDraw, making
  8537.        configuration of the environment much easier.  Two additional COM file
  8538.        formats were added, with TheDraw transparently  selecting the  best of
  8539.        the three for a given application.
  8540.  
  8541.        Ascii files  can now  be forced to have carriage returns placed on the
  8542.        end of each line.  ALT-Key pop-up help screen added.  TheDraw  can now
  8543.        save  backup  files.    The  ALT-Left/Right key sequence delete/insert
  8544.        columns.  Automatic screen blanking was added.  Dos Shell now attempts
  8545.        to swap  out information to EMS memory or a disk swap file to increase
  8546.        available memory  during the  shell.   Lastly (whew!),  TheDraw can be
  8547.        made  to  prompt  to  save  changes  before exit.  Either just for the
  8548.        current page, or for all page layers.
  8549.        ____
  8550.  
  8551.        03/18/91 - Version 4.01
  8552.  
  8553.        A minor correction to the .OBJ  file  format  loader,  the  Last Block
  8554.        option works  properly now,  plus a  couple other  minor fixes to bugs
  8555.        somehow squirming through testing.   The  presentation program (THEPP)
  8556.        now  properly  displays  TheDraw  format  files saved with sprite mode
  8557.        turned on.
  8558.  
  8559.        ----
  8560.        Version  numbers  4.10  through  4.40  skipped   because  unauthorized
  8561.        (illegal) modification of TheDraw v4.00 by an individual.
  8562.        ----
  8563.  
  8564.        03/16/92 - Version 4.50
  8565.  
  8566.        Over  50  improvements  and  corrections.  Bug fixes include corrected
  8567.        Ansi file generation, improved QuickBasic support,  cleaned up various
  8568.        screen  display  quirks  associated  with  the  virtual  edit  buffer,
  8569.        problems  with  column  insert/delete,  better  handling  of  switches
  8570.        between 25  and 43/50  line buffers,  difficulty with read-only marked
  8571.        files, quirks with screen  blanker, better  handling of  bell codes in
  8572.        Ansi files,  problem with  Sticky ruler  not being saved to .TD files,
  8573.        glitches with refreshing display in animation mode, plus several other
  8574.        minor improvements.
  8575.  
  8576.  
  8577.  
  8578.  
  8579.  
  8580.  
  8581.  
  8582.  
  8583.        TheDraw v4.50              History              133
  8584.  
  8585.  
  8586.  
  8587.  
  8588.  
  8589.                   REVISION HISTORY (cont)
  8590.  
  8591.        (v4.50 cont)
  8592.  
  8593.        Thanks to:
  8594.       Steven Fischkoff for finding bug with animation scramble scanner.
  8595.       J. T. Merrill for finding problem with THEPP when displaying
  8596.         animated files.
  8597.       Warren Leadbeatter for pointing out circumstances where unwanted
  8598.         blank lines could get inserted into Ansi files.
  8599.       Jeff Lawson for finding bug when loading read-only files, saving
  8600.         small  (less   than  512  bytes)  object  files,  and  suggesting
  8601.         improvements for the QuickBasic MAKEQLB batch file.
  8602.       Ian Thurston for supplying a example for the Clipper compiler.
  8603.       Joe Fischer (and others) for helping identify glitch with Ansi
  8604.         saves relative to spurious linefeeds in the top video line.
  8605.  
  8606.        Improvements include  encrypted screen  data to  thwart hack attempts,
  8607.        internal Ascii  class font  support, true  restore/undo facility which
  8608.        can reverse any screen operation, a 23 line  edit buffer  (very useful
  8609.        for BBS  screen generation), improved cursor viability when foreground
  8610.        and background colors  are  the  same,  pull  down  menus  now display
  8611.        shortcut  keystrokes,   file  directory   used  with  load/view/delete
  8612.        function now  show directories,  more efficient  Ansi file generation,
  8613.        mouse users can now click on items in status line (when pulldown menus
  8614.        displayed) as shortcut for common commands.  Enjoy!
  8615.  
  8616.  
  8617.  
  8618.  
  8619.  
  8620.  
  8621.        (R) = Feature in Registered Version of TheDraw Only
  8622.  
  8623.  
  8624.  
  8625.  
  8626.  
  8627.  
  8628.  
  8629.  
  8630.  
  8631.  
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.  
  8642.        TheDraw v4.50              History              134
  8643.  
  8644.  
  8645.  
  8646.  
  8647.  
  8648.                     THE FUTURE
  8649.  
  8650.  
  8651.        Look for these features in the next release of TheDraw:
  8652.  
  8653.         TheDraw  Library  Files  -  Files  which  can  hold multiple
  8654.         screens, screen blocks, etc... along with descriptions.
  8655.  
  8656.        Send in  your ideas,  suggestions, criticisms and bug reports.  Report
  8657.        something first and be immortalized in the docs of TheDraw!
  8658.  
  8659.        If you ever find a copy of TheDraw  with a  version number  other than
  8660.        one  listed  above,  please  take  the  time  to write us a quick note
  8661.        describing it.  Thank you!
  8662.  
  8663.  
  8664.  
  8665.  
  8666.  
  8667.  
  8668.  
  8669.  
  8670.  
  8671.  
  8672.  
  8673.  
  8674.  
  8675.  
  8676.  
  8677.  
  8678.  
  8679.  
  8680.  
  8681.  
  8682.  
  8683.  
  8684.  
  8685.  
  8686.  
  8687.  
  8688.  
  8689.  
  8690.  
  8691.  
  8692.  
  8693.  
  8694.  
  8695.  
  8696.  
  8697.  
  8698.  
  8699.  
  8700.  
  8701.        TheDraw v4.50                           135
  8702.  
  8703.  
  8704.  
  8705.  
  8706.  
  8707.                      COMMENTS
  8708.  
  8709.  
  8710.        Please consider registering for the amount  of $22.   Quality software
  8711.        at good  prices is  very difficult to find.  We at TheSoft Programming
  8712.        Services firmly  believe  in  and  support  the  concept  of shareware
  8713.        products, and  hopefully you  do also.   Please make any checks out to
  8714.        TheSoft Programming Services.  If you  have any  requests, comments or
  8715.        suggestions for TheDraw, please send them to:
  8716.  
  8717.  
  8718.  
  8719.                TheSoft Programming Services
  8720.                c/o Ian Davis - TheDraw
  8721.                P.O. Box 7657
  8722.                Fremont, CA, 94537-7657
  8723.  
  8724.  
  8725.  
  8726.        Thanks for your support!
  8727.  
  8728.  
  8729.  
  8730.  
  8731.  
  8732.  
  8733.  
  8734.  
  8735.  
  8736.  
  8737.  
  8738.  
  8739.  
  8740.  
  8741.  
  8742.  
  8743.  
  8744.  
  8745.  
  8746.  
  8747.  
  8748.  
  8749.  
  8750.  
  8751.  
  8752.  
  8753.  
  8754.  
  8755.  
  8756.  
  8757.  
  8758.  
  8759.  
  8760.        TheDraw v4.50                           136
  8761.