TheDraw Version 4.63 Color and Monochrome Screen Image Generator/Editor Operation Manual COPYRIGHT (C) 1986-1993 by TheSoft Programming Services and Ian E. Davis All Rights are Reserved TheSoft Programming Services P.O. Box 7657 Fremont, CA. 94537-7657 Written using Turbo Pascal v6.0 PREFACE This document is Copyright (C) 1988-1993 by TheSoft Programming Services. All rights are reserved. This document is 163 pages long. The computer software programs TheDraw (TM) and TheDrawR (TM) are Copyright (C) 1986-1993 by TheSoft Programming Services. All rights are reserved. TheDraw and TheDrawR are registered trademarks of TheSoft Programming Services. Other brand and product names are trademarks or registered trademarks of their respective holders. NOTICE: Irresponsible individuals have seen fit to modify and then distribute changed copies of TheDraw. These typically have the altered version numbers of 4.30, 5.00, 6.00, or 6.50. Users are should delete any copies of the archives (ie: TDRAW500.ZIP) they find. Steps have been taken to avoid this type of hacking in the future. The latest release of TheDraw is always on the following BBS's: The Great American Dream Machine (sysop Dave Gentry) Phone: 510-581-3019 Fidonet file requests: Node 1:215/215, Magic name "THEDRAW" Downloading the TDRAW463.ZIP archive: To enter "<*> TheDraw Support Area" Type [*] "ownload TheDraw Latest Version" Type [D] Leaving a message inquiry: To enter "<*> TheDraw Support Area" Type [*] "

ost Messages to Other Users" Type [P] Address message to "Ian Davis" ------------------------------------------------------------- Sysops on the Fidonet Node List may also obtain TheDraw from: The Late Night BBS (sysop Carter Downer) Phone: 315-564-5700 Fidonet file requests: Node: 1:2608/15, Magic name "THEDRAW" Although mentioned elsewhere, you are urged to write if you ever find a suspicious copy of TheDraw. The sooner we find out about "hacks", the sooner corrective action can take place. TheDraw v4.63 Preface i PREFACE (continued) THEDRAW FIDONET ECHO: A new Fidonet echo dedicated to TheDraw is being established. Ask your local bulletin board system operator to request hookup from Carter Downer (the moderator) via netmail on node 1:2608/15. Carter will respond with specific information on linking up with the distribution Hub. THE ADDRESS: Lastly, with TheDraw v4.50 our address for placing orders changed. Please send all new orders and inquiries to TheSoft Programming Services, P.O. Box 7657, Fremont, CA. 94537-7657. The old address at 1929 Whitecliff Court, Walnut Creek, CA, 94596 will still accept orders however for quite some time (such is the shareware business). TheDraw v4.63 Preface ii LICENSE TheDraw is not a Public Domain program and is not free. TheDraw is copyright (C) 1986-1993 by TheSoft Programming Services. Non-registered users of this program are granted a limited two-week license to TheDraw to evaluate the programs suitability for their requirements. Any usage of TheDraw beyond the evaluation time period requires registration of each copy of the program used. Use of non- registered copies of TheDraw beyond the original evaluation period is prohibited. TheDraw may NOT be modified in any respect, for any reason, including but not limited to, de-compiling, disassembling, or reverse engineering of the program. The opening title screen, help screens, and all other proprietary program output must never be altered, removed, bypassed or modified by any means. You are free to distribute the PUBLICLY AVAILABLE shareware version of TheDraw to others subject to the above restrictions and also the following: A. No fee is charged for its use. B. No renumeration may be accepted for TheDraw. This does not apply to computer access charges the system operators (Sysops) of or organizations owning bulletin board systems, online services, etc... may charge subscribers. C. TheDraw must be copied in unaltered form, complete with files containing license information, the FULL documentation and all accompanying files. The self-extracting archive distributed by TheSoft must not be altered in ANY respect. D. All shareware houses/distribution firms must make explicitly clear that the diskette purchase containing any shareware program has NOT registered the shareware with TheSoft. System Operators may make TheDraw available for download only if the above conditions are met. The archive (TDRAW451.ARJ) distributed by TheSoft or an equivalent archive may be made available only in complete form. Refer to section FILE LISTING to verify complete package contents. If the contents appear altered or not complete, you may obtain the latest release of TheDraw directly from TheSoft by sending a formatted diskette labeled with the word "THEDRAW". Please include $5 for handling. An alternate means of obtains the latest shareware archive is calling The Great American Dream Machine at (510) 581-3019. See preface for download instructions and how to leave comments. TheDraw v4.63 License iii Commercial distributors of "Public Domain", "Shareware", and/or User Supported software may distribute TheDraw subject to the above conditions only after obtaining WRITTEN permission from TheSoft Programming Services. This condition statement supersedes all previous agreements. Please refer to the section entitled registration/ordering section for additional information on registration, corporate site-licensing and related topics. ----- The above license statement does not apply to the REGISTERED version of TheDraw. The registered software of TheSoft Programming Services is protected under United States Copyright and Trademark Laws. It must be treated just like a book with certain exceptions as follows: A. TheSoft Programming Services authorizes the making of archival copies of the registered software for the sole purpose of backing-up your software and protecting your investment from possible loss. B. The medium on which the registered software is recorded is transferred to the customer, but not the title to the software. C. The customer may resell or distribute unmodified copies of the registered software provided the customer has purchased from TheSoft Programming one copy of the registered software for each one sold or distributed. The provisions of this software license shall also be applicable to third parties receiving copies of the registered software from the customer. D. By saying, "just like a book", TheSoft Programming means that the registered software may be used by any number of people and may be freely moved from one computer location to another so long as there is ABSOLUTELY NO POSSIBILITY of it being used at one location while being used at another. Just like a book that cannot be read by two different people in two different locations at the same time. TheDraw v4.63 License iv ORDERING INFORMATION Once a registered user of TheDraw, you are free to utilize the program as often as you wish. Other than having a clear conscience, there are many advantages to registered. You receive in the mail a registered version of TheDraw with configurable editor commands, enhanced editing facilities, context sensitive pop-up help, built in color shading screen, and macro keys. You are also notified via mail when significant enhancements have been made. Once registered, all upgrades are available for a $5 upgrade fee plus the original TheDraw diskette (see below). To register, just send $20 plus $2 shipping/handling. You receive the latest shareware and registered versions of TheDraw on disk along with documentation (on 5.25" diskette) and utilities. If you want to receive TheDraw on a 3.5 inch diskette, add an additional $3 for each diskette ordered. If unsure, you can receive the latest shareware version of TheDraw for evaluation by sending $5 along with a note indicating what you would like (TheDraw in this case). Please use the following form or print the included file "MAILER" when placing an order. ----- NON U.S. residents, draw all checks on U.S. funds in U.S. dollars. Also add $5 for overseas handling. Canadians can obtain postal money orders in U.S. denomination easily. UPGRADING TO LATEST VERSION OF THEDRAW Users who have registered (and received a diskette) may upgrade to the latest version of TheDraw by sending in their TheDraw ORIGINAL DISK, along with $5 plus $2 (shipping/handling). Please use the following order form when upgrading. If there has been an address change, please indicate so on the order form. The original disk must be returned and contain the registered version of TheDraw. The disk will be reformatted and the current Master copied onto it. Any disk in poor condition will be replaced by TheSoft. If the serial number label is missing or the diskette does not contain the registered version of TheDraw, the update will be refused and the diskette returned unchanged. TheDraw v4.63 Ordering v Please Remit To: TheSoft Programming Services P.O. Box 7657 Fremont, CA. 94537-7657 Qty. Description Each Total ____ TheDraw Upgrade to version 4.63 $5.00 ________ (You must return your original diskette containing your copy of the registered version of TheDraw) ____ TheDraw Registration with 5.25" diskette $20.00 ________ (Registration including diskette with the latest shareware and registered program versions along with manual on diskette) ____ TheDraw Registration with 3.5" diskette $23.00 ________ (same as above except on new size media) Subtotal ________ (CA residents add appropriate sales tax) Tax ________ (U.S. disk orders add $2 shipping & handling) Shipping ________ (Foreign disk orders add $5 shipping) TOTAL $________ Name: ________________________________________________________ Company: ________________________________________________________ Address: ________________________________________________________ ________________________________________________________ ________________________________________________________ Checks/money orders must be drawn on U.S. accounts in U.S. dollars. Foreign currency is not accepted. Sorry, no C.O.D. orders taken. TheDraw v4.63 Ordering vi PURCHASE ORDER TERMS AND REQUIREMENTS _____________________________________ Purchase Orders less than $100 must be pre-paid. Terms are net 30 days. Freight is prepaid by TheSoft. Lead time: Stock items. Tax exceptions: Include appropriate documentation. Contact TheSoft for voice verification if required. TheDraw v4.63 Ordering vii SITE LICENSE If you plan on using TheDraw in a corporate, government office, or in any business environment whatsoever, registration is mandatory and the two week limited license is strictly enforced. For such users, quantity discounts are available under a Site License agreement. The site license (corporate and governmental) is for use of the software within your company or government agency, and is not transferable. This allows internal use and copying of the software for as many sites / computers as contracted for. An unlimited Site License allows unlimited copying of the software for internal use by your company or government agency. Distributing, repackaging, or reselling of the software to third parties is not allowed. All licenses are prepaid. One MASTER copy of TheDraw (with documentation) will be provided on diskette. The site is responsible for printing the documentation and copying the diskettes for distribution. Additional master copies may be purchased from TheSoft Programming for $5.00 per diskette. With all site licenses, the site will supply one contact person with which all correspondence will be made. If a problem should occur, the contact person will call and make arrangements to get a fix for the glitch. Updates to TheDraw will be forwarded to the contact person. When filling out the order form, use the contact persons name to avoid confusion at a later date. Following is the current site license discount rates: TOTAL COPIES DISCOUNT UNIT COST 1 - 4 none $20.00 5 - 10 10% $18.00 11 - 20 20% $16.00 21 - 30 30% $14.00 31 - 50 40% $12.00 51 - 100 50% $10.00 101+ 60% $8.00 An unlimited site license may be purchased for $2500.00 NOTE: All discounts and prices are subject to change without notice. Also note that discounts are not cumulative and apply to separate orders only. Please write if you wish to obtain a site license. A printed copy of the license will be mailed for you to fill out, sign, and return. Once the order has been approved, a copy if the license signed by an authorized TheSoft Programming Services representative will be shipped along with the master diskette. TheDraw v4.63 Site Licensing viii WARRANTY TheDraw and accompanying files are provided AS IS without any warranty, expressed or implied. This includes without limitation the fitfulness for a particular purpose or application and any warranties of merchantability. While we tried to be as thorough as possible in preparing TheDraw, TheSoft Programming Services shall not be liable for any damages, whether direct, indirect, special, incidental or consequential arising from a failure of this program or accompanying files to operate in a manner desired by the user. TheSoft Programming Services shall not be liable for any damage to data or property which may by caused directly or indirectly by use of this program. In no event will TheSoft Programming Services be liable to you for any damages, including any lost profits, lost savings or other incidental or consequential damages arising out of your use or inability to use the program, or for any claim by any other party. Individuals using the software bear all risk as to its quality and performance. ----- If you have a problem with TheDraw please feel free to write and describe the situation. Registered users, please include the serial number found on your diskette. To those people who have registered (with diskette), the physical diskette is warranted against defects in materials and workmanship for a period of 60 days from date of shipment by TheSoft. Any returned disks found damaged or bad will be replaced at no charge. TheDraw v4.63 Warranty ix TABLE OF CONTENTS Preface ...................................................... i License Single User License ....................................... iii Giving out Copies ......................................... iii System Operators (Sysops) Info ............................ iii Software Distributors - Read this ......................... iv Registered Version License Agreement ...................... iv Ordering Information Registration .............................................. v Upgrading to Latest Version of TheDraw ................. v Registration ........................................... v Getting a Trial Copy ................................... v Getting a 3.5 inch diskette ............................ v Invoice Order Form ........................................ vi Purchase Order Terms and Requirements ..................... vii Tax Exceptions ......................................... vii Site Licensing ............................................ viii Warranty ..................................................... ix Introduction ................................................. 1 Definitions .................................................. 3 System Requirements .......................................... 4 Multitasking Environments ................................. 4 Windows 3.1 ............................................... 4 Getting Started .............................................. 5 File Listing .............................................. 5 Installing TheDraw ........................................ 6 Customizing TheDraw ....................................... 6 Starting TheDraw .......................................... 7 Leaving/Exiting TheDraw ................................... 7 Creating your First Screen ................................ 7 Saving your First Screen ............................... 8 Exiting TheDraw and Viewing your First Screen .......... 9 Egads! What Happened? ................................. 9 Editing your First Screen ................................. 9 Changing Colors ........................................ 10 Painting the Screen .................................... 10 Making your Second TheDraw Screen ......................... 11 Drawing Lines .......................................... 11 Marking a Block ........................................ 12 Using Sprite mode ...................................... 13 TheDraw v4.63 x Animating your Second TheDraw Screen ...................... 15 Selecting a Scan Pattern ............................... 15 Viewing the Animation Sequence ......................... 16 Saving Animation ....................................... 16 The Example Files ......................................... 17 Operating TheDraw ............................................ 19 Command Line Filespecs .................................... 19 The Status Line ........................................... 19 HELP! ..................................................... 20 Cursor Control ............................................ 20 Mouse Control ............................................. 21 Command Summary ........................................... 22 The Animation System ......................................... 23 What is Animation? ........................................ 23 Animation Basics .......................................... 24 A Simple Example .......................................... 24 Making a Block Move ....................................... 25 Easy Animation ............................................ 27 Animation Scan Patterns ................................ 27 Recording Cursor Movements ............................. 28 Editing and Deleting Animation Entries .................... 28 Changing your Animation Scan Pattern ................... 29 Advanced Animation Editing ................................ 29 Editing Partial Animation Sequences .................... 29 Animation Limiting .................................. 29 Animation Markers ................................... 30 Include Files .......................................... 30 Making Custom User Control Sequences ................... 30 Tricks and Techniques ..................................... 31 Use of Colors .......................................... 31 Shading ................................................ 31 Shadowing .............................................. 32 Pausing ................................................ 33 Pitfalls and Limitations .................................. 33 Tips and Examples for Programmers ............................ 34 Programming in Assembler .................................. 34 Programming in Pascal ..................................... 36 Turbo Pascal v4.0 through v5.5 ......................... 38 Turbo Pascal v6.0 and v7.0 ............................. 40 Programming in C .......................................... 41 Using Object Files with C .............................. 43 Programming in Standard Basic ............................. 44 Programming in Microsoft QuickBasic v4.0 and v4.5 ......... 45 Making and Using Quick Libraries ....................... 46 The Display Routines ................................... 47 Command Line Compilation ............................... 50 Programming in Clipper(tm) ................................ 51 TheDraw v4.63 xi Pull-Down Menu System ........................................ 55 The FILES Menu ............................................ 55 The GLOBAL Menu ........................................... 57 The OPTIONS Menu .......................................... 58 Setup Default Options .................................. 59 The SCREEN Menu ........................................... 62 The FONTS Menu ............................................ 64 Standard Font .......................................... 64 Choosing a Font Outline ................................ 64 Font Selection ......................................... 65 The ANIMATION Menu ........................................ 66 The COLOR Menu ............................................ 68 The TOGGLES Menu .......................................... 69 The HELP Option ........................................... 71 The QUICK PALETTE Window .................................. 71 TheDraw Keyboard Commands .................................... 72 Alt-A Change Text Color Attributes ....................... 72 Color Shading Screen ............................. 73 Alt-B Block Action Commands .............................. 73 Copy a Block ..................................... 74 Move a Block ..................................... 75 Fill a Block ..................................... 75 Block Text Operations ............................ 76 Delete a Block ................................... 77 Erase a Block .................................... 77 Block Replace Operations ......................... 77 Load a Block (normal mode only) .................. 78 Save a Block (normal mode only) .................. 78 Fadeout a Block (animation mode only) ............ 78 Rescan a Block (animation mode only) ............. 78 Alt-C Clear Current Screen ............................... 78 Alt-D Set Default Clear Screen Color ..................... 79 Alt-E Change Page Layer Edit Screen ...................... 79 Sprite Editing ................................... 80 Alt-F View Function Key Sets ............................. 81 Alt-G Global Commands .................................... 82 Copy Screen ...................................... 82 Move/Rotate Screen ............................... 82 Fill Screen ...................................... 82 Fadeout Screen ................................... 83 Text Operations .................................. 83 Replace Operations ............................... 84 Alt-H Display Help Information ........................... 85 Alt-I Insert a Line ...................................... 85 ALT-J Animation Options .................................. 85 From Normal Edit Mode ............................ 85 From Animator Mode ............................... 88 Include - Specify Animation Include Files ...... 88 Ansi Music ................................... 89 User_Seq - Specify User Control Sequences ...... 89 Limit - Specify Animation Limiting ............. 90 TheDraw v4.63 xii Marker - Specify Animation Markers ............. 91 Movement - Toggle Storage of Cursor Movement ... 92 Normal - Convert to Normal Edit Mode ........... 92 Rescan - Rescan All Screens for New Sequence ... 92 Pause - Animation Pausing ...................... 92 Alt-K Delete a File ...................................... 93 Alt-L Load Screen from Disk .............................. 93 Avatar/PCBoard/Wildcat ........................... 94 Binary/BSave/COM/Object/TheDraw .................. 95 TheDraw Library Files ............................ 95 Alt-M Select Draw Mode (toggle) .......................... 95 Alt-N Ruler .............................................. 96 Alt-O Change Drive/Sub Directory ......................... 96 Alt-P Paint/Fill Commands ................................ 96 Alt-Q AT-Code Quick Reference (normal mode only) ......... 97 Alt-Q Redraw Screen (animator mode only) ................. 97 Alt-R Restore/Undo Changes ............................... 98 Alt-S Save Screen to Disk ................................ 98 Ansi Text (.ANS) ................................. 98 Ascii Text (.ASC) ................................ 99 Avatar (.AVT) .................................... 99 AtCodes (PCBoard/Wildcat) (.PCB/.BBS) ............ 100 Binary Screen Dump (.BIN) ........................ 100 Basic BSave Screen Dump (.BSV) ................... 100 Dos COM Files (.COM) ............................. 101 Assembly Language (.ASM) ......................... 101 Turbo Pascal (.PAS) .............................. 102 C Language (.H) .................................. 102 Intel Compatible Object Code (.OBJ) .............. 102 Object File Data Formats ...................... 103 TheDraw Setup Save (.TD) ......................... 104 TheDraw Library Save (.TDL) ...................... 104 Typing in the Filename ........................... 105 Alt-T Tab Setup .......................................... 105 Alt-U Use Color under Cursor ............................. 106 Alt-V View a Screen (not load) ........................... 106 Alt-W Edit Character (animator mode only) ................ 106 Alt-X Exit TheDraw ....................................... 106 Alt-Y Delete Current Line ................................ 107 Alt-Z Erase Cursor Character (animator mode only) ........ 107 Alt-/ Pick Character for Manual Painting ................. 107 ALT-[LEFT] Delete Current Column ......................... 108 ALT-[RIGHT] Insert a Column ............................... 108 Alt-- Toggle Color Draw Mode ............................. 108 Alt-= Toggle Macro Learning Mode ......................... 108 Manual Painting (SHIFT-UP/DOWN/LEFT/RIGHT) ................ 109 Alternate Color Change Options (CTRL-UP/DOWN/LEFT/RIGHT) .. 109 Solid Spaces (SHIFT-SPACE) ................................ 110 Full Screen Editing (CTRL-PRTSC) .......................... 110 TheDraw v4.63 xiii The Font Editor (TDFONTS) .................................... 111 Running TDFonts ........................................... 111 Viewing a Font ............................................ 112 Changing a Font ........................................... 112 Editing Symbols ........................................ 113 Edit Modes .......................................... 113 Editing Outline Type Fonts .......................... 114 Reserved Characters ................................. 115 Delete Symbol .......................................... 115 Copy Symbol ............................................ 115 Change Font Spacing .................................... 116 Making New Fonts .......................................... 116 Moving a Font ............................................. 116 Renaming Fonts ............................................ 117 Deleting a Font ........................................... 117 Font Importing ............................................ 117 Font Exporting ............................................ 117 The Screen Capture/Grabber Utility (THEGRAB) ................. 118 The Presentation Program (THEPP) ............................. 120 The Setup Utility ............................................ 124 Why Setup? ................................................ 124 Display Windows and Selecting Options ..................... 125 Saving and Aborting Changes ............................... 125 Running Setup ............................................. 125 Main Menu .............................................. 125 Editor Configuration ................................ 126 Changing a key entry ............................. 126 Allowed Keystrokes ............................... 126 Keyboard Customize .................................. 127 Screen Mode ......................................... 127 Colors .............................................. 129 Files Directory ..................................... 129 Memory Usage ........................................ 130 Defaults ............................................ 130 Quit/Save ........................................... 131 Appendix A: Setting up CONFIG.SYS ........................... 132 Appendix B: Extended/Special Character Set .................. 133 Appendix C: Common Questions & Answers ...................... 134 Revision History ............................................. 138 The Future ................................................... 147 Comments ..................................................... 148 TheDraw v4.63 xiv INTRODUCTION TheDraw is a powerful screen image generator/editor for color and monochrome video users. What does that mean? Literally, TheDraw makes designing and figuring out a video screen display childs play. Its basic premise is this: be easy to use. The most novice computer user can make an Ansi text file screen with TheDraw in only minutes. From that point on, you can explore and use more of the horsepower available in TheDraw. Someone is probably saying "it edits screens... big deal". This type of person has never known the agony of creating a good looking menu or display for a program (assuming he/she programs), making a fancy batch file intro screen, or having to quickly put together a computer presentation for the boss. The biggest problem most people face is not knowing what looks good until we see it. Manual editing can literally take hours, but with TheDraw you free form until everything is perfect. Given the picture in mind, it's a snap to develop whatever is necessary or instruct TheDraw to create an appropriate file. Instead of hours, making a screen takes minutes. For the curious, TheDraw can transform your masterpiece into data files with the following formats: ANSI color text (useful in batch files, BBS's, etc...) AVATAR color text (for BBS's needing better modem transfer) PCBOARD BBS color text format WILDCAT BBS color text format ASCII text (compatible with word processors and text editors) BINARY files (generic, useful in most everything) BSAVE (for Basic) COM files (actual separate programs executable directly by Dos - Great for batch files and presentations) ASSEMBLER (source code for the die-hard) TURBO PASCAL (directly compilable source code) C (directly compilable source code) OBJECT (Intel format compatible, suitable for linking. Four varieties available for generic LARGE/SMALL data models, TURBO PASCAL v4.0+, and QUICKBASIC v4.0+) THEDRAW (custom format for fast loading and saving) LIBRARY (custom format for storing many screens together) TheDraw was long ago originally written as an improvement to a simple program named AnsiDraw written by Amrich Enterprises. Both programs provided similar operation, with TheDraw giving a much enhanced user interface. TheDraw v4.63 Introduction 1 TheDraw is now vastly improved over the abilities of AnsiDraw, and most other screen editors. It is compatible with systems that have 270k of free memory available. Monochrome and Color monitor users are supported, and a special keyboard driver allows you to redefine keystrokes that do not operate properly or are used by other programs (registered version). If you have an EGA or VGA video display, TheDraw permits editing on 43 or 50 line screens (respectfully). Normal color and multi-color ASCII FONTS are fully supported. These are large scale letters and symbols which span multiple lines. The are perfect for making welcome messages or notes of importance. Another feature TheDraw fully supports is ANIMATION. You can develop simple presentations quickly, or make generic screens appear with pizzazz. TheDraw can animate a static image, or animation sequences can be made from scratch; thus letting you fully control the appearance of your work. TheDraw gives you a maximum of 16000 separate animation "entries" to handle the most complex job. The final result can be saved to ANSI Animation, AVATAR Animation, TheDraw data files, or TheDraw library files. Please refer to section entitled "The Animation System" for more information. To use TheDraw right away, refer to "Getting Started with TheDraw". This section describes installation, and introduces using the program. Enjoy! TheDraw v4.63 Introduction 2 DEFINITIONS Throughout this documentation you may run across the occasional enigmatic word that needs explaining. The following are some examples you might come across: enigmatic - mysterious or cryptic [ENTER] or C/R - This represents the return key on the keyboard. If you see this in the text, press the Enter key; do not type the actual letters. ESC or [ESC] - Means to press the ESC key on the keyboard. [letter] - Means to press the actual key marked 'letter' on your keyboard. ie: [L]oad, [L], or [L]eft all mean press the letter 'L' key. Alt- - Alt- is always followed by another character. or Together, this symbol means to first press and [ALT-] hold down the ALT key on the keyboard then type the letter key following it. ie: [ALT-A] means hold ALT then press 'A'. Ctrl- - This is executed the same as the ALT key. [CTRL-] Press and hold down the CTRL then hit the or letter following. ie: CTRL-A and ^A mean the ^ same thing - hold CTRL then press 'A'. [LEFT] [RIGHT] - Means to press the corresponding keypad arrow [UP] [DOWN] key on your keyboard. Similar to the [letter] [TAB] etc... example shown above. ie: [UP] means to press the up arrow key. TheDraw v4.63 Definitions 3 SYSTEM REQUIREMENTS TheDraw requires an IBM PC/XT/AT or close compatible running MsDos 2.0 or higher. In addition, a monochrome adapter or color graphics display adapter (CGA, EGA, or VGA) plus monitor is needed to run properly. In a minimum configuration, 270 kilobytes of free memory are required. The maximum memory usage is 450k of memory (8 page layers, 16000 animation entries). TheDraw will always attempt to allocate all available memory up to the limits specified via the Setup utility. MULTITASKING ENVIRONMENTS TheDraw can be used under multitasking or windowing environments provided the full video screen is allocated to it. The program directly accesses video memory and the keyboard hardware for some functions. TheDraw does not use any high resolution graphics in its operation. TheDraw is known to operate under Double Dos except for minor problems. Double Dos disables certain keyboard sequences (notably Ctrl-PrtSc). For this situation, people with the registered version of TheDraw can use the Setup utility to redefine the function of Ctrl- Prtsc to another key. TheDraw operates under Microsoft Windows and Desqview provided memory and video requirements (as mentioned above) are taken care of. When Desqview is detected, TheDraw disables its normal video checks (to prevent undesirable video mode switching). Windows 3.1 users running TheDraw may wish edit any TheDraw PIF file or the _DEFAULT.PIF file. Under the "advanced" PIF options, make certain that the "Retain Video Memory" option is selected. Otherwise unexpected display behavior may occur. Note: It is easy to cause problems with some window environments if the user wishes. Working in another window while TheDraw attempts to refresh its screen may result in information being overwritten. TheDraw v4.63 System Requirements 4 GETTING STARTED Setting up TheDraw to operate on your computer is fairly easy. If you received TheDraw on diskette, we suggest you backup the disk before proceeding. It never hurts to play things safe. On registered diskettes obtained from TheSoft a batch file called INSTALL.BAT is included to simplify installation. The INSTALL batch file is not bundled with the shareware version of TheDraw. FILE LISTING The following lists those files included with the shareware version: Filename: Purpose: WHATSNEW.DOC Brief listing of new additions for this release. MAILER A registration form which when printed can be easily folded and mailed. No envelope is needed. FILE_ID.DIZ A short description file for BBS sysops. FILE.LST Text file also documenting this file listing TDFONTS.EXE TheDraw font editor utility. TDFONTS.TDF TheDraw font database file. THEGRAB.EXE TheGrab screen capture utility. SETUP.EXE TheDraw setup utility. THEDRAW.EXE Shareware version of TheDraw THEDRAW.DOC TheDraw User's Manual PRINTDOC.EXE Program to simplify printing out User's Manual Type "PRINTDOC [enter]" from the dos prompt. SHUTTLE2.ANS \ Example files showing off some of the capabilities DEMO.TD \ of TheDraw, plus demonstrations of what is possible. SHADING.TD / See section "THE EXAMPLE FILES" for descriptions. EFFECTS.TD / UNCRUNCH.ASM \ Implementations of the algorithm needed to display UNCRUNCH.PAS \ screen images compressed (crunched) by TheDraw. UNCRUNCH.H > The first is for assembly language, the second for UNCRUN_N.OBJ / Turbo Pascal, the third has external C declarations UNCRUN_F.OBJ / linking to routines in the UNCRUN_N & UNCRUN_F files. QB4UTIL.BI QuickBasic 4.x display routine declarations. QB4UTIL.LIB QuickBasic 4.x display routines in library form. MAKEQLB.BAT Batch file to simplify making Quick Libraries (.QLB and .LIB) for use with QuickBasic. TheDraw v4.63 Getting Started 5 The registered version of TheDraw adds the files: THEDRAWR.EXE Registered version of TheDraw THEDRAWR.HLP Context sensitive help file for registered version. TDREG.EXE Registered version installation utility. BAUDSIM.EXE Simulates the display of Ansi/Avatar/PCBoard/Wildcat text files over a modem. THEPP.EXE The Presentation Program utility. INSTALLING THEDRAW You will want all files frequently used placed onto either a "work" diskette or your hard drive. To reduce space requirements, most files are compacted. You should use INSTALL to obtain them. First, insert the distribution diskette into drive A. For floppy disk installation, type the command: A:INSTALL FLOPPY For hard disk installation, type the command: A:INSTALL HD After either command press [ENTER]. Simply follow the online instructions presented. Once done, you are all set to go. INSTALL will explain about the README file and PRINTDOC utility. The README file contains last-minute details about this release of TheDraw. The PRINTDOC utility handles sending this documentation to your printer. If you have never used TheDraw before, you may wish to read the section "Making your First TheDraw Screen" below. More experienced users might want to configure items and are referred to "The Setup Utility" section. CUSTOMIZING THEDRAW Many facets of TheDraw can be customized (colors, options, default preferences, etc...) using the external setup utility. Refer to the section called "The Setup Utility" for information on configuration. Some parameters are often changed when using TheDraw. The more common of these can be updated within TheDraw. See "Setup Default Options" under the section "Pull-Down Menu System". TheDraw v4.63 Getting Started 6 STARTING THEDRAW By this point you must be eager to start playing with TheDraw; by all means do so. If you're using a floppy disk drive, place your work diskette into Drive A and type the following command: THEDRAW (for shareware version) THEDRAWR (for registered version) Press [ENTER] to run the program and display the title screen. Tap a key, and then the edit screen appears. If you are using a hard disk, get into the TheDraw subdirectory created by the INSTALL batch file (the default is C:\THEDRAW). Run TheDraw by typing: THEDRAW (for shareware version) THEDRAWR (for registered version) at the prompt. Now everything is ready to make your first screen. LEAVING/EXITING THEDRAW Just a quick note regarding getting out of TheDraw. Should you need to leave the program at any time, press [ALT-X] from the edit screen. TheDraw prompts to verify. Type [Y]es or press [ENTER] to return to the dos prompt. CREATING YOUR FIRST SCREEN After starting TheDraw, and pressing a key to get past the title, what appears is the edit screen. The screen is blank except for the status line. The cursor is in the upper left corner. At this point, type in your name and address as you might on an envelope. Press [ENTER] after each line. ie: John Smith 123 ABC Street Somewhere, CA 12345 Use the [BACKSPACE] key to make deletions, and the arrow keys to move around in the edit area. TheDraw contains a wide variety of commands designed to make editing easier. To use some of these, try performing an elementary task; centering your address on the screen. TheDraw v4.63 Getting Started 7 There are a number of ways to accomplish centering. You could insert spaces onto each line (as if using a word processor), or insert entire blank columns. The easiest way though is using the provided text centering command. ie: o First press [ESC] to see the pull-down menu bar. Select the Global menu using the left/right arrow keys then type [T] for the "Text" command (a simpler way is the shortcut; type [ALT-G] from the edit screen for global screen functions, then [T]ext). o A prompt appears above the status line. Select the [C]enter option. Since global operations affect the entire screen, TheDraw centers -all- lines of your address horizontally. o Move the cursor to the top line using [UP] arrow key. Center the address vertically using the insert line command. The shortcut key is [ALT-I]. The command is also found in the Screen pulldown menu. Repeat four or five times to fully center the image. The last thing we want to do in this first screen is surround the address with a border outline. TheDraw has an easy global function for doing this also: o Select "Text" from the Global pulldown menu (once again). o Choose the [O]utline option. TheDraw responds by drawing a box around the edges of your address. There we have it, your first screen via TheDraw is complete! SAVING YOUR FIRST SCREEN: After all this work it makes sense to save your screen to disk. Press [ESC] to see the pull-down menu bar. Select the Files menu using the left/right arrow keys then type [S] for the "Save" command (shortcut would be typing [ALT-S]). TheDraw knows of fourteen different ways to save a screen. These vary from Ansi to a custom high speed library format. For now choose Ansi (with defaults) by pressing [ENTER] four times. At the filename prompt appearing next type in: ADDRESS.ANS Press [ENTER] to save. Note how TheDraw reports the number of output lines used. Ansi files are compressed as much as possible, sometimes down to a single line. Do not be surprised if this happens. TheDraw v4.63 Getting Started 8 VIEWING YOUR FIRST SCREEN: To see the results of the above, leave TheDraw by typing [ALT-X]. Answer [Y]es to the verify prompt. From the dos prompt, enter: TYPE ADDRESS.ANS Press [ENTER] to see the screen as it appeared within TheDraw. EGADS! WHAT HAPPENED? It is possible that instead of your address appearing, instead you were faced with a large amount of gibberish. Something like: ^[[40m^[[2J^[[2;1H^[[3;1H^[[4;1H etc... This means the Ansi device driver is missing. The Ansi driver translates special color and cursor control commands for the screen. TheDraw creates Ansi compatible files, but they only appear as intended when the device driver is present. To install the Ansi driver, please refer to Appendix A ("Setting Up CONFIG.SYS"). If you already installed the driver per Appendix A, something may be preventing it working or you need to reinitialize/reboot your computer. Device drivers are only installed when the computer "boots" up. Press [CTRL-ALT-DELETE] to reboot your system. EDITING YOUR FIRST SCREEN Time to try some more interesting things. Restart TheDraw and select "Load" from the Files pulldown menu. A listing of all available files is displayed. Type in: ADDRESS (TheDraw assumes the .ANS extension) Press [ENTER] to load your screen. Everything should now appear exactly as it did before leaving TheDraw previously. To spruce up your address, let's try adding some color. TheDraw v4.63 Getting Started 9 CHANGING COLORS: There are many ways to choose colors with TheDraw. For now select "Fore/Back" from the Colors pulldown menu (shortcut [ALT-A]). A screen showing two color groups appears. One for foreground colors and the bottom smaller group for background colors. You choose new colors either by using the arrow keys or typing the number associated with a color. Press [ENTER] once you decide. For example, to select a Yellow foreground (color 14) and a Blue background (color 1): Please Select Foreground Color (0-31): 14 [ENTER] Please Select Background Color (0-7): 1 [ENTER] After pressing [ENTER] for the background color, you return to the edit screen. Note the color example in the status line was updated. PAINTING THE SCREEN: To see the new color, put the cursor inside the outline box made earlier. Now select "Paint/Fill" from the Options pulldown menu. Painting in TheDraw refers to the effect of pouring "paint" onto the screen. The pouring starts where the cursor is located. You can paint just color attributes, just character symbols, or any combination. We want only the address colors to change. Thus: o Choose [A] for Attributes. Notice how painting is blocked by the lines of the address outline. o Use the color change command again, this time selecting Light Green on Black (foreground = 11, background = 0). o Once back at the edit screen, move the cursor out away from the outline box. o Select "Paint/Fill" once more, choosing the [B]oth option. o When TheDraw prompts for a fill character; type in a forward slash "/" symbol. Your address is now an island in the middle of a green field. Save these changes as described previously this time using the filename: ADDRESS2.ANS Press [ENTER] to save the screen to disk. TheDraw v4.63 Getting Started 10 MAKING YOUR SECOND THEDRAW SCREEN Now for a little more pizazz. For this screen lets experiment duplicating the special effects found in the DEMO.TD example file (more or less). To see the sample file beforehand, use the "Load" option from the Files pulldown. Type in: DEMO.TD Press [ENTER] to load it. Follow the on screen instructions for a quick introduction to the block and sprite features. These will be explained below as your own version of this example gets put together. To get rid of the DEMO.TD example, choose the "Clear Page" option from the Screen pulldown (shortcut [ALT-C]). Answer [A]ll to the first verify prompt, and [Y]es to the second verify. This completely clears away everything. DRAWING LINES: Position the cursor at column 10, line 5. Use the arrow keys until the status line coordinates read (10, 5). In the first screen we used the Global Outline command to draw a box around your address. TheDraw has another way of drawing lines too. From the Toggles pulldown, choose "Draw Mode" to turn on line drawing mode (shortcut [ALT-M]). Moving the cursor now draws a line. Also note the word "Draw" in the status line. Lets make a small box. The arrows below indicate the cursor movements required to produce the box. Note the special attention given to finishing off the last corner (step 5): Ŀ Ŀ Ŀ ^Ŀ Ŀ v ^ v ^ v Step 1 Step 2 Step 3 Step 4 Step 5 Turn off line drawing using the Toggles pulldown or press [ALT-M] again. Following the above guide, we moved horizontally six spaces and vertically three lines to create the box. The end result however is seven characters wide, and four lines deep. TheDraw v4.63 Getting Started 11 Move the cursor to coordinates ( 6, 3) and repeat the box procedure. This time move horizontally 14 spaces instead of 6, and vertically 7 lines instead of just 3. You end up with: Ŀ Ŀ These are the exact dimensions of the blue box in the DEMO.TD example screen. To colorize the double box, we'll use a block command. Note: Please refer to the section "SELECT DRAW MODE" for more discussion on line drawing. MARKING A BLOCK: One of TheDraw's most useful features is its block editing facility. You can carry out a wide variety of operations on specific parts of the screen. Areas can be copied, moved, erased, deleted, filled, have text operations performed, saved, etc... Several block commands are mirrors of the global screen functions you have already seen. To color the double box, let's first choose some new attributes. Press [ALT-A] and pick a Yellow foreground (color 14) on a Blue background (color 1). Marking means highlighting the area you want block operations performed on. Begin marking a block by pressing [ALT-B]. Position the cursor on the upper-left corner of the large box and press the [SPACE] bar. Now move the cursor to the lower-right corner of the large box and press [SPACE] again. Notice how the existing colors are emphasized to clearly show the block mark. Mouse Users: Move the cursor to the upper-left corner. Press and hold down the LEFT mouse button. Now drag the cursor to the lower-right corner and release the left button. All block options are now displayed. Select [F]ill, and the suboption [A]ttributes to colorize the double box to yellow on blue. Other fill suboptions affect just foreground colors, just backgrounds, just characters (without affecting color), or both colors and characters. TheDraw v4.63 Getting Started 12 There is one more step before the double box is finished. The inside region of the small box must be erased. Let's use another block to accomplish this: o Position the cursor to coordinates (11, 6). This is the upper- left corner of the inside region. o Mark a block covering all the inside region. o Lastly, select the block option [E]rase. There you have it; a replica of the blue box in DEMO.TD! Blocks are invaluable for making alterations of any sort. USING SPRITE MODE: While following the DEMO.TD example, you saw the red box on page 2. Until now all our editing was done on page 1, but TheDraw can handle up to eight pages. One possible use is block copying regions from one screen to another. Normally you see only single pages, totally separate from one another. Sometimes however, it is useful to see all the pages at once. TheDraw calls this Sprite mode. Pages are treated as glass sheets stacked atop one another. You are positioned over the topmost "glass sheet" (page 1) looking down. ie: Ŀ . . . . Bottommost Page Ŀ 8 Ŀ Ŀ . 3 . Topmost Page 2 1 The DEMO.TD example uses Sprite Editing. The blue box is on page 1, but the red box is on page 2. The blue box appears over the red one because of the glass sheet effect. The red box would appear over anything on page 3, and so on... Now to try out Sprites in our screen. We need a visible object on the second page. The following draws a box for this purpose: o Change to page 2. Do this by choosing "Select Page" from the Screen pulldown, or typing [ALT-E] (the shortcut). Press the "2" key for the second page layer. TheDraw v4.63 Getting Started 13 o Pick "Fore/Back" from the Colors pulldown (shortcut is [ALT-A]) and select the colors of Light Red on Red (foreground=12, background=4). o Position the cursor in the upper-left corner of the screen- coordinates ( 1, 1). o Press [ALT-B], and hit the [SPACE] bar. Move to coordinates (12, 6) then hit [SPACE] the second time. o Choose the [T]ext option, and then the [B]ox suboption. TheDraw draws a red box on the screen. o Move the cursor inside the box, and select "Paint" from the Options pulldown menu. Select the [B]oth option, and press the minus key "-" for a fill character. Page 2 now contains an object which will soon act as a sprite. Switch back to page 1 by typing [ALT-E] and then the "1" key. If you loaded the DEMO.TD example earlier, TheDraw is already in sprite mode. You can tell by how the page number appears. ie: "Page:1" Sprite mode is off "PAGE:1" Sprite mode is on (word is capitalized) If sprite mode is off, type [ALT-E] and choose the [T]oggle option. Once sprite mode is enabled the red box appears underneath the double blue box. Sprite mode editing is no different than normal editing. Nothing you do on page 1 can affect any other page. Try inserting a few blank lines at the top of the screen by typing [ALT-I]. Notice how the red box stays put while the blue box moves down. Assume you were drawing an elaborate screen. Various parts could be put on different page layers. Each part is thus protecting them from accidental change (since each page is independent). In animation mode sprites make certain special effects very easy to produce. Such as having one object "slide" under another. See SHUTTLE2.ANS for an example. Animation mode is introduced below. Please refer to "THE ANIMATION SYSTEM" for more information. You might wish to save this screen now. Type [ALT-S], and select TheDraw's custom file format by typing [T]. This will save both pages edited. Enter the filename: BOXES (TheDraw assumes a .TD extension) Press [ENTER] to save to disk. TheDraw v4.63 Getting Started 14 ANIMATING YOUR SECOND THEDRAW SCREEN Possibly the most intriguing and confusing facet of TheDraw is its Animation mode. The animation system allows creating screens with movement, adding excitement to your presentations. In animation mode, TheDraw remembers the exact pattern in which something is entered. To contrast, the static screens used until now only store what was typed and where - like a word processor. When saving a static screen, there is nothing about how it was drawn. The normal presumption is such screens are saved top to bottom (how else would you want to?) The ADDRESS.ANS file was saved in this manner. Recall how it appeared when typed from the dos prompt. Animation mode goes one step further by also remembering -when- you typed something. This extension permits you to control the exact sequence keystrokes appear. Instead of merely top-to-bottom, any display order is possible. You can make screens display sideways or bottom-to-top if the urge hits. SELECTING A SCAN PATTERN: To ease the pain of making animated screens, TheDraw contains fourteen preprogrammed display patterns. There are also two variation toggles which boost the actual number of patterns to over 50. See the section under "HOW TO ANIMATE SOMETHING" for a complete description. To convert your second screen into an animation sequence, do the following: o Select "Animation Mode" from the Toggles pulldown or use the shortcut key [ALT-J]. A list of the preprogrammed display patterns appears. o Choose the [A]ngle pattern. TheDraw scans the static screens on pages 1 and 2 into the animation sequence. That's it! The word "PAGE" in the status line has changed to "ANIM". Also, above the status line is an indicator similar to: Used:00317 Free:15683 The first number lists the number of keystroke entries currently in the animation sequence. The second is how many additional keystrokes TheDraw can store. The maximum free space is 16000 entries, however that could vary depending on how much free memory is available. TheDraw v4.63 Getting Started 15 VIEWING THE ANIMATION SEQUENCE: Let's see what the animation looks like in slow motion. Select the "Screen Redraw" from the Animation pulldown (shortcut [ALT-Q]). TheDraw prompts for a redraw speed, to control how fast the animation sequence appears. A speed of 0 is maximum speed. A speed of 255 is very slow, about 5-10 keystrokes per second. Type in the number 50 and press [ENTER]. You can now see exactly how the animation will appear once saved to disk. Once it completes, use the redraw command with some other speeds to get a better feel for it. Try changing the animation scan pattern. Select "Rescan Animation" from the Animation pulldown (shortcut is [ALT-J], [R]escan). Pick some other animation pattern, then view them using Screen Redraw. SAVING ANIMATION: Saving animation screens to disk is almost identical to saving normal static screens. The only difference is in the available file formats. Only Ansi, Avatar, and TheDraw (TD) custom formats are possible. Only these can save how the animation sequence was created. Note that TD formats also store page data. Ansi files can be typed from Dos. These are very popular for bulletin board systems, sign on introductions, presentations, etc... The only problem is they cannot store data about individual pages and sprite mode. Ansi files only save exactly what is "seen" on the video. Any keystrokes which are hidden underneath other objects are lost. Avatar files are used primarily wit bulletin boards systems, and provide faster data transmission than Ansi. Like Ansi, the problem in dealing with sprite mode is shared; all page information is lost. TD files are designed for maximum speed. It is usually best to keep one copy of an animation sequence in this format. The TD format stores everything - including the sprite mode. Most users save both TD and Ansi formats, since Ansi can be typed from the Dos prompt. For now, lets save an Ansi file. Press [ALT-S], and choose [A]nsi. Press [ENTER] past the options. For a filename enter: BOXES.ANS Press [ENTER] to save to disk. Try exiting to Dos and viewing the file from there. Just imagine how easy it would be to create a fancy signon screen for your computer. TheDraw v4.63 Getting Started 16 The animation system was only briefly touched upon here. The are a large number of other features available. Almost all commands available for static screens will work with animation mode. Various commands respond differently to the animation sequence though. For complete coverage, please see refer to "THE ANIMATION SYSTEM". We have now run through the most important of TheDraw's many features. You are encouraged to explore in detail the variety of commands available. It is recommended to save your work periodically to create a log of your efforts. In this way, as you develop new skills you can document them to avoid forgetting that one crucial step or neat idea. Covered was keystroke entry, editing, changing colors, painting areas, drawing lines/boxes/outlines, using blocks, sprite mode, animation mode, animation scan patterns, and viewing animation sequences. You should eventually read the "OPERATING THEDRAW" section. It explains the status line, obtaining help, cursor control, using the mouse, and gives a summary of commands. Refer to "PULL-DOWN MENU SYSTEM" for brief explanations of all commands. Detailed descriptions are found in "THEDRAW COMMANDS". Those who program should see "TIPS AND EXAMPLES FOR PROGRAMMERS" for insight into using TheDraw saved files in your own work. THE EXAMPLE FILES TheDraw comes with four demonstration files to help show some of its capabilities; SHUTTLE2.ANS, DEMO.TD, SHADING.TD, and EFFECTS.TD. SHUTTLE2.ANS is a simple animation example which you can view from the dos prompt by entering: TYPE SHUTTLE2.ANS Press [ENTER] to see the example run through. You must have the ANSI.SYS driver installed in your CONFIG.SYS file for this to appear properly. See APPENDIX A for more details on the CONFIG.SYS file. If you do not have ANSI.SYS, the THEPP utility provided with registration can be used alternatively (ie: THEPP SHUTTLE2.ANS [ENTER]). The second demo file, DEMO.TD, demonstrates the block and sprite editing features of TheDraw. To use it, run TheDraw as described above. Next, press ALT-L and type DEMO.TD [ENTER]. Instructions will appear on screen showing what to do next. TheDraw v4.63 Getting Started 17 The third file, SHADING.TD, is an example of all color shade variations possible within TheDraw. Load as the previous example was (ie: ALT-L, then type SHADING.TD [ENTER]). Three pages are occupied by the example. Select pages by pressing [ALT-E] followed by a number 1, 2 or 3. Each page uses a different fill character. Those frustrated by a seemingly limited color palette may be surprised at the wide variation actually possible. To duplicate a shading example, press [ALT-F6] to select function key set 6. Set the colors as specified on the example by using [ALT-A]. Foreground colors are vertical and background colors horizontal. Now type [F1], [F2], or [F3] keys to see the shading result. Registered users have a built in command to accomplish this - just press [ALT-A] twice. The last demo file, EFFECTS.TD, shows two easy special effects you may like to use. The first is the illusion of a rotating color banner. This is done with flashing foreground colors (16 to 31 in the color select screen). Alternating characters have alternating foreground/background attributes. ie: Character #1 Character #2 Foreground: Flashing Red Flashing Gray Background: Gray Red Combine the above color scheme with the a block symbol from function key set #6. Press key [F4] with attributes in #1 above. Change attributes to #2 and press [F4] again. The blocks will appear to be alternating. The restriction to this technique is the flashing foreground color must match an available background color. Since there are eight background colors, the flashing foreground colors 16 to 23 are the possible options. TheDraw v4.63 Getting Started 18 OPERATING THEDRAW COMMAND LINE FILESPECS For convenience, TheDraw allows you to specify a filespec from Dos when first running the program. ie: THEDRAW DEMO.TD Only one file may be specified this way. All files are loaded onto page layer one (except for THEDRAW format files which may contain multiple layers). THE STATUS LINE The status line of TheDraw shows various information about the state of the program. Each structure in the status line is described below: (xx,xx) Displays the current cursor position. Color Indicates the current drawing color. This color is used for any new characters placed onto the screen. Text, The word displayed indicates if TheDraw is in normal Attr, or text, color draw mode, or line draw mode. In color Draw draw mode, moving the cursor changes characters to the current colors. In Draw mode, moving the cursor with the arrow keys draws a line in the moved direction. Ins Appears when TheDraw is in Insert keystroke mode. When on, typing a character shifts everything to the right to make room for the new character. "c" Appears when a symbol has been picked up for manual painting (where 'c' is the character picked). Page:x or Indicates the current screen page edit layer. In Anim:x animation mode (see The Animation System for more details), the word Anim appears. In addition, this structure indicates when TheDraw is in sprite edit mode (see ALT-E). In sprite mode, the structure appears in capital letters. ie: PAGE or ANIM. Set:xx Number of the current function key set. This set appears immediately after this indicator. Note: The symbol "x" or "xx" indicates a number of some value. TheDraw v4.63 Operating TheDraw 19 HELP! The shareware version of TheDraw contains four outline help screens available from command mode (no sub-functions being used) by pressing ALT-H. These outline screens display brief notes about most operations available in the program. The registered version of TheDraw supports context sensitive help. In other words, pressing ALT-H anywhere in the program will bring up specific information on that area of TheDraw. This can be very useful during the learning stage or for rarely used functions. CURSOR CONTROL The cursor may be moved by using the following keys: Key Action Up Arrow Up one line Down Arrow Down one line Left Arrow Left one position Right Arrow Right one position Home First column of current line End Last column of current line PgUp First line in current column PgDn Last line in current column Ctrl-Home First Character of current line Ctrl-End Last Character of current line (plus 1) Ctrl-PgUp Upper-left position of screen Ctrl-PgDn Lower-right position of screen Tab Next set Tab position (see Alt-T) Shift-Tab Previous set Tab position (see Alt-T) Enter First column of following line Naturally, if you attempt to move past the screen border no action will be taken. If no tab position follows the current location, pressing [TAB] will return you to column one of the current line. TheDraw v4.63 Operating TheDraw 20 MOUSE CONTROL TheDraw fully supports the use of a Microsoft Mouse or compatible device. Pull down menus and other facilities are available (see section PULL DOWN MENU SYSTEM). You may use either a two or three button mouse with TheDraw. The mouse operates differently depending on where you are in TheDraw. At command mode (no sub-functions in use) the mouse functions are: MOVEMENT: Moves cursor. LEFT BUTTON: Marks a block. MIDDLE BUTTON: Toggles line drawing mode RIGHT BUTTON: Activates pull down menu system. In any sub-function: MOVEMENT: Moves cursor/block/screen/etc... If movement is allowed, you can use the mouse. LEFT BUTTON: Equivalent to pressing [ENTER]. MIDDLE BUTTON: Unused. RIGHT BUTTON: Displays a small window with all current menu options. Someone comfortable with a mouse will find TheDraw easy to get used to. The mouse is usable everywhere in the program. If no particular mouse indicator appears, the RIGHT mouse button will generally pop up a window with available options. Simply click the RIGHT button on the wanted option to select it. Users without a mouse will find TheDraw operates normally without change. Note: A Microsoft compatible mouse driver (MSMOUSE.SYS or similar program) must be installed into your CONFIG.SYS file before TheDraw will recognize the device. See APPENDIX A for information on system configuration. Once the driver is installed, TheDraw auto-detects the mouse presence. TheDraw v4.63 Operating TheDraw 21 COMMAND SUMMARY TheDraw provides the following 37 command functions, available through ALT-Letter or CTRL-Letter key sequences plus a pull-down menu system. Alt-A Change Text Color Attributes Alt-B Block Action Commands Alt-C Clear Current Screen Alt-D Set Default Clear Screen Color Alt-E Select Screen Page Layers Alt-F View Function Key Sets Alt-G Global Commands Alt-H Display Help Information Alt-I Insert a Line Alt-J Animation Options Alt-K Delete a File Alt-L Load Screen from Disk Alt-M Select Draw Mode (toggle) Alt-N Ruler Alt-O Change Drive/Sub Directory Alt-P Paint/Fill Commands Alt-Q Redraw Screen (animator) Alt-R Restore/Undo Changes Alt-S Save Screen to Disk Alt-T Tab Setup Alt-U Use Colors under Cursor Alt-V View a Screen (not load) Alt-W Edit Character (animator) Alt-X Exit TheDraw Alt-Y Delete Current Line Alt-Z Erase Cursor Character (animator) Alt-/ Pickup character under cursor Alt-- Select Color Draw Mode (toggle) Alt-= Toggle Macro Learning Mode (reg. version) Ctrl-PrtSc Toggle Full Screen Editing mode Alt-Left/Right Delete/Insert column Ctrl-Up/Down Increment/Decrement Foreground Color Ctrl-Left/Right Increment/Decrement Background Color Shift-Arrow Keys Move in direction specified painting with currently picked character. Shift-Space Put a "Solid" space on the Screen. ESC Activate pull-down menu system from keyboard. The section THEDRAW KEYBOARD COMMANDS on the following pages contains explanations for each of the above. TheDraw v4.63 Operating TheDraw 22 THE ANIMATION SYSTEM WHAT IS ANIMATION? The animation system can be the most intriguing but confusing portion of TheDraw to grasp. The animation system allows creating screens with movement, adding excitement to presentations. In animation mode, TheDraw remembers the exact way in which a screen is created. In contrast, the static screens used until now only store where something is typed. When saving a static screen, there is nothing about how it was drawn - they appear top-to-bottom when typed. Animation mode goes one step further by also remembering -when- you typed something. This extension permits you to control the exact sequence keystrokes appear. Instead of merely top-to-bottom, any display order is possible. You can easily make screens display sideways or bottom-to-top as required. With the animation sequence you put characters in anywhere and in any order you want. The sequence is repeated in the same order when played back. For example typing the numbers 0 through 9 backwards along the screen. ie: Ŀ 9 8 7 6 5 4 3 2 1 0 ( <--- typed this direction ) Upon replay, the "0" would appear first, followed by the "1", "2", etc... Exactly as was typed. Note in this example movement of the cursor was not stored, although it could be. Storing cursor movements will be discussed later. Animation can be saved in three different formats: ANSI (.ANS), AVATAR (.AVT) and THEDRAW (.TD). A sequence saved in Ansi can be displayed using the Dos TYPE command on any computer with the ANSI.SYS driver installed (see Appendix A on how to install it). Ansi files are also used widely on bulletin board systems. Avatar is similarly used on bulletin boards. TheDraw is not needed to display Ansi/Avatar files once created. TheDraw's custom file format (TD) is used for quickly saving and loading animation sequences to disk. The Presentation Program (THEPP) can display an animation sequence saved in TheDraw format. For an example of Ansi Animation, enter "TYPE SHUTTLE2.ANS" from the Dos prompt (once the ANSI.SYS driver is installed). TheDraw v4.63 The Animation System 23 ANIMATION BASICS TheDraw never physically "moves" an object when animating something. This is an illusion; created by careful placement of characters (which as you remember can be put anywhere we want). The "animation" of a display is done manually; moving objects step by step. The illusion of movement is simple to describe: o Draw an object. o Erase it. o Redraw object shifted over slightly. o Repeat (over and over) If done properly, the object appears to move. Nothing is really "moving" per say, but we are simulating it. For an example, imagine an asterisk in the center of the screen. We wish to have this asterisk move to the right. To do this, first we put a space over the existing asterisk (thus erasing it), then display a new asterisk over to the right (redrawing it). Repeating this will "animate" the asterisk, since it appears to move. ie: Ŀ * Asterisk as it initially was drawn. Ŀ _ Asterisk has been erased Ŀ _* A new asterisk has been drawn shifted over. Ŀ __* Above steps repeated. Do the above process quickly, and the user effectively sees movement because the eye smoothly connects the old asterisk position with the new one for us. A SIMPLE EXAMPLE The easiest animation example under TheDraw to play with is a snake. Our snake, we'll call him Slither from now on, will be a simple life form who grows each time he is moved. In effect, Slither's tail never shifts because he grows so rapidly. To create this particular life form, enter animation mode by pressing [ALT-J], then [T]op. Next, turn on line drawing with [ALT-M] ("Draw" appears on the status line). TheDraw v4.63 The Animation System 24 To give arise to Slither, move the cursor with the arrow keys. Keep moving in the same direction and low and behold there he is. Change direction, and move for a while. Make Slither do as many twists and turns as you like, since he really enjoys a good run (or crawl?) (example run of Slither) Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ * (start) Now for the moment of truth. Make Slither repeat what he just did by using animation redraw (ALT-Q). Enter a delay of about 100, then sit back and watch Slither perform. Notice just how little effort it takes to produce simple animation. Even this uncomplicated approach will add that extra pizzazz to a presentation. Possibilities include drawing charts, graphs, outline figures, backdrops, etc... Your imagination is the only limiting factor. The next section describes how to move objects (such as the asterisk example shown previously) with TheDraw. MAKING A BLOCK MOVE: The asterisk example showed the classic method for moving small objects. ie: draw, erase, draw, repeat... However, the medium under which our animation special effects operate is quite limited. The illusion of movement is lost with large objects because too much time is spent erasing and redrawing them. A better way is needed. For larger objects, we can use the block copy facility. First draw the object, and decide what direction things will move. The trick follows: Mark a block over the object, ADDING an extra blank line/column on the side -opposite- to the direction of movement. block outline --> Ŀ OBJECT --> movement to be in this direction ^ note extra blank line TheDraw v4.63 The Animation System 25 The complicated bit of actually "animating" is: o From the block options menu, choose block copy. o Move the block once in the direction of movement and [S]tamp it. o Move it again, and [S]tamp. Repeat as many times as desired. o For the last shift, press [ENTER] instead of stamping. That's it! Now try redrawing with [ALT-Q]. You have created a moving object. This new approach is similar to the asterisk example, but note we do not explicitly erase the entire object before shifting and redrawing. A good improvement making each shift almost twice as fast! Objects are generally larger than the distance moved between shifts. Afterwards they use most of the same space as before. Thus, why you may ask, bother erasing if an area is immediately overwritten again? We can avoid wasting time and things will go faster. Ŀ ۳ ۳ Object ۳ ۳ ۳ ^ ^ ^ old portion of object, "erased" by blank line The extra blank line erases what needs erasing, and the redrawn object overwrites the rest. By using more than one blank column/line (and stepping more than once between stamps), the movement appears to go faster still. Notice that block copy was used, not block move. In animation mode, the block move relocates animation entries in the block. Copying leaves the original in place, and -overwrites- it with the moved copy. Just like the asterisk example, we didn't move it, we overwrote it. Block move physically moves the object to the first stamp location. If you redraw the animation sequence, you would find no "movement". The object is drawn only once, where it was moved over to (at least on the first stamp). Additional stamps would behave as expected. TheDraw v4.63 The Animation System 26 EASY ANIMATION Rather than start an entire animation screen from scratch, many people find it easier to take an existing static screen then -add- animation to it. TheDraw provides several different patterns for converting static screens into animation sequences. The patterns specify how a screen is converted, one keystroke at a time. ANIMATION SCAN PATTERNS: TheDraw comes with fourteen built in scan patterns. In addition, the way the scan patterns work can be adjusted via two pattern toggles. Use of the toggles yields over 50 possible combinations! The starting scan patterns are: TOP Starts at upper-left corner and goes across screen. LEFT Starts at upper-left corner and goes down screen. CLOCK Clockwise arm rotates around center of screen. CIRCLES Growing circles starting from center of screen. CHECKERBOARD Alternating "checkerboard" squares from top of screen. ANGLE Diagonal from upper-left corner scans across screen. GATE Opposite lines from each side of screen left/right. PYRAMID Pyramid shape from bottom center growing upwards. SQUARES Squares starting from screen border growing inward. SCRAMBLE Randomly scans entire screen DOOR Scans top/bottom, on both sides of screen at once. DIAMOND Growing diamond starting from center of screen. WIGGLE Starts at upper-left alternating left and right. WIGGLEOUT Starts in center of screen with wiggle operation going both up and down at once. The two toggles which alter the above are: REVERSE Completely reverses a given pattern. First keystroke scanned becomes the last, the second becomes next to last, and so on. FLIP Exchanges the vertical coordinates in a scan. Assume a 25 line edit buffer. Any scan location on line 1 is changed to line 25 and visa versa. You select the toggles before a scan pattern. When a toggle is active, its corresponding indicator appears on the screen. As mentioned above, many people want to take a static screen, display it normally, then add animation. The option to use in that case is the Top scanner. Scanning from the Top yields a sequence which cannot told apart from a static display; but animation can now be added. TheDraw v4.63 The Animation System 27 RECORDING CURSOR MOVEMENTS: Occasionally the ability to record actual cursor movements is useful. They could be used as short pauses, or a distraction to the user. Instead of putting keystrokes everywhere, just having the cursor jump about could be enough. TheDraw can record such cursor movements. Toggle on/off cursor movement recording by picking "Movement Storage" from the Animation pulldown. The shortcut command is typing [ALT-J], then [M]ovement. Moving the cursor in any way adds new entries to the animation sequence. Using cursor movements, you could have the cursor go around in circles giving the user time to reading something. The only definitive reason to use this feature is personal taste. EDITING AND DELETING ANIMATION ENTRIES Editing an animation sequence is a bit more complicated than fixing up a static screen. If you make a mistake, you must be -VERY- careful about using the [DELETE] and [BACKSPACE] keys. The problem is both of the above keys remove all animation entries from the cursor position. Take the case where you type 'A', 'B' and 'V' all in the same location (say the upper-left corner). Meaning the 'V' to be a 'C', you press [BACKSPACE]. Unfortunately, this command removes all three letters, not just the 'V'. The delete/backspace keys can be especially disruptive to large animation sequences. TheDraw offers a special command to avoid this problem. Choose the "Erase Character" command from the Animation menu (shortcut [ALT-Z]). This shaves off just the animation entry which is visible. The 'V' in this case. You then proceed by typing the 'C' as intended. An alternative technique is the animation "Change Character" command. Choose it from the Animation pulldown (shortcut [ALT-W]), and the existing keystroke under the cursor beings to flicker. Meanwhile, TheDraw prompts for the new character. Now you just enter the new symbol (a 'C') and are done. For more complicated situations, you could place some items on lower pages and use sprite mode. This physically separates animated objects and protects them from accidental damage. However, it only works for moving objects under those on the current page. The registered version offers a better solution called animation edit limiting. TheDraw v4.63 The Animation System 28 CHANGING YOUR ANIMATION SCAN PATTERN: If you decide to change the scan pattern you selected earlier, choose "Rescan Animation" from the Animation pulldown, or [ALT-J], [R]escan. Warning: All animation on the current page will be replaced. TheDraw deletes all animation from the current page, scans with the new pattern, appending the new results onto the end of the animation sequence. Any customized changes you might have added are lost. Only the current page is affected. All other page layers stay intact. ADVANCED ANIMATION EDITING There are several more complex functions which enhance your ability to create unique special effects. These include the animation limiting offered in the registered version, include files, and making custom control code sequences. The latter especially useful with certain bulletin board systems. EDITING PARTIAL ANIMATION SEQUENCES: The shareware version of TheDraw only allows you to work on the end of an animation sequence. You can add or remove things easily. To update something at the beginning of a sequence is more awkward. The registered version helps significantly by adding a feature called animation limiting. Now you can change the point where editing occurs on the animation sequence. Instead of just the end, edit anywhere from the first to last keystroke entry. A powerful improvement. ANIMATION LIMITING: Animation limiting changes the focal point of TheDraw. You can insert/delete any keystroke anywhere in the animation sequence. Choose "Limiting" from the Animation pulldown to activate it. Now use the arrow keys, [PGUP], [PGDN], [HOME] or [END] to position yourself inside the sequence. Once you find the correct place, press [ENTER]. Picking a edit focal point is that easy. When in the middle of a sequence, everything after the focal point is temporarily hidden. Now you can make any updates with no extra fuss. Once done, you should probably return to the end of the animation sequence. Choose "Limiting" again. Press [END] to reset the focal point, then [ENTER]. TheDraw v4.63 The Animation System 29 ANIMATION MARKERS: Markers provide a convenient way of jump around within an animation sequence. Assume you constantly switch between the point where an object is drawn and the sequence end. By setting a marker after the object appears you can switch quickly, instead of manually positioning the focal point every time. To set a marker, first position the focal point. Next, choose "Marker" from the Animation pulldown. TheDraw displays a window listing all current markers. If none are defined, the list is empty. Type [S]et and enter a description of the marker. ie: 1: Object has been drawn Press [ENTER] to save the new marker. From now on, to position to this marker, select "Limiting" from the Animation pulldown, then [K] for markers. Pick marker [1] and you are done! INCLUDE FILES: TheDraw permits "including" the contents of other files in the current animation sequence. Typically this will be an "Ansi Music" sequence, a frequently used image, complex BBS control codes, merging several Ansi/Avatar screens together, etc... The include files are only used when TheDraw actually saves the current animation sequence. At that point, the include file is copied into the new output file TheDraw is making. Include files are ignored by the animation screen redraw command. If you want to see what everything might look like, a view option is available in the animation include window. Refer to the "ANIMATION OPTIONS" section for more information. MAKING CUSTOM USER CONTROL SEQUENCES: You can insert your own short control code sequences directly into any Ansi/Avatar file TheDraw generates. This is very useful for special BBS control codes (ie: for user names and such), or inserting extra Ansi codes into the animation. You might force the screen to clear, or cause the display to scroll - functions not supported by TheDraw. User Sequences are only referred to when TheDraw saves a file, and are not used when redrawing (see ALT-Q). Refer to the "ANIMATION OPTIONS" section for a complete description of user sequences. TheDraw v4.63 The Animation System 30 TRICKS AND TECHNIQUES Once the above mentioned animation skills are down, certain easy special effects will help liven up a display. Care given to color selection, shading, and use of shadowing to furnish depth or a three dimensional feel can perform wonders. Animation is also improved on occasion by pausing the display slightly. Ideally you will find the "tricks" are not really tricks at all, but rather easy skills to master. A little practice will put you firmly on the right track. USE OF COLORS: Good color selection is as important as the display content being viewed. Colors should be high contrast, but not so as to distract the viewer. For example, Yellow on Cyan go well together, however Magenta on Green do not. Extensive theory exists to predict which color to use with what, but for our purposes some experimenting will suffice. Look for combinations which are easy to read and do not strain the eyes. Observing other peoples work is a good teacher. Background colors should be used to your advantage, not detriment. For example, look closely at the TheDraw title screen and note how the layering was achieved. Half block characters (such as "" and "") are used extensively with the solid portion one color and the blank region another. Lastly, flashing colors in combination with good background selection is an excellent visual device. For example, select flashing red (color 20) on a gray background (color 7). Put a block character (""). Now select flashing gray (color 23) on a red background (color 4). Put another block character next to the first. What you see is the block colors alternating between red and gray, each block opposite of one another. Repeating this pattern produces a moving effect. See the demo file EFFECTS.TD for a working example. SHADING: Shading and shadowing discussed below are both used for adding texture and three dimensional quality to a display. Shading is the process of gradually changing visual intensity. This can be done using bright colors then more subdued colors, or using different characters with different density such as "". For successful shading, one must be aware of how things truly appear in nature. Carefully examine a round pen sitting on a table. The color is not uniform, but rather bright in the middle then apparently darker towards the edges. The same holds true for any curve. TheDraw v4.63 The Animation System 31 Example of how color changes on a curved object: brightest here darker darker darkest here darkest here ۲ ۲ ۲ ۲ The above character shading example shows one way of matching the curvature example. You can obtain more gradations by using high and low intensity color in combination. For a case in point, coloring the following symbols as indicated yields eight shades of blue: light blue light Ŀ blue cyan ۲ The file EFFECTS.TD demonstrates the above example. Every possible shading combination is shown in SHADING.TD, using three pages. The registered version has a built in screen modeled after the SHADING.TD screen. SHADOWING: This effect gives an object the illusion of a third dimension by throwing a "shadow" onto something. Many popular programs use shadowing to highlight menu or other box structures. Shadows are made by duplicating an object shifted down and over slightly, in a darkened color. ie: ۰ ۰ ۰ The most effective shadow colors are the light and dark grays. TheDraw v4.63 The Animation System 32 PAUSING: TheDraw directly supports two types of animation pause: timed and keyboard. Unfortunately, there is no way to wait for a keystroke response in an Ansi file. The keyboard option is operable only if TheDraw or THEPP (see following section in documentation) is used for displaying the animation. Timed pauses can be approximated however, by inserting redundant codes into the Ansi file. One application might be slowing down steps of an animated object. The object is shifted once, then a short pause occurs before the object is shifted again. The relative speed difference (ie: object redrawn faster than shifting occurs) could help smooth the animation in some situations. Another application of course, is placing a delay after a message appears. Whisking something away too quickly might frustrate some users. For instance, the SHUTTLE2.ANS example uses two delays. PITFALLS AND LIMITATIONS You will discover a few limitations of Ansi animation as you progress. Large objects tend to "ripple" as they move. ie: Ŀ <-- ripple effect Large object also use a significant portion of the available animation space. You will be amazed how quickly even 16000 entries disappear. Objects up to 30 character by 10 lines (30x10) in size generally work with minimal difficulty. Faster computers can get away with slightly larger blocks. Since only one character point can change at any given time, having multiple objects move simultaneously will slow performance. As with everything, experience will tell you what is best for a given situation. TheDraw v4.63 The Animation System 33 TIPS AND EXAMPLES FOR PROGRAMMERS This section is for individuals writing programs who are interested in using TheDraw. Effort was put forth to make TheDraw a convenient programmers utility. The various sections which follow describe example code for each of the various languages TheDraw is compatible with. The routines are tested and can be quite useful for those just getting started. If you have additional ideas for this section, we highly encourage you to send them in! PROGRAMMING IN ASSEMBLER: Assembly programmers will find ASM formatted files in standard data byte format, using the DB operator. Asm files can have varying sizes depending upon the save mode used (Ascii/Normal/Crunched). The dimensions and length of the save are displayed at the top of all assembler dumps. If you crunched the screen, you will have to use the uncrunch routine provided in ASM source code (UNCRUNCH.ASM). Values required in the CPU registers are documented in the file. Ascii formatted files must be read as bytes and saved on the screen as words. This can be achieved using LODSB and STOSW instructions. LODSB loads into AL the character. You store into AH the desired screen color attributes. STOSW then writes the two bytes onto the screen. An alternate method would be to use the Bios or Dos, however these methods are considerably slower. A normal 4000 byte dump (80x25 screen) is the easiest to display via the REP MOVSW instruction. To display the image, point the ES:DI pair to B800:0000 (for color screens; B000:0000 monochrome) and DS:SI to the screen in your program. Also load CX with the number of video words to display (2000 - A total of 4000 bytes). ie: MOV AX,0B800h MOV ES,AX MOV DI,0 MOV SI,offset ImageData MOV CX,2000 CLD ;Make MOVSW go forward. REP MOVSW If writing to a EGA screen (80x43), CX would need 3440. If to a VGA screen (80x50), CX would need 4000. As shown above, the ImageData is written directly onto the screen. This will cause hashing or "snow" on some color video displays. You may want to move only one video word at a time, pausing until the video hardware is in horizontal or vertical retrace. This can be accomplished with the following routine. TheDraw v4.63 Pull Down Menu System 34 Example: MOV AX,0B800h MOV ES,AX MOV DI,0 MOV SI,offset ImageData MOV CX,2000 CLD MOV DX,03DAh ;Save i/o address of CGA status register LOOPA: LODSW ;Read data to be written MOV BX,AX ;Save for later. MOV AH,9 ;Test mask for Vertical/Horizontal retrace IN AL,DX ;Read the status register TEST AL,8 ;See if in vertical retrace? JNZ WRITE_IT ;Jump if so. No need to wait here. LOOPB: IN AL,DX ;Read the status register RCR AL,1 ;Test bit1. Make sure we are not in the JC LOOPB ;middle of a horizontal retrace. LOOPC: IN AL,DX ;Read the status register TEST AL,AH ;Wait until in either vertical or JZ LOOPC ;horizontal retrace. WRITE_IT: MOV AX,BX ;Retrieve the character we loaded before. STOSW ;Save it. LOOP LOOPA The above is a fairly complex mess, but will reliably place a screen image snow free onto the display. This routine is not needed on a monochrome video since such hardware does not suffer from snow. Notice the entry code is identical to the previous simple example. The REP MOVSW is has been replaced with extensive checks on the video hardware however. TheDraw v4.63 Pull Down Menu System 35 PROGRAMMING IN PASCAL: Pascal programmers have equal ease with displaying screens. Images can be flashed to the screen using the Turbo Pascal "MOVE" procedure. A pascal NORMAL save can be displayed with the following program: {$I image.pas} type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; begin Move (ImageData,Screen,4000); end. The above defines a variable at the absolute address of the video memory. The importance of defining such an array will become obvious below. IMAGEDATA is assumed to be the name of the pascal image dump, but is easily altered when saving the file from TheDraw. The MOVE procedure puts ImageData onto the screen. Please note this is only for a full screen. To display a screen block is slightly more difficult. Our program now becomes: {$I image.pas} type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Offset : Integer; begin Offset := ???; {Replace ??? with offset to display block} for X := 0 to IMAGEDATA_DEPTH-1 do Move (ImageData[1+X*IMAGEDATA_WIDTH*2], Screen[X*160+Offset],IMAGEDATA_WIDTH*2); end. The constants IMAGEDATA_DEPTH and IMAGEDATA_WIDTH specify the block dimensions of IMAGEDATA, and are generated by TheDraw automatically. If you change the name identifier, the width and depth names are updated also. The depth is the number of vertical lines in the block. Width is the number of character across the block. OFFSET is the video address you want the block to appear at. It is computed with: (column*2)+(row*160)-162 Column varies 1..80 Row varies 1..25 Notice in this example we are using a loop and moving one line at a time. Lines from ImageData are placed on the video at OFFSET. The address in ImageData is advanced to the location of the next line in each loop. The video address advances 160 characters each time (the byte width of the video display). TheDraw v4.63 Pull Down Menu System 36 Turbo Pascal v3.0 users also have another interesting option. You can include a .BIN file into a turbo program and then display it using the above techniques. The file actually becomes part of your compiled pascal program. Once your program is compiled, you no longer need to have the DEMO.BIN file present. procedure DummyProc; external 'DEMO.BIN'; type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Depth,Width,Offset : Integer; ImageDataPtr : ^ScreenType; begin Depth := ???; {Replace ???'s with actual block dimensions} Width := ???; {as specified by TheDraw after .BIN save.} Offset := ???; {Replace ??? with position to display block} ImageDataPtr := Addr(DummyProc); for X := 0 to Depth-1 do Move (ImageDataPtr^[1+X*Width*2],Screen[X*160+Offset],Width*2); end. In the above program, we create a pointer (IMAGEDATAPTR) pointing at the address of DUMMYPROC. The rest of the program is similar to the previous example, except all occurrences of IMAGEDATA are replaced with IMAGEDATAPTR^. Also, since the block dimensions are not available, you must specify them. The up arrow symbol at the end is very important. If you don't use it, Turbo will copy the -value- of your pointer to the screen. This will generally appear as garbage. It can be fun playing with this concept, you simply must be careful with the pointers. Pascal ASCII saves are used similar to strings. Since the ImageData arrays created do not have color attributes, we cannot directly move them to the video. The following shows two techniques for displaying these images. --- Pascal ASCII Save Example 1 --- {$I image.pas} var X:Integer; begin ClrScr; for X := 1 to IMAGEDATA_LENGTH do Write (ImageData[X]); end. TheDraw v4.63 Pull Down Menu System 37 --- Pascal ASCII Save Example 2 --- {$I image.pas} type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X:Integer; begin ClrScr; for X := 1 to IMAGEDATA_LENGTH do Screen[X*2-2] := ImageData[X]; end. The first example is easiest to understand. All we are doing is displaying each character in IMAGEDATA on the screen using the pascal WRITE function. This works because the IMAGEDATA block (in this case) is 80 characters wide, so there is no need for a WRITELN. The cursor will automatically be bumped down to the next line. IMAGEDATA_LENGTH is another constant automatically generated by TheDraw. The second example is similar to the first, but directly stuffs the characters onto the screen. This will be faster than the first method. Notice the Screen[X*2-2]. The multiplication is done because each character occupies two bytes of video memory. Since the first video address is 0, we add -2 to the offset to keep things aligned. To use pascal images CRUNCHED by TheDraw requires use of the UNCRUNCH.PAS file included with the package. The file contains details and instruction on using crunched images. TURBO PASCAL v4.0 through v5.5: The above examples will all work for Turbo Pascal v4.0 to v5.5 users, with exception to the external .BIN file example. The newer compilers do not support the old format. Instead you must use TheDraw's Turbo Pascal compatible Object (.OBJ) files. To use the object file do the following: {$L DEMO.OBJ } procedure ImageData; external; procedure ImageData_Width; external; procedure ImageData_Depth; external; procedure ImageData_Length; external; The procedure name (ImageData here) is specified when making the object file. All four external procedure definitions must be specified (Turbo requires it). Although these are "procedures" you MUST NOT execute them. They only contain image data which must be referred to via pointers. The modified .BIN example follows: TheDraw v4.63 Pull Down Menu System 38 {$L DEMO.OBJ} procedure ImageData; external; procedure ImageData_Width; external; procedure ImageData_Depth; external; procedure ImageData_Length; external; type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Offset : Integer; ImageDataPtr : ^ScreenType; ImageDataWidthPtr : ^Integer; ImageDataDepthPtr : ^Integer; ImageDataLengthPtr : ^Integer; begin Offset := ???; {Replace ??? with position to display block} ImageDataPtr := @ImageData; ImageDataWidthPtr := @ImageData_Width; ImageDataDepthPtr := @ImageData_Depth; ImageDataLengthPtr := @ImageData_Length; for X := 0 to ImageDataDepthPtr^-1 do Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2], Screen[X*160+Offset],ImageDataWidthPtr^*2); end. The above is for a generalized block of any dimension. A pointer to the IMAGEDATA_LENGTH is initialized but not used. It is there for example usage only. The above program can be simplified somewhat for an entire screen. ie: {$L DEMO.OBJ} procedure ImageData; external; {All of these are needed,} procedure ImageData_Width; external; {otherwise Turbo v4.0-v5.5} procedure ImageData_Depth; external; {get upset.} procedure ImageData_Length; external; begin Move (pointer(@ImageData)^,ptr($B800,0)^,4000); end. Note the usage of typecasting to eliminate the pointer to ImageData. This cleans up the program appearance somewhat. In addition, the value of 4000 could be replaced with a pointer to IMAGEDATA_LENGTH. However, since this is an entire screen why bother initializing a pointer. A full 80 by 25 screen is always 4000 bytes in length. TheDraw v4.63 Pull Down Menu System 39 TURBO PASCAL VERSION 6.0 and 7.0: Everything shown thus far for Turbo Pascal v4.0 to v5.5 works perfectly well in TP 6.0 and above. However, the newer releases allows a more relaxed preinitialized constant definitions. The previous examples can be shorten to: {$L DEMO.OBJ} procedure ImageData; external; procedure ImageData_Width; external; procedure ImageData_Depth; external; procedure ImageData_Length; external; type ScreenType = array [0..3999] of Byte; var Screen : ScreenType absolute $B800:0000; X,Offset : Integer; const ImageDataPtr : ^ScreenType = @ImageData; ImageDataWidthPtr : ^Integer = @ImageData_Width; ImageDataDepthPtr : ^Integer = @ImageData_Depth; ImageDataLengthPtr : ^Integer = @ImageData_Length; begin Offset := ???; {Replace ??? with position to display block} for X := 0 to ImageDataDepthPtr^-1 do Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2], Screen[X*160+Offset],ImageDataWidthPtr^*2); end. In addition, all the external definitions for public identifiers are no longer mandatory. Thus the full screen example reduces to: {$L DEMO.OBJ} procedure ImageData; external; begin Move (pointer(@ImageData)^,ptr($B800,0)^,4000); end. People casually reviewing the literature for v6.0/7.0 may note initialized data is permitted within object files now. Although a definite vast improvement, the data is still private to the object file. Assuming the designers of Turbo Pascal eventually add external variable declarations (similar to C), the Large object file data model TheDraw currently supports should be compatible. Until then we must bear with the current approach for accessing image data. TheDraw v4.63 Pull Down Menu System 40 PROGRAMMING IN C: C programmers have support similar to that for pascal. TheDraw creates the Normal, Ascii, and Crunched file formats using typical C code definitions. The ImageData arrays are used similar to the pascal case. Please note, in the following examples it will be assumed the programs are compiled in a state supporting 32-bit data pointers. A C NORMAL save is the easiest to display. For instance: #include #include #include "image.h" main () { /* Kludge a pointer at video memory (segment 0xB800, offset 0) */ void far *screen = (void far *) 0xB8000000; memcpy (screen,IMAGEDATA,4000); /* Move image to screen */ } The file reference contains the definition of the memcpy routine. Users of Microsoft C should reference the file. IMAGE.H is assumed to contain the array IMAGEDATA created by TheDraw (the name may be changed to anything else naturally). The void data type used is a modern C convention. If your compiler does not support it, use type char instead (or whatever type your compiler wants for parameters to memcpy). Reminder: Be absolutely sure you are using the proper code/data model. It is very easy to write the above program, only to have the compiler complain about incompatible pointer sizes, etc... The function memcpy MUST accept full 32 bit data pointers. In TurboC for instance, you must use memory models Compact, Large, or Huge. The above is for a full screen image. To display a block involves a little more work, as in the pascal example. #include #include #include "image.h" main () { void far *screen; int offset = ???; /* Replace ??? with offset to display block */ int x; for (x=0; x #include "image.h" main () { printf ("%s",IMAGEDATA); } An alternate technique for displaying ASCII format files is similar to the second pascal example (for doing the same thing). ie: #include #include #include "image.h" main () { void far *screen; int x; for (x=0; x<4000; x++) { (long) screen = 0xB8000000 + x*2; memcpy (screen,&IMAGEDATA[x],1); } } Characters are copied one at a time from the IMAGEDATA array to the video memory. This is significantly faster than the printf example, since the overhead of going through the operating system is removed. To use C images CRUNCHED by TheDraw, you must use the code in either UNCRUN_N.OBJ or UNCRUN_F.OBJ (depending if you are using a Small/Near or Large/Far code model). The file UNCRUNCH.H contains examples on their usage. USING OBJECT FILES WITH C: C is normally implemented to smoothly interface with object files. Follow these steps when using TheDraw object files with C. 1) Specify external variables referencing the screen image. 2) Tell the compiler make/project utility to link the wanted file with your program. Notice in the following program that no include is made. The file containing the image is not C source code; rather, a binary object file merely needing to be linked. Therefore, we tell the compiler what to expect via EXTERN declarations. TheDraw v4.63 Pull Down Menu System 43 #include #include main () { extern int IMAGEDATA_WIDTH; extern int IMAGEDATA_DEPTH; extern int IMAGEDATA_LENGTH; extern unsigned char IMAGEDATA []; void far *screen; int offset = ???; /* Replace ??? with offset to display block */ int x; for (x=0; x etc... The is any library filename you want. Do -not- put a file extension on this! (see example below) The batch adds the extensions .QLB and .LIB automatically for you. The parameters are the TheDraw made object files. Example run THEDRAW ....assume users creates the QB object files IMAGE1.OBJ and IMAGE2.OBJ MAKEQLB IMAGES IMAGE1.OBJ IMAGE2.OBJ ....creates the files IMAGES.QLB & IMAGES.LIB containing the two above object files plus the required display routines. QB /L IMAGES.QLB ....runs QuickBasic using new Quick Library. Once the Quick Library is constructed, using the screen images is a simple matter of calling a display routine. The display routines must be declare within QuickBasic before they can be called. TheDraw v4.63 Pull Down Menu System 46 THE DISPLAY ROUTINES: The file QB4UTIL.BI lists the display routine declarations for convenience. At the top of your program, simply include it with the following meta command: REM $INCLUDE: 'QB4UTIL.BI' Four routines are declared within this file: UNCRUNCH Contains algorithm needed to display crunched screen images. ASCIIDISPLAY Display ascii-only object files. NORMALDISPLAY Display normal binary object files. INITSCREENARRAY Initialize a dynamic array for directly accessing the video screen. Can be used instead of DEF SEG, PEEK, and POKE. The actual declarations are: DECLARE SUB UNCRUNCH (X&, Z%) DECLARE SUB ASCIIDISPLAY (X&, Z%) DECLARE SUB NORMALDISPLAY (X&, Z%) DECLARE SUB INITSCREENARRAY (A%()) The first parameter to the display routines is the identifier saved within a given object file (ie: IMAGEDATA&). The second parameter of each display call is the video location the image will appear. The upper left screen corner is offset 0 with each line taking 160 bytes (each screen character uses two bytes). ie: line 1 = offset 0 line 2 = offset 160 line 3 = offset 320 line 4 = offset 480 etc... To compute an arbitrary video location, for any text mode including the 43/50 line EGA/VGA modes, use the formula: Video Offset = (X-1)*2 + (Y-1)*160 X is the horizontal column number, and Y is the vertical line number. TheDraw v4.63 Pull Down Menu System 47 Example program using image screens. Assume three screens are available with the identifiers Q1, Q2, and Q3. Q1 is crunched, Q2 saved as Ascii-Only, and Q3 saved with normal binary. REM $INCLUDE: 'QB4UTIL.BI' ' Get display routine declarations DECLARE FUNCTION Q1& ' Important! Do not neglect either DECLARE FUNCTION Q1Width% ' the "&" or "%" symbols on function DECLARE FUNCTION Q1Depth% ' declarations shown here. DECLARE FUNCTION Q1Length% DECLARE FUNCTION Q2& DECLARE FUNCTION Q2Width% DECLARE FUNCTION Q2Depth% DECLARE FUNCTION Q2Length% DECLARE FUNCTION Q3& DECLARE FUNCTION Q3Width% DECLARE FUNCTION Q3Depth% DECLARE FUNCTION Q3Length% CLS ' Clear screen PRINT "Screen #1 (Crunched)" ' Print data of this image then PRINT " Width: "; Q1Width% ' pause for user. PRINT " Depth: "; Q1Depth% PRINT " Length:"; Q1Length% WHILE INKEY$ = "": WEND CLS ' Clear screen CALL UNCRUNCH(Q1&, 0) ' Go uncrunch first image WHILE INKEY$ = "": WEND ' Pause CLS PRINT "Screen #2 (Ascii Only)" ' Print data on second image PRINT " Width: "; Q2Width% ' and pause for user. PRINT " Depth: "; Q2Depth% PRINT " Length:"; Q2Length% WHILE INKEY$ = "": WEND CLS CALL ASCIIDISPLAY(Q2&, 0) ' Display ascii-only image data. WHILE INKEY$ = "": WEND ' Pause CLS PRINT "Screen #3 (Normal Binary)" ' Print data on third image PRINT " Width: "; Q3Width% ' and pause for user. PRINT " Depth: "; Q3Depth% PRINT " Length:"; Q3Length% WHILE INKEY$ = "": WEND CLS CALL NORMALDISPLAY(Q3&, 0) ' Display normal binary image. WHILE INKEY$ = "": WEND ' Pause TheDraw v4.63 Pull Down Menu System 48 REM $DYNAMIC ' Setup dynamic integer array DIM SCREEN%() ' mapped over video display. INITSCREENARRAY (SCREEN%()) FOR Y% = 1 TO 25 ' Make screen scroll downward. FOR X% = 1999 TO 160 STEP -1 SCREEN%(X%) = SCREEN%(X%-160) NEXT FOR X% = 0 TO 159 : SCREEN%(X%) = 0 : NEXT ' Clear top line. FOR X% = 0 TO 1000 : NEXT ' Slow things down. NEXT END The first call (to UNCRUNCH) displays Q1 in the upper left corner. The second call (to ASCIIDISPLAY) displays IMAGE2 on the sixth line down, in the center of the screen (40 characters over). The file QB4UTIL.BI contains a complete description of all the display routines for you. Note in the above example, everything available in a TheDraw object file was declared and used (the Image, the width, depth, and data length) for example purposes. In normal use you need only declare what you need. If you always used 80x25 screens, there would be no need to access the image width and depth for instance. The INITSCREENARRAY sets up a dynamic array mapped over the video display. To directly manipulate the screen, you can perform various useful operations with this array. For instance, the above example scrolls the screen downward thus clearing the screen. You may find this more convenient than setting up DEF SEG, and using PEEK/POKE operations. Initializing the array requires the following (the name used here is "screen" but can be changed to anything): REM $DYNAMIC DIM SCREEN%() INITSCREENARRAY (SCREEN%()) After initializing the array, individual screen elements are available. To put a yellow letter "A" on the screen: SCREEN%(0) = ASC('A') + 256*14 Compare against the equivalent PEEK/POKE approach (assume DEF SEG has been initialized to &HB800 for color, or &HB000 for monochrome video): POKE 0,ASC('A') POKE 1,14 Pick whichever approach you feel most comfortable with. TheDraw v4.63 Pull Down Menu System 49 COMMAND LINE COMPILATION: The above examples all assume using the QuickBasic integrated environment. For most users this is adequate. However, the more sophisticated user might prefer their own text editor and use dos compilation. Using TheDraw object files is done exactly as described previously. Create the .OBJ files, and use MAKEQLB to produce the Quick Library (.QLB) and stand alone (.LIB) library files. ie: MAKEQLB IMAGES IMAGE1.OBJ IMAGE2.OBJ IMAGE3.OBJ Compile your source code normally using the BC program. ie: BC MYCODE.BAS,,,; When linking your program, simply add the stand alone library from MAKEQLB to your command line when making your .EXE file: LINK MYCODE+IMAGES.LIB,,,,; It is possible to bypass the MAKEQLB step, but then all screen image objects plus TheDraw's display routines must be added to your link command: LINK MYCODE+QB4UTIL.LIB+IMAGE1+IMAGE2+IMAGE3,,,,; The MAKEQLB approach eliminates some of the extra typing in the final command line. Since MAKEQLB is normally run when updating screens, using it saves time and cuts down on typing errors. TheDraw v4.63 Pull Down Menu System 50 PROGRAMMING IN CLIPPER(TM) (courtesy of Ian Thurston): A full TheDraw screen saved as a BINARY file (.BIN) has the same format as the Clipper compiler uses to "SAVE SCREEN TO ". For both Clipper and TheDraw, a full text screen save consists of 2000 "words" (or 4000 bytes). Each word represents the character and attribute of a single screen location. Importing Full-Screen BINARY files: We can easily read any file less than 64k bytes into a Clipper memory variable with the "MEMOREAD" function. Combining the MEMOREAD and RESTORE SCREEN command as follows yields: RESTORE SCREEN FROM MEMOREAD("FULL.BIN") Importing Partial-Screen BINARY files: Once again, a partial/block TheDraw screen saved to a BINARY file (using the ALT-B,Save command) has the same format as Clipper's corresponding command: "=SAVESCREEN(top,left,bottom,right)" For example, assume TheDraw was used to prepare a screen. It was then blocked using ALT-B, with the upper left corner at row 10, column 10, while the lower right corner was at row 20, column 70. The Save option was selecting using the Binary option, and saved to the file "PARTIAL.BIN" Again, the TheDraw Binary file is read into a Clipper memory variable using the "MEMOREAD" function, which itself is used as the argument for the partial screen restore function RESTSCREEN (t,l,b,r,): RESTSCREEN (10,10,20,70,MEMOREAD("PARTIAL.BIN")) Note: As is usual with this sort of function, a block can be restored at a different screen location ... but the width and height must remain the same, else the display will look very ugly indeed. Also correct programming practice would have us check for file existence and length before trying these techniques. You may choose to wrap the functions inside a parameter checking shell. TheDraw v4.63 Pull Down Menu System 51 Combining Multiple BINARY (.BIN) Files: If quite a few Binary files will be stored on disk and incorporated into an application, why not combine them into one Clipper database to simplify things? The process for accomplishing this is described below: a. Create a database for .BIN files using the following structure: Structure for database: BIN.DBF Field Field_Name Type Width Dec 1 BIN_NAME Character 8 2 BIN_TOP Numeric 2 3 BIN_LEFT Numeric 2 4 BIN_BOTTOM Numeric 2 5 BIN_RIGHT Numeric 2 6 BIN_SCREEN Memo 10 b. Using the MEMOREAD function, import the BIN files as character variables, then store them in memo field BIN_SCREEN using the REPLACE command. Next, save the screen display coordinates into BIN_TOP, BIN_LEFT, BIN_BOTTOM, and BIN_RIGHT (for a full screen, those coordinates are 0,0,24, and 79). Finally, store a meaningful name for the screen in BIN_NAME (ie: "MAINMENU" for a main menu display). c. Index the file on BIN_NAME. ---- Now to use this file, we need the following function: ******** FUNCTION showbins ******** PARAMETERS screename PRIVATE tempselect tempselect=SELECT() && Keep track of where we were working IF SELECT("BIN") = 0 && Check to see if BIN has been opened SELECT 0 && If not, find a blank work area, USE bin INDEX bin_name && and then open up BIN for use ENDIF SELECT bin && Go to the BIN area SEEK screename && Look for the specified screen IF FOUND() && and show it if it exists RESTSCREEN (bin_top,bin_left,bin_bottom,bin_right,bin_screen) ENDIF SELECT (tempselect) && return to the original work area RETURN .T. Example Usage: SHOWBINS("MAINMENU") TheDraw v4.63 Pull Down Menu System 52 PROGRAMMING IN CLIPPER (courtesy of Larry Stewart): The Clipper compiler uses the same format as TheDraw's BINARY save for it's "SAVE SCREEN to memvar" and SAVESCREEN() functions. The code example that follows shows how to retrieve a .BIN file and display it in your compiled EXE program. FUNCTION SHOW_BIN * SYNTAX: SHOWBIN( [, , , , ] ) * PURPOSE: Display a full or partial screen from a .BIN file * ARGUMENTS: contains the name of the .BIN file from TheDraw * If through are not present, the routine * assumes a full screen display will be restored. * is the top row for a partial screen * is the left column for the partial screen * is the bottom row for the partial screen * is the right column for the partial screen PARAMETER binfile,t,l,b,r PRIVATE m_buffer,m_handle,m_bytes,m_size IF ! ("." $ binfile) && Does file have an extension? binfile = binfile+".BIN" && No, default to .BIN ENDIF IF ! FILE(binfile) && Does file exist on disk? RETURN .F. && No, return FAIL value. ENDIF IF PCOUNT() = 1 && Any border dimensions passed? m_buffer = SPACE(4000) && If not, assume full screen. m_handle = FOPEN(binfile,0) m_bytes = FREAD(m_handle,@m_buffer,4000) FCLOSE(m_handle) IF m_bytes = 4000 RESTORE SCREEN FROM m_buffer RETURN .T. ELSE RETURN .F. && Error if .BIN file did not ENDIF && contain 4000 bytes. ENDIF IF PCOUNT() != 5 && Check for correct number of RETURN .F. && parameters. ENDIF m_size = 2*((r-l+1)*(b-t+1)) && Compute number of bytes in m_buffer = SPACE(m_size) && box. Allocate space for it. m_handle = FOPEN(binfile,0) m_bytes = FREAD(m_handle,@m_buffer,m_size) TheDraw v4.63 Pull Down Menu System 53 FCLOSE (m_handle) IF m_bytes = m_size RESTSCREEN (t,l,b,r,m_buffer) RETURN .T. ELSE RETURN .F. && Error if file not big enough. ENDIF Please note: When you save a box (binary block save) with TheDraw, the screen position and dimensions are not recorded in the .BIN file. The box may be restored to your screen at any position you choose; however, the dimensions of the box -cannot- be changed. If you try, the box will appear distorted or the above routine will generate an error. Examples: SHOWBIN ("EXAMPLE1") Displays the full screen image in the file EXAMPLE1. SHOWBIN ("EXAMPLE2",10,20,20,60) Displays the 40 by 10 block in EXAMPLE2 at screen position (20,10). TheDraw v4.63 Pull Down Menu System 54 PULL DOWN MENU SYSTEM TheDraw can be fully controlled via the use of pull down menus. The menus greatly simplify learning TheDraw by conveniently showing all related commands. Each menu also displays the corresponding shortcut keystrokes (such as ALT-L for files loading). The pull down menus are activated from command mode using one of two ways. Pressing either the [ESC] key on the keyboard or if using a mouse the RIGHT-most button. The following options bar will appear across the top of the screen: Ŀ Files Global Options Screen foNts Animation Color Toggles Help Each heading is briefly described below. For full functional descriptions, please refer to the appropriate section under THEDRAW KEYBOARD COMMANDS. The FILES Menu The Files pull-down menu offers assorted options for loading or viewing existing files, deleting old files, and saving the screen image currently being edited. When you load a file, it is read into the screen edit area. When done with a file, you can save it to any directory or file name. In addition, from this pull-down you can change to another directory, temporarily go to a Dos Shell, or exit TheDraw completely. FILES Global Options Screen foNts Animation Color Toggles Help Ŀ Load Alt-L View Alt-V Delete Alt-K Change Dir Alt-O Save Alt-S Quit Alt-X TheDraw v4.63 Pull Down Menu System 55 LOAD - Load a File (ALT-L) Displays a list of files under the current directory. You can use DOS-style wildcard masks for a listing of specific wanted files. Simply type in the name of the file to load or use the arrow keys to move the selector bar and press [ENTER]. Activate the pick list by pressing the TAB key or the RIGHT-most mouse button. VIEW - View a File (ALT-V) Similar to LOAD, except the image is loaded only temporarily. Pressing [ENTER] returns to command mode. DELETE - Delete a File (ALT-K) Allows files to be deleted from within TheDraw. The screen operates identically to the LOAD option above. The difference being TheDraw will attempt to delete any file you select. CHANGE DIR - Change Working Directory (ALT-O) Displays all subdirectories in the current directory. Select the wanted directory by typing it in or using the arrow keys and pressing [ENTER]. To change to another drive, simply type the wanted drive followed by a colon. ie: "C:" SAVE - Save Current Screen to a File (ALT-S) Saves current screen image to one of a variety of file formats. QUIT - Quit/Shell from TheDraw (ALT-X) Allows you to either exit TheDraw completely or leave the program just temporarily. In both cases, you end up at the Dos prompt. To return to TheDraw from a Dos Shell, type EXIT. This is useful when you want to run a DOS command without quitting TheDraw. TheDraw v4.63 Pull Down Menu System 56 The GLOBAL Menu The global menu offers options that affect the entire edit screen. These options include moving and copying the screen, plus global screen fills and text operations. Files GLOBAL Options Screen foNts Animation Color Toggles Help Ŀ Copy Alt-G,C Move Alt-G,M Fill Alt-G,F Text Alt-G,T rePlace Alt-G,P COPY - Global Screen Copy (ALT-G,Copy) Copies the current screen page to another page. You are prompted for which destination page you want. MOVE - Global Screen Movement (ALT-G,Move) Allows the rotating of the screen around its borders. Use the arrow keys or the mouse. Press [ENTER] or the LEFT mouse button to save at the new location. FILL - Global Fill Screen (ALT-G,Fill) Fills the entire screen based on a specified sub-command. The available options allow just the color attributes, just the characters, or both to be changed at once. TEXT - Global Text Operations (ALT-G,Text) Performs various screen text operations. Available suboptions are: Draw Box, Outline contents of screen, Center Justify screen contents, Left Justify, and Right Justify. REPLACE - Global Screen Replace (ALT-G,rePlace) Replaces all occurrences of the current character (under the cursor) with any combination of current attributes and a new character. TheDraw v4.63 Pull Down Menu System 57 The OPTIONS Menu The Options menu contains facilities to aid you in the layout of a screen design. Commands affect things like the current character set, the Tab line setup, and the on-screen ruler. A screen painting function is available also. Files Global OPTIONS Screen foNts Animation Color Toggles Help Ŀ Character Set Alt-F At-Codes Chart Alt-Q Tab Setup Alt-T Ruler Alt-N Paint/Fill Alt-P ij Setup Options CHARACTER SET - Display and Select Character Set (ALT-F) Shows a screen containing all special IBM extended character symbols. From this you can select which character set you would like to work with. Use the arrow keys or the mouse. Press [ENTER] to save your choice. AT-CODES CHART - Quick Reference of PCBoard/Wildcat AT-CODES (ALT-Q) Shows a window containing the AT-Code commands used by the PCBoard and Wildcat bulletin board systems. Use arrows keys or mouse to scroll, and press [ENTER] to place your choice into the edit screen. Note the codes are drawn simply as normal text, using the current color attributes. TheDraw has no awareness of these codes beyond the quick reference chart. Partly altering the colors used in a command code affects screen saving. TAB SETUP - Adjust TheDraw Tab Stops (ALT-T) This command permits the setting of tabs in the editor (positions where the [TAB] key stops). Initially the positions are at every tenth column. Sub-commands are available for setting, clearing, and resetting tabs. TheDraw v4.63 Pull Down Menu System 58 RULER - On-Screen Ruler (ALT-N) Places a pair of lines on the screen which intersect at the cursor position. Move the ruler using arrows or the mouse. [ENTER] or LEFT mouse button saves the new cursor position. This command is useful for aligning items of the screen. The ruler can be held on the screen by selecting the [S]ticky option. PAINT/FILL - Enclosed Area Painter (ALT-P) Lets you fill an enclosed area easily with characters and/or color attributes. An area is defined as any shape formed using line characters (from function key sets 1-4). To use this command, position the cursor inside the target area before activating the pull down menus. SETUP OPTIONS - Default Setup Configuration (no separate key sequence) Provides access to many of the configurable defaults while using TheDraw. The following options may be changed: WORKSHEET WIDTH Choose how wide the edit buffer should be. Either 80 or 160 characters. WORKSHEET DEPTH Choose how deep the edit buffer should be. Can be 23, 25, 43, 50, or 100 lines. Note the worksheet depth cannot be less than the video mode in use. For example, if using 43 line EGA editing the worksheet depth may only be 43 or 50 lines. An exception is the 23 line buffer, available only with the standard 80x25 video mode. Using the 23 line buffer disables full screen editing and [CTRL-PRTSC] is ignored. VIDEO SCREEN MODE Choose one of the following video edit modes: Standard 80 character by 25 lines (80x25), 80x43 (if using an EGA card) or 80x50 (if using a VGA card). MAINTAIN FILE DIRECTORY LISTING WILDCARDS Tells TheDraw to maintain wildcards specified in the directory listing available during loading (or deleting). For example entering "*.BIN" to see all binary files would normally be forgotten, unless this option was turned on. TheDraw v4.63 Pull Down Menu System 59 DEFAULT SAVE SCREEN FORMAT Default file format TheDraw should select when saving a file. Upon hitting ALT-S, you are present with many choices. Pressing [ENTER] selects the default save screen format. If you find yourself using a specific format often, changing the default might make things easier. DEFAULT LOAD SCREEN FORMAT Similar to the above, but used during loading. If you are working with a given file type regularly, changing the default load format will saves typing the file extension. ie: if set to Binary, "DEMO" becomes "DEMO.BIN" instead of "DEMO.ANS". CREATE BACKUP FILES Instructs TheDraw to generate backup files when saving. If a file already exists, TheDraw renames the existing file's extension to .BAK before continuing. SAVING FILENAME PICK LIST ON EXIT TO DOS Controls the saving of the filename pick list to disk on exit. When off, any accumulated filenames will be lost upon exit. ASK TO SAVE CHANGES BEFORE EXITING TheDraw can be made to prompt before allowing exit to Dos, if changes were made to the current page or any page. USE ALT-KEY HELP WINDOW Holding down the ALT key for about three seconds displays a brief pop-up of available commands. The feature may be disabled by toggling this option. USE QUICK PALETTE The quick palette is normally available when the pull-down menus are displayed. If you prefer not using the Quick Palette, it can be disabled with this option. BLANK SCREEN AFTER HOW MANY MINUTES TheDraw will blank the screen by writing blanks if no action is taken for a specified time. The time delay can be set from 1 to 255 minutes, or turned off completely (value of 0). DISK SWAP FILE PATHNAME Used when doing a Dos Shell (see ALT-X,S). TheDraw attempts to write all its data to expanded memory or a disk swap file to provide more room during the shell. If insufficient expanded memory (EMM or EMS) is available, the disk swap file is used at the specified path. Leaving this option blank will prevent TheDraw from using a swap file. TheDraw v4.63 Pull Down Menu System 60 DEFAULT FILENAME EXTENSIONS The default filename extensions TheDraw uses when saving a file. Change to your preference. For instance, if saving an Ansi file, TheDraw will change "DEMO" into "DEMO.ANS". DEFAULT ASM,PASCAL,C SAVE FORMAT Controls if TheDraw defaults to Normal, Ascii, or Crunching of screen data. See ALT-S for more information. FILTER OUT SOLID SPACES ON TEXT (NON-BINARY) FILES Occasionally solid spaces (entered with Shift-Space key combination) cause problems with other programs. This filter will convert all solid spaces to normal spaces in the data written to disk (for Ansi, Avatar, Ascii, PCBoard, Wildcat, Asm, Pascal, and C formats). FORCE CR/LF ON END OF LINES OF ASCII THAT ARE SCREEN WIDTH TheDraw is faced with a dilemma when saving Ascii files. The Dos TYPE command automatically wraps the cursor down a line when screen width text (80 characters) is printed. TheDraw normally handles this by not writing a carriage return sequence (CR/LF) for those lines, as it is not needed. However, reading such an Ascii file into other programs can cause problems. Therefore this option forces TheDraw to always write the CR/LF regardless of anything. A simple, yet effective, solution. OUTPUT ANY BLANK LINES ON BOTTOM OF FULL-SCREEN SAVE Many times a screen does not use the entire video. To avoid TheDraw outputing the extra blank lines present on the bottom of such screens, this option can be used. It will generate files equivalent to using a block save command. RESET COLORS TO WHITE ON END OF ANSI FILES Controls if TheDraw resets the Ansi colors to white after all is said and done. Generally of use in animation files, where the last character printed is flashing magenta on a green background (or some even worse color combination). DEFAULT ANSI VIDEO PREPARATION Choose if by default TheDraw does nothing, homes the cursor to the upper left screen corder, or clears the screen before displaying an Ansi file. DEFAULT ANSI SLOW DOWN FACTOR Choose how many delay elements TheDraw inserts by default into an Ansi file. Normally used on faster machines to make animation more appealing (ie: visible). TheDraw v4.63 Pull Down Menu System 61 MAXIMUM ANSI LINE LENGTH Controls the maximum line length TheDraw will permit a line of Ansi to become. Some programs have line length limitations (such as bulletin board systems). Since TheDraw can conceivable generate lines thousands of characters long, this option allows you to compensate. The setting can be between 32 and 255 characters, or set to Unlimited if no conflicts exist. The SCREEN Menu Use items in the Screen menu to erase a page layer or select some other page. Other options allow you to insert, delete, or restore the contents of individual lines. Files Global Options SCREEN foNts Animation Color Toggles Help Ŀ Clear Page Alt-C Select Page Alt-E Insert Line Alt-I Delete Line Alt-Y Insert Column Delete Column Restore/Undo Alt-R CLEAR PAGE - Clear the Current or All Page Layers (ALT-C) Erases the image in the current page. You may also opt to erase all page layers in one fell swoop for a completely clean slate. You will be prompted to save the current screen if changes have been made. SELECT PAGE - Choose new page layer to display or work on (ALT-E) Prompts for a new page layer you wish to edit. Enter a number between one (1) and the number of available pages. The mouse can be used for selection by pressing the RIGHT button. INSERT LINE - Place blank line on screen (ALT-I) Inserts a blank horizontal screen line at the position of the edit cursor. This command can be reversed by utilizing the Restore/Undo command (ALT-R). TheDraw v4.63 Pull Down Menu System 62 DELETE LINE - Delete current line from screen (ALT-Y) Deletes a horizontal screen line at the position of the edit cursor. This command can be reversed by utilizing the Restore/Undo command (ALT-R). INSERT COLUMN - Place blank column on screen (ALT-) Inserts a blank vertical screen column at the position of the edit cursor. This command can be reversed by utilizing the Restore/Undo command (ALT-R). DELETE COLUMN - Delete current line from screen (ALT-) Deletes a vertical screen column at the position of the edit cursor. This command can be reversed by utilizing the Restore/Undo command (ALT-R). RESTORE/UNDO - Recover from unwanted changes on the screen (ALT-R) Undoes the most recent changes done to the screen. The restore can "undo" block operations, line insertion or deletions, animation mode toggles, global screen functions, font entry, and any changes to the current horizontal line being worked on. Notes with the latter item, once you leave the current horizontal line any changes are permanent. TheDraw v4.63 Pull Down Menu System 63 The FONTS Menu The Fonts pulldown menu supports choosing various styles and outline types. The menu shown below is only an example. The actual fonts available can vary depending on your configuration. Additional fonts may be present, or the ones shown changed. Ascii fonts can be extremely useful in sprucing up a display. They are excellent for title bars, or whatever you desire. Upon choosing an Ascii font, the word "FONT" will appear in the status line. Files Global Options Screen FONTS Animation Color Toggles Help Ŀ Standard Font outline Type ij A: Outline * B: BigOutline * C: ThickOutline D: Medium E: Rounded F: Raster STANDARD FONT: The standard font is the normal text lettering associated with each key. This is the default setting upon loading TheDraw. The standard font is used for lettering seen in the help screens, the pulldown menu bar, status line, etc... OUTLINE TYPE - Choose a Font Outline: The outline type option is only available when an outline formatted font is selected. These are indicated with an asterisk ("*") appearing after the font description. Outline formatted fonts are special in that they can appear in different styles. There are 17 various styles to choose from. Some examples are: Ŀ ķ ͼ TheDraw v4.63 Pull Down Menu System 64 FONT SELECTION: Remaining options in the fonts submenu select specific fonts. TheDraw supports the entire visible Ascii character set (#33 to #126). ie: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Extended function key symbols are not currently supported. To enter a given symbol to the edit screen, simply press the corresponding key. ie: for a letter "A", type the "A" key. The symbol will appear fully in the current color attributes. Not all symbols are necessarily available in all fonts. Some fonts may only provide the alphabet and numbers. TheDraw beeps if a wanted symbol is not available. The original fonts distributed with TheDraw do not contain any omissions. Once a font has been selected, the word "FONT" replaces the "Text" indicator on the status line as a reminder. In addition, once you start typing symbols the cursor becomes a full block. So long as the full block cursor is shown, you can use the BackSpace key to correct mistakes on the fly. Press ALT-R (Restore/Undo) to remove any undesired key sequences completely. There are three main types of fonts: Normal block, Outline, and Multi-Color fonts. Normal fonts are just simple block images. They are drawn using the current color attributes. Outline fonts are special in that the way they are drawn can be changed on the fly using the OUTLINE TYPE command (described above). Multi-color fonts are a special breed that define fixed colors in addition to characters. The current color attributes are ignored. Outline fonts are indicated by an asterisk "*" appearing after the description. Multi-color fonts a letter "C". TheDraw v4.63 Pull Down Menu System 65 The ANIMATION Menu Provides various facilities for working with the TheDraw animation system. Options allow the display and editing of the animation sequence. The registered version of TheDraw adds Limiting and animation markers (as shown below). Note this menu is only available when TheDraw is actually in animation mode - otherwise it is disabled. Files Global Options Screen foNts ANIMATION Color Toggles Help Ŀ Screen Redraw Alt-Q Auto Repeat ALT-Q,A Change Character Alt-W Erase Character Alt-Z ij Include Files Alt-G,I Limiting Alt-G,L marKer Alt-G,K Movement Storage Alt-G,M Rescan Animation Alt-G,R Pause Animation Alt-G,P SCREEN REDRAW - Display the Entire Animation Sequence (ALT-Q) Display the animation sequence as entered. The command is useful for seeing how your work is progressing. The speed of the redraw may be controlled by specifying a number between 0 (fastest) and 255 (slowest). AUTO REPEAT REDRAW - Display Animation Sequence Repeatedly (ALT-Q,A) Identical to screen redraw, except the animation sequence is drawn over and over continuously. You must press a key to end the presentation. CHANGE CHARACTER - Edit a Character in Animation Sequence (ALT-W) Allows the editing of a mistyped animation entry. Animation mode differs from the normal edit mode in that simply overtyping a character does not replace it. In animation mode, both entries are remembered - the incorrect character, plus the wanted one. This command can changes entries without adding unwanted new ones. TheDraw v4.63 Pull Down Menu System 66 ERASE CHARACTER - Delete a Character from Animation Sequence (ALT-Z) Deletes characters from the animation sequence. As stated above in the CHANGE CHARACTER option, a character is not replaced or deleted in animation mode by overtyping. To erase something this command must be used. Only the top-most character (the one currently visible) is removed; anything under it is left intact. INCLUDE FILES - Ansi/Ascii Include Files (ALT-J,Include) Allows text files created by programs other than TheDraw to be inserted into Animation sequences. Particularly useful for Ansi Music, BBS control codes, and often used sequences. LIMITING - Animation Sequence Editing (ALT-J,Limit) - Registered Limiting gives total control over the animation sequence, making changes anywhere trivial. Normally all changes and additions are done on the end of the animation sequence. By using limiting, you can move the edit point to anywhere within the sequence. Once the limit point has been set, TheDraw operates only up to that point. All deletions, additions and correcting are done where the limit is specified. Everything in the sequence above the limit is protected, temporarily out of the way. MARKER - Animation Markers (ALT-J,marKer) - Registered Markers are used to "mark" or "tag" different places in the animation sequence for later reference. Once set, markers can be used for quickly changing the animation limit position (see above) and viewing specific portions of the animation sequence. MOVEMENT STORAGE - Cursor Movement Storage (ALT-J,Movement) Controls whether or not cursor movement is stored in the animation sequence. Normally only characters specifically typed are recorded. With this option turned on however, movements of the cursor are also saved (for example, using the mouse or arrow keys). RESCAN ANIMATION - Animation Screen Rescanning (ALT-J,Rescan) Creates a new animation sequence using the current screen image. Any previous animation is lost (unless in animation limiting mode). TheDraw v4.63 Pull Down Menu System 67 PAUSE ANIMATION - Animation Pausing (ALT-J,Pause) Inserts either a keyboard or timed pause into the animation sequence. Gives the opportunity to sit and reflect upon a certain presentation. Note these pauses are truly functional only within TheDraw or THEPP (The Presentation Program). In Ansi files, timed pauses cannot be accurately saved. Keyboard pauses are flatly not possible with standard Ansi. The COLOR Menu Use this menu to select edit colors. Available options set the normal edit foreground and background color, the default background color used for erasing areas, and "picking up" colors currently used under the cursor. Files Global Options Screen foNts Animation COLOR Toggles Help Ŀ Fore/Back Alt-A Default Alt-D Under Cursor Alt-U Shading Alt-A,A FORE/BACK - Change New Character Fore/Background Color (ALT-A) Displays a screen showing available colors. Simply select wanted color using mouse, arrow keys, or directly typing the number. See also CTRL-UP/DOWN. DEFAULT - Change Default Erase Background Color (ALT-D) Similar to above, except changes default color. This is used whenever TheDraw must erase an area, or otherwise deal with a "void" created by some operation. UNDER CURSOR - Use Colors Currently Under Cursor (ALT-U) Changes new character fore/background color attributes to those under the edit cursor. Very useful for making quick updates and fixes. TheDraw v4.63 Pull Down Menu System 68 SHADING - Select Color Shading Combination (ALT-A,A) Present only in the registered version of TheDraw. It is derived from the SHADING.TD example file distributed with the shareware version of TheDraw. Incorporated in the registered version, it provides a powerful and easy to use tool. A screen is shown containing all available color combinations, when used in conjunction with the block symbols from function key set 6: Pressing the [SPACE] bar toggles the color highlight on any off. Use the arrow keys to select a color. The current colors are spelled out along the bottom of the selection window. Press [ENTER] to choose a color. The block symbol selected becomes the current "picked" character, and can be used with the manual painting keystrokes (shift arrow-keys). The TOGGLES Menu The Toggles menu contains settings for controlling how TheDraw works. The settings affect things like line draw or sprite mode, animation mode toggling, character insert mode, and full screen editing. Files Global Options Screen foNts Animation Color TOGGLES Help Ŀ Draw Mode Alt-M Color Draw Alt-- Sprite Mode Alt-E,T Animation Mode Alt-J Pick Character Alt-/ Insert Mode Ins Full Screen Ctrl-PrtSc DRAW MODE - Line Draw Mode Toggle (ALT-M) Turns on/off line drawing mode. Line drawing is accomplished using characters from function key sets 1 to 4. In this mode, moving the cursor draws a line. Useful for creating abstract shapes quickly and easily. TheDraw v4.63 Pull Down Menu System 69 COLOR DRAW - Color Draw Mode Toggle (ALT--) Turns on/off color attribute drawing mode. Color drawing involves simply changing characters to the current colors. A manual way of easily painting an area a given color. SPRITE MODE - Sprite Editing Toggle (ALT-E,Toggle) Turns on/off TheDraw Sprite Editing Mode. Please refer to ALT-E for discussion about this mode. ANIMATION MODE - Animation Mode Toggle (ALT-J) Changes TheDraw from Normal to Animation mode and visa versa. When going from Normal to Animation mode, a list of available screen scanners are presented. Refer to ALT-J for more details. PICK CHARACTER - Select Current Character for Manual Painting (ALT-/) Toggles manual painting, using the character currently under cursor. It is indicated by a "x" structure in the status line (where 'x' is the symbol chosen). You manually paint with the Shift Arrow-Key combinations (ie: Shift-Up-Arrow, Shift-Right- Arrow, etc...). Other ways to pick characters include using the Quick Palette, or the color Shading screen available in the registered version. Manual painting is turned off by picking up the same symbol as currently selected. INSERT MODE - Character Insert Mode Toggle (INS) Turns on/off character insert mode. In insert mode, typing something bumps everything to the right to make room for the new character. FULL SCREEN - Full Screen Editing Toggle (CTRL-PRTSC) Toggles using the entire screen for editing. In full screen edit mode, the status line along with all indicators disappear. This makes the entire video screen available for editing. TheDraw v4.63 Pull Down Menu System 70 The HELP Option This is not really a pulldown menu at all. Rather, it is a entry into the outline help screens of TheDraw. The four screens provide a general overview of most functions in the program. The QUICK PALETTE Window The Quick Palette is perhaps one of the easiest ways of choosing colors and extended characters; especially if using a mouse. This window appears at the same time as the pull down menu bar. From the keyboard type either [ALT-Q] or the [TAB] key to select. Mouse users simply need move the pointer over the window. Quick Palette Ŀ Fore [] Blink Back [] Ĵ ڿɻոַ 雜 .......... ȼԾӽ ...... .. There are four fields. The top three are for choosing a foreground color, toggling the blink attribute, and choosing a background color. Mouse users need only click on the desired color to select. Keyboard users must use the CTRL-Up/Down/Left/Right arrow key combinations to change colors using the Quick Palette. The bottom field contains most extended character attributes. Choosing an extended character from the Quick Palette does three things for you: o Places the character onto the edit screen at the cursor. o It makes that character the "picked" symbol for manual painting. o It changes the current function key set to the one containing the specified symbol. Keyboard users move around in the bottom field with the arrow keys. Press [ENTER] to choose a symbol. This can be very helpful for quickly using odd symbols, which are spread across multiple function key sets. Instead of typing ALT-F, finding the symbol, selecting a set, then hitting the proper function key, you now simply point and click. What could be easier? The Quick Palette does not contain all of the line drawing symbols. Typically there is no point in using the manual paint mode for these symbols, as the line drawing toggle (ALT-M) is available. The act of choosing the function key set can be useful though, and is provided. TheDraw v4.63 Pull Down Menu System 71 THEDRAW KEYBOARD COMMANDS ALT-A: CHANGE TEXT COLOR ATTRIBUTES This function allows you to change the current color attributes used by TheDraw. These attributes "color" any new characters placed on the screen. When you press ALT-A, the screen will change to a display of the available and currently selected colors. The lower portion of the screen contains two prompts: Please Select Foreground Color (0-31): Please Select Background Color (0-7): The cursor will be flashing immediately after the first prompt. You can now change the current foreground color via the Up/Down arrow keys or by directly typing the number associated with a foreground color (see table below). Mouse users can position the mouse on the wanted color then press a button. 0 Black 8 Dark Gray 1 Blue 9 Light Blue 2 Green 10 Light Green 3 Cyan 11 Light Cyan 4 Red 12 Light Red 5 Magenta 13 Light Magenta 6 Brown 14 Yellow 7 Light Gray 15 White Characters can be made to blink by selecting colors from the range 16 through 31. These match the above exactly, except they blink. After changing the foreground color (or leaving it alone) you can either proceed to the background colors by pressing [ENTER] or press [ESC] to return to the edit screen. The background color is selected in a fashion similar to the above. Allowed values are the first eight (0 through 7) colors. There are no background colors available that allow background blinking. Pressing either [ENTER] or [ESC] at this point will return to the edit screen. Notes: It is possible to change the colors without using ALT-A. Please see the Ctrl- commands for more details (ie: Ctrl-, Ctrl-, etc...) Monochrome screen users will find background colors generally useless except when set to light gray (7) while using a black foreground color of 0 or 16 (blinking black). TheDraw v4.63 TheDraw Command Functions 72 COLOR SHADING SCREEN The registered version of TheDraw includes a built-in version of the SHADING.TD example file (distributed with the shareware release). As incorporated into the registered version, it provides a powerful and easy to use aid in color mixing and selection. To reach this screen, type ALT-A from the change attributes screen. From the edit screen type ALT-A twice, or pick the Shading option from the COLORS pulldown menu. A screen will appear showing all available color combinations using along with the block symbols from function key set 6: Pressing the [SPACE] bar toggles the color highlight on any off. Use the arrow keys to select a color. The current colors are spelled out along the bottom of the selection window. Press [ENTER] to choose a color. The block symbol selected becomes the current "picked" character, and can be used with the manual painting keystrokes (shift arrow-keys). ALT-B: BLOCK ACTION COMMANDS The Block Action Commands provide many facilities for editing the current screen and making extensive changes. The following options are available: o Move or Copy blocks of text. o Fill in areas with characters, colors or both. o Perform left, right or center text justification. o Draw boxes or outline text with lines quickly and easily. o Delete or simply Erase blocks of text. o Load a block of screen area from a file on disk. o Save just a piece of the current screen to disk. o Rescan an area into animation sequence (animation mode only). The Block Action Commands in TheDraw are one of the more useful tools available. After pressing ALT-B, you will see the following prompt: Use [L]ast block or move to Upper-Left corner and press [SPACE]. Press [L] to use the last block specified. Otherwise define a new block by indicating the upper-left and lower-right corners. Use the arrow keys, PgUp, PgDn, Home or End keys on the keyboard to move the cursor to the wanted locations, then press [SPACE] after you reach each point. TheDraw v4.63 TheDraw Command Functions 73 The current block is highlighted (colors inverted) to make it obvious. Once you define the upper-left corner of the block, moving above or to the left of it will not invert any text. TheDraw will stop the block marking if you press [SPACE] under this situation. Upon pressing [SPACE] the second time (with an inverted block) you will see the available block option commands. Mouse users may mark a block by pressing and holding the LEFT mouse button, moving the mouse to wanted block size, and releasing. COPY - Copy a Block Copies the marked block. Use mouse or normal cursor movement keys, such as the arrow keys, Tab, PgUp, PgDn, Home or End to move the block copy around. Available sub-commands are: pagE - Change to a different page layer screen. With this option you can choose to stamp (see below) copies of the block on other layers. A small window appears with a prompt for the new page layer. Enter a number or press [ESC] to abort. Toggle - Toggles between single layer and sprite editing modes (see ALT-E for discussion on sprite editing). In sprite mode, any text on a higher numbered page layer will appear "under" text on the current page. Stamp - Makes a copy of the current block at the current position. Additional copies can be made as many times as wished. Under - Toggles between moving the block "above" or "under" the current page layer. The block copy starts in above mode. In above mode the entire block is visible, no matter where it is moved. In under mode, the block appears UNDER any other text on the current page layer. It will only show through the black spaces on the current layer. Note: Under mode also allows an interesting effect. If you are sprite editing (see ALT-E command) the block will appear to move -between- the current layer and those below it. [ENTER] Saves all changes made to all layers. [ESC] Aborts and removes all changes made to all layers. TheDraw v4.63 TheDraw Command Functions 74 MOVE - Move a Block Moving a block operates identically to copying a block (see above). The only difference is the block is "cut" out from the current screen, leaving a hole behind. This hole is filled with spaces and the default background color (see ALT-D command). All sub-commands are identical to the block copy described above. Under animation, the exact pattern of a the shifted animation sequence is relocated. FILL - Fill a Block Fills the marked block based on a specified sub-command. The available options are listed below: Attribute - Changes both foreground and background color attributes to current status line values. Fore - Changes just the foreground color attributes to current values shown in status line. bacK - Changes just the background color attributes to current values shown in status line. Use - Changes both foreground and background color attributes to those under the CURSOR when you first pressed ALT-B. This is not the upper-left block corner, but the position on the screen the cursor was sitting when block commands were first selected. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The block is then overwritten using whatever was selected. The color attributes at a given spot are not changed, just the character there. Both - Combines both the Attribute and Character fill operations described above. A character is prompted for, then everything in the block is overwritten using that character with the current color attributes from the status line. These commands offer much flexibility; however, nothing will satisfy everyone. For this reason, the "last block" option was added. To perform multiple fill operations on a given block is now done quickly and easily. Note: In animation mode, the Attribute, Fore, bacK, and Use options actually change characters in the animation sequence (no new characters are added). The Character and Both options in Animator mode ADD to the animation sequence. TheDraw v4.63 TheDraw Command Functions 75 TEXT - Block Text Operations Performs various text operations on the specified block. Available sub-commands are: Box - Draws a box using the current function set. The box border is defined by the edges of the block area. The contents of the box are left unchanged, however anything where the box lines are actually drawn will be overwritten. Outline - Operates similar to the Box command, except the contents of the block are examined first. The box border will be adjusted to just accommodate all words either fully or partially contained by the block area. For instance, assume just one character in the center of the edit screen. You then mark the entire screen as a block, and select text outline. The result would only be a small box around the character. Going the other way, if you block marked just the center letter of a long word (with no spaces) the block edges would expand to accommodate the entire word. Note: the expansion is only done for words INITIALLY part of the block. Any words the block expansion happens to go over are ignored, and are not considered by Text Outline. Center - Text contained or partially contained by the block is centered. The way this is done is similar to the text Outline described above. Each line of characters considered is expanded to just enclose all words. The string of words is then centered on the position of the block. Left - Text contained or partially contained is moved to the left edge of the block. Block expansion is used so words are not split apart. Right - Identical to Left except contained or partially contained text is moved to the right edge of the block. These commands are useful making menu displays, short memos, letters, etc... TheDraw v4.63 TheDraw Command Functions 76 DELETE - Delete a Block This command is fairly intuitive. The block is completely removed. Anything on the edit screen to the right of the block is shift over to fill in the space. The area previously occupied by the shifted text is erased using spaces and the default background color (see the ALT-D). ERASE - Erase a Block Erases the block, without changing anything other portion of the edit screen. The block is erased using spaces and the default background color (see ALT-D). REPLACE - Block Character/Color Replace Performs character and/or color attribute replacement on block based on specified sub-command. The pattern is whatever was under the cursor when ALT-G was selected. The available options are shown below (these are similar to the Fill options): Attribute - Searches both foreground and background color attributes, then replaces all matches with current values shown on status line. Fore - Searches and replaces just the foreground color attributes with current value. bacK - Searches and replaces just the background color attributes with current value. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The block is then searched and all characters matching the pattern are replaced with the new selection. Color attributes at any position are not changed, just character values. Both - Combines both the Attribute and Character operations described above. A replacement character is prompted for, then everything on the screen matching the pattern (both character and fore/back attributes) is replaced with the character and current colors. TheDraw v4.63 TheDraw Command Functions 77 The following commands are available only in normal (non-animation) screen edit mode: LOAD - Load a Block Imports a block of data from another screen saved on disk. You are first prompted for the import filespec (see ALT-L for details on loading files). The import image is then loaded onto the screen, and an inverted area of the defined block size appears. Move this inverted area using arrow keys, PgUp, PgDn, Home or End to the wanted portion. Press [ENTER] to save a copy of the inverted area in the original edit screen. The rest of the import image is discarded. SAVE - Save a Block Operates almost identically to the normal save screen command (see ALT-S for information on saving edit screens). The difference being the save is restricted to the defined block. ----- The following are available only in animation edit mode: FADEOUT - Animation Fadeout Fill Identical to the block fill command; however, in addition you are prompted for an animation scanner. This option gives you the ability to easily have a screen appear using one animation effect, then be erasing using another. RESCAN - Rescan a Block Operates just like the ALT-J animator rescan option, except only the marked block is rescanned. The marked block area is first erased from the animation sequence, then the block is rescanned and added onto the end of sequence. ALT-C: CLEAR CURRENT SCREEN The operation of this command should be apparent. Once selected, the following prompt appears: Do you want to CLEAR this Page or All Page Layers? (Yes/No/All) Selecting [Y]es or pressing [ENTER] will clear the current page layer and nothing else. Selecting [N]o or pressing [ESC] will abort the TheDraw v4.63 TheDraw Command Functions 78 command. Selecting [A]ll will clear ALL page layers. You are prompted to verify this request before continuing. Useful if you want a completely clean slate. The clearing of a given page layer is done by using spaces and the default background color (see ALT-D). The clear screen can be reversed using the Restore/Undo command (see ALT-R). ALT-D: SET DEFAULT BACKGROUND COLOR The default background color is used whenever TheDraw must erase a portion of the screen. Examples of commands where this is used are: o Clear Current Screen. o Block Delete, Erase, and Move. o Text Operations which move words. o Use of the Backspace or Delete keys to remove characters. o Inserting or Deleting of lines or columns. All these commands "clear" an area of the screen in one way or another. TheDraw does this using spaces and the default background color specified. When you select ALT-D, the screen changes to a display of available colors and the current default background color. In the lower portion of the screen is the prompt: Please Select Background Color (0-7): The cursor will be flashing after this prompt. Select the wanted default background color via the Up/Down arrow keys or by directly entering the number associated with a color (see ALT-A for available colors). Mouse users simply position the mouse on the wanted color and press a button. Press [ENTER] or [ESC] to return to the edit screen. ALT-E: CHANGE PAGE LAYER/TOGGLE SPRITES The change page layer command allows you to select a different page layer for editing. Up to eight simultaneous layers can be used at once, in either normal or animation modes. With this facility, you can load several images, copy/exchange parts and do much more. After pressing ALT-E, the following prompt appears: Display Page Layer (1-8), Toggle Single/Layers, or [ESC]? TheDraw v4.63 TheDraw Command Functions 79 The number of available layers (8 here) will vary depending on how TheDraw has been configured. To select a different page layer, simply press the number. The second option, [T]oggle Single/Layers, is to toggle the sprite editing facility of TheDraw. Sprite mode is indicated by the word "Page" or "Anim" appearing in capital letters on the status line (ie: PAGE). Sprite editing allows you to see everything "underneath" the current page layer. Imagine several sheets of glass, stacked on top of one another. If you look down from the top-most sheet, you can see anything placed on a piece of glass lower down. The sprite editing mode of TheDraw is akin to the layers of glass described above. In this case, layer one is the top-most sheet of glass. Page layer eight (8) is the bottom-most sheet of glass. ie: Ŀ . . . . Bottom-Most Layer Ŀ 8 Ŀ Ŀ . 3 . Top-Most Layer 2 1 Naturally, an object or character closer to the top will cover anything under it. In TheDraw, anything other than a non-solid black space will conceal the contents of a lower layer (see SHIFT-SPACE for information on solid spaces). Another useful feature about sprite editing is only the current page layer may be changed. Nothing you do will alter a layer below (short of clearing all layers), even though you can see its contents. The current layer can be globally moved, have lines inserted or deleted, etc... Anything lower down is protected unless you specifically change to that page layer for editing. The question than now comes to mind is: What can be done with it? Imagine you have a screen made of several distinct parts, say a backdrop with figures on it. Now a figure must be moved to make room for something else. Unless "block" shaped, the block move command (ALT-B) is tedious to use. For something tree shaped, an easier way is desired. Using sprite editing each figure could have its own layer, with the backdrop placed on the bottom-most page. To move a figure, you merely switch to its layer and use the global screen move command (ALT-G,M). Nothing could be simpler. To see the result of your change, switch back to the top-most layer. TheDraw v4.63 TheDraw Command Functions 80 Menu making is made easier with sprites also. Put together the basic outline (lines, boxes, etc...) on one page layer, then switch to one higher up for the text. If you do not like the initial text, erasing it will not harm the outline. There are endless more possibilities waiting to be discovered. ALT-F: VIEW FUNCTION KEY SETS This command presents a display of the 150 special extended characters supported by TheDraw. These characters are stored in fifteen separate "function key sets". The current set is displayed on the TheDraw status line. Selecting function key sets within this display is done using the Up/Down arrow keys or using the mouse. Press [ENTER] or click the mouse button when satisfied. The actual characters are accessed using the function keys by themselves. If function key set 7 was selected, pressing [F2] would display the second character in that set (a smiley face). ---- An alternate means for selecting function key sets is available from the normal edit screen. To use function key sets 1 to 10, press ALT followed by a function key 1 to 10. To use function key sets 11 to 15, press CTRL followed by a function key 1 to 5. ie: ALT-F7 will select function key set 7 CTRL-F4 will select function key set 14 Note: Appendix C contains a list of all special characters supported by the IBM-PC extended character set in numeric order. To access these characters -without- using the function key sets, press and hold down the ALT key. Now using the numeric keypad on the side of the keyboard, type in the number associated with the wanted character. Once done, release the ALT key. The character will then appear. ie: press and hold ALT. Now type 65 on the numeric keypad, and release ALT. The letter "A" will appear. TheDraw v4.63 TheDraw Command Functions 81 ALT-G: GLOBAL COMMANDS The global commands offer many facilities for doing "global" changes to the entire screen. All of these commands could be duplicated with block operations; they exist for convenience. The following selections are available: o Copy the current screen to another page layer. o Move/Rotate the current screen around its borders. o Globally fill the screen with colors and/or characters. o Perform text operations globally on the screen. o Globally replace a character or color with something else. After pressing ALT-G the available commands are listed. COPY - Copy Screen The command first prompts for the destination page. The current screen is then copied to the specified page layer. In animation mode, this deletes everything on the destination layer. The current screen is then copied item by item to it. MOVE - Move/Rotate Screen Moves the entire screen around its borders. Use the arrows keys to rotate the screen. Press [ENTER] when satisfied or [ESC] to leave the screen as it was. ie: moving the screen upwards will "rotate" the line at the top of the screen down to the bottom of the screen. FILL - Fill Screen Fills the entire screen based on a specified sub-command. The available options are listed below (these are identical to the block fill commands): Attribute - Changes both foreground and background color attributes to current values shown in status line. Fore - Changes just the foreground color attributes to current values shown in status line. bacK - Changes just the background color attributes to current values shown in status line. TheDraw v4.63 TheDraw Command Functions 82 Use - Changes both foreground and background color attributes to those under the CURSOR when you first pressed ALT-G. This is the position on the screen the cursor was sitting when global commands were selected. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The screen is then overwritten using whatever was selected. The color attributes at any given position are not changed, just the character at that position. Both - Combines both the Attribute and Character fill operations described above. A character is prompted for, then everything on the screen is overwritten using that character with the current color attributes from the status line. In animation mode, the Attribute, Fore, bacK, and Use options only alter characters already in the animation sequence (no additional characters are added). The Character or Both options however WILL add additional characters to the animation sequence. FADEOUT - Animation Fadeout Fill (animation mode only) Identical to the global fill command; however, in addition you are prompted for an animation scanner. This option gives you the ability to easily have a screen appear using one animation effect, then be erasing using another. TEXT - Global Text Operations Performs various text operations on the screen. Available sub- commands are: Box - Draws a box using the current function set. The box border will be the defined by the edges of the screen. The inside of the box is left unchanged, however anything where the box lines are actually drawn will be overwritten. Outline - Operates similar to the Box command, however the contents of the block are examined first. The box border will be adjusted to just accommodate all words contained by the screen. TheDraw v4.63 TheDraw Command Functions 83 For instance, assume you just had one character in the center of the edit screen. The result of using global text outline would only be a small box around the character. Center - Text in the screen is centered. The way this is done is similar to the text Outline described above. Each line of characters considered is reduced to just enclose all words. The string of words is then centered in the screen. Left - Text is moved to the left edge of the screen. Right - Identical to Left except text is moved to the right edge of the screen. REPLACE - Global Character/Color Replace Performs character and/or color attribute replacement on entire screen based on specified sub-command. The pattern is whatever was under the cursor when ALT-G was selected. The available options are shown below (these are similar to the Fill options): Attribute - Searches both foreground and background color attributes, then replaces all matches with current values shown on status line. Fore - Searches and replaces just the foreground color attributes with current value. bacK - Searches and replaces just the background color attributes with current value. Character - Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. The screen is then searched and all characters matching the pattern are replaced with the new selection. Color attributes at any position are not changed, just character values. Both - Combines both the Attribute and Character operations described above. A replacement character is prompted for, then everything on the screen matching the pattern (both character and fore/back attributes) is replaced with the character and current colors. These commands operate similar to the block action text commands. TheDraw v4.63 TheDraw Command Functions 84 ALT-H: DISPLAY HELP INFORMATION The help screens provide a quick reminder for the various commands supported by TheDraw. The three screens briefly describe most available functions. The registered version of TheDraw supports context sensitive pop-up help for the ENTIRE program. Typing ALT-H at any position will display specific help on what you are doing. Try it, you'll like it! ALT-I: INSERT A LINE Inserts a blank horizontal line at the current position. The current line and all those below it are shifted down. The bottom line is lost. The blank line is filled with spaces colored using the default background color. This command can be reversed using the Restore/Undo command (ALT-R). ALT-J: ANIMATOR OPTIONS The Animator Options command operates differently depending on which mode you are currently in (normal or animator). ALT-J FROM NORMAL/STATIC MODE When in normal mode, selecting ALT-J will put TheDraw into animation mode. To convert the existing normal screen images (static images) to animation entries, a scan "method" or pattern must be specified. The particular pattern used tells TheDraw how to read your static images for display. Scan patterns can be altered using two adjustment toggles. These are: REVERSE Reverse entire scan pattern. Last character scanned becomes the first displayed in the animation sequence. FLIP Vertically exchanges scanning of the screen scan top to bottom. For example the TOP scanner below scan across the screen (left to right) starting on the bottom line, moving upwards. There are fourteen different generic scan methods/patterns are available. By combining these with the above adjust toggles, over 50 patterns are possible. TheDraw v4.63 TheDraw Command Functions 85 TOP - Scan Top to Bottom The static page layers are scanned from their upper-left to lower- right corners. The scan goes across the screen (left to right). The next line down is then scanned, and so on. LEFT - Scan Left to Right Similar to TOP, except the scan goes down the screen (top to bottom). The next column over is then scanned, and so on. CLOCK - Clock Arm Scan Scans in clockwise direction from center of screen to border edge around screen. Appears somewhat like a growing pie-slice. CIRCLES - Circular Ring Scan Scans image in ever growing circles from center of screen outward. ie: small circle, then slightly larger encompassing circle, then slightly larger again, etc... CHECKERBOARD - Checkerboard Effect Scan Scans alternating squares on first pass creating a checkerboard appearance, then fills in all the gaps on the second pass. ANGLE - Angle Scan Scans each static page layer from upper-left to lower-right corners, using a backward angle approach. ie: scan character then move down to next line and backup one position. AAAAAAAAAA BBBBBBBBB CCCCCCCC DDDDDDD etc... GATE - Gated Scan Alternating lines scan from opposite sides of the screen forwards and backwards going across. The first line will scan left to right going across the screen. The second line scans right to left across the screen. The third line scans as the first, etc... All lines are processed at once, so the screen appears "gated". TheDraw v4.63 TheDraw Command Functions 86 PYRAMID - Pyramid Scan Scans in a "pyramid" shape, starting from bottom center of screen. . .D. cDCD. tDCBCD. eDCBABCD. SQUARES - Squares or Spiral Scan Scans static screen images using squares. The border of the screen is first scanned (progressing clockwise). The next smaller square is then scanned, and so. Produces a spiral effect. SCRAMBLE - Random Scramble Scan Each static page layer is scanned in a completely random order. DOOR - Closing Door Scan Screen is scanned from top to bottom, on both sides of screen at once. Gives the impression of doors closing on the user. DIAMOND - Growing Diamond Scan Scans image using ever growing diamond shapes from center of screen outward. Mildly similar to the circle scan in operation. WIGGLE - Wiggle Scan Similar to GATE, except only one line is processed at a time. Produces a snaking line appearance starting from the top of the screen. Scan first goes across screen, then returns on next. The cycle is then repeated. WIGGLEOUT - Wiggle Out Scan Starts in center of screen with wiggle operation going both up and down at once. Once the animation scan is completed, the screen is cleared and redrawn. At this point TheDraw will operate normally, except all entries are sequenced by the animation system. Please refer to the section "The Animation System" for more details on its use. If you have ideas for more animation scanners, please send them! TheDraw v4.63 TheDraw Command Functions 87 ALT-J FROM ANIMATOR MODE Once in animator mode, selecting ALT-J presents several facilities for managing the animation system. The following commands are available: o Specify Animation Include Files o Specify User Control Sequences o Toggle storing of cursor movements o Convert animation screens to normal mode static screen images o Rescan current animation screen o Enter a pause into the animation sequence The registered version of TheDraw also supports: o Animation Position Editing (Sequence Limiting) o Specify Animation Markers INCLUDE - Specify Animation Include File When creating an ANSI file, TheDraw allows you to "include" text from other files in the new one being created. Ten different files can be included at various points in the sequence. These are useful for the so called "Ansi Music" sequences, frequently used images, complex BBS control code sequences (for systems such as WildCat), etc... The animation USER-SEQ function following might be more suitable for the latter task however. When TheDraw includes another file, its contents are copied into the new output file TheDraw is making. Once the output Ansi file is created, the include file is not needed again. The include file need only be present when TheDraw is actually copying text from it. Include files are only accessed when TheDraw is saving a file. They are ignored by ALT-Q. If you wish to see what everything looks like before saving, use the View option described below. Upon choosing the INCLUDE option, a window will appear on the screen. All currently defined include files will be listed, along with their positions in the animation sequence. The following sub- commands are available: SET - Sets an include file at the current animation position. In the shareware version of TheDraw, this will always be the end of the current animation sequence. In the registered version, this is the current animation limit position. This allows include files to be easily specified "after the fact", anywhere in the animation sequence (see Limit below). TheDraw v4.63 TheDraw Command Functions 88 CLEAR - Erases the include file entry you specify. No verify is done before the entry is deleted, so be warned. VIEW - Displays the entire animation sequence, with all specified include files. Very useful for testing the appearance of things. Press [ESC] once when done editing the include files. All changes are saved. ANSI MUSIC WITH INCLUDE FILES: Animation include files are especially useful for including so called "Ansi Music" sequences into a TheDraw image. Ansi Music is not part of the standard Ansi driver. It is an extension found in certain modem communication programs (such as Qmodem). Please note that TheDraw cannot generate Ansi Music source sequences. The code format of Ansi Music is as follows: [MF ascii 27 ascii 14 The section is a string of music descriptors identical to those used in the Basic PLAY command. Refer to a Basic language reference manual for further information. USER_SEQ - Specify Animation User Control Sequence Allows you to insert your own short control code sequences directly into the Ansi/Avatar file output TheDraw generates. Extremely useful for BBS control codes (ie: for user names and such), or inserting special extra Ansi codes into the animation (ie: clearing the display midstream, or causing an image to scroll). User Sequences are only referred to when TheDraw saves a file, and are not used when redrawing (see ALT-Q). Upon choosing the USER_SEQ option, a window will appear on the screen. All currently defined user control sequences will be listed, along with their positions in the animation sequence. TheDraw v4.63 TheDraw Command Functions 89 The following sub-commands are available: SET - Sets a user sequence at the current animation position. In the shareware version of TheDraw, this will always be the end of the current animation sequence. In the registered version, this is the current animation limit position. This allows control codes to be easily specified after a screen has been made, anywhere during the display of the animation sequence (see Limit below). You are prompted for the user sequence to modify. Next the sequence must be typed in. For Ansi escape sequence press the escape key (appears as "^["), an open square bracket, followed by the necessary command codes. ie: [2J (will clear the screen) CLEAR - Removes the user sequence entry you specify. No verify is done before the entry is deleted, so be warned. VIEW - Displays the animation sequence, up to the position where the specified user sequence is to be output. Useful for jogging your memory. LIMIT - Specify Animation Limit (registered version only) The animation limit facility of TheDraw provides for a powerful animation editing system. You can easily correct mistakes, insert, delete or do anything else in the MIDDLE of any animation sequence. To use limiting, you tell TheDraw where to stop displaying the animation sequence. For example, assume you had a sequence with 5000 entries. You could limit it to 2000, correct a spelling mistake, then quickly reset the limit back to 5000. With limiting turned on TheDraw operates as always, except everything above the animation limit is temporarily held out of the way. Upon choosing the LIMIT option, you can specify the animation limit position by means of the following keys: Up/Down Arrows Advance/Backup limit by one position. PgUp/PgDn Advance/Backup limit by 100 positions. Home Go to start of sequence (position = 0). End Go to end of sequence (all entries). TheDraw v4.63 TheDraw Command Functions 90 marKer Move to the position of an animation marker. Selecting this command displays a window of all currently set animation markers. After choosing a marker, the animation limit moves to the position of the marker. Assuming you have set markers in strategic places, this allows you to quickly bounce around an animation sequence looking for a particular spot. Press [ENTER] to save the new animation limit. Pressing [ESC] leaves the original animation limit position unchanged. MARKER - Specify Animation Markers (registered version only) Markers are used to "mark" different places in the animation sequence for later reference. Once set, markers can be used for changing the animation limit position (see above) and viewing just portions of the animation sequence. They can be useful in locating things forgotten or set aside until later, editing images a page at a time, etc... Upon choosing the MARKER option, a window will appear on the screen. All currently defined markers are listed, along with their position in the animation sequence. The following sub-commands are available: SET - Sets a marker at the current animation limit position. This allows markers to be easily specified anywhere in the animation sequence. You are first be prompted for which marker to change. If the marker is already set, it will be erased before continuing. After you specify a marker, you can then enter a comment (32 characters). CLEAR - Erases the marker you specify. No verify is done before the entry is deleted, so be warned. VIEW - Displays the animation sequence, up to a specified marker. Useful for reminding yourself of what happens early in a 16000 entry animation sequence. Press [ESC] once done editing markers. All changes are saved. TheDraw v4.63 TheDraw Command Functions 91 MOVEMENT - Toggle Storage of Cursor Movements Toggles whether or not TheDraw stores actual movements of the cursor. Normally only typed characters are recorded; however, if the cursor movement toggle is on all movements of the cursor are also stored. Cursor movements are being stored whenever the ANIM symbol in the status line is flashing. If you are still in doubt, watch the animation entry count. It will increase every time you move the cursor. NORMAL - Convert to Normal Edit Mode. Converts what appears on the screen to normal mode images. All animation is erased after executing this command. You are first prompted to verify this before continuing. In the registered version, anything not displayed because of animation limiting is lost. Only what appears exactly on the screen when you select this command is converted to normal mode images. RESCAN - Rescan the Screens Selecting this command prompts for an animation scan method as described above in the ALT-J FROM NORMAL MODE section. Everything in the animation sequence is first erased, then the images on the screens are rescanned. In the registered version, any animation sequence not displayed because of animation limiting is NOT lost. It will still be available after this operation is done. This differs from the above suboption and permits rebuilding something which did not cut it the first time. PAUSE - Animation Pausing Allows for the putting of pauses into the animation sequence. TheDraw can wait for either a key press or a specified number of seconds. There is no limit on pauses and they may occur anywhere in the animation sequence. This can be very useful in presentations. After selecting PAUSE, the following sub-commands are available: TIME_PAUSE Creates a pause for a specified number of seconds (the pause can be aborted by pressing any key when actually displayed). You are prompted for the number of seconds to delay. TheDraw v4.63 TheDraw Command Functions 92 KEY_ONLY_PAUSE Creates a pause for a key to be pressed. CLEAR Erases pauses from the animation sequence. TheDraw searches backwards from the current animation position for a Pause. If one is found, you can DELETE, VIEW up to this pause, or scan for the NEXT pause before this one. Press [ESC] to abort clearing a pause. Pauses are observed whenever you redraw the animation sequence with ALT-Q. When you save an ANSI file, it is not possible to produce the exact pause equivalent (pauses for a key are impossible). For this reason, a small separate presentation program (THEPP) is included with registered copies of TheDraw. This program duplicates the operation of the ALT-Q command, and uses THEDRAW format data files. See section entitled "The Presentation Program" for information on using THEPP. ALT-K: DELETE A FILE Deletes a specified file from disk. Use this option to free up disk space when the need arises. The directory file selector (see ALT-L below) displays everything in the current directory. Use the arrow keys to select a file to delete, or simply type in the filename at the bottom of the screen. Press [ENTER] to select the file. TheDraw will then check for the file. If it exists, you are prompted to verify before continuing. This is your last chance before you delete something you might regret later. ALT-L: LOAD SCREEN FROM DISK This command allows you to load any ANSI text, ANSI Animation, ASCII text, AVATAR text, PCBOARD text, WILDCAT text, BINARY dump, Basic BSAVE, TheDraw Object, TheDraw COM, TheDraw TD format file, or TheDraw Library file. You are prompted to continue if the current screen image has not been saved. The directory file selector next displays all files in the current directory for convenience. The selector cursor may be used to choose a file, or a filename can be typed in directly. Move the selector cursor via the arrow and PgUp/PgDn keys. To see the pick list of last 10 files accessed, press the TAB key. Press [ENTER] to load the file. TheDraw v4.63 TheDraw Command Functions 93 If there are many files in the directory, a wildcard filename can be used to display a partial listing of those available. Wildcards operate as found in Dos. Please refer to your Dos manual for additional information. Wildcards are normally temporary, and are not maintained between directory invocations. They can be made "sticky" however by use of the Setup utility. If you type in the filename, a file extension is assumed unless otherwise specified. The assumed value is ".ANS" unless changed in the setup options. The following file types require the specified extensions for TheDraw to be able to load them: Avatar .AVT PCBoard .PCB Wildcat .BBS Binary Dump .BIN Basic BSAVE .BSV TheDraw COM File .COM TheDraw OBJ File .OBJ TheDraw Format .TD TheDraw Library File .TDL (Note: The above filename extensions can be changed in Setup Options menu with TheDraw, or via the Setup Utility Defaults option). A file without one of the above is assumed to be an ANSI file. Assembler, Pascal, and C format files cannot be reloaded, except as Ascii text. You must keep another copy of those screens safely somewhere in one of the above loadable formats. When loading Ansi, Ascii, Avatar, PCBoard, or Wildcat files only the first screen is stored. Any extra lines are discarded. Do not be alarmed by Ansi files which might be hundreds (or thousands) of lines long. So long as the cursor never goes below the bottom of the screen, everything will load properly. Ansi animation is automatically detected by TheDraw using the following advanced system: If the cursor suddenly moves to a place it normally could never go, the file must be animated. AVATAR/PCBOARD/WILDCAT: These formats are pseudo-text files. They load similar to Ansi files, but because the control patterns differ TheDraw selects the appropriate routines based on the extension. TheDraw v4.63 TheDraw Command Functions 94 BINARY/BSAVE/COM/OBJECT/THEDRAW: These formats may contain either a full screen or small block image. Where a block is displayed depends upon the file format. Binary and Object formats load in the upper-left corner. Formatting information is not stored with binary blocks however, so TheDraw will prompt for block width before loading. BSave and COM formats load in the same locations they were originally saved from. The TheDraw format is more flexible however, placing you automatically into block copy/move mode to position the block. THEDRAW LIBRARY FILES: These are an extension to TheDraw TD files, permitting many to be stored together. Comments may be added to provide a quick and efficient reference. System administrators or BBS operators could place all screens into a library for convenient reference when updates are necessary. Since multiple images are stored per library file, attempting to load one presents the user with a directory. Choose an entry from the directory with the up/down arrows and press [ENTER] to load a file. Typing [ESC] will abort the load. ALT-M: SELECT DRAW MODE TheDraw supports the "drawing" of lines. This is easily done using the arrow keys while in Draw mode. The characters used in the lines are those available via the function keys from the current function key set. Only the first four sets of characters contain lines. If a function key set without lines is selected, the first set (single lines) is used. Draw mode is indicated by the word "Draw" at the bottom of the screen. In draw mode, everything operates without change. Typed characters still appear. The only change is that using the arrow keys makes a line appear in the direction moved. TheDraw v4.63 TheDraw Command Functions 95 ALT-N: RULER The Ruler command places a pair of intersecting lines on the screen. The point of intersection represents the position of the cursor. It is useful for lining up rows or columns of text or figures. The ruler can be moved using all normal cursor keys (ie: the arrow keys, Tab, PgUp, PgDn, Home, End, etc...). Press [ENTER] to save the new cursor location, or press [ESC] to return to the initial cursor position. The ruler can held on the screen during normal editing by selecting [S]ticky mode. The ruler will appear under the current layer. To turn off the sticky ruler, simply select ALT-N again then press [ESC]. ALT-O: CHANGE DRIVE/SUB DIRECTORY This command allows you to change the Dos default directory or path (displayed when loading or viewing a file). All sub-directories of the current path are displayed for you. A new directory can be selected by using the arrows keys or typing in the pathname. Press [ENTER] to change to it. Note that the details of sub-directories are not covered here. Please refer to your dos manual for that. For example, if you were on drive C in a sub-directory named GAMES, you could switch to the subdirectory UTILITY of drive D by entering "D:\UTILITY". You could then get back to the directory GAMES by simply entering "C:" (no backslash). Alt-P: PAINT/FILL COMMANDS This command allows enclosed areas to be easily filled with characters and/or attributes. An enclosed area is made by using lines (from function key sets 1-4) or using the Draw command (see ALT-M). To use this command, position the cursor inside the area then press ALT-P. The following sub-commands are available: ATTRIBUTE Changes all foreground and background color attributes within the enclosed area to those values shown in the status line. FORE Changes only the foreground color attributes within the enclosed area to the current foreground value. BACK Changes only the background color attributes within the enclosed area to the current background value. TheDraw v4.63 TheDraw Command Functions 96 CHARACTER Prompts for a keyboard character or special function set symbol (see ALT-F command). Solid spaces can be used by pressing Shift-Space. All enclosed characters are then overwritten using whatever was specified. No color attributes are changed, just actual character symbols. BOTH Combines both the Attribute and Character paint operations above. A character is prompted for, then everything in the area is overwritten using that character with the current color attributes from the status line. In animation mode, the Character and Both options add new entries to the animation sequence; nothing is deleted. The Attribute command however only changes the color attributes of characters already in the animation sequence. No new entries are added. ALT-Q (normal mode): AT-CODES QUICK REFERENCE Shows a window containing the AT-Code commands used by the PCBoard and Wildcat bulletin board systems. Some examples of AT-codes are: @CLS@ @NODE@ @USER@ @LASTCALL@ Use arrows keys or mouse to scroll, and press [ENTER] to place your choice in the edit screen. The current color attributes are used when drawing. This effect when used in the BBS will be to display the appropriate item in the displayed color. Note: The codes are put down simply as normal text. TheDraw has no awareness of these codes beyond the quick reference chart. Mixing colors within a code will not affect TheDraw, but will adversely affect your bulletin boards ability to interpret the codes properly. ALT-Q (animation mode): REDRAW SCREEN This command redraws the animation sequence on the screen. With this you can see how your work is developing. You are prompted for the display speed to redraw at. Available speeds are from 0 (fastest) to 255 (crawl). A value of about 40 is generally a good speed to view at. Be warned that 255 literally is a crawl speed, displaying between two and four characters per second (standard PC/XT). A slow redraw can be broken out of by pressing any key. AUTOREPEAT OPTION: Typing "A" will turn on autorepeat redraw. The animation sequences will be repeated over and over until a key is pressed. TheDraw v4.63 TheDraw Command Functions 97 ALT-R: RESTORE/UNDO CHANGES Restores from unwanted or unintended screen changes. This function can undo block or global changes, clear or load screens, line or column insert or deletes, animation mode toggles, font entry, mistakes made to the current line, etc... In regards to current line changes, such modifications are permanent once you move to a new line. ALT-S: SAVE SCREEN TO DISK The Save Screen command offers many formats for saving the entire current screen. If you do not require the full screen, use a block save (see ALT-B). These can be more effective at times. Another option is turning off excess blank lines using the defaults setup (refer to pull down OPTIONS menu). The available formats are: Ansi, Ascii, Avatar, PCBoard, Wildcat, Binary, BSave, Com, Asm, C, Pascal, Object, TheDraw Data, and TheDraw Library. Please note that all color attributes are lost in an Ascii file. All other formats store the complete screen with color (unless overridden). You are first prompted for which storage format to use. In animation mode, only ANSI, AVATAR, and THEDRAW formats are available. The items on the menu are discussed below. ANSI - Ansi text file You are first asked what initial screen preparation you want before the image is displayed. Options are: CLEAR - Clear the screen HOME - Move cursor to the upper-left corner of screen NONE - Leave the screen and cursor position as is. The next prompt is for the maximum length of each line in the saved file. TheDraw can generate over 1300 characters per video line (if every character had a differing color combination). Some applications (such as some bulletin boards and text editors) cannot handle so many characters per line. Limiting the output line length sacrifices display time for compatibility with these applications. If length is no problem, specify [N]ONE for the most efficient file. TheDraw v4.63 TheDraw Command Functions 98 Lastly, you are prompted for the Ansi display speed (a number from 0 to 100). The operation is similar to the ALT-Q animator redraw screen function. Things are slowed down by adding redundant codes after displayed characters. NOTE: No exact equation relates the slowdown speed to animation redraw speed. Display is intimately tied to the computer speed, and how the file ultimately is displayed. A program included with the registered version (BAUDSIM) simulates the effect of displaying a file over a modem. BBS operators can find this valuable in gauging screens beforehand. Experimenting will find the best speed for your needs. ASCII - Ascii Text (no colors) Selecting ASCII, you are prompted to continue with a non-color image. The Ascii file produced is similar to any file produced by a normal text editor (ie: Dos EDIT, Brief, Turbo Pascal/C IDE or Sidekick editors). There is one difference in the approach used by TheDraw however. Lines of Ascii fully 80 characters wide, are normally NOT ended with carriage return sequences (CR/LF). Such Ascii files viewed via the Dos TYPE command display properly but do not load correctly into most other software. Therefore, an option to force CR/LF was added to the Setup Default Options configuration (see pulldown OPTIONS menu). Set this toggle if you are having difficulties. AVATAR - Avatar Type 0 Text TheDraw produces an AVT/0 type file. These are compliant with all needs for reproducing animation. There are two prompts presented after selecting this format, similar to those used by Ansi files. The first is identical to Ansi; initial screen preparation. This controls what happens before the images is displayed. Choices are: CLEAR - Clear the screen HOME - Move cursor to the upper-left corner of screen NONE - Leave the screen and cursor position as is. The second prompt is for display speed slowdown (ironic in that Avatar was devised as a technique to draw color text faster than Ansi). This is a number from 0 to 100 enabling you to slow how fast the Avatar file is drawn. Things are slowed down by adding redundant control codes into the display. TheDraw v4.63 TheDraw Command Functions 99 AT-Codes / PCBoard / Wildcat BBS The main save prompt lists "@-codes" as a file type, then prompts for the PCBoard or Wildcat variation. These are so close to each other both are covered together. Like the Avatar format above, there are two parameter options for video preparation and display speed. The first prompt only offers Clear Screen or None. TheDraw AT-Code files do not provide for cursor control, and thus the cursor Home option is not provided. The AT-Code format was devised to simplify the system operators job in create screens. Only one need be created, and the BBS filters out color codes for users not wanting Ansi graphics. It is unfortunate the authors did not consider the ease at which a simple Ansi filter could have been created. TheDraw contains a convenient quick reference of most PCBoard and WildCat BBS macro codes (such as @CLS@, @USER@, @LASTCALL@). These can be also typed manually onto the screen. No special processing is done with these codes beyond the reference screen. The actual field lengths of some macros might affect your screen display, and should be compensated for. The color combinations of Black-on-Black (code $00), and Blinking White-on-Lightgray (code $FF) are not permitted by PCBoard and/or Wildcat. These are translated into Lightgray-on-Black (code $0F) and White-on-Lightgray (code $7F) accordingly by TheDraw as appropriate. BINARY - Binary Screen Dump Produces a straight data byte dump of the video screen. This data format is generic. It is useful for many things, such as loading screen images directly to video ram, etc... This will be 4000 bytes for a standard 80x25 screen; larger for EGA/VGA displays. BSAVE - Basic BSave Screen Dump This file is identical to a binary screen dump, except loading codes for Basic are placed at the front. These files can be loaded from basic with: DEF SEG = &HB800 : BLOAD"filespec.BSV" If you have a monochrome monitor, replace the B800 with B000 in the above line. BSAVE files are always saved to the full screen width. Block saves are limited by this restriction also. TheDraw v4.63 TheDraw Command Functions 100 COM - Dos Executable COM Files. Produces a truly separate program executable from Dos by typing the program name. COM files are useful in batch files and the like for -fast- displaying. COM file screen blocks (via ALT-B) display only the block without changing anything else. You could conceivably generate a "layering" windows effect if you so desired. TheDraw has three different styles of COM file, and selects the most appropriate to minimize file size. ASM - Assembly Language ASM produces a list of DB data statements for use by assembly language programmers. Additional suboptions are available to specify the assembler data format. You can specify to Crunch, output only Ascii characters, or generate a normal file. Crunching uses a custom technique for compressing color changes and strings of identical characters to make the smallest possible file. Note: To display a crunched file you must use the uncruncher routine included (file UNCRUNCH.ASM). This file has comments explaining its use. It is compatible with Microsoft (MASM) and Borland (TASM) assemblers. Simple formatting changes may be required for other vendors assemblers. The Ascii format saves only characters on the screen. No color attribute information is stored. The Normal format is a pure binary dump of the screen, converted to an assembler compatible format. You are also prompted for a reference identifier to use. This will be the name used to access the data within a program. TheDraw takes this and generates statements to simplify programming. For instance, assume a standard full screen with the default IMAGEDATA: IMAGEDATA_WIDTH EQU 80 IMAGEDATA_DEPTH EQU 25 IMAGEDATA_LENGTH EQU 4000 IMAGEDATA LABEL BYTE ... data for screen image follows here ... The width and depth statements reflect the character dimension of the image saved. Saving a block changes them appropriately. This facilitates easier program development. Instead of directly coding block sizes refer to the above identifiers. Thus eliminating the need to remember arbitrary block sizes and the dreaded so called "magic numbers". TheDraw v4.63 TheDraw Command Functions 101 PASCAL - Turbo Pascal Compatible Screen Dump This operates the same as the ASM option described above, except the output is in a Turbo Pascal compatible CONST structure. See Appendix B for the section entitled "Programmers Programming Tips". To use the Crunched file format, use the file UNCRUNCH.PAS. C Language - C Formatted Compatible Screen Dump Again, this operates the same as the ASM option. The format is standard predefined C array of type char. Crunched screens are handled using routines in the two files UNCRUN_N.OBJ and UNCRUN_F.OBJ (for near and far code models respectfully). The header file UNCRUNCH.H contains instructions on their proper usage. In short, depending on the code model use select (near or far), the corresponding object must be linked with your program. OBJECT - Intel Compatible Object Code File This is a file format compatible with many high level language compilers. Object files can be produced with screen information crunched, ascii only, or binary normal (as in ASM format). Four code/data models are supported: Turbo Pascal v4.0 (and above) QuickBasic v4.0 (and above) Small Data Large Data The TP40 format is compatible with Turbo Pascal v4.0 through v7.0, and Borland Pascal v7.0. Data saved to these files is referenced by external procedure calls and pointers. Refer to the topics "TURBO PASCAL v4.0 through v5.5" and "TURBO PASCAL VERSION 6.0/7.0" in the Programmers Programming Tips section for examples. The QB40 format is for use with QuickBasic v4.0 and higher. The image data saved to these files are referenced by provided display routines. The object files are linkable (if you use the BC compiler), or can be incorporated into a Quick Library for use within the QuickBasic environment. When linking separately, you must include the file QBUTIL.LIB in addition to any TheDraw object files. To simplify matters, you can merge the QBUTIL.LIB and object files into one library. A batch file MAKEQLB.BAT is provided to create the Quick Library and separate library files easily. To use, the first parameter should be the name of the quick library to create. TheDraw v4.63 TheDraw Command Functions 102 The following parameters are TheDraw object files plus other object (.OBJ) and library (.LIB) files you want included. ie: MAKEQLB testlib IMAGE1.OBJ IMAGE2.OBJ This creates the files named TESTLIB.LIB and TESTLIB.QLB. Note no file extension was specified on the "testlib" parameter above, since the batch file adds ".LIB" and ".QLB" automatically. The Quick Library contains the display routines (from QBUTIL.LIB, which is always added by the batch file), plus the screen images in IMAGE1.OBJ and IMAGE2.OBJ. See the topic "MICROSOFT QUICKBASIC v4.0 AND v4.5" in the Programmers Programming Tips section for examples on usage. OBJECT FILE DATA FORMATS: The data formats use the following identifiers: Small Data Large Data Segment: _DATA filename_DATA Group: DGROUP filename_DATA Where "filename" is the actual filename given the object file. The last prompt under object files is for the data reference identifier. This is the name you will use in your program to access the object data. It defaults to IMAGEDATA (for TP40 and QuickBasic) or _IMAGEDATA (Small or Large Data). The underscore is usually required for small or large data formats, but is application and compiler dependent. The above identifier is used to directly reference the image data stored. In addition, TheDraw generates three additional identifiers similar to the ASM case: _WIDTH _DEPTH _LENGTH For QuickBasic users the following identifiers are used, called as subroutine functions to obtain the wanted value: WIDTH DEPTH LENGTH In all cases, these contain the dimensions of the block specified (width and depth). The last identifier specifies how long the data block is. The width/depth values are useful for drawing windows and other related functions. The length parameter is useful for displaying crunched images. TheDraw v4.63 TheDraw Command Functions 103 THEDRAW Data File - TheDraw Setup Save This format saves everything about the current configuration of TheDraw. In normal edit mode, all occupied page layers are saved. In animation mode, the complete animation sequence is stored. All other parameters are saved also (ie: current colors, tab line, cursor position, current page layer, etc...). The TheDraw format file also has the benefit of being the fastest way to load and retrieve screen images; eight page layers or 16000 animation entries take only seconds to load. THEDRAW Library File - Group Management of TheDraw Setup Saves Very similar to TheDraw Data files, this extension permits saving many screens in one file. A description can be added for each entry, and information on the screen size and type (normal, block, or animated) is also stored. After entering a filename as shown below, the screen switches to a directory of the specified library. Once in the directory, selecting the last entry adds onto the library. Choosing an existing entry replaces it. Press [ENTER] and the entry is updated. Press [ESC] to abort. Note: For maximum file security, a temporary copy of the library is kept while updates are made. You therefore should have enough disk space available for an entire copy of the library before attempting to save. An example of the library entry selection window is shown below: Ŀ #: Description Last Updated Size Info 1: Main Menu for System 02/01/93 4:06pm 80x25 Anim 2: New User Information Screen 01/17/93 2:17pm 80x100 3: 4: 5: 6: 7: 8: 9: 10: TheDraw v4.63 TheDraw Command Functions 104 TYPING IN THE FILENAME: Following the above prompts, TheDraw asks for a filename. If the file already exists, you are prompted to verify the save. If you do not specify a filename extension, TheDraw assumes the following: .ANS ANSI compatible files .ASC ASCII text files .AVT Avatar Type 0 compatible .PCB PCBoard BBS .BBS Wildcat BBS .BIN Binary dumps .BSV Bsave files .COM Dos COM executable files .ASM Assembler source code files .PAS Pascal source code files .H C source code files .OBJ Object files .TD TheDraw Data files. .TDL TheDraw Library files. A file without an extension can be specified by placing a period as the last character of the filename (ie: TESTFILE. ). After entry of a valid filename, the screen is saved to disk. For information and suggestions on using the screen files created by TheDraw in your programs, see section PROGRAMMERS PROGRAMMING TIPS. ALT-T: TAB SETUP This command allows you to set tabs in the editor (positions where the [TAB] key stops). Initially the positions are at every tenth column. Available sub-commands are: SET - Set a new tab position. Move the cursor to the wanted position then press 'S'. CLEAR - Clears tab at current cursor position RESET - Resets tab line to initial settings (every ten spaces). ERASE - Delete all current tab setting for a clean slate. INCREMENT - Prompts for a step size. From the current cursor position, every nth location is then set. This allows you to quickly specify, say every fourth position if your need requires it. Press [ESC] to leave the tab set command. TheDraw v4.63 TheDraw Command Functions 105 ALT-U: USE COLORS UNDER CURSOR Changes current edit colors (seen on status line) to those currently under the cursor. This provides a fast method to change to colors already displayed on the screen. See also Pick Character (ALT-/). ALT-V: VIEW A SCREEN This command allows you to look at an image saved on disk. Nothing is altered by this command. This might be used in conjunction with the block load/import function (see ALT-B). Viewing a screen is similar to loading (see ALT-L) except the loaded image is not remembered. Once the image is fully displayed, a window appears with instructions. Press [ENTER] to exit view mode. Pressing any other key will make the window disappear to facilitate viewing. After about 30 seconds it reappears to remind you about view mode (in case you leave the computer unattended). ALT-W: EDIT CHARACTER (available in animation mode only) Allows the editing of a mistyped animation entry. This command exists because simply overwriting an incorrect character does not delete it. In animation mode, both entries are remembered - the incorrect character, plus the wanted one. Upon redisplaying the animation sequence (see ALT-Q), both characters would be seen (the former for only a millisecond perhaps, but it would appear). Another way is using ALT-Z to delete the incorrect entry. The wanted character could then be typed in. This works perfectly well, and some people may prefer it; however, to quickly change an entry ALT-W is more convenient. After pressing Alt-W you are prompted to type the new character. The current position will flicker. All color changing commands are available (ALT-A and the Ctrl-Arrow keys) while editing. ALT-X: EXIT THEDRAW Prompts if you wish to exit TheDraw or execute a shell to DOS. Responding Yes exits the program. No cancels the command. Shell also exits to Dos, however TheDraw remains in memory. All screen page layers and animation entries are retained. To free up memory for the Dos Shell, TheDraw will try temporarily saving its data to expanded memory/EMS or a disk swap file (if insufficient EMS exists). Typing the command "EXIT" at the Dos prompt will return control to TheDraw. TheDraw v4.63 TheDraw Command Functions 106 ALT-Y: DELETE CURRENT LINE Deletes the current horizontal line on the screen. All lines below are shifted up one line position. The bottom line is cleared using spaces and the default background color. This command is reversible using the Restore/Undo command (ALT-R). ALT-Z: ERASE CURSOR CHARACTER (available in animation mode only) Erases the top-most character from the animation sequence at the current cursor position. Only the last character typed at the cursor position is deleted, everything typed before is unchanged. This differs from the Backspace key which deletes everything at a cursor position. ALT-/: PICK CHARACTER FOR MANUAL PAINTING TheDraw offers easy manual painting support. Similar to line drawing, you draw or paint using a specific "picked" character. This command toggles manual painting, using the character currently under cursor. Manual paint mode is indicated by a "x" structure in the status line (where 'x' is the symbol chosen). You draw with the symbol by via the Shift Arrow-Key combinations. ie: Shift Up-Arrow Shift Right-Arrow etc... To turn off manual paint mode, you must pick the same character again. If painting with an "*", you must type ALT-/ when the cursor is resting on a "*" symbol. There are other ways of picking characters. These are via the Quick Palette and the color shading screen (in the registered version). Using the Quick Palette is very easy with a mouse. Simply click on the wanted character is it immediately becomes the picked character. The color shading screen sets the picked character to "", "", or "" depending on the shading selected. TheDraw v4.63 TheDraw Command Functions 107 ALT-[LEFT]: DELETE CURRENT COLUMN Deletes the current column on the screen. Everything to the right of the current column is shifted over one position. The right-most column is cleared using the default background color. This command is equivalent to a Block Delete (ALT-B,D) on the current column. The action is reversible using Restore/Undo (ALT-R). ALT-[RIGHT]: INSERT A COLUMN Inserts a blank vertical column at the current position, filled using the default background color. The current column and all those to its right are shifted over. The right-most column is lost. This command is reversible using the Restore/Undo command (ALT-R). ALT-- TOGGLE COLOR DRAW MODE Toggles color attribute drawing. In this mode, moving the cursor updates the new character position to the current edit colors. This permits easy manual color painting of a given area. In animation mode, only those locations with characters in the animation sequence will be altered. Unused locations will not be affected. Operation of TheDraw is not changed by this mode. Moving the cursor will simply change colors. ALT-= TOGGLE MACRO LEARN MODE (registered version only) Activates the macro learning mode of TheDrawR. You are prompted for which macro key to program (0-9). After specifying the macro, TheDraw remembers everything you type. This is somewhat akin to animation mode; however, macro learn mode literally remembers everything. All editing commands performed, any characters typed, etc... Up to 512 characters will be recorded. Once satisfied with the macro, type ALT-= again to save it. To use the macro, press ALT followed by the proper number key 0 through 9 (do not use the numbers on the keypad). While programming a macro, selecting another macro chains the two together. Chaining a macro in this fashion permits you to create longer macros than available otherwise. When you specify the second macro, the one being programmed is saved and learn mode is turned off. TheDraw v4.63 TheDraw Command Functions 108 To program the second macro (and continue the sequence), select Alt-= from command mode again. You can create an "endless" macro quite easily. Simply have a macro call itself. For instance, if programming macro 0, type ALT-0. ie: ALT-= 0 [Enter] Start programming macro 0. Alt-0 TheDraw would repeat the macro contents until ESC was pressed. MANUAL PAINTING OPTIONS The manual painting is done using the shift-arrow key combinations. For instance: Shift Up-Arrow Shift Right-Arrow etc... Selecting a character to paint with is done with the Pick Character command (ALT-/), then choosing a symbol from the Quick Palette (see pulldown menus), or the color shading screen found in the registered version (ALT-A,A). To turn off manual paint mode, simply pick the same character again. ALTERNATE COLOR CHANGE OPTIONS For the experienced user, TheDraw provides a more convenient way of adjusting the current status line colors. Pressing Ctrl-Up increments the current foreground color number (found in ALT-A) and Ctrl-Down decrements it. These two key combinations do not always work reliably on all computers (a Bios flaw exists). To get around this, TheDraw incorporates a special keyboard driver to handle these two keys. If they do not work on your machine run the SETUP utility and use "Keyboard Customize" to configure TheDraw to your keyboard. Pressing Ctrl-Right increments the current background color number; Ctrl-Left decrements it. TheDraw v4.63 TheDraw Command Functions 109 SHIFT-SPACE: SOLID SPACE CHARACTER As stated elsewhere in this documentation (see ALT-E), the sprite mode of TheDraw makes lower page layers appear through "black spaces" on the current page layer. This can sometimes be convenient and sometimes not. There are instances when you want to have a non- transparent black space on the screen. The Solid Space performs this function (non-transparent black space). Moving the cursor onto a solid space will cause the background color to flicker as an indicator. A Solid space is nothing more than a character #255 (which is a blank IBM extended character). CTRL-PRTSC: FULL SCREEN MODE TOGGLE This command toggles screen usage in TheDraw between normal and full screen. In full-screen mode the status line disappears so you can fully use the screen. Also, TheDraw makes heavy use of pop up windows for prompts and messages. While useful, it can be awkward since YOU must remember where you are at all times. For instance, block marking and etc... It is easy to become confused unless you are careful. If all else fails, hit ESC a few times to abort the current command. Some people may prefer this mode which is fine. Nothing forces you to use either way. TheDraw will automatically scroll the video as necessary, even with the status line on. Full screen mode is generally used to take a complete look at your work. Ctrl-PrtSc only operates from command mode. It is not available under any sub commands (such as Block, Global, etc...). There are no restrictions on full screen use in animation modes. TheDraw v4.63 TheDraw Command Functions 110 THE FONT EDITOR TheDraw has complete support for Ascii class fonts. These fonts are letters and symbols drawn using the IBM extended character set. ie: Ŀ Ŀ Ŀ Ĵ etc... Ŀ TDFonts is the management utility for adding and updating the font database. The utility was designed to be straightforward to learn. There are two types of fonts supported by TDFonts and TheDraw: Block and Outline formatted. Block fonts are very simple and nothing more than recorded shapes you enter. Outline fonts are special in that they can appear using one of 17 different styles (see "The FONTS Menu"). Included with TheDraw, the fonts "Outline" and "BigOutline" are examples of this type. Some examples of the styles are: Ŀ ķ ͼ The choice of formatting types is made when creating a font. The Font Editor (described later) is used to prepare and update the symbols. RUNNING TDFONTS To start TDFonts, type from the dos prompt: TDFONTS Press [ENTER] to run the program. By default the program looks for the database file TDFONTS.TDF in the current directory. To edit other files, list the filename as show: TDFONTS MYFONTS.TDF (loads MYFONTS.TDF instead of default) Keep in mind only TDFONTS.TDF is actually used by TheDraw. You must either import your fonts into the file TDFONTS.TDF, or rename your file to TDFONTS.TDF. TheDraw v4.63 The Font Editor 111 The database is loaded and the font names listed on the screen. ie: A: Outline B: BigOutline C: Raster D: Rounded Naturally the actual list will vary depending on how the data file has been manipulated. Along the bottom of the screen are all the edit commands. These are for viewing, changing, creating new fonts, importing and exporting fonts, etc... VIEWING FONTS This command is for seeing exactly how a given font symbol appears when used in TheDraw. Any special formatting information is hidden. Select [V]iew from the main menu. Next, pick a font to display using either the up/down arrows keys or by typing the letter associated with the wanted font. Press [ENTER] to continue, or [ESC] to return to the main menu. Pressing [ENTER] brings up the font symbol selector bar. ie: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ The first character "!" is highlighted, and the corresponding font symbol appears below the selector bar. Choose different symbols to view with the arrow keys. For undefined symbols, the following message "Symbol not defined" is shown. Just above the command bar is a note about the font spacing. This number tells how many spaces are inserted between font symbols as they are typed onto TheDraw's edit screen. In most cases this number will either be zero or one. When done viewing font symbols, press [ESC] for the main menu. CHANGING A FONT The change command allows modifying or adding symbols to an existing font. To create a font, use the [N]ew command. Select [C]hange from the main menu, and pick a font using either the up/down arrows keys or by typing the letter associated with the wanted font. Press [ENTER] to continue. Pressing [ESC] returns to the main menu. TheDraw v4.63 The Font Editor 112 Once a font has been selected, a screen similar to the View command appears. Additional options are available however: [ENTER] Select symbol for editing (or creating if undefined). [DEL] Delete current symbol [INS] Copy current symbol [TAB] Change font spacing These four commands in combination with the font editor (described below) give good flexibility in maintaining the symbol database. EDITING SYMBOLS: Transfers symbol definition to the font editor. The font editor is similar to TheDraw in many respects, supporting a useful subset of functions. Some familiarity with TheDraw is assumed. Available editor commands are: [ALT-A] Change Colors (Color-Block fonts only) [ALT-C] Clear Screen [ALT-F] Function key symbol table [ALT-H] Help Screen [ALT-I] Insert a blank line [ALT-M] Toggle line drawing mode [ALT-X] Leave font editor, saving changes. [ALT-Y] Delete current line [INS] Toggle insert mode [DEL] Delete character under cursor. [ESC] Leave font editor, discarding changes. [SHIFT-SPACE] Enter a solid space (a "" symbol) All function key sets are identical to TheDraw and are selected using the same keystrokes: ALT-F1 to F10, and CTRL-F1 to F5. EDIT MODES: There are two main differences between editing in TheDraw and TDFonts. These refer to the special edit modes and reserved characters. The edit modes are for the three font format types (Outline, Block, and Color Block). Outline formatted fonts place restrictions on the characters composing each symbol. You can only use certain line drawing characters from function key sets 1 to 4. In addition, some symbols must used in specific places for the variable outlines to work properly. Block fonts are simple text graphics. No extra processing is done either by TDFonts or TheDraw. The current color attribute in use by TheDraw is used to color these type of fonts. TheDraw v4.63 The Font Editor 113 Color Block type fonts are complete mini-text graphics containing both character and color. The colors used when creating color block fonts are the ones which will appear on TheDraw's edit screen. Color Block fonts override the current colors of TheDraw. EDITING OUTLINE TYPE FONTS: All outline symbols are made from vertical columns and horizontal beams. The "T" below is a classic example. The double lines which give the 3D effect tell TDFonts about the left/right column sides and top/bottom of beams. ͻ Ŀ ͻ Horizontal Beam ͻ ; ͻ Ŀ Ľ Ľ < Vertical Beam ; Ľ Ľ Pay special attention to how the top/right of the outside border, and the bottom/left of the inside border were done. Of particular importance are the corners. The following characters must be used in the described locations. For outside borders: Upper-left outer corner Upper-right outer corner Lower-left outer corner Lower-right outer corner Up-to-Right inner corner Right-to-Down inner corner For inside borders: Upper-left inner corner Upper-right inner corner Lower-left inner corner Lower-right inner corner Up-to-Right outer corner Right-to-Down outer corner In general the drawing rules are: Double lines are always the rightmost side of a column. Double lines are always the topmost side of a beam. You must follow the guidelines exactly in order to create a functional outline formatted font. Failing to do so produces undesirable side effects when changing the outlines in TheDraw. TheDraw v4.63 The Font Editor 114 RESERVED CHARACTERS: The reserved characters are for solid spaces and descender line markers. Typically solid spaces are used to fill the inside of columns and beams. These are drawn with "" characters. ie: ͻ ͻ Note that solid Ŀ ͸ spaces are always ; visible in TDFonts editor verses the Ŀ TheDraw editor). Ľ Ľ Ŀֽ Ľ& TheDraw specially tracks descenders so to align symbols and handle carriage returns properly. A carriage return should move the same number of lines for either A's or Q's for instance. If decenders were not marked, following kind of alignment error occurs: Symbols demanding descenders should be marked as shown in the above "Q" symbol. Lines marked with ampersands are not counted when TheDraw aligns the symbols. Font symbols typically needing the descender marks are: $ , ; _ Q g j p q y Others symbols may require them also, depending on how your font is designed or implemented. DELETE SYMBOL: Removes the database definition for the specified symbol. You are asked to verify this command before continuing. Once deleted, a font symbol cannot be restored. COPY SYMBOL: Copies current symbol over to another undefined symbol. You are asked to specify what the target symbol is. Note: The target symbol cannot be defined. The prevents overwriting definitions by accident. This option is of particular use in duplicating the letters symbols (ie: "A" to "a", "B" to "b", etc...), assuming you intend uppercase and lowercase to appear the same. This command permits quickly filling out all the definitions. TheDraw v4.63 The Font Editor 115 CHANGE FONT SPACING: This command changes the number of spaces TheDraw puts between typed symbols. Typically values are zero or one, but is entirely dependent on the font being managed. Legal values are 0 to 40. MAKING NEW FONTS Creating a new font is a simple two part process. First make a font slot with the [N]ew command. Next, use the [C]hange command to fill in all the font symbol definitions. After choosing [N]ew, TDFonts asks for three items of information. The first is a descriptive name for the font. This will appear in the font listing, and in TheDraw. Names can be up to 12 characters. Once a name is picked (which can be changed later), you select the font formatting type. Choices are [B]lock, [O]utline, or [C]olor Block. Refer to "EDIT MODES" above for a description of the difference. Briefly, fonts of type Block can be drawn using anything but remain fixed. As you drawn, they will appear in TheDraw. Outline fonts can be altered on the fly using the "Outline Type" pulldown command. Color Block fonts are similar to the normal Block variety but also save color attributes. You have now generated a new font slot. Proceed to use the [C]hange command to define the individual font symbols. One approach to simplify the procedure is making a generic symbol such as "O" first. Copy it to other similar symbols (such as "0", "Q", "G", "C", etc...). Only minor edits are needed to finish the first symbols. Use parts of these to make other symbols, such as "(", ")", and carry onwards. Keep in mind nothing requires you to place letters into a font. You could create a font holding several often used patterns or pictures. If you create a font you are particularly proud of, please consider sending in to TheSoft for inclusion in the next release of TheDraw. All authors of such donated fonts will be duly noted. MOVING A FONT This command reorders the list of font names. Use it to place your fonts in alphabetical or any order which you prefer. Press [M], then choose a font (see View command). Next, TDFonts asks the destination to put it. The font is placed in front of whichever destination font you pick. TheDraw v4.63 The Font Editor 116 RENAMING A FONT Changes font descriptions which appear in the main menu list. Select [R]ename and choose a font. You are then prompted for the new font name. Press [ENTER] when done or [ESC] to abort. DELETING A FONT Permanently removes a font from the database file. Press [D] then choose the target font. TDFonts asks you to verify this operation. Be careful since deleting a font cannot be undone. Type [Y] to proceed with erasing the font or [N] to abort. FONT IMPORTING Appends a separate database file onto the current database file. Press [I], and TDFonts prompts for a filename. Type in the pathname to the import file. Press [ENTER] to continue or [ESC] to abort the command. Upon pressing [ENTER] all fonts contained in the specified import file are loaded and added to the current database list. An error message appears if the file was invalid. FONT EXPORTING Copies fonts in the current database to another file. Press [E], and choose the font to export/copy. TDFonts prompts for the output filename. Enter your filename and press [ENTER] to continue or [ESC] to abort. After hitting [ENTER], TDFonts checks to see if the file specified already exists. If so, type [Y] to overwrite the existing file or [N] to abort this command. The new font file is generated and you return to the main menu. TheDraw v4.63 The Font Editor 117 THE SCREEN CAPTURE/GRABBER UTILITY The screen grabber utility (THEGRAB) is a small and very flexible, providing many features not found in similar programs. The following features are available: o Flexible "hot" keys. o A hands-off screen snap shot mode. o A hands-off interval screen capture mode. o Choice of four file formats: Ansi, Ascii, COM, or THEDRAW o Up to 10000 screens can be captured at any given time. THEGRAB is driven from the command line, and is a memory resident utility (a so called TSR by technical types). Once loaded, it uses only 11k of memory. Any parameter you set can be changed on the fly at any time. THEGRAB can also be removed from memory easily. Please note: THEGRAB is designed to only handle text screens - just like TheDraw. Attempts to capture high resolution graphics are ignored by THEGRAB. General users will love being able to capture any screen, from any bulletin board or online services, edit them with TheDraw then upload back. The single and interval modes can capture screens even under programs locking out normal keyboard functions. Documentation writers can capture application screens as Ascii, and load them into any word processor or output to any printer. The command line options are: /UNLOAD Unload/Remove THEGRAB from memory (when possible) /RESET Change file count back to zero. /KEY [choices] Capture key when the specified key sequence is pressed. Keystroke sequences can be any combination of: LSHIFT, RSHIFT, ALT, CTRL /SINGLE [time] Make a single snap shot capture after the specified time period has elapsed. Time entered can be of the formats: ss Seconds mm:ss Minutes and seconds hh:mm:ss Hours, minutes, and seconds. /INTERVAL [time] Similar to SINGLE, but repeatedly captures every time interval as specified. /DIR [path] Specify where captures screens are saved. Saving to a ram disk for instance for maximum speed. /ANSI Create standard Ansi files. /ASCII Create Ascii text files. /COM Create Dos executable COM files. /THEDRAW Create TheDraw format .TD data files. TheDraw v4.63 The Font Editor 118 USING THEGRAB First load THEGRAB into memory, along with any command line shown above. The default configuration is the hot key [CTRL RIGHT-SHIFT] saving to THEDRAW format data files. If you prefer some other key combination, use the /KEY parameter (once THEGRAB is loaded, the hot keys can be changed anytime). THEGRAB uses certain sound effects to indicate success or failure to save a screen. Success is indicated by a short single beep. Failure to save (disk not ready or disk full usually) by three beeps. On occasion the operating system will be busy, and not permit THEGRAB to save screens. During these times several short bleeps of increasing frequency will occur. If you need to capture a screen from a program which takes over the keyboard (thus disabling the hot keys), try single or interval captures. Most applications which take over the keyboard rarely affect the timer clock. Start THEGRAB with a suitable delay, run your application up to the proper point then wait for the beep. Capture as many screens as you want, then quit the target application back to Dos. Remove THEGRAB with the /UNLOAD parameter. This will free up the memory being consumed. USING THE GRABBED SCREENS By default screens are saved to the directory THEGRAB was started from, unless the /DIR parameter was used. The filenames are of the format GRAB0000.ext, where is .ANS .ASC .COM or .TD THEGRAB will not overwrite any file with the same name. The file number is incremented until an unused filename is found. The default can easily be renamed later at your convenience. Ansi files saved from THEGRAB can be viewed from the Dos prompt with the TYPE command. They can be loaded into TheDraw for editing as required, or just to resave them for more compact files. Ascii files are compatible with any text editor or word processor. COM files can be directly used from the Dos prompt, and are fully compatible with TheDraw. Just type in the filename and the screen will appear. TD files are uncompressed TheDraw format data files. Since TheDraw has the necessary routines to significantly reduce the size of such screens, it is highly recommended you resave them for that purpose. Example usage: THEGRAB /KEY LSHIFT RSHIFT CTRL /COM -- Saves a Dos COM file whenever Left Shift, Right Shift and CTRL keys are pressed simultaneously. TheDraw v4.63 The Font Editor 119 THE PRESENTATION PROGRAM The Presentation Program (THEPP) included with the registered version of TheDraw is a command line driven utility intended to simplify displays and demonstrations. It is flexible and easy to use. THEPP can display any file loadable by TheDraw (Ansi, Ascii, Avatar, Binary, BSave, PCBoard, Wildcat, Object and TheDraw formats). As with TheDraw, the filename extensions tell THEPP what format a given file is saved in. The following extensions are used (but changeable via the SETUP utility): Ansi .ANS Avatar .AVT PCBoard .PCB Wildcat .BBS Binary Dump .BIN Basic BSAVE .BSV TheDraw COM Files .COM TheDraw OBJ Files .OBJ TheDraw Format .TD Any other file is assumed to be either Ansi or Ascii. TheDraw format files store which page layer was being edited. THEPP displays only this page layer. If sprite mode was turned on, any page layers below the current one will appear also ("under" the current layer). THEPP takes as its parameters a list of filenames to display on the screen. This it will do as fast and efficiently as possible unless otherwise stated (on other words, you will probably want to slow things down a bit). The following options may be interspersed anywhere in the command line, before between or after, any filenames. Options are specified by using a slash followed by one of these characters: Character Action p Stops THEPP the display of pause messages on the screen. Note the pauses are still performed. k Pause for a key to be pressed by user. This is useful for placing between files, so you can stop to appreciate what is shown. See also /i command. TheDraw v4.63 The Presentation Program 120 Character Action (continued) t Pauses for number of seconds. Valid numbers for are 1 to 255 seconds. ie: /t10 (pause for ten seconds) s Animation display speed. This is a slowdown factor identical to the value you enter when using ALT-Q. It is used whenever THEPP displays a Ansi, Ascii, or TheDraw format file. ie: s10 slows down the file display equivalent to an ALT-Q value of 10. b Produces a beep on the computer speaker. c Clears the screen. THEPP by default does nothing before displaying a file. If you wish to clear the screen beforehand use this option. m, Moves the cursor to horizontal position and vertical position . Useful if you want to control where an Ansi or Ascii file will start to appear on the screen, or wish to display a message using the command below. ie: /m40,12 (move cursor to center of screen) a, Changes text output color to the specified foreground and background colors. Colors are the same as listed under ALT-A, but are repeated below: Black DGray (Dark Gray) Blue LBlue (Light Blue) Green LGreen (Light Green) Cyan LCyan (Light Cyan) Red LRed (Light Red) Magenta LMagenta (Light Magenta) Brown Yellow LGray (Light Gray) White Foreground colors may be any of the above. Background colors are restricted to the first eight however (Black to LGray). ie: /aYellow,Cyan (Yellow on Cyan background) TheDraw v4.63 The Presentation Program 121 Character Action (continued) "text" Displays any message or text between the quotes. The message MUST be terminated by a quote, otherwise THEPP assumes the rest of the command line is a message. This is useful if you wish to display your own "Press any key to continue" style message, etc... Use the "m" option described above to position messages anywhere on the screen, and "a" option to select appropriate colors. ie: /"Hello World" Prints message "Hello World" (without quotes naturally) at cursor position. v Specify video size to use. Either 25, 43, or 50 vertical lines. Note the 43 & 50 parameters operate identically (43 lines always selected for EGA adapter, 50 for VGA). ie: /v50 (select VGA 50 line display) f Directs THEPP to obtain more commands from the specified file. This command file simply contains a list of the above commands. In addition, the command file may call upon another command file. Once that nested command file is finished, execution returns to the following instruction in the first file. Up to ten levels of nesting may be active at once. ie: /fCOMMANDS.FIL Use file COMMANDS.FIL as source for next commands. If you do not give any parameters, THEPP will display an abbreviated help screen for convenience. Examples of THEPP usage and explanations are given below: THEPP /c/p SHUTTLE2.ANS /m34,25 /aYellow,Black /"Press a key" /k/c Clears the screen, and turns off the display of pause messages. The Ansi text demo file SHUTTLE2.ANS is displayed, followed by the message "Press a key" in Yellow approximately in the center of the bottom line. THEPP then waits for a key to be pressed before clearing the screen and returning to Dos. TheDraw v4.63 The Presentation Program 122 THEPP DEMO.TD /c /m38,12 /"BLIP" /b/p/t10 /m1,20 Displays the current page layer of DEMO.TD, then immediately clears the screen, displays "BLIP" in the middle of the screen, and sounds the speaker. The cursor is then placed at the beginning of line 20 and THEPP exits. THEPP SOMEFILE.ASC Displays the contents of the Ascii file SOMEFILE.ASC on the screen. Equivalent to using "TYPE SOMEFILE.ASC". THEPP /fCOMMAND1.FIL /m1,6 /"All done!" Makes THEPP obtain its next commands from the file COMMAND1.FIL. This file simply contains a list of command line parameters. An example might be: Filename #1: COMMAND1.FIL /m1,1 /"Command file 1 running - Running command file 2" /fCOMMAND2.FIL /m1,3 /"Command file 1 resumed." /m1,4 /"All done!" Filename #2: COMMAND2.FIL /m1,2 /"Command file 2 running" In this example, command files are nest two levels deep. In other words, COMMAND1.FIL calls COMMAND2.FIL which then exits back to COMMAND1.FIL. THEPP allows nesting to go ten (10) levels deep for a large amount of complexity. Running the above example would produce the output: Command file 1 running - Running command file 2 Command file 2 running Command file 1 resumed All done! Note: Conceivably, an semi-endless loop is possible. In this case, a command file would call itself (ie: replace /fCOMMAND2.FIL with /fCOMMAND1.FIL in the above example). If this occurred, THEPP would open the same command file 10 times then stop with an error message. TheDraw v4.63 The Presentation Program 123 THE SETUP UTILITY This section describes how to customize TheDraw and install your customizations in the THEDRAW.EXE or THEDRAWR.EXE (registered version) files. WHY SETUP? Setup is the TheDraw installation program; used to customize the TheDraw program (.EXE) file. With this utility you can specify screen modes, change edit colors and customize various other defaults. It directly modifies various parameter values within your copy of THEDRAW.EXE or THEDRAWR.EXE. Via Setup you can do the following: o Setup the default video display mode o Change screen colors o Resize TheDraw's usage of available memory o Change save screen default parameters. o Specify initial default filespec wildcards. In the registered version of TheDraw, the Setup utility can also: o Customize or "remap" the editor command keys and mouse buttons. o Setup a path to the directory where help files are stored. TheDraw comes ready to run; there is no mandatory installation. After setting up as specified in "GETTING STARTED", TheDraw is usable. However, you will need to run Setup if you want to do any of the following: o Change TheDraw default colors. o Force a display mode or "snow" checking o Customize the editor commands to preferred sequences. o Adjust memory usage to better suit your needs. TheDraw v4.63 The Setup Utility 124 DISPLAY WINDOWS AND SELECTING OPTIONS The setup utility operates in a windowing user environment. You select commands by either pressing the highlighted capital letter of a given option, or using the Up and Down arrow keys to move to your selection and then pressing [ENTER]. SAVING AND ABORTING CHANGES In general, pressing [ENTER] will save any changes. Pressing [ESC] (as many times as needed) will abort a function and return you from a submenu to the main installation menu. Where this convention is not followed, instructions are displayed on screen for you. RUNNING SETUP To get started, from the Dos prompt type: SETUP Press [ENTER] to start the utility. Once running, you are prompted for the program filename to configure. You can have several different customized copies of TheDraw on your system. These various copies of THEDRAW.EXE can each have different executable program names. This allows you to prepare various editor command-keys, menu colors, etc... if you are so inclined. The registered program version is called THEDRAWR.EXE. After selecting a file to edit, SETUP determines what version of TheDraw is being updated (shareware or registered). It then proceeds to the main menu. THE MAIN MENU: The main setup menu displays all the primary areas which are configurable. Options available are Editor configuration*, Keyboard customize, Screen mode, Colors, Help and overlay file path*, Memory usage, Defaults, or Quit/Save. These are described below. * Available while editing the registered version only. TheDraw v4.63 The Setup Utility 125 EDITOR CONFIGURATION: The editor in TheDraw provides many features, including cursor control, color changing, various text operations, etc... These editing commands are assigned to certain keystrokes, as described earlier throughout this documentation. This setup option permits you to change the default assignments for each function. When you select Editor Configuration from SETUP's main menu, the editor installation screen appears. Three columns of information will be immediately notable: o The first (left-most) column describes each configurable function available in the editor. o The second column lists Primary keystrokes. These keys are the defaults by which TheDraw normally operates. o The third column lists Secondary keystrokes. These are optional alternates keystrokes you may press to invoke a given editor action. These keystrokes always take precedence over the primary keystrokes described above. Along the bottom of the screen is a list of the keys used to select and modify entries. Key Action [UP] [DOWN] Selects the editor command you wish to change. [PGUP] [PGDN] Scrolls up/down one full screen page. [ENTER] Enters the secondary keystroke modify mode. [R] Restore all editor commands to the original default values. [ESC] Returns to the main SETUP options menu. After pressing [ENTER] to modify a command, the current secondary definition disappears. You can then type in your new definition. Anything may be used for redefining a key except Numbers (0-9), Letters (A-Z,a-z), [ENTER], [ESC] and [BACKSPACE]. A maximum of four keystrokes for any given editor command is allowed; however, certain key combinations are equal to two keystrokes. These include ALT-(key), cursor movement keys ([UP], [PGDN], etc...) and any keystroke involving a function key ([F1], [CTRL-F4], etc...). TheDraw v4.63 The Setup Utility 126 Press [ESC] to save any changes to keystrokes. You will be prompted to verify the save. If there are any duplicate keystrokes, SETUP will point out the first occurrence so you can clear up the problem (marked with an asterisk). KEYBOARD CUSTOMIZE: The true IBM-PC and certain clones have a Bios omission preventing the [CTRL-UP], [CTRL-DOWN], [ALT-LEFT] and [ALT-RIGHT] keystrokes from working properly. TheDraw gets around this by using a custom keyboard driver. The factory defaults from TheSoft will work for the great majority of computers. However, if you have difficulties try this setup configuration option. SETUP examines the keyboard hardware to see what happens when any of the above are pressed. Upon selecting this option, the screen clears and prompts if you wish to continue. Next you are asked to press [CTRL-UP], [CTRL-DOWN], [ALT-LEFT] and [ALT-RIGHT] in that order. The scan codes returned by your keyboard are displayed. Next you can experiment to see that everything is indeed working properly. Press [CTRL-UP/DOWN] and [ALT-LEFT/RIGHT] until satisfied the keys were programmed correctly. Press [ENTER] to return to the main menu. Note: A few computers react badly to this driver. If your computer does not operate as expected when running TheDraw, start the setup utility by typing (from the dos prompt): SETUP * Press [ENTER] to start Setup. The current settings of the keyboard driver will be displayed. Respond [Y]es or [N]o if the setting is correct. If after deactivating the driver your computer still malfunctions, please contact TheSoft. SCREEN MODE: Normally, THEDRAW will automatically determine the correct video mode of your computer. You should only need to change the Screen mode option if: o you think TheDraw is incorrectly detecting your hardware. o you have a Color Graphics Adapter (CGA) that does not produce the "snow" or hashing effect. TheDraw v4.63 The Setup Utility 127 o You have an EGA or VGA video card and wish to always start in 43/50 line edit mode. o your computer has a composite or LCD video screen, appearing like a CGA but with only one color. In this case, you want the Black and White screen option. Upon pressing S to select this option, a pop-up menu will appear with the available options. These are fairly apparent: DEFAULT TheDraw will operate in the mode active when first run. BLACK AND WHITE TheDraw will use composite black and white mode (80 column), regardless of the active mode when first run. The original video mode will be selected when you exit TheDraw. COLOR TheDraw will use color mode (80 column), regardless of what mode active when first run. The original video mode will be selected when you exit TheDraw. EGA/VGA TheDraw will use color mode (80 column) and 43/50 lines, regardless of what mode was active initially. Initial video mode is restored upon exit from TheDraw. MONOCHROME TheDraw uses monochrome video mode, and switches back to the previous mode upon exiting. After selecting one of the first three options above (Default, B&W, or Color), SETUP checks the screen for snow. If you see snow or hashing, respond Yes to the prompt that appears. TheDraw v4.63 The Setup Utility 128 COLOR CONFIGURATION: TheDraw holds three complete sets of configurable colors. Which color set is used depends on the initial screen mode specified above. The sets are for Color, Black and White, and Monochrome screen users. A pop-up window prompts for which set to edit. After selecting a color set, another pop-up prompts for the item type to configure. Options are the Edit Screen, Main Help Display, Directory (Load/View) Screen, Pop-up help, and Pull-Down menu display. Next, a menu of configurable items under that type appears. Selecting one displays a view port and list of available colors. The view port shows an example of the screen item you chose. It also reflects any changes in colors as you scroll through the color palette. Use the arrows keys to select a color to your liking from the palette. Watch the view port to see how the item looks in that color. Press [ENTER] or [ESC] to save your choice. Now repeat this procedure for every screen color item you want to customize. When done, press [ESC] until you return to the main SETUP menu. FILES DIRECTORY: The Files Directory is used by TheDraw to find its files. The shareware version looks for the pick list file (THEDRAW.PCK) there. The registered version of TheDraw looks for its help and macro key files there in addition. The current setting is displayed for you. To change it, simply type in the new directory. Enter a period (.) by itself to use the current directory of Dos when TheDraw is loaded. Press [ENTER] without entry to leave unchanged. TheDraw v4.63 The Setup Utility 129 MEMORY USAGE: TheDraw always tries to allocate all available memory up to limits specified by this SETUP option. When fully configured, TheDraw can use as much as 410k of memory. Memory is allocated first for screen page layers and then for the animation system. If you have limited memory, there might not be enough space for 8 page layers and 16000 animation entries (maximum usage). There may however be enough space for 4 page layers and 5000 animation entries, or just one layer, or anything in between. This is when you may wish to override the automatic memory allocation. To make TheDraw operate as in earlier versions, you would want just 2 page layers and 5000 entries. Feel free to experiment. Keep in mind that TheDraw will scale down all settings when loaded if there is insufficient memory. Upon selecting this option the current settings are displayed for you. The amount of memory occupied by screen page layers and the animation system is also indicated. If you wish to change them answer Yes to the prompt. You can then enter new values for both. DEFAULTS: TheDraw has certain default values used throughout the program. Some of these are: o Initial edit colors o Default file extensions o Default file save parameters o Sticky directory wildcards o Initial work file directory etc... Selecting Defaults from the main setup menu displays a screen with several fields. Use the up and down arrow keys to select the field you wish to change. PgUp/PgDn switches between the three screens of options. To change a value follow the on screen directions. Pressing [R] at any time restores all "factory" defaults. Press [ESC] when satisfied with your changes. Note: Many of the defaults may be changed using TheDraw's internal Setup screen also. TheDraw v4.63 The Setup Utility 130 QUIT/SAVE: Once all changes are completed, select Quit/save at the main SETUP menu. The message: Save Changes? (Y/N) appears along the bottom line of the screen. Reply Yes, and all the changes you have made will be saved into TheDraw. Reply No, and all your changes are ignored. After either reply, you return to the dos prompt. If you ever decide to reset TheDraw completely to factory defaults, simply copy the EXE program file from your original disk (you did make one right?) onto your work disk. If you -just- want the editor commands restored, type [R] under the editor configuration. TheDraw v4.63 The Setup Utility 131 APPENDIX A SETTING UP CONFIG.SYS The ANSI driver must be installed to display Ansi color images and Ansi animation files via the Dos TYPE command. This can be done by adding a 'DEVICE=ANSI.SYS' statement to your CONFIG.SYS file. If you do not have a CONFIG.SYS file, you can create one by typing the following in your root directory: COPY CON CONFIG.SYS DEVICE=ANSI.SYS ^Z ( <-- press CTRL and Z ) If you have a CONFIG.SYS file, append the sequence with: EDLIN CONFIG.SYS #I DEVICE=ANSI.SYS ^Z ( <-- press CTRL and Z ) E For this to work properly, the ANSI.SYS file must also be in the root directory of your boot disk or hard drive (whichever is applicable). People wanting to use a mouse with TheDraw may have to install an additional file in their CONFIG.SYS file. If a driver must be installed, follow the above instructions using the name of your mouse driver (ie: MSMOUSE.SYS or MOUSE.SYS, etc...) instead of ANSI.SYS. Additional parameters may be required. Please refer to the manual that came with your mouse for more details. There are many other useful statements that can be placed in your CONFIG.SYS file. Two which can dramatically improve the performance of DOS are: BUFFERS=10 FILES=10 Add these as stated above. If you created a new CONFIG.SYS for the DEVICE=ANSI.SYS clause by COPY CON, then append these using the second method. Enjoy! TheDraw v4.63 Appendix A 132 APPENDIX B EXTENDED/SPECIAL CHARACTER SET The following lists every symbol available in the IBM extended character set. These are all found in the 15 special character function key sets supported by TheDraw. Code Symbol Code Symbol Code Symbol Code Symbol 128 160 192 224 129 161 193 225 130 162 194 226 131 163 195 227 132 164 196 228 133 165 197 229 134 166 198 230 135 167 199 231 136 168 200 232 137 169 201 233 138 170 202 234 139 171 203 235 140 172 204 236 141 173 205 237 142 174 206 238 143 175 207 239 144 176 208 240 145 177 209 241 146 178 210 242 147 179 211 243 148 180 212 244 149 181 213 245 150 182 214 246 151 183 215 247 152 184 216 248 153 185 217 249 154 186 218 250 155 187 219 251 156 188 220 252 157 189 221 253 158 190 222 254 159 191 223 255 solid spc TheDraw v4.63 Appendix B 133 APPENDIX C COMMON QUESTIONS & ANSWERS In an attempt to help users with commonplace difficulties, this section answers some of the more frequent questions. Q: When saving a full screen Ansi file, TheDraw reports it used only 3 or 4 lines. Did something go wrong? A: No. The number TheDraw reports is the number of output lines. This is the number of lines, for instance, used when uploading such an Ansi screen to a BBS system. TheDraw normally puts as much information onto a given output text line as possible. A number of the Ansi screen lines might be placed onto one output line; however, the file will display as expected. ---- Q: Why does TheDraw display garbage when I load captured graphics screens? A: TheDraw is not designed to handle high resolution graphics per say. TheDraw handles only text images. It is similar to a word processor in that regard. ---- Q: How can TheDraw support imbedded Ansi BBS control sequences? A: Previously users had to resort to Animation Include files, however starting with TheDraw v4.0, user control sequences are directly supported. Refer to command ALT-J,User-Seq for more information. PCBoard and Wildcat BBS users will find a convenient quick reference chart handy in normal editing mode. ---- Q: How can I control the location of the cursor after an Ansi file is displayed? A: The easiest way is to convert your Ansi screen to Animation. Select the ALT-J, and the "Top" scanner. The top scanner will make your Ansi file display as before. You could choose some other if you like. Next, move the cursor where you would like to appear after the display is finished, and press the [SPACE] bar. The space will become the last character displayed and the position where TheDraw leaves the cursor. ---- Q: Can I use images created with this software in my own programs for public use (or sale)? A: Yes. There are absolutely no restrictions on work you create. You might add a mention "Screens produced by TheDraw", but TheSoft does not require it. TheDraw v4.63 Appendix C 134 Q: How do I upload Ansi files to another computer (a bulletin board system)? A: Ansi files are sent identically to regular text messages, using your communication programs Ascii upload option. Before doing so, be aware some BBS's explicitly do not support Ansi. If you pass the first hurdle, note some BBS's feature automatic text wrap-around for lines which are too long. Other's simply refuse to accept more than a maximum line length. Either of the latter cases will disrupt the appearance of your Ansi files. To avoid difficulties, find the maximum line length enterable before the above problems occur (generally 70 characters is about average). Next, when saving your Ansi files using TheDraw, specify the number determined (70 here) for the maximum output line length. TheDraw will limit lines to that length, and there should be no problems uploading the image. ---- Q: How do I draw circles/ovals/etc? A: Smooth circles & ovals are not possible using text graphics. Approximations are done with careful selection of characters and symbols. For instance: The above was produced using symbols from function key set #6. ---- Q: I get disk full error messages when I try saving an Ansi file to an empty diskette. The file is large, very close to the 16000 animation limit. Is this a bug? A: Seems unlikely a bug exists. The Ansi produced is probably larger than your diskette. Try splitting it into two smaller chunks. Although dependant primarily on the application, the largest Ansi file we know of TheDraw producing was about 7.9 million bytes (a test of 16000 random entries, 32 char/line, ansi pause of 50). Even larger files might be possible. ---- Q: Why can't I change the video size from 25 lines to 43 or 50 lines as the manual suggests? A: You must have an EGA or VGA video card adapter installed in order to use these video modes. If you have a EGA/VGA card and TheDraw is not recognizing your hardware, then please contact TheSoft describing the situation. TheDraw v4.63 Appendix C 135 Q: How can I combine two Ansi files together? A: There are three ways. Either load them both into TheDraw under animation mode (you will be prompted if to append the second file), or use the Dos COPY command. ie: COPY FILE1.ANS+FILE2.ANS FILE3.ANS The above will create a new file "FILE3.ANS" containing the complete contents of FILE1.ANS and FILE2.ANS. The last method involves using a 50 or 100 line buffer mode, loading each target Ansi file into appropriate portions (an ideal use of Block Load), then saving as one file. ---- Q: My mouse will not go below line 25 when using the 43/50 line video mode. I can use the cursor keys fine, but the mouse gets stuck. What is wrong? A: TheDraw requires a mouse driver (ie: MOUSE.SYS, MOUSE.COM, or similar variation) be installed which is compatible with the EGA/VGA video card. Please contact your mouse manufacturer or check local computer bulletin board systems for an update. ---- Q: Every so often I get a funny space character on my screen. Moving the cursor onto it causes the cursor to "flicker" with colors. Why does that happen? A: You have come across what is termed a "Solid-Space". These are special characters normally used with TheDraw's sprite mode. Solid spaces are entered by pressing the SHIFT-SPACE key combination. They are not normal spaces (character 32), but a blank special IBM extended space (character 255). A setup option exists for filtering them from your Ansi/Ascii screen files. ---- Q: When I type saved ASCII files, sometimes extra blank lines appear. What is wrong? A: Your screen contains lines which are the full screen width. The cursor is "wrapping" down to the next line thus causing the extra blank line to appear. Such Ascii files are compatible with standard text editors. To make Ascii files which display properly using the Dos TYPE command, toggle the "Force CR/LF" option in the Setup options screen to "NO". ---- Q: When I save animated Ansi files, I cannot get a character to display in the lower-right corner. How can I correct this? A: You can't. The screen scrolls whenever a character is displayed in the lower-right corner. This is extremely disruptive to animated Ansi files. TheDraw thus does not output characters, but will however paint the corner with the desired colors. TheDraw v4.63 Appendix C 136 Q: I am a BBS system operator and puzzled by the Ansi maximum line length parameter. What exactly is this used for, and does it mean I can't have full screen Ansi images? A: The Ansi maximum line length is completely separate of what appears on the screen. The parameter affects the output formatting of Ansi files, but not the way they appear onscreen. We must make the distinction between displayed Ansi lines (as they appear) and output lines (as in the .ANS files). Output lines contains large amounts of cursor positioning and color control codes. A given displayed Ansi line might actually translate to an output line over 1000 characters long. In situations where Ansi files are loaded into other software, or uploaded to BBS systems as messages, physical limits on the output line lengths might be imposed. Say, for instance, 70 characters. This limits the maximum amount of Ansi information TheDraw can pack onto a given output line. However, the Ansi screen display will not change at all! TheDraw will compensate for the short output lines by moving the cursor and adjusting color codes as required. The more TheDraw is forced to do this, the longer and slower your Ansi file becomes. For maximum speed and the smallest files, use an Unlimited line length. BBS system operators should use unlimited length for menu screens and the like -- unless all Ansi files are being stored as messages. Your message base might have a line length limit. If all your BBS does is display text files however, then use the unlimited line length. TheDraw v4.63 Appendix C 137 REVISION HISTORY 05/01/86 - Version 1.00 - Program completed. ____ 05/05/86 - Version 1.01 Carl Ehmann noticed a glitch in text creation that caused highlighting and blinking attributes changes to go unnoticed. This has been corrected. ____ 06/05/86 - Version 1.02 Steven Mills discovered a bug in the file loading routine that caused TheDraw to flag valid filenames as invalid. It has been squashed. Changed the program to not allow the user to enter a code #26 or code #27 into a text screen. A code #26 is the Dos end of file marker, and entering it means loss of all following text upon displaying the file or reloading it back into TheDraw. A code #27 is the ANSI driver signal character. Supposedly ANSI ignores invalid sequences, but allowing the code created "false" ANSI codes which caused loading problems. ____ 07/31/86 - Version 1.03 Upon prompting from Carl Ehmann, output line length limiting has been added. This will facilitate other programs which cannot load lines conceivably going over 1300 characters (such as RBBS). Color changes can now be accomplished using the Ctrl-Left and Right arrow keys to increment the fore and background colors respectively. ____ 08/15/86 - Version 1.10 (later changed to v2.00) Changes in a big way. New features include: ANSI Animation, Line Drawing, Ruler, movement of blocks UNDER other text and much more!! Quick color change keys have been expanded to use the Ctrl-Up, Down, Left, and Right keys in a more logical manner. ____ 09/13/86 - Version 2.01 A few more enhancements. Pop-Up help, and macros have been added to the new registered version of the program. Also a few aspects of the animation editor have been sped up. TheDraw v4.63 History 138 REVISION HISTORY (cont) 09/19/86 - Version 2.02 Fixed a slight bug which was causing TheDraw to display the wrong Help Screen (in registered version). Also, the registered version wasn't keeping track of where its overlay was. ____ 09/27/86 - Version 2.03 Carl Ehmann noticed yet another glitch (what would I do without him?). The Ascii save routine was using ANSI codes to advance the cursor to the next line. ____ 11/28/86 - Version 2.04 Ray Buti discovered an oddity with the Pascal screen save. If you used a single quote "'" TheDraw didn't compensate for it. Therefore when Turbo Pascal compiled that screen it complained. Ray also noticed that characters under #32 were missing the "#" required by Turbo. These have both been cured. In addition, the animation load routine has been made more reliable. Occasionally movement just involving the cursor (no text) would be lost. Other improvements were made to make animation screen files smaller and display faster. ____ 03/06/87 - Version 2.10 Support for monochrome monitors has finally been added. Don't ask why I never did it before... The glitches Paul Pacter (and many other people) found with IBM PC Ctrl-Up/Down keys has been eliminated. I would have never noticed that glitch, so many thanks! Kent Godding made an excellent suggestion for a ansi-file slow down routine. This has been added. Lastly, a few changes were made to the command structure to clarify things and many prompts were cleaned up. TheDraw v4.63 History 139 REVISION HISTORY (cont) 06/20/87 - Version 2.20 BSave saves fixed to operate properly for monochrome monitors. Ansi files now output [40m color sequences to clear screen to black color before doing anything else. Thanks to Barry Simon for bringing this oversight to my attention and also suggesting command line filespecs. Some new items were added, most notably full screen editing. Thank Ray Buti for finally bugging me enough to add it. Also extended options for Asm, Pascal, and new C storage modes to crunch and store only Ascii in addition to the original normal (4000 byte) mode. Thanks to Douglas A. Nicklow for suggesting the C storage capacity. ____ 08/22/87 - Version 2.21 Fixed a minor glitch with window sizes being slightly off. Also I missed a problem in the registered version. TheDraw was not using the overlay path entered by the Setup utility when initializing. So much for learning from mistakes (ie: it happened before). In addition, using a command line filespec sometimes loaded a Ansi or Ascii image with a random background color. Needless to say, everything has been fixed. ____ 04/28/88 - Version 3.00 Many, MANY changes. TheDraw totally rewritten to take advantage of Turbo Pascal v4.0. A new title screen, dynamic allocation of screen layers and animation space (up to 16000 animation entries and 8 page layers can now be used), multi-layer Sprite editing, dos shelling (suggestion from Billy Noto), and a new high-speed TheDraw format data file have all been added. TheDraw now incorporates its own Ansi driver so Ansi/Ascii file loading is much faster. The animation system has been greatly expanded. Five new animation scanners have been added (ANGLE, GATE, PYRAMID, SQUARES, and WIGGLE). Animation markers(R), "include files", animation pausing, support of animation on multiple page layers (no longer restricted to just one page), global animation screen copies, and more have all been added. Animation sequences can now be appended together. The registered version supports easy animation editing. A couple of bugs were fixed. The pascal save left spurious single entries on the end of lines (yet another discovery of Ray Buti :-) ). The Ascii Save no longer outputs spaces on the end of every line. TheDraw v4.63 History 140 REVISION HISTORY (cont) (v3.00 cont) The Setup utility has been vastly overhauled and now allows configuring of the TheDraw edit screen colors, TheDraw keyboard commands(R), and many other parameters. ____ 09/09/88 - Version 3.10 Support for the Microsoft Mouse has been added, making cursor movement and the marking of blocks easier. Five additional character sets have been added. These are accessed via CTRL-F(1-5). With this revision goes a new function key screen (ALT-F). Finally, a few bugs were eradicated. Many people reported CTRL-Up/Down keys were not working. They did work, however the status display was not always updated (thus causing the following confusion). TheDraw now allows filespecs without extensions to be used again. In addition, the default filespec extensions can be changed using the Setup utility (Ray Buti can now change .PAS to anything he likes ). The Setup utility Defaults option now works as advertised. Finally, the keyboard driver for Ctrl-Up/Down has been changed yet again. With the last revision, a few computers were gained but the PCjr was lost. ____ 04/04/89 - Version 3.20 Pull down menu system has been added to TheDraw. The program can now be totally controlled by use of a mouse. Various small details that escaped detection regarding the mouse were corrected. TheDraw has a new storage format -- COM files. Separate programs useful for batch files and the like. They work with blocks and (naturally) the entire screen. A few bugs floating around the program have been cured. When attempting a block save, TheDraw would sometimes display and save the wrong screen portion. The ALT-U command was not processing blinking colors properly -- thanks to Darin May for pointing this out. The ALT-L file directory had a minor problem when there were exactly 124 items displayed. You could go down to the next page even though there was nothing on it. Animation screen copies might possibly fail if they run out of room. What the user saw didn't necessarily match what TheDraw thought was there until everything got redrawn. The problem with CTRL-UP/DOWN simply won't go away. The driver will work for 99% of machines, but certain computers with non-compatible keyboard hardware will lockup (notably the Tandy 1000A and HX). The SETUP utility now has a provision for deactivating the driver completely. TheDraw v4.63 History 141 REVISION HISTORY (cont) 11/01/89 - Version 3.30 TheDraw format files now support block load/save. A color attributes drawing mode has been added, access via Alt--. Thanks to James Carroll for this suggestion. You can now specify a default directory/wildcard when using sticky directory listings. Thanks to Sylvest Adam for this suggestion. TheDraw supports a ten file pick list now. This maintains a listing of the last ten files accessed. Simply press the TAB whenever TheDraw prompts for a filespec. TheDraw now generates Intel format compatible object code files. Useful for linking with Turbo Pascal v4.0 and above, C plus many other high-level languages. The ruler can now be made "sticky". When active, the ruler stays on the screen appearing under the current page layer. A few bugs were fixed. The problem with ansi animation files getting confused when saved without screen preparation has been solved. Thanks to Terry Blake for reporting it. Alt-O now properly allows you to change drives. A minor glitch with animation include files dropping characters has been solved. Finally, the directory listing handles the mouse in a more predictable/controllable manner. ____ 03/01/91 - Version 4.00 A great number of changes, additions, and improvements. First the bug fixes: Garry Kraemer found the uncruncher was not in sync with how TheDraw handled flashing characters. Michael Harris discovered it was possible to select a page 0 in version 3.30. Paul Furman noted BSAVE files were not quite compatible with Basic, lacking a ending sequence. Carter Downer noted that 80 column Ansi files produced by TheDraw were not fully compatible with bulletin board systems. New features are: EGA/VGA screen editing (43/50 lines for EGA/VGA). A virtual screen edit buffer was added, allowing screens up to 160 characters by 50 lines can be edited. Mouse aided line drawing; pressing the middle mouse button down and moving will draws a line or box. All cursor keys now function throughout TheDraw. Line drawing now tolerates bumping into the screen border. New animation scanners: Doors*, Diamond*, Circle*, Clock*, Checkerboard, and Wiggleout. Thanks to Guy StarBuck for suggesting the first four. The ability to reverse any animation scan (making the scan go backwards) was also added. Thanks to Dorothy Hade for this excellent suggestion. User Ctrl sequences permitting BBS operators to install custom Ansi codes. The last animation improvement was the ability to append -ANY- file format (except .TD) to an animation sequence. For non-ansi/ascii files, TheDraw requests an animation scanner to reading the screen. TheDraw v4.63 History 142 REVISION HISTORY (cont) (v4.00 cont) Block and global character/attribute replace has been added. The default load filename extension can now be changed to something other than ANS. An online setup menu was added to TheDraw, making configuration of the environment much easier. Two additional COM file formats were added, with TheDraw transparently selecting the best of the three for a given application. Ascii files can now be forced to have carriage returns placed on the end of each line. ALT-Key pop-up help screen added. TheDraw can now save backup files. The ALT-Left/Right key sequence delete/insert columns. Automatic screen blanking was added. Dos Shell now attempts to swap out information to EMS memory or a disk swap file to increase available memory during the shell. Lastly (whew!), TheDraw can be made to prompt to save changes before exit. Either just for the current page, or for all page layers. ____ 03/18/91 - Version 4.01 A minor correction to the .OBJ file format loader, the Last Block option works properly now, plus a couple other minor fixes to bugs somehow squirming through testing. The presentation program (THEPP) now properly displays TheDraw format files saved with sprite mode turned on. ---- Version numbers 4.10 through 4.40 skipped because unauthorized (illegal) modification of TheDraw v4.00 by an individual. ---- 03/16/92 - Version 4.50 Over 50 improvements and corrections. Bug fixes include corrected Ansi file generation, improved QuickBasic support, cleaned up various screen display quirks associated with the virtual edit buffer, problems with column insert/delete, better handling of switches between 25 and 43/50 line buffers, difficulty with read-only marked files, quirks with screen blanking, better handling of bell codes in Ansi files, problems with the Sticky ruler not being saved to TheDraw format files, glitches with display refresh in animation mode, plus several other minor improvements. TheDraw v4.63 History 143 REVISION HISTORY (cont) (v4.50 cont) Thanks to: Steven Fischkoff for finding bugs with animation scramble scanner. J. T. Merrill for finding problems with THEPP when displaying animated files. Warren Leadbeatter for pointing out circumstances where unwanted blank lines could get inserted into Ansi files. Jeff Lawson for finding bugs when loading read-only files, saving small (less than 512 bytes) object files, and suggesting improvements for the QuickBasic MAKEQLB batch file. Ian Thurston for supplying a example for the Clipper compiler. Joe Fischer (and others) for helping identify a glitch with Ansi saves relative to spurious linefeeds in the top video line. Improvements include encrypted screen data to thwart hack attempts, internal Ansi/Ascii font support, true restore/undo facility which can reverse any screen operation, a 23 line edit buffer (very useful for BBS screen generation), improved cursor viability when foreground and background colors are the same, pull down menus now display shortcut keystrokes, file listing used with the load/view/delete function now show directories, more efficient Ansi file generation, and mouse users can now click on items in the status line (when pulldown menus displayed) as shortcuts for common commands. Enjoy! ---- 04/15/92 - Version 4.51 Alas... the best laid plans. Another bug in the creation of QuickBasic object files was found by Gary Deal. This has been taken care of. An obscure problem with background colors in Ansi files reported by Chris Wirth (and others) has been cured. Lastly, a minor hiccup with the sticky ruler only working in sprite mode has been repaired. ---- 02/15/93 - Version 4.60 Many overall improvements. New title screen, Added are the Quick Palette (for choosing color & symbols), picking up symbols and manually paint with it, a 100 line static edit buffer, multi-color fonts, larger font capacity, animation fade-out, animation auto-repeat displaying, Library format files which permit saving many TD files together along with descriptions, ability to view TD files, compression in TD files, C source code file format now more compatible with more compilers, new file formats for BBS operators (Avatar, PCBoard, and Wildcat BBS), quick reference for PCBoard and TheDraw v4.63 History 144 REVISION HISTORY (cont) (4.60 cont) Wildcat @-code keywords, optional removal of unused lines when saving screens (very useful for BBS operators), and for registered users a built in version of the SHADING.TD screen (R). Bug fixes to animation text centering, viewing object files, column insert/delete (when used with numeric keypad arrows), Ansi include files, Ansi loader less likely to spuriously turn on animation mode, improved handling for "color-bleeding" with scrolling Ansi files, fixes to TDFonts, QuickBasic functions adjusted to avoid leaving extra data on stack, saving COM files safer when large edit buffer in use, global screen move works with large edit buffers, cursor not forced to left-most column at end of animation files anymore, can no longer "click" on status line items with mouse if the status line is not displayed, and the SETUP utility now ignores shift-key codes when programming the keyboard driver. Thanks to: Toby Vander Steen for finding animation text centering bug. Gary Yuen for object file viewing and column insert/delete glitches. Michael Arnett for pointing out the animation include files were less than perfect. Brad Crouch for finding a circumstance in which COM files would not be saved properly. B.J. Freeman for indicating the Setup utility keyboard config bug. Dafyd V. Smith for the 23 line buffer loading problem, and suggesting animation auto-repeating! David P. Hummel & Dafyd V. Smith for suggesting animation fadeout! Abram Miller for suggesting the modified dos prompt in shells. Carter Downer for suggesting the Quick Palette feature, screen autocompress, and new BBS file formats! The many users who all requested the screen capture utility! 03/22/93 - Version 4.61 Maintenance release. TheDraw had a problem handling color setup in Ansi files with a space in the upper-left corner of the screen. Other minor bugs in the Setup utility, PRINTDOC, and TheGrab were fixed. Thanks to: Anthony Haxton for pointing out the Setup utility might not recognize the registered version of TheDraw. Paul Hirsch for finding one of the items in the Setup utility default section worked backwards (ie: typing "Yes", got "No"). (R) = Feature in Registered Version of TheDraw Only TheDraw v4.63 History 145 REVISION HISTORY (cont) 09/07/93 - Version 4.62 Maintenance release. Problem with saving PCBoard/Wildcat files related to background colors and scrolling (ie: color wrap-around) fixed. Also repaired minor glitch in ALT-A screen when Numlock was turned on - the arrow keys would only increment colors. Ansi files now include a special sequence which turns on line wrap-around on terminal programs. This should cure a number of problems related to display of characters in the 80th column. Thanks to Luke Rice for reporting how typing an 'A' in the color setup (ALT-A) screen might cause a crash. ____ 10/19/93 - Version 4.63 Maintenance release. A glitch which came and went... came back. Blinking colors in Ansi files would not be properly output if 1) they were the first colors used and 2) not on the first line. Special thanks to William Zakreski for reporting this. TDFonts would exit with the cursor turned off in some situations; this should be fixed now. Thanks to Brian Morin for writing in. Avatar, PCBoard, and Wildcat formats can now optionally reset the display color to light gray on the end of files. The reset is enabled by default, and corresponds to how Ansi files are handled. To turn off the color reset, choose Setup from the Options pulldown menu, go to page 2, and change the "Reset colors..." toggle. Direct thanks to Alan Shoemaker for recommending this one. TheDraw now handles @CLS@ Wildcat/PCBoard commands properly. In attempting to filter the @CLS@ command TheDraw adds itself, all were removed. Lastly, Wildcat/PCBoard slowdown codes are fixed. TheDraw v4.63 History 146 THE FUTURE Look for these features in the next release of TheDraw: New painting routine options to make coloring areas easier. User definable "favorite" color combination keystrokes. Multi-speed animation sequences. Send in your ideas, suggestions, criticisms and bug reports. Report something first and be immortalized in the docs of TheDraw! If you ever find a copy of TheDraw with a version number other than one listed above, please take the time to write us a quick note describing it. Thank you! TheDraw v4.63 147 COMMENTS Please consider registering for the amount of $22. Quality software at good prices is very difficult to find. We at TheSoft Programming Services firmly believe in and support the concept of shareware products, and hopefully you do also. Please make any checks out to TheSoft Programming Services. If you have any requests, comments or suggestions for TheDraw, please send them to: TheSoft Programming Services c/o Ian Davis - TheDraw P.O. Box 7657 Fremont, CA, 94537-7657 Thanks for your support! TheDraw v4.63 148