Cursor Draw v1.0  (March 1997)

   BY: Daniel Kalna
EMAIL: drktex@geocities.com


Problems?  Read the TROUBLESHOOTING section at the end of this text.



---------------------------------------------------------
INTRODUCTION:
---------------------------------------------------------

This nifty FREEWARE utility program helps you to easily create mouse 
cursors for your VGA programs that you write in BASIC.  

The program can save your designs in three different formats,  
Binary, Hex, and Basic Data statement.   

The binary and hex formats can be accessed by most programming 
languages including Basic.  You just read them in using file access
commands.  

The (Basic Data) format can be merged into your basic program which
you then can use the READ statement to load the mouse cursor.  

I wrote the Cursor Draw program and it's demo files using 
QuickBasic 4.5  The demo files demonstrate how to use your mouse
cursor in QB45 only.  You will need to seek help elsewhere on how
to change the mouse cursor in other programming languages.  

The demo files also demonstrate how to program the mouse in QB45 using
very simple commands.

Sorry,  at this time the source code for Cursor Draw is not included
with the program.  Once I've added all the comments and cleaned up the
code I will include it.   For anyone who REALLY has to have the QB45
source code can EMAIL me for it.  I will send it back to you with some
notes.  Experienced basic programmers should be able to figure out the
code with little or no problems.  

The source code for the demo files and another utility file BIN2HEX is
included.  The BIN2HEX utility converts binary numbers to hexadecimal.



---------------------------------------------------------
WHAT TO DO AND HOW TO DO IT.
---------------------------------------------------------

There is not much to using this program.  Cursor Draw is a very simple
program to use.  This documentation's focus is more on the different
ways of using your new mouse cursors with your QB45 programs.  Using
the program itself is pretty straight forward.



SCREEN LAYOUT
-------------

The menu of options is visible in the lower left hand of the screen.

   There are only six options:

   1) T = Try out the new cursor
          This command will change to mouse cursor in the program
          to the cursor shape in the editing window.  This way you
          can try out the new shape.  Pass the mouse cursor over the
          test area (upper right area) to see how the mouse changes
          as it passes over the various color blocks.
  

   2) R = Restore cursor to default cursor
          This command will change the mouse cursor back to it's
          default shape.  The shape the cursor was when the program
          started.


   3) S = Save mouse cursor to data file      
          This command will save your newly created shape to a data 
          file using one of three formats.

          NOTE: refer to the section below on DATA FORMATS. 
          

   4) L = Load mouse cursor data file
          This command will load your binary format mouse cursor so
          that you can modify it.  At this time, binary is the only
          format this program recognizes.  In future versions of
          Mouse Draw, you will be able to load/edit hex format AND
          load/edit mouse cursors that are already in your basic 
          program.

          NOTE: refer to the section below on DATA FORMATS. 


   5) C = Clear (new blank cursor)
          This command will give you a clean slate to work with.


   6) Q = Quit   -  quit the program.



EDIT WINDOW:
The edit window is in the upper left hand of the screen.  Here is where
you actually create your mouse cursor.  This grid is 16x16 which is
what the dimensions of the mouse cursor is.  Using the mouse, click
where you want to place the current color.  You can draw with black,
white, inverted, or unchanged.

    Unchanged - this allows the underlying screen to show thru your
                mouse.

    Inverted - This will invert the color of the underlying screen.

    Black/White - will be black or white where the mouse is.



SAMPLE WINDOW:
The sample window is in the upper middle.  This shows your mouse cursor
in it's actual size.



TEST AREA:
Located in the upper right area of the screen.
The test area is a block of the sixteen colors (0-15)  This allows you
to see how your cursor looks passing over different colors.



COLOR SELECTION AREA:
Located approx. in the middle of the screen.  Here is where you choose
what color to draw with.  Just click (with the mouse) on the button
of your choice.  Displayed below this area is the color currently 
selected.




---------------------------------------------------------
DATA FORMATS.
---------------------------------------------------------

The three data formats that you can save your mouse cursor in are:


BINARY:
-------
The binary format is the only format that you can load into this
program so that you can modify it.  Using basic file access commands,
you can load your mouse cursor into your own programs.  See the
demo basic file MSBIN.BAS  for an example of how this is done.


HEXADECIMAL:
------------
The hexadecimal format is used the same way as binary except you cannot
load the data file back into Cursor Draw to modify.  This format is for
programmers of pascal, c, etc.  These languages usually require the
mouse cursor information to be in hex format.  See the demo basic file
MSHEX.BAS for an example of how to use this format in QB45.  

Various QuickBasic libraries (QLB)  out there require the mouse cursor
data to be hex.  The demo files included here do not use a QLB file 
but use simple commands to program the mouse in your programs.  See
any of the demo files to demonstrate this. You can use the files as
a skeleton shell for your programs that you want to have mouse control
in.


BASIC DATA STATEMENTS:
----------------------
This is the format that I recommend the QB45 programmers to use.  This
format is just the HEX format with Basic's DATA statements preceding
them.  You can merge this file into your programs then use the READ
command to load the mouse cursor into an variable.  See the demo basic
file MSBAS.BAS for an example of how to use this format.

NOTE:  You cannot at this time load a BASIC DATA format file into
Mouse Draw.  When you save a new cursor, save it in binary format too
so that you can reload it later if you want to modify it.



-------------------------------------------------------------------
NOTES.
-------------------------------------------------------------------


Hotspots:
---------
The Hotspot of your mouse is the exact spot that is returned to show
you where your mouse is located on the screen.



BIN2HEX.BAS
-----------
This included demo file demonstrates a function that will convert
binary data into hexadecimal.
   EX:    1111010101011111   -->  &HF55F



GPS:
----

GPS (General Purpose Subroutines) Library  <v256>
(c) Garry Spencer / Spencer Technologies
P.O. Box 34OO9  Memphis, TN  38184-OOO9

This library of routines contains simple routines that you can include
in your programs.  As far as I know, this library is free to use.  If
you decide to write a program to sell, then check with Spencer Tech.
to make sure you can.  I wrote my freeware program using a few of
the disk access routines.

You can find this library at several of the large software programming
sites on the internet.  




More info on the demo files:
----------------------------

The demo files require the QB45 editor enviroment to have the QB
default library loaded for the mouse routines to work.

Load QB45 using the library switch:
     QB /L

If the demo programs will not run then this is usually the problem.


-------------------------------------------------------------------

TROUBLESHOOTING:
----------------

Problem:  I loaded the demo program in QB45 and tried to run it.  An
          error occurs, "Subprogram not defined".

Answer:   You need to load QuickBasic 4.5 using its default quickbasic
          library.  EX:  QB /L
          The simple mouse routines in the demos need this.


Problem:  When I run Cursor Draw in a window, my cursors never display
          the way I create them.

Answer:   Windows (3.1, 95, NT)  uses it's own mouse cursor shape and
          will not display yours.  All you need to do is run this
          program, and all basic programs full screen under Windows.
          Pressing the keys ALT ENTER together will switch your 
          program to full screen mode.

Problem:  Qbasic will not run the demo programs.

Answer:   QBasic (provided with several versions of MSDOS) will not
          run any of the demos.  This is due to the mouse routines.
          You need QuickBasic 4.5   You can do it if you modify the
          programs yourself.




