==========================
=     SwiftPrint 2.0     =
==========================

-------------------------------------------------------------------------------
Beta 3 Release Notes
-------------------------------------------------------------------------------
This is the beta 3 preview of the new SwiftPrint control.  The control is a
complete rewrite of the old PreviewPrint automation server.  It is mostly 
finished, however as it is a work in progress I am sure that there are
bugs yet to be found.  For those of you who are interested, I invite you to
download and try SwiftPrint v2.0 OCX control to see what has changed.  I
would appreciate any feedback at all: features you would like to see added, 
changes to the existing features or interface, criticism, bugs, 
congratulations, questions about the universe, etc.

Thanks for your patience, this release has taken a lot longer than I 
anticipated when I first told you about it.  If you do not wish to receive any 
email from me, please reply and I will take you name from the SwiftPrint 
mailing list.

I have yet to complete the documentation, so unfortunately you will need to 
examine the sample application code to see how the API works, or consult windows
GDI documentation.  Most of the SwiftPrint methods are implemented with calls to
the Windows GDI, so you can look most calls up in MSDN documentation if you 
have it.

This release of SwiftPrint is code complete, so you are welcome to use this 
beta in your own software, however note that when the final release is made, it
would be best to upgrade all of your users to that final version.

Things to do before final release:
* documentation

Cheers,
Brodie.
-------------------------------------------------------------------------------

Introduction
============

SwiftPrint is a comprehensive printing service with integrated print preview 
capable of supplimenting or replacing the normal printer functionality in 
Visual Basic and any other ActiveX-capable programming environment.  
SwiftPrint has a large selection of graphics, text and image primitives, 
making the creation of complex page layouts a simpler task.  

A summary of the functionality available through SwiftPrint is:

Graphics Primitives
-------------------
- line, arc, chord, bezier
- polygon, ellipse, pie, rectangle
- rounded edge rectangle, filled rectangle
- fill colors, hatching
- color inversion
- flood filling

Text Primitives
---------------
- horizontal text alignment: left, center, right
- vertical text alignment: top, baseline, center, bottom
- capable of using any font installed on the system
- supports bold, italic, underline and strikeout attributes
- text rotation to any angle
- text output can be clipped to a rectangle, decorated with tabs,
  word wrapped within a rectangle

Image Primitives
----------------
- place image files onto the printed page
- supports BMP, JPG, GIF, PNG, WMF, and EMF formats

Printer and Printing Support
----------------------------
- printer setup dialog
- print with print preview and print dialog
- print with print dialog only
- print directly with no dialog

Print Preview 
-------------
- movement through document via: first page, previous page,
  next page, last page, or selecting page number directly from
  a drop down list.
- display pages singly or as double page spread
- show pages with either the odd or the even page on the left 
  hand side when displaying in double page spread mode
- zoom between 3 levels of magnification


Contact Details
===============

name:  Brodie Thiesfield
email: brodie@ecn.net.au
web:   http://www.ecn.net.au/~brodie/SwiftPrint
mail:  Brodie Thiesfield
       c/- SwiftPrint
       PO Box 206
       Geebung  QLD  4034
       Australia


Notes
=====

Due to the large amount of effort I have put into developing SwiftPrint to 
the capability that it has now, it is no longer distributed as freeware for
all purposes.  See the section 'Licencing' in the documentation for details.

I hope that you find SwiftPrint useful, and hope that if you do, that you
would send me an email to let me know that you are using it.  Comments and 
criticisms are welcome, I am aiming to improve this software in any way 
possible.


Installation
============

Register the control on your system using either method:

(a) adding to VB as a new component by going to the menu, 
    Project->Components->Browse, and selecting the file SwiftPrint.ocx

(b) use the 'regsvr32.exe' utility found within your windows system
    directory.  For example, if your windows directory is "c:\windows"
    and you have copied SwiftPrint.ocx into the windows system directory
    "c:\windows\system", then you need to go to a command line and issue
    the command "c:\windows\system\regsvr32 c:\windows\system\SwiftPrint.ocx"
    and this will register the component on your system at that location.

Note that if you ever move the SwiftPrint.ocx file to another directory you
will need to re-register the control at that new location.

SwiftPrint requires the MFC 4.2 dlls to be installed on your system.  If 
these dlls do not already exist on your system, you will need to download them
from my web site at http://www.ecn.net.au/~brodie/SwiftPrint and copy them 
into your windows system directory.


Known Bugs
==========
Legend: [ALL] = Win98 + WinNT4, [98] = Win98 only, [NT] = WinNT4 only
Note: SwiftPrint has only been tested on Win98 Second Edition and 
      Windows NT 4.0 SP5.

[ALL] Hatching backgrounds don't redraw correctly when scrolled in preview
      
	  Notes: 
	  Due to the way hatching backgrounds are drawn, dragging the
      mouse within either vertical or horizontal scrollbar will result in
      an incorrectly drawn hatch background.  This affects only the on screen
      representation of the hatch, the printed hatch will be correct.  By 
      clicking within the scrollbar, instead of dragging this effect can be
      avoided.

	  Status: this will be fixed whenever possible

[ALL] No toolbar tooltips in when in print preview mode
	  Status: this will be fixed whenever possible

[98]  Coordinates need to be restricted to values less than 32767 due to a
      limitation in the Windows GDI implementation.
	  Status: this should be fixed in a forthcoming release

[NT]  Bezier curves draw slowly
      Status: this appears to be an NT limitation, and runs quickly in Win9x

[ALL] Image placement using mode other than SPIA_STRETCH causes errors
      and crashes.

	  Status: the errors seem to be occurring outside SwiftPrint at the moment
	  and are hard to track down.  This will be fixed whenever possible.  For 
	  the moment stick to using SPIA_STRETCH.


Reporting Bugs
==============
I will try to fix all reported bugs as quickly as possible.  Please before
submitting a bug to me, ensure that the problem is not in your code.  Persons
repeatably submitting bug reports to me which turn out to be in their own
code will be ignored in future, ie. don't cry wolf.

It will help if when reporting bugs you can provide the following 
information:

1) operating system, including service pack level or major bug fixes
   eg Win NT 4.0 SP5, Windows 98 Second Edition, Windows 95 OEM2.1

2) a detailed explanation of the problem

3) one or more of the following:
    (a) a note of the exact sequence of operations which causes the problem
    (b) source code (not an executable) which will duplicate the problem
    (c) a dump of the debug trace output (see 'Tracing' below for details)
        showing the problem occurring. 


Tracing
=======
Debug output tracing has been included to make debugging easier.  To enable 
this tracing, merge the supplied registry file 'spTraceOn.reg' into your
registry.  The only change this will make to your registry is to add a single
key to it which turns on debug tracing in SwiftPrint.  You can turn off
this tracing by merging the file 'spTraceOff.reg'.  In order to view the 
debug tracing you will need to download the file 'debugview' from the
SysInternals web site: http://www.sysinternals.com


Disclaimer
==========
No warranty, guarantee or claim to fitness for your purpose is made for this
software, nor implied in any documentation.  Use of this software is entirely
at your own risk.  Payment of shareware fees or purchasing of source code 
has no explicit or implied duty of maintenance on the software.


Change History
==============

14 Mar 2000  SwiftPrint 2.0 beta 3 released
-------------------------------------------
* added sample application 'SamplePP' - the sample application created for
  PreviewPrint and converted to work with SwiftPrint
* added sample application 'CdList' - showing multi-page report building
  using SwiftPrint
* found, reproduced and fixed the bug 'Sample will hang intermittently on 
  return from print preview mode' 
* tweaked the event handler in the sample applications
* added beginning of documentation of SwiftPrint


13 Feb 2000  SwiftPrint 2.0 beta 2 released
-------------------------------------------
* renamed most constants to remove name clashes
* added PolygonEx to draw polygons specifying the location and number of sides
* removed ArcTo, added Options to Arc and ArcAngle
* renamed AngleArc to ArcAngle
* added property PaperSize
* removed ColorDepth from the GetImageDetails method
* completed sample application
* removed SPE_EXPANDTABS and SPE_TABSTOP from TextOutEx, added SPE_NOTABS.
  Tabs are now set and expanded unless SPE_NOTABS is specified
* fixed bug 'Text on page is lost after print, preview or change of page'
* fixed bug where a single page document would be shown in double page mode
* unable to reproduce bug 'Landscape page is previewed in portrait', 
  removed bug report
* unable to reproduce bug 'Sample will hang intermittently on return from
  print preview mode', removed bug report


25 Jan 2000  SwiftPrint 2.0 beta 1.1 released
---------------------------------------------
* name changed from PreviewPrint to SwiftPrint
* sample updated


24 Jan 2000  PreviewPrint 2.0 beta 1 released
---------------------------------------------
* totally rewritten as ActiveX control
* added new graphics primitives: arcs, chords, ellipses, beziers, polygons
  floodfill, hatched backgrounds, rectangles, rounded rectangles, 
  filled rectangles, color inversion, drawing modes
* added new text primitives: text word wrapping, text with tab stops
* added image primitives to display BMP, GIF, PNG, JPG, WMF, and EMF images
* fixed print with no preview
* added print directly with no dialog
* added events to notify the application in change of state to ensure the
  application can update its user interface appropriately
* added better user interface to the print preview window


1 Oct 1999  PreviewPrint 1.1 released
-------------------------------------
* added print with no preview
* fixed small bugs


1 Mar 1999  PreviewPrint 1.0 released
-------------------------------------
* print setup, print with preview only
* graphics primitives: MoveTo, LineTo
* text primitives: TextOut, TextOutClip
