home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / PRO1.ZIP / GUIDE.TXT < prev    next >
Text File  |  1988-12-10  |  59KB  |  1,915 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                                     The WindowPro
  8.                                            
  9.                           *  * * * *  Users Guide  * * * * *
  10.                                            
  11.                                    by Kenneth Stott
  12.                                      version 1.5
  13.                                            
  14.                                            
  15.                                            
  16.                                            
  17.                                            
  18.                                            
  19.                                            
  20.                                            
  21.                                            
  22.                                            
  23.                                   Seabreeze Software
  24.                                  397 Dal-Rich Village
  25.                                       Suite 169
  26.                                Richardson, Texas 75080
  27.                                     (214) 437-2729
  28.                                            
  29.                                            
  30.                                            
  31.                                            
  32.                                            
  33.                                            
  34.                        Copyright (c) 1986-1988 by Kenneth Stott
  35.                                  All Rights Reserved
  36.                                            
  37.                                            
  38.                                            
  39.                                            
  40.                                            
  41.                                            
  42.                                            
  43.                                            
  44.                                            
  45.           The WindowPro shareware diskette, containing a copy of this
  46.           manual, may be freely copied and shared.  But, printed copies of
  47.           this document may not be copied by any method without the express
  48.           written permission of Seabreeze Software.
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.           WindowPro v. 1.5                                 Shareware Manual
  70.  
  71.  
  72.  
  73.           I.    Introduction . . . . . . . . . . . . . . . . . . . . .    1
  74.           II.   Technical Notes  . . . . . . . . . . . . . . . . . . .    2
  75.           III.  Shareware  . . . . . . . . . . . . . . . . . . . . . .    4
  76.           IV.   Registration . . . . . . . . . . . . . . . . . . . . .    5
  77.           V.    Support Details  . . . . . . . . . . . . . . . . . . .    7
  78.           VI.   Diskette . . . . . . . . . . . . . . . . . . . . . . .    8
  79.           VII.  Installation . . . . . . . . . . . . . . . . . . . . .   10
  80.           VIII. Compiling and linking the demo . . . . . . . . . . . .   11
  81.           IX.   Overview . . . . . . . . . . . . . . . . . . . . . . .   12
  82.           X.    Glossary . . . . . . . . . . . . . . . . . . . . . . .   13
  83.           XI.   Tutorial . . . . . . . . . . . . . . . . . . . . . . .   16
  84.           XII.  Common Problems  . . . . . . . . . . . . . . . . . . .   20
  85.           XIII. Forthcoming Enhancements . . . . . . . . . . . . . . .   21
  86.           XIV.  Functions Overview . . . . . . . . . . . . . . . . . .   21
  87.           XV.   Other Seabreeze Products . . . . . . . . . . . . . . .   26
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                                - Table of Contents 1 -
  131.  
  132.  
  133.  
  134.  
  135.           WindowPro v. 1.5                                 Shareware Manual
  136.  
  137.  
  138.  
  139.           I.    Introduction
  140.           
  141.           WindowPro is one of the most comprehensive, compact, and easiest
  142.           to use screen control libraries available for "C" language
  143.           development of applications and systems software.  
  144.           
  145.              . WindowPro lets you easily create programs that look and feel
  146.                like Framework, Lotus, dBase III, and other top-sellers. 
  147.                Dialog boxes, context-sensitive help, pop-up and pull-down
  148.                menus are a snap to implement.  
  149.           
  150.              . Your programs will be able to drag, zoom, split, hide, and
  151.                scroll windows fast, flicker-free, and without snow.  
  152.           
  153.              . Sensing video cards, setting video modes, and cursor control
  154.                are simple straight-forward operations.  
  155.              
  156.              . WindowPro is compiler and machine independent.  You can use
  157.                the same applications interface for your VAX, IBM PC, or
  158.                APPLE II.
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                         - 1 -
  197.  
  198.  
  199.  
  200.  
  201.           WindowPro v. 1.5                                 Shareware Manual
  202.  
  203.  
  204.  
  205.           II.   Technical Notes
  206.           
  207.              . Compatibility - Seabreeze Software currently supports
  208.                WindowPro under MS-DOS and OS/2 running on the IBM-PC/XT/AT,
  209.                PS/2 and compatibles.  It works with CGA, MDA, EGA, and VGA
  210.                cards in black and white or color and operates in 40 X 25,
  211.                80 X 25, and 80 X 43 modes.  It also supports the multi-page
  212.                capabilities of the CGA, EGA, and VGA video cards. 
  213.                WindowPro supports the large, medium, and small models under
  214.                Turbo C version 2.0, Microsoft C 5.X, and Miscrosoft Quick
  215.                C. 
  216.              
  217.              - The number of windows on the screen is algorithmically
  218.                unlimited.  Your compiler or hardware may limit the number
  219.                of windows.
  220.              
  221.              . Error handling - WindowPro has extensive error handling
  222.                capabilities.  The centralized error handling feature can be
  223.                switched on or off during run-time via a function call. 
  224.                With the feature disabled WindowPro functions return
  225.                extensive error handling information for customized error
  226.                handling, with it enabled WindowPro reports all errors to
  227.                the screen.
  228.              
  229.              . Machine independence - WindowPro use three methods of screen
  230.                updating: 
  231.              
  232.                  .. Direct memory access ("DMA") - Usable on IBM PC/XT/AT,
  233.                     PS/2 and compatibles.  This is the fastest and most
  234.                     efficient method. 
  235.                  
  236.                  .. IBM PC BIOS method ("BIOS") - Considered well-behaved
  237.                     by programs such as DESQVIEW, and MICROSOFT WINDOWS. 
  238.                  
  239.                  .. Direct cursor positioning ("ANSI") -  Requires a
  240.                     terminal that can position the cursor at a coordinate
  241.                     on the screen.  This is by default setup for an ANSI
  242.                     type terminal, but can be modified at run-time for
  243.                     others.  
  244.                   
  245.                In all modes no assumptions are made about screen size,
  246.                video memory locations, etc.  But you are provided with
  247.                several functions for sensing and setting video modes on an
  248.                IBM-PC.  
  249.              
  250.              . Compiler independence -  WindowPro is pretty straight
  251.                forward -- it has proven quite easy to port to other
  252.                compilers.  Although we are in the process of testing
  253.                WindowPro with several compilers we can only recommend
  254.                Borland Turbo C, Microsoft C 5.X, and Quick-C 1.X.
  255.              
  256.                For now, If you would like to use another compiler, you will
  257.                have to purchase the source code (see registration, next
  258.                section.)  WindowPro uses the following functions from the
  259.  
  260.  
  261.  
  262.                                         - 2 -
  263.  
  264.  
  265.  
  266.  
  267.           WindowPro v. 1.5                                 Shareware Manual
  268.  
  269.  
  270.  
  271.                compilers' libraries.  Your compiler  will need to support
  272.                these functions, or you will need to provide suitable
  273.                substitutes, to make use of the WindowPro source code:
  274.              
  275.                   . farmalloc, farfree, and movedata.
  276.                   
  277.                   .  vsprintf.  Necessary for the wprintf feature.
  278.                   
  279.                   . int86.  Necessary for sensing the video card, setting
  280.                     the video mode, setting the cursor size and position,
  281.                     and other IBM PC specific functions.
  282.                   
  283.                   . getch.  Necessary for WindowPro's vs_gets function.
  284.                   
  285.                   . putchar. Necessary for ANSI mode.
  286.                   
  287.                   
  288.                   
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                                         - 3 -
  329.  
  330.  
  331.  
  332.  
  333.           WindowPro v. 1.5                                 Shareware Manual
  334.  
  335.  
  336.  
  337.           III.  Shareware
  338.           
  339.           Seabreeze Software distributes WindowPro under the shareware
  340.           marketing concept.  Because WindowPro is shareware you can freely
  341.           copy and share the WindowPro shareware diskette with its programs
  342.           and manual.  You can also obtain it from Seabreeze Software for
  343.           $15 (the cost of the diskette, postage, and handling.)  In fact,
  344.           we hope you do help us by sharing unmodified copies of the
  345.           WindowPro shareware diskette with other programmers.
  346.           
  347.           You may incorporate WindowPro into your programs and distribute
  348.           those programs absolutely royalty free (see registration section
  349.           for details.)  You may not however sell, or give away, the
  350.           WindowPro source code -- even if you purchase the right to use it
  351.           (see registration section.)
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                                         - 4 -
  395.  
  396.  
  397.  
  398.  
  399.           WindowPro v. 1.5                                 Shareware Manual
  400.  
  401.  
  402.  
  403.           IV.   Registration
  404.           
  405.           Shareware is software which can be freely copied and
  406.           distributed.  It is copyrighted software which the author
  407.           encourages people to copy and share with others.
  408.           
  409.           You can register WindowPro with Seabreeze Software for three
  410.           levels of support:
  411.           
  412.            .  For $50 (DOS) or $100 (OS/2 & DOS) you receive
  413.           
  414.                .  A serialized diskette containing all the latest libraries
  415.                   for one specified compiler and all memory models.
  416.                
  417.                .  Single user telephone support (Compuserve and voice.) 
  418.                   See next section for details.
  419.                
  420.                .  Notification of updates for one year.
  421.            
  422.            .  For $100 (DOS) or $200 (OS/2 & DOS) you receive 
  423.            
  424.                .  the above, and
  425.                .  one hundred pages of liberally commented source code (on
  426.                   diskette,) 
  427.                
  428.                   This support-level is usable for non-commercial
  429.                   programs.  Non-commercial programs are those created for
  430.                   limited user (less than 50 users) installations (as
  431.                   typically might be found in a small consulting situation
  432.                   or a small corporate software development setting,) or
  433.                   for unlimited freeware distribution.
  434.             
  435.            .  For $200 (DOS) or $400 (OS/2 & DOS) you receive 
  436.            
  437.                .  the above, plus 
  438.                .  the right to use The WindowPro in commercial
  439.                   applications. 
  440.            
  441.            .  Call for details regarding site licensing, consulting
  442.               services, and customizations.
  443.              
  444.           
  445.           Seabreeze Software retains the following rights:
  446.           
  447.            .  If you purchase the source code you may not distribute it
  448.               except as part of an application program.  In other words,
  449.               you can't resell the source in its current or modified form
  450.               in a way that competes with the original product.  
  451.            
  452.            .  If you provide the WindowPro source code to a purchaser of
  453.               your applications software you must leave the remarks in the
  454.               source code indicating that the original copyright is held by
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                         - 5 -
  461.  
  462.  
  463.  
  464.  
  465.           WindowPro v. 1.5                                 Shareware Manual
  466.  
  467.  
  468.  
  469.               Seabreeze Software.  If you rewrite portions of WindowPro you may point out the modifications made by yourself but
  470.               you are still legally obligated to leave the original
  471.               copyright notice in the source code.
  472.            
  473.            .  Seabreeze Software may modify its pricing and distribution
  474.               policies at any time without notification.  This does not
  475.               imply that we will not honor our contractual obligations. But
  476.               that we reserve the right to not contract for the above
  477.               services at the above prices, i.e. we are not bound by 'old'
  478.               advertising.
  479.           
  480.           The registration form is at the back of this manual.
  481.           
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                         - 6 -
  527.  
  528.  
  529.  
  530.  
  531.           WindowPro v. 1.5                                 Shareware Manual
  532.  
  533.  
  534.  
  535.           V.    Support Details
  536.           
  537.           Support is provided under three methods.
  538.           
  539.            .  E-mail.  Send mail to Seabreeze Software, Compuserve ID#
  540.               72330, 705
  541.            
  542.            .  Voice.  You may call Seabreeze Software directly at
  543.               214-437-2729, Monday through Friday, 9 a.m. to 5 p.m. 
  544.               Central Time.
  545.           
  546.           Technical support is available to registered users only, you must
  547.           leave your license agreement number, your name, and instructions
  548.           for answering the question (like - "please answer via Compuserve
  549.           E-mail ID# XXXXX, XXX." or  "Please call me at XXX-XXX-XXXX for
  550.           verbal consultation.")  Give as many details as possible. 
  551.           Answers will generally be received within 24 hours or less,
  552.           Monday through Friday.
  553.           
  554.           Seabreeze Software will respond to general questions from
  555.           unregistered users, like "I have version X.XX, what is the latest
  556.           version?" or "What is the current price for support level X?"  We
  557.           cannot respond to technical questions from unregistered users.
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                         - 7 -
  593.  
  594.  
  595.  
  596.  
  597.           WindowPro v. 1.5                                 Shareware Manual
  598.  
  599.  
  600.  
  601.           VI.   Diskette
  602.           
  603.           The shareware diskettes should contain the following files:
  604.           
  605.           Read.me             Any last minute corrections, additions, etc.
  606.           Pkxarc.exe          Unarchives Pro.arc
  607.           Pro1.arc & Pro2.arc Contain the manual and libraries
  608.           
  609.           Pro1.arc & Pro2.arc contain:
  610.           
  611.           Guide.txt           An introductin to the WindowPro
  612.           Ref.txt             The WindowPro function reference manual
  613.           Demo.c              Source code for the WindowPro demo program
  614.           Demo.exe            The WindowPro demo program
  615.           Demol.prj           Project file, Borland Turbo C (large model)
  616.           Demom.prj           Project file, Borland Turbo C (medium model)
  617.           Demos.prj           Project file, Borland Turbo C (small model)
  618.           Initwdws.c          The initialization module source code
  619.           Msc_prol.bat        MS C5 compile/link batch file (large model)
  620.           Msc_prom.bat        MS C5 compile/link batch file (medium model)
  621.           Msc_pros.bat        MS C5 compile/link batch file (small model)
  622.           Qc_prol.bat         Quick C compile/link batch file (QCL.EXE -
  623.                               large model)
  624.           Qc_prom.bat         Quick C compile/link batch file (QCL.EXE -
  625.                               medium model)
  626.           Qc_pros.bat         Quick C compile/link batch file (QCL.EXE -
  627.                               small model)
  628.           Tc_prol.bat         Turbo C compile/link batch file (TCC.EXE and
  629.                               TLINK.EXE - large model)
  630.           Tc_prom.bat         Turbo C compile/link batch file (TCC.EXE and
  631.                               TLINK.EXE - medium model)
  632.           Tc_pros.bat         Turbo C compile/link batch file (TCC.EXE and
  633.                               TLINK.EXE - small model)
  634.           pro.h               Type checking include files (wn_ functions)
  635.           vs.h                "                           (vs_ functions)
  636.           video.h             "                           (v_  functions)
  637.           keyboard.h          "                           (kb_ functions)
  638.           mouse.h             "                           (kb_mouse
  639.                               functions)
  640.           colors.h            Color definition macros for IBM-PC
  641.           xcodes.h            Macros for some extended keyboard codes
  642.                               (returned by kb_getxc().)
  643.           werrors.h           Error handler definitions
  644.           vidmodes.h          Video mode definition macros for IBM-PC
  645.           initwdws.c          The initialization module source code
  646.           globals.h           Global declarations (for initwdws.c)
  647.           xglobals.h          Global external declarations
  648.           tcpowerl.lib        Turbo C large model WindowPro library
  649.           tcpowerm.lib        Turbo C medium model WindowPro library
  650.           tcpowers.lib        Turbo C small model WindowPro library
  651.           mscpowl.lib         MS C 5 & QC large model WindowPro library
  652.           mscpowm.lib         MS C 5 & QC medium model WindowPro library
  653.           mscpows.lib         MS C 5 & QC small model WindowPro library
  654.           qcpower.qlb         Quick C medium model WindowPro quick library
  655.  
  656.  
  657.  
  658.                                         - 8 -
  659.  
  660.  
  661.  
  662.  
  663.           WindowPro v. 1.5                                 Shareware Manual
  664.  
  665.  
  666.  
  667.           Tutor1.c            Source and turbo project files (medium, large
  668.                               & small model)  for tutorial number 1.
  669.           Tutor1l.prj         "
  670.           Tutor1m.prj         "
  671.           Tutor1s.prj         "
  672.           Tutor2.c            Source and turbo project files for tutorial
  673.                               number 2.
  674.           Tutor2l.prj         "
  675.           Tutor2m.prj         "
  676.           Tutor2s.prj         "
  677.           Tutor3.c            Source and turbo project files for tutorial
  678.                               number 3.
  679.           Tutor3l.prj         "
  680.           Tutor3m.prj         "
  681.           Tutor3s.prj         "
  682.           Tutor4.c            Source and turbo project files for tutorial
  683.                               number 4.
  684.           Tutor4l.prj         "
  685.           Tutor4m.prj         "
  686.           Tutor4s.prj         "
  687.           Tutor5.c            Source and turbo project files for tutorial
  688.                               number 5.
  689.           Tutor5l.prj         "
  690.           Tutor5m.prj         "
  691.           Tutor5s.prj         "
  692.           
  693.           Note: BBS operators may repackage The WindowPro files to optimize
  694.           on-line time.  If you received your files via a BBS please make
  695.           sure you have all of The WindowPro shareware files.
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                         - 9 -
  725.  
  726.  
  727.  
  728.  
  729.           WindowPro v. 1.5                                 Shareware Manual
  730.  
  731.  
  732.  
  733.           VII.  Installation
  734.           
  735.             1. Backup your shareware diskette.
  736.             
  737.             2. Type "pkxarc Pro1" at the dos prompt and press ENTER, and
  738.                then "pkxarc Pro2".  Pkxarc will unarc Pro1.arc & Pro2.arc
  739.                into the current default directory.  You can run pkxarc.exe
  740.                from another directory, and unarc Pro1.arc located on
  741.                another drive or directory by preceding each with a drive
  742.                and directory specification, for example
  743.             
  744.             
  745.                C:\Pro>a:pkxarc a:Pro1
  746.             
  747.                will run pkxarc from the a: drive and unarc Pro1.arc located
  748.                on the a: drive into the c: drive and the "Pro"
  749.                sub-directory.
  750.             
  751.             3. Copy the library file (extension of ".lib") to the diskette
  752.                or sub-directory you usually use with your C compiler.  The
  753.                lib files should be in the same sub-directory as your C
  754.                runtime libraries.  
  755.             
  756.             4. Copy the compiler/linker driver batch file that corresponds
  757.                to your compiler to
  758.             
  759.                PRO.BAT
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                        - 10 -
  791.  
  792.  
  793.  
  794.  
  795.           WindowPro v. 1.5                                 Shareware Manual
  796.  
  797.  
  798.  
  799.           VIII. Compiling and linking the demo
  800.           
  801.           Compile the demo by typing 
  802.           
  803.           PRO DEMO
  804.           
  805.           at the dos prompt.
  806.           
  807.           Note: The compile/link batch files assume that you have installed
  808.           the your compiler as suggested by your compiler's manual.  If you
  809.           are using Turbo-C it assumes that the sub-directories LIB and
  810.           INCLUDE are child directories of the default directory.  If you
  811.           are using MSC or Quick-C it assumes that the BIN sub-directory is
  812.           in your PATH, and that the environment variables LIB and INCLUDE
  813.           are properly set.
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                        - 11 -
  857.  
  858.  
  859.  
  860.  
  861.           WindowPro v. 1.5                                 Shareware Manual
  862.  
  863.  
  864.  
  865.            IX.   Overview
  866.           
  867.            WindowPro is a virtual screen manager.  Instead of  working with
  868.            a single screen like a traditional program, you can define
  869.            hundreds of screens.  And with simple commands, like vs_gets and
  870.            vs_printf, you send output to any virtual screen.  You can
  871.            display parts of a virtual screen on the physical screen through
  872.            a window.  
  873.            
  874.            Windows may overlap one another so that some windows will obscure
  875.            others.  A collection of overlapping windows on a screen could
  876.            like this.  
  877.            
  878.            
  879.                            +--------------------+ 
  880.                            |                    | 
  881.                            |     window #1      | 
  882.                            |                    | 
  883.                            |                    |-------------+ 
  884.                            |                    |             | 
  885.                            |                    |             | 
  886.                            |                    |             | 
  887.                            |                    |             | 
  888.                            |                    |             | 
  889.                            +--------------------+             | 
  890.                                 |         |                   | 
  891.                                 |         |     window #2     | 
  892.                                 |         |                   | 
  893.                                 |         |                   | 
  894.                                 |         +-------------------+ 
  895.                                 |                      | 
  896.                                 |     window #3        | 
  897.                                 |                      | 
  898.                                 +----------------------+ 
  899.            
  900.            Because all WindowPro operation modes can be decided at runtime. 
  901.            You can support several MS-DOS supported machines with one
  902.            executable file.  Creating programs with fancy terminal
  903.            installations is very simple, or for the IBM PC world, creating
  904.            programs that automatically sense, or set, video modes, sense
  905.            display adapters, etc. is quite easy.
  906.            
  907.            WindowPro provides mouse support.  Mice and windows are a team. 
  908.            So we have provided extensive and sophisticated support for
  909.            MICROSOFT MOUSE compatible devices.  
  910.            
  911.            WindowPro, for all of its added features just doesn't take much
  912.            space.  If you use just the basic functions you will only add
  913.            about 35K of code to your application.  If you use all of the
  914.            features you will add about 65K. (Depends on you compiler.)  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                        - 12 -
  923.  
  924.  
  925.  
  926.  
  927.           WindowPro v. 1.5                                 Shareware Manual
  928.  
  929.  
  930.  
  931.            X.    Glossary
  932.           
  933.               . Physical screen - the physical screen is your computer or
  934.                 terminal screen. Unlike a virtual screen it is limited in
  935.                 size to whatever modes your computer or terminal supports.
  936.               
  937.               . Virtual screen - WindowPro allows you to create an unlimited
  938.                 number of virtual screens.  Instead of sending output to the
  939.                 physical screen, you send output to the virtual screen of
  940.                 your choice.  WindowPro will update the physical screen only
  941.                 if there is a window onto the virtual screen displayed on
  942.                 the physical screen. Virtual screens are not limited in
  943.                 size.  A virtual screen does not have to have an open window
  944.                 on the physical screen, i.e. a program can update a virtual
  945.                 screen without affecting the physical screen.
  946.               
  947.               . Window - a window allows you to show part of a virtual
  948.                 screen on the physical screen.  WindowPro lets you open a
  949.                 window and place it anywhere on the physical screen. 
  950.                 Windows can be moved or resized through simple function
  951.                 calls.  Windows may overlap on the physical screen.  
  952.               
  953.                 You can control the overlapping of windows in several ways. 
  954.                 If you need to see a window which is partially or completely
  955.                 obscured you can 'activate' the window, which will bring it
  956.                 temporarily to the top of the physical screen.  You put the
  957.                 the 'active' window back into its original position by
  958.                 'deactivating' it.  A window may be brought to the top
  959.                 permanently by 'opening' it.  You remove a window from the
  960.                 physical screen by 'closing' it.
  961.               
  962.               . Handle - when a window is created WindowPro returns an
  963.                 internal name - a handle - by which the window can be
  964.                 referred to.
  965.               
  966.               . Viewport - The rectangular region of a virtual screen
  967.                 displayed within a window.
  968.               
  969.               . Border - the area of the window which surrounds the viewport
  970.                 is called the border.  You can specify the border characters
  971.                 and can select from several types of display styles to
  972.                 create shadowing effects.
  973.               
  974.               . Freezing or Suspending - A physical screen, virtual screen,
  975.                 or window may be frozen or suspended.  If an item is frozen
  976.                 the results of any actions performed on it are not updated
  977.                 to the physical screen.  Defrosting the item flashes the
  978.                 results of all the operations subsequent to the freeze to
  979.                 the physical screen.  (Suspending is identical to freezing
  980.                 but is a toggle.  Unlike suspend, every call to freeze must
  981.                 be matched by the same number of defrosts to un-freeze the
  982.                 item.)
  983.               
  984.  
  985.  
  986.  
  987.  
  988.                                        - 13 -
  989.  
  990.  
  991.  
  992.  
  993.           WindowPro v. 1.5                                 Shareware Manual
  994.  
  995.  
  996.  
  997.               . Display List - WindowPro uses the display list to keep track
  998.                 of the windows which have been opened on the physical
  999.                 screen, and the order in which they are shown. The display
  1000.                 list is used to make sure that the windows on the physical
  1001.                 screen are stacked up in the right order when the physical
  1002.                 screen is redrawn.  You can reorder the list through various
  1003.                 function calls. Although you will never deal with this list
  1004.                 directly it is referred to often in the WindowPro functions
  1005.                 reference.
  1006.               
  1007.               . Hiding a window - if a window is hidden it retains its
  1008.                 position in the display list, but it is not displayed on the
  1009.                 physical screen. (Some useful effects can be programmed by
  1010.                 hiding and unhiding windows.)
  1011.               
  1012.               . Tiles - a tile is a subdivision of a window.  This is very
  1013.                 similar to the old split screen approach used by many word
  1014.                 processors and spreadsheets, and looks something like this: 
  1015.                 
  1016.               
  1017.                               +--------------------+ 
  1018.                               |                    | 
  1019.                               |     window #1      | 
  1020.                               |      tile #1       | 
  1021.                               |                    |-------------+ 
  1022.                               |--------------------|             | 
  1023.                               |                    |             | 
  1024.                               |     window #1      |             | 
  1025.                               |      tile #2       |             | 
  1026.                               |                    |             | 
  1027.                               +--------------------+             | 
  1028.                                    |         |                   | 
  1029.                                    |window #3|     window #2     | 
  1030.                                    | tile #1 |      tile #1      | 
  1031.                                    |         |                   | 
  1032.                                    |         +-------------------+ 
  1033.                                    |----------------------| 
  1034.                                    |       window #3      | 
  1035.                                    |        tile #2       | 
  1036.                                    +----------------------+ 
  1037.               
  1038.                 Many WindowPro functions which are available at window level
  1039.                 are also available at tile level.  All operations applied to
  1040.                 the window will affect its tiles.  If the window is hidden,
  1041.                 then all the tiles are hidden.  If the window is made
  1042.                 bigger, then the size of the tiles is adjusted too. Each
  1043.                 window has a tile display list (similar to the window
  1044.                 display list,) which controls how tiles are displayed within
  1045.                 the window.  
  1046.               
  1047.                 The advantage of tiles is that you can display several
  1048.                 virtual screens in a single window.  This is useful when
  1049.                 creating segmented pull down menus, or in creating window
  1050.                 based editors.  For example, a text editor might use one
  1051.  
  1052.  
  1053.  
  1054.                                        - 14 -
  1055.  
  1056.  
  1057.  
  1058.  
  1059.           WindowPro v. 1.5                                 Shareware Manual
  1060.  
  1061.  
  1062.  
  1063.                 tile for editing text, and a second to display formatting
  1064.                 information.  There are lots of uses for this feature, and
  1065.                 you will not find it anywhere else.  
  1066.               
  1067.                 Tiles are also referred to by 'handles.' A single virtual
  1068.                 screen is always associated with a tile.
  1069.               
  1070.               . Scroll Bars - scroll bars consist of two scrolling hot
  1071.                 points, a thumbwheel, and a thumbwheel area.  There may be
  1072.                 vertical scroll bars, horizontal scroll bars, or both.  Each
  1073.                 tile can have its own set of scroll bars.  Although you can
  1074.                 use them in anyway you like.  Scroll bars are typically
  1075.                 setup to let the user scroll through a document (or
  1076.                 whatever) by holding the mouse on the hot points, by
  1077.                 dragging the thumbwheel, or by clicking in the thumbwheel
  1078.                 area to go to a specific point in a document.
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.                                        - 15 -
  1121.  
  1122.  
  1123.  
  1124.  
  1125.           WindowPro v. 1.5                                 Shareware Manual
  1126.  
  1127.  
  1128.  
  1129.           XI.   Tutorial
  1130.           
  1131.           The easiest way to understand WindowPro is to study some code
  1132.           which employs the WindowPro library.  I've included a few simple
  1133.           examples to show you how to get started.  The following
  1134.           illustration is also found in TUTOR1.C.  You can compile and link
  1135.           TUTOR1 by typing
  1136.           
  1137.           PRO TUTOR1 
  1138.           
  1139.           at the dos prompt.  
  1140.           
  1141.           There are five tutorials in all, TUTOR1 to TUTOR5.  I suggest
  1142.           that you run through each in order by first printing the source
  1143.           code, compiling and linking the source, running the executable,
  1144.           and simultaneously tracing through the source code to see how the
  1145.           various screen effects were performed.  There are numerous
  1146.           getch() statements sprinkled through each tutor?.c file to help
  1147.           slow down the action.  The TUTOR source code is liberally
  1148.           commented.  You should not have a great deal of trouble comparing
  1149.           the code to the screen action.
  1150.           
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.                                        - 16 -
  1187.  
  1188.  
  1189.  
  1190.  
  1191.           WindowPro v. 1.5                                 Shareware Manual
  1192.  
  1193.  
  1194.  
  1195.           Lets put a window on the screen and type the words 'WindowPro'
  1196.           inside of it.
  1197.           
  1198.           
  1199.           /* 
  1200.            * We'll need this for type checking on the windows functions
  1201.           */
  1202.           #include "pro.h"
  1203.           
  1204.           
  1205.           /*
  1206.            * You've got to have this.  It will setup the WindowPro global
  1207.            * variables.
  1208.           */
  1209.           #include "xglobals.h"
  1210.           
  1211.           
  1212.           /*
  1213.            * We'll need this for type checking on the virtual screen 
  1214.            * functions
  1215.           */
  1216.           #include "vs.h"
  1217.           
  1218.           
  1219.           /*
  1220.            * This is really handy, it defines the IBM-PC colors
  1221.           */
  1222.           #include "colors.h"
  1223.           
  1224.           
  1225.           int main()
  1226.           {
  1227.           
  1228.                /*
  1229.                 * We'll use this to store the window and tile handle 
  1230.                 * returned when we create a window.
  1231.                */
  1232.                unsigned int window_handle;
  1233.                
  1234.                /*
  1235.                 * Initialize WindowPro.  If you don't do this -- forget 
  1236.                 * it, everything blows up.
  1237.                */
  1238.                wn_init();
  1239.           
  1240.                /*
  1241.                 * Create a window and get a handle back.  
  1242.           
  1243.                 * The window's virtual screen will be 25 rows by 80 
  1244.                 * columns,
  1245.                */
  1246.           
  1247.                window_handle = wn_createw(25, 80, 
  1248.           
  1249.  
  1250.  
  1251.  
  1252.                                        - 17 -
  1253.  
  1254.  
  1255.  
  1256.  
  1257.           WindowPro v. 1.5                                 Shareware Manual
  1258.  
  1259.  
  1260.  
  1261.                /*
  1262.                 * The upper left corner of the window will be located at the
  1263.                 * physical screen coordinates of (2,3); second column and 
  1264.                 * third row.
  1265.                */
  1266.           
  1267.                   2, 3,
  1268.           
  1269.                /* 
  1270.                 * The upper left corner of the window will map to the 
  1271.                 * virtual screen coordinate (1,1); first column and 
  1272.                 * first row.
  1273.                */
  1274.           
  1275.                   1, 1,
  1276.           
  1277.                /*
  1278.                 * The inner dimensions of the window will be 5,10; 
  1279.                 * 5 rows by 10 columns.
  1280.                */
  1281.           
  1282.                   5, 10,
  1283.           
  1284.                */
  1285.                 * The window will not be suspended, i.e. all output
  1286.                 * to the virtual screen will be immediately displayed
  1287.                 * on the physical screen.
  1288.                */
  1289.           
  1290.                   FALSE,
  1291.           
  1292.                */
  1293.                 * We won't use any shadowing effects.
  1294.                */
  1295.           
  1296.                   HEAD_ON,
  1297.           
  1298.                /*
  1299.                 * Nor will we assign a name to the tile or window.
  1300.                */
  1301.           
  1302.                  NULL, NULL);
  1303.           
  1304.           
  1305.                /* 
  1306.                 * More simply put:       
  1307.                 * wn_createw(25,80,2,3,1,1,5,10,FALSE,HEAD_ON,NULL,NULL);
  1308.                */
  1309.           
  1310.           
  1311.                */
  1312.                 * Here comes the confusing part:
  1313.                 * All windows, even those that aren't divided into tiles
  1314.                 * have tiles.  You really should think of windows as a
  1315.  
  1316.  
  1317.  
  1318.                                        - 18 -
  1319.  
  1320.  
  1321.  
  1322.  
  1323.           WindowPro v. 1.5                                 Shareware Manual
  1324.  
  1325.  
  1326.  
  1327.                 * way of grouping tiles together.  In the above case
  1328.                 * When we created the window, we also created a tile, and
  1329.                 * a virtual screen.  The first tile created in a new
  1330.                 * window always has a handle of 0 and every virtual
  1331.                 * screen is associated with a tile. We always
  1332.                 * reference a virtual screen by a pair of handles:
  1333.                 * A window handle (pointing to a group of tiles), and
  1334.                 * a tile handle.  In the window we just created the window
  1335.                 * has a handle of 'window_handle', the tile has a handle
  1336.                 * of 0, and we reference the virtual screen using
  1337.                 * {window_handle, 0}.
  1338.                */
  1339.           
  1340.                /*
  1341.                 * Now let's put something in the virtual screen
  1342.                 *
  1343.                */
  1344.           
  1345.                /*
  1346.                 * first we reference the virtual screen
  1347.                */
  1348.           
  1349.                  vs_puts(window_handle, 0,
  1350.           
  1351.                /* 
  1352.                 * Then we say where we want the string put (column, row).
  1353.                */
  1354.           
  1355.                  1, 1,
  1356.           
  1357.                /*
  1358.                 * Now we indicate the maximum length of the string to output
  1359.                */
  1360.           
  1361.                  10,
  1362.           
  1363.                /* Now the foreground and background color of the string.
  1364.                 * Note, if the string is shorter than the maximum length
  1365.                 * The function pads spaces to the end.
  1366.                */
  1367.           
  1368.                  white, blue, 
  1369.           
  1370.                /*
  1371.                 * And finally, the string to output.
  1372.                */
  1373.           
  1374.                  "WindowPro");
  1375.           
  1376.                /*
  1377.                 * More simply put:
  1378.                 * vs_puts(window_handle,0,1,1,10,WHITE,BLUE,"WindowPro");
  1379.                */
  1380.           
  1381.  
  1382.  
  1383.  
  1384.                                        - 19 -
  1385.  
  1386.  
  1387.  
  1388.  
  1389.           WindowPro v. 1.5                                 Shareware Manual
  1390.  
  1391.  
  1392.  
  1393.                /*
  1394.                 * However, before anything happens on the screen we need to
  1395.                 * open it.
  1396.                */
  1397.           
  1398.                  wn_openw(window_handle);
  1399.           
  1400.                /*
  1401.                 * That's it:
  1402.           
  1403.                ***********************************************************
  1404.                * {                                                       *
  1405.                * wn_init();                                              * 
  1406.                *                                                         *
  1407.                * window_handle =                                         *
  1408.                * wn_createw(25,80,2,3,1,1,5,10,FALSE,HEAD_ON,NULL,NULL); *
  1409.                *                                                         *
  1410.                * vs_puts(window_handle,0,1,1,10,white,blue,              *
  1411.                * "WindowPro");                                          *
  1412.                *                                                         * 
  1413.                * wn_openw(window_handle);                                *
  1414.                * }                                                       *
  1415.                ***********************************************************
  1416.           
  1417.           }  
  1418.           
  1419.           
  1420.           XII.  Common Problems
  1421.           
  1422.           Most problems are caught by the automatic error checking.  The
  1423.           most common problems are:
  1424.           
  1425.           .    Not calling wn_init() before using The WindowPro functions
  1426.                and calling wn_init() more than once in an application. 
  1427.                Call wn_init() before using TWP functions and only call it
  1428.                once.
  1429.           
  1430.           .    Failure to use prototypes.  Each class of functions is
  1431.                preceded by a one or two character identifier and then an
  1432.                underbar, e.g. vs_gets, wn_createw, or vs_puts.  These
  1433.                function identifiers also indicate the include file
  1434.                containing the function prototype.  vs_, vs.h; kb_,
  1435.                keyboard.h or mouse.h; wn_, pro.h; k_, kernel.h; and v_,
  1436.                video.h.
  1437.           
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.                                        - 20 -
  1451.  
  1452.  
  1453.  
  1454.  
  1455.           WindowPro v. 1.5                                 Shareware Manual
  1456.  
  1457.  
  1458.  
  1459.           XIII. Forthcoming Enhancements
  1460.           
  1461.           Several enhancements are in the works for The WindowPro.
  1462.           
  1463.            .  Support for the Lattice C compiler, Watcom C, and Aztec C.
  1464.            
  1465.            .  More Presentation Manager style functionality.
  1466.            
  1467.                 .. Child windows (clipped and unclipped)
  1468.                 .. Minimize/Maximize points on window frames
  1469.            
  1470.            .  Simplification of the application programmer interface.  We
  1471.               have received several comments regarding the complexity of
  1472.               the functions.  While most functions work as expected and do
  1473.               much more than any other similar product there are two
  1474.               problems which user feedback points out:
  1475.            
  1476.                 .. There are a lot of arguments for some functions.  We
  1477.                    intend to add some additional defaults to the window and
  1478.                    tile structures and create functions which will use
  1479.                    those defaults, as alternatives to the functions which
  1480.                    let you specify all of the options, for example, we may
  1481.                    add default background and foreground colors for the
  1482.                    virtual screens, and supply an alternative set of
  1483.                    functions or macros which will use the defaults rather
  1484.                    than require you to pass them as arguments on each
  1485.                    call.  All, of the existing functions will remain in
  1486.                    their current form, these will only be enhancements.
  1487.             
  1488.                 .. There is some inconsistency in the use of row, column or
  1489.                    column, row designations -- these will be cleared up,
  1490.                    but again the original functions will remain intact.
  1491.           
  1492.           
  1493.           XIV.  Functions Overview
  1494.           
  1495.           WindowPro classifies its functions into five groupings:
  1496.           
  1497.              . Windows (and tiles)
  1498.              . Virtual screens
  1499.              . Video
  1500.              . Kernel
  1501.              . Keyboard and mouse
  1502.              
  1503.           The kernel functions are not documented in the shareware manual. 
  1504.           You really shouldn't use them until you have gained considerable
  1505.           experience with WindowPro.  They can be useful for tweaking a bit
  1506.           of extra speed, or reducing code size.
  1507.           
  1508.           The windows and tile functions deal with changing the window
  1509.           sizes, positions on the physical screen, border characters,
  1510.           border styles, etc.
  1511.           
  1512.  
  1513.  
  1514.  
  1515.  
  1516.                                        - 21 -
  1517.  
  1518.  
  1519.  
  1520.  
  1521.           WindowPro v. 1.5                                 Shareware Manual
  1522.  
  1523.  
  1524.  
  1525.           The virtual screen functions manipulate the virtual screens. 
  1526.           They allow you to print to a virtual screen, erase areas, etc.
  1527.           
  1528.           The video functions let you change cursor shapes, sense video
  1529.           cards, set video modes, for IBM-PC and compatibles.
  1530.           
  1531.           The mouse and keyboard functions provide extended keyboard
  1532.           support (so you can, for example, distinguish between the grey
  1533.           and white '+' key) and functions for reporting on mouse activity,
  1534.           limiting where it can roam, etc.
  1535.           
  1536.           The following is a laundry list of the types of functions you can
  1537.           find in each general area.  It is not a complete list but it will
  1538.           give you a feel for where you might find functions and helps
  1539.           demonstrate the breadth of functionality encompassed by The
  1540.           WindowPro.
  1541.           
  1542.           
  1543.           WINDOWS AND TILES:
  1544.           
  1545.                INITIALIZE WindowPro --  initializes various variables  and
  1546.                allocates memory for various structures.  
  1547.                
  1548.                CREATE a window -- sets up a window in memory and defines a
  1549.                virtual screen.  
  1550.                
  1551.                OPEN a window -- puts a previously created window on top of
  1552.                the display list.  
  1553.                
  1554.                CLOSE a window -- removes a window from the display list.  
  1555.                
  1556.                DELETE a window -- removes a window from memory.  
  1557.                
  1558.                HIDE a window -- suppresses the display of a window, but
  1559.                keeps its position in the display list.  
  1560.                
  1561.                ACTIVATE a window -- temporarily places a window on top of
  1562.                the display list, any previously active window is reinserted
  1563.                into its original location in the display list.  
  1564.                
  1565.                MOVE a window -- changes the position of a window on the
  1566.                physical screen relative to its current position.  
  1567.                
  1568.                LOCATE a window -- changes the position of a window on the
  1569.                physical screen to an absolute position.  
  1570.                
  1571.                BORDERS  -- Each window can have its own unique border
  1572.                characters, decided by you.  This is useful for
  1573.                distinguishing between different types of windows on the
  1574.                screen, for example menus, dialog boxes, and editing
  1575.                windows.  You can also determine a border style such as
  1576.                NORMAL, BORDERLESS, or SHADED.  Shaded borders provide you
  1577.                with several types of shadow effects.  You can determine the
  1578.                color of the border characters.  
  1579.  
  1580.  
  1581.  
  1582.                                        - 22 -
  1583.  
  1584.  
  1585.  
  1586.  
  1587.           WindowPro v. 1.5                                 Shareware Manual
  1588.  
  1589.  
  1590.  
  1591.                
  1592.                SIZE a window -- changes the size of a window relative to
  1593.                its current position.  
  1594.                
  1595.                RANGE -- virtually every function has a range oriented
  1596.                version. This allows you to define groups of windows and
  1597.                then move or size them as a group.  This is really handy
  1598.                when developing applications where an object on the screen
  1599.                is made up of a several overlapping windows, for example a
  1600.                pop-up calculator might be programmed in this way.  
  1601.                
  1602.                NAME a window -- a window can be given a name which is
  1603.                displayed in its borders.  
  1604.                
  1605.                SUSPEND a window -- operations performed on a suspended
  1606.                window are not displayed on the screen (the window is
  1607.                frozen.)  When the window is un-suspended the result of all
  1608.                the operations performed are "flashed" on the screen at
  1609.                once.  
  1610.                
  1611.                FREEZE and DEFROST the system -- If the entire system is
  1612.                "frozen" absolutely no operation is reflected on the
  1613.                screen.  "defrosting" the screen "flashes" all of the
  1614.                changes on he screen at once.  
  1615.                
  1616.                ZOOM a window -- the active window can be temporarily
  1617.                increased in size, and then un-zoomed back to its original
  1618.                size.  
  1619.                
  1620.                CREATE a tile -- sets up additional virtual screens
  1621.                associated with a window in memory.  
  1622.                
  1623.                OPEN a tile -- inserts a tile below the currently active
  1624.                tile in a window.  
  1625.                
  1626.                CLOSE a tile -- removes a tile from the tile display list.  
  1627.                
  1628.                DELETE a tile -- removes a tile from memory.  
  1629.                
  1630.                SIZE a tile -- changes the size of tile relative to its
  1631.                current size.  
  1632.                
  1633.                THUMBWHEELS -- thumbwheels are the center part of scroll
  1634.                bars.  The WindowPro did not support these until version
  1635.                1.31.  Thumbwheels can illustrate the relative position of
  1636.                the viewport within a document, spreadsheet, virtual screen,
  1637.                etc.  Functions are included to move the thumbwheels, sense
  1638.                them with the mouse, synchronize the thumbwheels to the same
  1639.                relative position as the virtual screen within the viewport,
  1640.                and to synchronize the viewport to the relative positions of
  1641.                the thumbwheels.
  1642.                
  1643.                NAME a tile -- a tile can be given a name which is displayed
  1644.                in its borders.  
  1645.  
  1646.  
  1647.  
  1648.                                        - 23 -
  1649.  
  1650.  
  1651.  
  1652.  
  1653.           WindowPro v. 1.5                                 Shareware Manual
  1654.  
  1655.  
  1656.  
  1657.                
  1658.                SUSPEND a tile -- similar to suspending a window described
  1659.                above.  
  1660.                
  1661.                
  1662.           VIRTUAL SCREEN FUNCTIONS: 
  1663.           
  1664.                PRINTF -- you can output to any virtual screen using a
  1665.                windows-type printf which operates pretty much like regular
  1666.                old printf, except that you can define background and
  1667.                foreground attributes.  
  1668.                
  1669.                GETS -- you can collect input inside of windows using a
  1670.                windows-type gets.  It is similar to regular gets but allows
  1671.                for the definition of character colors, and scrolling
  1672.                methods.  
  1673.                
  1674.                FILL -- you can fill any defined region in a virtual screen
  1675.                with a character and attribute (great for erasing parts of
  1676.                virtual screens)or with just an attribute (works well for
  1677.                highlighting and dehighlighting words, etc.) 
  1678.                
  1679.                CURSOR -- Every virtual screen has its own cursor position. 
  1680.                You can move it to any position you like.  
  1681.                
  1682.                SCROLL -- Because a virtual screen may actually be larger
  1683.                than the window that displays it you can define what part of
  1684.                the virtual screen is displayed in the window/tile.  This
  1685.                can be used to create scrolling effects.  
  1686.                
  1687.                
  1688.           VIDEO FUNCTIONS:
  1689.           
  1690.                CURSOR SHAPE -- you can define the shape of the cursor.  
  1691.                
  1692.                CURSOR LOCATION -- moves the cursor to any location on the
  1693.                screen.  
  1694.                
  1695.                PUTC -- output a character and attribute to any location on
  1696.                the screen.  
  1697.                
  1698.                SAVE/RESTORE SCREEN -- you can save any screen and use it as
  1699.                a backdrop behind your windows display.  This is useful for
  1700.                creating background screens, or in pop-up programs which
  1701.                need to restore the screen to its state prior to be
  1702.                "popped-up." 
  1703.                
  1704.                
  1705.           KEYBOARD and MOUSE FUNCTIONS:
  1706.           
  1707.                EXTENDED KEYBOARD GETCH -- returns a full integer value
  1708.                giving a scan code and ascii value.  This will let you
  1709.                distinguish between say the grey + and the white + key.  
  1710.                
  1711.  
  1712.  
  1713.  
  1714.                                        - 24 -
  1715.  
  1716.  
  1717.  
  1718.  
  1719.           WindowPro v. 1.5                                 Shareware Manual
  1720.  
  1721.  
  1722.  
  1723.                MOUSE EXISTENCE -- tells you if a MICROSOFT compatible mouse
  1724.                is installed.  
  1725.                
  1726.                MOUSE STATUS -- tells you if a button was pressed and where
  1727.                the mouse is on the screen.  
  1728.                
  1729.                MOUSE MOTION -- tells you how far the mouse has traveled and
  1730.                in what direction since you last checked its motion
  1731.                indicators.  
  1732.                
  1733.                MOUSE PRESSED/RELEASED -- tells you is button was pressed or
  1734.                released and where the mouse was located at the time of the
  1735.                event.  
  1736.                
  1737.                MOUSE CLICKS -- reports on typical macro-type mouse events
  1738.                typically used in a mouse interface, e.g. clicks,
  1739.                double-clicks, releases, and presses.
  1740.                
  1741.                MOUSE CURSOR -- you can control the style of the mouse
  1742.                cursor and turn it on and off at will.  
  1743.                
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.                                        - 25 -
  1781.  
  1782.  
  1783.  
  1784.  
  1785.           WindowPro v. 1.5                                 Shareware Manual
  1786.  
  1787.  
  1788.  
  1789.           XV.   Other Seabreeze Products
  1790.           
  1791.           Seabreeze Software also distributes and supports these products.
  1792.           
  1793.           Product                       Status
  1794.           ------------------------      --------------------------------
  1795.           Dialog Pro                    C-code for making and running
  1796.                                         several types of dialog boxes (like
  1797.                                         the MAC.)  Available Now.
  1798.           
  1799.           Pop-up Programmable 
  1800.             Accountant's Calculator     C-code.  An excellent lesson in
  1801.                                         using The WindowPro shareware
  1802.                                         library.  Available Now.
  1803.           
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.                                        - 26 -
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.           ---------------- The WindowPro registration form ---------------
  1856.           
  1857.           Mailing Address
  1858.           
  1859.           Name         :___________________________________________________
  1860.           Company Name :___________________________________________________
  1861.           Position     :___________________________________________________
  1862.           Street       :___________________________________________________
  1863.                         ___________________________________________________
  1864.           City         :_________________  State  :__  Zip Code :__________
  1865.           Country      :___________________________________________________
  1866.           Compuserve # :________________________ Phone # : (   ) ___ - ____
  1867.           
  1868.           Computer System
  1869.           
  1870.           Manufacturer :___________________________________________________
  1871.           Model        :___________________________________________________
  1872.           RAM          :___________________________________________________
  1873.           
  1874.           Disk Media   5 1/4" 360K __    5 1/4" 1.2mb __  
  1875.                        3 1/2" 720K __    3 1/2" 1.4mb __
  1876.           Hard Disk
  1877.             Capacity   :___________________________________________________
  1878.           Video Adapter:___________________________________________________
  1879.           Monitor      :___________________________________________________
  1880.           
  1881.           
  1882.           How did you hear about WindowPro? ______________________________
  1883.           _________________________________________________________________
  1884.           _________________________________________________________________
  1885.           _________________________________________________________________
  1886.           
  1887.           Desired Support Level (check one)
  1888.           
  1889.           DOS      OS/2 & DOS
  1890.           
  1891.           __ $15   __ $50     The WindowPro shareware diskette
  1892.           __ $50   __ $100    registered WindowPro shareware library user
  1893.           __ $100  __ $200    registered WindowPro source code user
  1894.                               (non-commercial)
  1895.           __ $200  __ $400    registered WindowPro source code user
  1896.                               (commercial)
  1897.           
  1898.           Include a check for the amount corresponding to the desired level
  1899.           of service.  Make the check payable to, Seabreeze Software.
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.