 _____                  _____         __
 \___ \ _______  _ _ __/ ___/________/ /__ By Martin Bazley
 / /_> > __/ _ \/ / / / /__/_ /     /  _ / Version 1.01
/_____/_/ /__/_/_____/____/__/_/_/_/_/__/

This text is best viewed at a wrapwidth of 77 columns.
For interactive contents, do a 'List of Found' search for '==='.

_____________________________________________________________________________

=== 1 == Purpose ==

You may not think a program to combine the contents of two drawfiles very
useful, but it has one major advantage - it preserves the coordinates.
Dragging one drawfile into another in Draw will load the new one at the
mouse pointer.

This is especially annoying when combining Spirograph patterns, which do not
fit onto a grid of any sort, but which are always drawn at the same
position.  Although it may well have other uses, this program is principally
an add-on for Cogs (available from the same website as this one) to allow
multiple patterns to be drawn on top of each other.

_____________________________________________________________________________

=== 2 == System requirements ==

Well, BorderUtils would be useful if you're still running RISC OS 3.1.

DrawComb will create a directory in Scrap, if present.  If the program is
not running, this should be empty (if not, something horrible has
happened).  Where Scrap is not available the application directory is used
instead.

_____________________________________________________________________________

=== 3 == Quick guide ==

Drag two drawfiles, one after the other, to the icon bar icon.  A save box
will appear, from which you can drag an icon to a directory.  It will
contain the contents of both files.  Simple, eh?

_____________________________________________________________________________

=== 4 == Slightly slower guide ==

=== 4.1 == Loading and saving ==

Dragging two drawfiles to the icon bar at once is not supported.  Do them one
at a time.

When the second drawfile is dragged, a save box will open.  There is no way
of getting rid of this except by pressing 'Cancel' (or 'Reset').  To save
the combination of the two drawfiles, drag the icon to somewhere (or type a
filename and click 'Save').  DrawComb supports the Data Transfer Protocol,
so this could either be a Filer window, Draw's icon or even another utility
to perform further processing on the combined files.

If you, for whatever reason, manage to lose the save box, clicking on
DrawComb's icon will bring it to the front.

Any loaded files will be discarded when you either save the combination or
close the save box.  You can force this to happen at any time by using the
'Reset' menu option from the icon bar menu.

It is, in fact, possible to save directly to DrawComb's icon.  This will
load the combination as the first half of the next one.  Very useful for
combining more than two files at once.

=== 4.2 == Internal notes ==

When amalgamating data which exists in both files, the first one you dragged
in always takes precedence.  Therefore the combined drawfile will open at
the same grid settings, paper size, etc. as the first file.  (Note that, due
to the internal structure of a drawfile, the *second* file will actually be
drawn on top.)

DrawComb can now properly merge font tables, but it's limited.  Font handles
from the first file will be preserved, and font handles from the second will
be translated to fill in any gaps.  This, of course, means that if the two
drawfiles contain references to the same font, that font will be defined
twice.  There are 254 possible font handles, so hopefully that won't be a
problem.

The drawing bounding box coordinates for the combination are calculated from
the ones in the original files, so if these are invalid, so will the
combination be.  Fortunately, Draw doesn't seem to care (and neither does
DrawComb), but some programs do.

_____________________________________________________________________________

=== 5 == Version history ==

=== Version 1.00 == 27th December 2008 ==

   Wrote program.

=== Version 1.01 == 14th March 2009 ==

   Various reorganizations and improvements, especially to the error
    handler.
   If the save box is open, clicking on the icon bar will bring it to the
    front.
   The save box now opens at a constant position above DrawComb's icon,
    rather than chasing the pointer.
   Added interactive help.
   Doesn't mess up the entire drawing bounding box any more.
   Vast improvements to font table writing, which should now work under
    almost any circumstances.
   'Future proofed' object type checking - I don't think there ever will be
    an object with a number greater than 255 (much less one I care about),
    but it's neater anyway.
   Now has a put-word as well as a get-word procedure.
   Corrected various aspects of the Data Transfer Protocol.  Notably,
    finally fixed dragging to the icon bar!
   Can remove one loaded drawfile without having to load another.
   Brought file handle practices in line with my other programs.
   Can now save to itself - more useful than it sounds, actually...
   Cleans up properly before quitting.
   Now uses a acceptable message list and poll mask.
   Moved version string, menus, errors and interactive help into a new
    Messages file.
   Internationalised application.

=== 23rd November 2009 ==

This application is now distributed according to the terms of the GNU General
Public License, version 3.  No code changes.

_____________________________________________________________________________

=== 6 == The boring bits ==

=== 6.1 == Thanks and credits ==

Some Wimp code written by Martyn Fox, but otherwise this program is entirely
the spawn of Martin Bazley.  The ResFind program used to locate resources
was written by Olaf Krumnow and Herbert zur Nedden of the German Archimedes
Group.

=== 6.2 == Legal stuff ==

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
details.

You should have received a copy of the GNU General Public License along with
this program.  If not, see <http://www.gnu.org/licenses/>.

The application name DrawComb has been officially registered with RISC OS
Open Ltd.

If you're going to review or mirror this program, I'd appreciate knowing
about it!  (Especially if you're going to give it a good review. :-) )

=== 6.3 == Contact ==

Thanks to the miracle that is the Internet, I may be contacted at any time
of the day and night... don't get your hopes up for a reply though.

 mailto:martin@bazleyfamily.co.uk

And just in case you do want to send me cash, letters addressed to the
following coordinates will find me:

Martin Bazley
Flat 8
349 North End Road
Fulham
London
SW6 1NN
ENGLAND

=== 6.4 == And finally... ==

My former deviantART pages are at http://swirlythingy.deviantart.com .
They are no longer updated, but you can still see some pretty impressive
computer-generated images and, latterly, photographs.  Not worth viewing
with anything other than Firefox.

Christopher's website is at http://www.starfighter.acornarcade.com/mysite :

Items by him include ScreenGrabber (screenshot-taking module), BSP (front-
 end for the Doom BSP nodes builder) and Grab II (save current ROM, RAM or
 tool sprites to disc).
Items by Harriet include Textseek (locate ASCII text in multiple files),
 Switch (freestanding version of Director's manipulate-open-windows facility)
 and WimpDrain (allows you to close any files that may have been left open).
Items by me include XUTime (useless-but-fun desktop clock application), the
 Oddities Collection (some fun graphical and not so graphical BASIC
 programs) and Cogs (without which this program is pretty much useless).

Thanks for downloading DrawComb!

_____________________________________________________________________________
Martin Bazley
14th March 2009

=== End