AlignPlus 2.01 (06-Aug-03)

Name:     ArtWorks AlignPlus module
Purpose:  ArtWorks module offering enhanced object alignment operations
Author:   Martin Wrthner
Requires: RISC OS 3.5 or higher, ArtWorks 2
Status:    Martin Wrthner 2003; all rights reserved; see [4] below
WWW:      http://www.mw-software.com/

Welcome to the AlignPlus module.

ArtWorks 1 allowed you to align objects in verious ways. However, when aligning
objects only their bounding boxes are taken into account. This is OK for most
object types, but not for text lines as normally, what is wanted is to align
text line objects with respect to their base lines. A similar problem occurs
when using a grid: "Pull onto grid" pulls the bottom left corner of the
bounding box onto the grid, but not the base line.

This module allows you to perform various alignment operations with respect to
the base lines of text objects. These are: "Align base lines", "Distribute base
lines" and "Pull base lines onto grid".

Additionaly, AlignPlus offers a "Pack" option similar to that in DrawPlus. You
can pack objects horizontally or vertically.

Finally, there is a "Centre on page" function to centre the selected objects on
the page, horizontally only, vertically only, or both.


1) The AlignPlus module
-----------------------
1.1) What it does

AlignPlus does not provide a tool in the Toolbox. Instead, it adds five menu
entries to the Objects submenu of the main ArtWorks menu. These are called
"Align base lines", "Distribute base lines", "Pull base lines unto grid", "Pack
objects" and "Centre on page".

* "Align base lines": This aligns the base lines of the selected objects. For
  objects other than text lines, the bottom coordinates of the bounding boxes
  are taken as base lines. All base lines are aligned with that of the object
  at the bottom.
* "Distribute base lines": This important feature allows you to distribute
  objects in such a way that the distances between their base lines are all
  equal, i.e. this can be used to create properly spaced paragraphs of text out
  of single lines of text. The top and the bottom objects are never moved. If
  objects other than text lines are involved, the bottom coordinates of the
  bounding boxes of these objects are taken.
* "Pull base lines onto grid": This moves the selected text lines in such a way
  that the start of each base line is on a grid point. Since version 1.07, you
  can apply this operation to all object types, not only text lines. For other
  objects, the effect is the same as the normal "Pull onto grid" feature (i.e.,
  the bottom-left corner of the object is pulled onto the nearest grid point),
  with the notable exception that this operation also works with alternative
  grid provider modules, such as the Arranger or Grids add-on modules, not only
  with the standard ArtWorks grid. To allow this, the "Pull base lines onto
  grid" option is always available as soon as there is at least one object
  selected, irrespective of whether the standard grid has been enabled or not -
  obviously, if neither the standard grid nor an alternative grid option have
  been enabled, then choosing this menu item has no effect.
* "Pack objects": This leads to a submenu containing the entries "Horizontally"
  and "Vertically". The objects are moved so that their boundings boxes fit
  together without overlapping (either horizontally or vertically depending on
  which entry you chose) starting from the leftmost object (for horizontal
  packing) or bottom object (for vertical packing). The first object is never
  moved.
* "Centre on page": This leads to a submenu containing the entries
  "Horizontally", "Vertically" and "Both". The selected objects are centred on
  the page, either horizontally or vertically, or in both directions.

Like the align dialogue box, all the above operations apply to the current
selection. Please note that "Align base lines", "Distribute base lines" and
"Pack objects" are only available when more than one object is selected. "Pull
base lines onto grid" is only available if all selected objects are text lines
and if the grid lock is switched on as well. "Centre on page" is available
whenever there is at least one object selected.

There are keyboard shortcuts for two of the operations provided by AlignPlus:
* Ctrl-Q        for  "Align base lines"
* Ctrl-Shift-Q  for  "Distribute base lines"

Due to the shortage of available keystrokes within ArtWorks the other
operations do not have a keyboard shortcut.

1.2) Known bugs and limitations

The base line operations provided by AlignPlus do not work if the lines of text
are at an angle other than 0 (i.e. they must be horizontal). If they are at
some other angle, please rotate them to 0 first, apply the operation and then
rotate them back.


2) History:
-----------
Version 2.01 (06-Aug-03)
- uses RISC OS 5 calls if available in preference to earlier APIs
- the "Distribute base lines" function moved non-text objects to incorrect
  positions, this is fixed

Version 2.00 (10-Apr-03)
- first 32-bit compatible version for ArtWorks 2

Version 1.07 (06-Dec-01):
- "Pull base lines onto grid" can be applied to all object types
- The "Pull base lines onto grid" option is always available provided there is
  at least one object selected
- Bug fix: Version 1.06 only performed "Pull base lines onto grid" if at least
  two text lines were selected.
- included Dutch messages, thanks to Dick Tanis for providing them

Version 1.06 (23-May-01):
- fixed problem with moving multiple objects in a group (in particular
  text areas)

Version 1.05 (19-Apr-01):
- added "Centre on page" feature - suggested by Nobilangelo Ceramalus

Version 1.04b (25-Aug-00):
- updated documentation

Version 1.04 (14-Nov-98):
- objects other than text lines are allowed in "Align base lines" and
  "Distribute base lines" operations - instead of the text base line, the
  bottom coordinates of their bounding boxes are taken

Version 1.03 (09-Jul-97):
- corrected Germany file

Version 1.02 (03-Jul-97):
- fixed bug with "Pull base lines unto grid": This worked only if two or more
  lines of text were selected. Now it works with a single object as well.
- new !Sprites file

Version 1.01 (20-Jun-97):
- first release version


3) Contacting me
----------------
Martin Wuerthner
Mannheimer Str. 18
67655 Kaiserslautern
Germany

Phone: +49-(0)631-3608205
Fax:   +49-(0)631-3608203

e-mail: martin@mw-software.com
WWW:    http://www.mw-software.com/


4) Copyright
------------
The ArtWorks AlignPlus module and related documentation are  Copyright 2003 by
Martin Wrthner. All rights reserved. The software and documentation may not,
in  whole or part, be copied or transmitted by any means without the explicit
written consent of the copyright owner. Unless you have purchased a site
licence for this software, it may be used on only one stand-alone computer
system at any time.

In order to use this software, you need a licence from the copyright owner. If
you do not have such a licence, you must delete this software, the AlignPlus
module and its related files, now.
