home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
graphics
/
drawplus_1
/
!DrawPlus
/
!Help
< prev
next >
Wrap
Text File
|
1996-04-21
|
57KB
|
1,364 lines
Draw Plus — User Guide
========================
Introduction
------------
This document describes DrawPlus, formerly Draw 1½; an alternative to
Acorn's Draw with lots of additional features. All of the options are
described, although it is assumed that the reader is familiar with the
original Acorn version of Draw.
If you are reading this document in Edit, then select “Expand tabs” from the
“Edit” menu to correctly format the text.
DrawPlus offers the following enhancements over and above Acorn Draw:
1. Layers allow drawing information to be structured into different
categories. A drawing can have up to 32 named layers, and each
object in a drawing resides on a specific layer. Each layer can be
shown or made invisible, and objects on them can be selectable or
not.
Layers allow related information to be kept together, completed parts
of the drawing to be made unselectable so that there is no danger of
accidentally changing them, and information which is not needed for
the moment to be hidden.
Layers operate in addition to the background facility in previous
versions of DrawPlus. That is still present, for compatibility
reasons, but the layer system is far more versatile.
2. Objects can be locked so that they cannot be changed until they are
unlocked. This offers a finer level of control than layers, but of
course the two facilities can be used together.
3. Frequently used graphics, symbols or clip art can be stored in a
library and retrieved from it when required. The library can be
saved in a file, independent of any drawings, and the objects in it
pasted into any drawing.
4. Ten line patterns are available (in addition to solid lines), which
can be edited to give custom dashed lines.
5. Information such as the text and path styles, layer and dash pattern
information, grid and zoom options is saved along with the drawing,
and is restored when it is reloaded.
6. Lots of other features too numerous to mention.
Operating systems
-----------------
Current versions of DrawPlus are only tested and supported under RiscOS 3·10
and subsequent versions. It will work with RiscOS 3·00, as originally
supplied with the A5000, but there are some shortcomings in that version of
RiscOS (some of which can lead to file corruption). It will not work under
RiscOS 2 or Arthur: the last version of DrawPlus that can be used with
RiscOS 2 is 2·24. If you are running a version of RiscOS lower than 3·10
then I (and Acorn) would strongly suggest that you upgrade.
No special versions of system modules are required over and above those
supplied as standard with RiscOS 3·10.
DrawPlus is compatible with the RiscPC and is fully usable in 32K and
16Mcolour screen modes. It does not, yet, support JPEG objects in Draw
files.
Running
-------
To start DrawPlus, double-click on the application icon, or a saved Draw file
or library file, in the normal way. If DrawPlus is not yet running, it will
be loaded and the drawing will appear in a new window. If it is already
running, the drawing will be loaded into a new window. In both cases, unless
the option to not do so has been set, a tool window will also appear for
each document window.
To create a new blank drawing, click Select on the icon bar icon once
DrawPlus has been loaded.
To load a Draw file from the Filer or saved from another application, drag it
to the icon bar icon.
A settings file is loaded when the application is run up. This contains such
information as the display colours, preference settings (see below), default
page size and grid settings and default text and path styles. If a message
appears complaining that this file is not present, or is too old, use one of
the default save options to create the file.
Merging and Saving
------------------
To merge a drawing with another, load the first and then drag the second into
the drawing window; the two drawings will be combined. If the appropriate
option has been set, the bottom left corner of the loaded drawing will be
placed at the pointer position where the mouse button was released. If it is
not set, the bottom left corners of the drawings will be aligned without
regard to the pointer position.
To create a sprite object, drag a sprite file into a drawing window; the
object will appear at the pointer position at its true size. If the sprite
file contains more than one sprite, the first one will be used.
Due to changes in the way the operating system handles colours and sprites,
it is necessary to ensure that all sprites with 16 colours or less which are
to be displayed in their true colours include a palette. Sprites without a
palette are displayed using VDU colours, as opposed to desktop colours (i.e.
the same as would be seen in Paint with its “Use desktop colours” option
turned off).
To create a text area object, drag a text file into a drawing window; the
object will be created at the pointer position with the text columns set to
standard sizes. If the file does not have a standard header, one will be
supplied. If an existing text area object is selected when a text file is
loaded, the text in that area will be replaced by the contents of the file
without changing its size or position. The number of columns cannot be
changed.
To allow the extended information and styles to be saved, the files saved by
DrawPlus are not compatible with the original Draw file format. When saved
in this form, they can only be used by DrawPlus. For use with other
packages, the option to save in the original format — without the extended
information — is included.
The following options appear on the “Save” menu. Most of them lead to
“Save as” dialogue boxes which are used in the normal way:
Drawing Saves the complete drawing as a Draw file.
Selection Saves the selected objects as a Draw file, plus the drawing
header and font information if required. Only available in
Select mode when at least one object is selected.
Sprites Saves the selected objects as a sprite file. Select mode
must again be active, and all the selected objects must be
sprites.
Text area Saves the text contained in the selected area as a text file.
A single text area object must be selected. If the text did
not have the standard header when it was loaded, it will be
saved with it.
Defaults Saves the current preference settings, and the current
drawing’s settings and default styles, as the permanent
default. This default will be used for any new drawings
created, and will be saved on disc so that it can be used
next time DrawPlus is run up.
New format Normally on; when this option is ticked, the drawing will be
saved in the extended format. If it is not ticked then no
layer or locking information, or the current styles and
settings, will be saved. Because a lot of information could
be lost by re-saving a file in the old format, confirmation
is requested when this option is turned off.
When this option is off, files created are completely
compatible with Acorn Draw and other applications which use
Draw files. Files saved with this option turned on can be
loaded into Vector, and will retain their extended
information.
With settings Only available if “New format” is set; normally on in that
case. Causes the current styles, layer settings, dash
patterns, grid and paper options and zoom settings to be
saved in the drawing file, so that they will be restored next
time that drawing is loaded. Some of these settings are
understood by Vector.
Preferences
-----------
Selecting the “Preferences” option from the icon bar menu opens the setting
window. The display colours for various items are shown; to change them,
step through the palette colours by clicking on the colour blocks. The other
options available are:
Auto paper size When set, the paper size is automatically set (based
on the drawing dimensions) whenever a drawing is
loaded. If this is not set, the paper size will be
taken from the default settings.
Show menu keys¹ When set, keystroke equivalents will be shown on the
menus.
Merge at pointer When set, and a Draw file is dragged into an existing
drawing window to merge the two drawings, place the
loaded drawing at the pointer position. If this is
not set, the bottom left corners of the drawings will
be aligned.
Quit after printing¹ Set this if it is required to unload DrawPlus after
it has been loaded at the printer driver‘s request,
when a Draw file is dragged onto the printer icon.
If this option is not set, it will remain loaded
after printing has finished. If this option is set,
the application will unload itself after the file
has been printed.
Confirm delete many If this is set, a confirm box will pop up every time
more than one object, or a group, is to be deleted.
The objects will only be deleted if “Yes” is chosen.
To implement the preferences, click “OK”; these will persist until the
application is quit. If any colours have been changed, the display will be
redrawn. To save the options permanently, click “Save”; the default drawing
style will remain as before. To save a drawing style as the default along
with the preferences, use “Save/Settings” from the document menu as described
above.
The settings marked with a ¹ above only have an effect when they are saved as
the permanent default.
The toolbox
-----------
The toolbox contains various icons to select the drawing mode, display
controls and status displays. From left to right, the tool icons are:
Create line/curve These four tools create paths of that type, in the
same way as the original Draw. They can be clicked
when idle, to set the type of the initial segment, or
while drawing to change the current segment to that
type. The two ‘closed’ tools insert extra line
segments, of the same type as that last placed, when
a path or subpath is completed.
Move Inserts an invisible move into a path, starting a new
subpath. Can only be used when path entry is already
in progress, and the previous segment was not a move.
Ellipse Creates an ellipse. Click Select to mark the centre,
then Select again to define the size and
eccentricity. Orthogonal restriction will create a
circle.
Box Creates a rectangle. Click Select to mark one
corner, then Select again to mark the diagonally
opposite corner. Orthogonal restriction will create
a square.
Polygon Creates a regular polygon. Click Select to define
the centre, then drag out the circle on which the
corners will be placed (the circumcircle for those of
you who like big words). Click Select again to
define the size. The number of sides is set by the
option on the “Create” menu.
Text Creates a text object. Click Select to position the
caret, then type. The text can be edited during
entry, using the same keys as for text editing.
Press Return to terminate entry; the caret will be
moved down ready for the next line of text. The
line spacing can be set using the “Text Style/Line
spacing” menu option.
Edit Enters edit mode, for changing existing paths or
text.
Select Enters select mode.
Library Enters library (retrieve) mode.
Abandon Abandons an operation in progress.
Orthogonal When selected, pointer movement is restricted to 90°
or 45° movement (rectangular grid) or 30° movement
(isometric grid) while dragging. This can be used,
for example, to force the ellipse or box tools to
create a square or circle. It will also force the
path create modes to draw horizontal or vertical
lines, and Select mode dragging to be similarly
constrained.
Zoom When selected, displays at the preset zoom setting;
when not, at actual size. Click Adjust to pop up the
zoom setting box (this is also available from the
“Settings/Zoom” menu).
Grid lock When selected, this constrains pointer movement to
the preset lock grid. Click Adjust to pop up the
grid setting box (this is also available from the
“Settings/Grid” menu).
The message display gives various (hopefully) helpful messages. The name of
the current layer (truncated if it is long) is shown to the right of the
message display.
Select mode
-----------
Select mode is fairly similar to the original. Click Select over an object
to select it; double-click Select over a selected object to find a deeper
one. Click Adjust to add an object to, or remove it from, the selection.
Click Select over a blank area of the diagram to clear the selection.
Starting over a blank area, drag Select to enclose a box of objects and
select them all; drag Adjust to enclose a box of objects and add them to the
selection.
Each selected object will appear with four ‘handles’, one on each corner: to
move that corner, drag the handle with Select. Drag any handle with Adjust
to rotate the object about its centre; drag with Select over the body of an
object to move it.
A locked object can be selected, but will have no handles. Locked objects
cannot be moved, resized or rotated; if the selection includes locked
objects, they are deselected if this is attempted. Text columns belonging to
locked text areas cannot be selected.
Note that the sensitive area of an object extends a distance on each side
equivalent to the size of a ‘handle’. This avoids a problem with the
original where it was very difficult to select or move objects consisting of
a horizontal or vertical thin line.
See the later sections for “Select” and “Arrange” menu options.
Edit mode
---------
Edit mode is used to change existing paths or text. Enter Edit mode by
clicking on the toolbox icon, then select an object by clicking Select on
it. To start editing, click Adjust over the object, or over an unselected
object to select and then edit that. Double-click Select to find a deeper
object. Locked objects may not be selected for editing.
If the object over which Adjust is clicked is a text object, the caret will
appear. Text can now be typed and amended; the following control keys can
be used:
Left, Right Move the caret.
Ctrl-Left Move to the beginning of the text.
Ctrl-Right Move to the end of the text.
Backspace or Delete Delete the character to the left of the caret.
Copy Delete the character to the right of the caret.
Return Finish editing and update the text object with the
changes made.
Escape Abandon text editing and do not change the text.
If the object over which Adjust was clicked is a path, it will be redrawn in
thin lines with a marker over each point and a different coloured marker over
curve control points. The starting position for a new subpath is shown as an
open circle, other points as a filled square.
To select a point, click Adjust over it; it and its associated segment (if
there is one) will be highlighted. The “Edit” menu options apply to this
point and segment. Drag Adjust over the point, or over a curve control
point, to change its position. To finish path editing and update the
original object, click Select. To restore the original object without
changing it, click the “Abandon” tool.
When in path edit mode, clicking Menu will bring up the “Edit” menu alone
which has the following options (they act on the current — highlighted —
point or segment, where applicable). If other menu options are required
(e.g. to change grid settings) while path editing is in progress, press Shift
while clicking Menu to bring the full menu up.
Move Changes the current segment to a move. This is only possible
if the segment is not the first or last in the subpath, and
the subpath is not closed.
Line Changes the current segment to a line.
Curve Changes the current segment to a (initially straight) curve.
Closed When ticked, the current subpath is closed. To open or close
the subpath, select this option; the last point is moved to
coincide with the first point, or away from it, as
appropriate.
Insert point The current segment is replaced with two, each of the same
type (line or curve) as the original.
Delete point The current segment is deleted, and the two adjacent segments
moved to close the gap.
Segment Leads to a dialogue box showing information about the current
segment, and allowing the coordinates of the current point to
be changed.
Snap point Aligns the selected point to the lock grid.
Snap all Aligns all the points in the path to the lock grid. Note
that this option can distort regular shapes, if the grid is
coarse; it is usually safer to use the “Arrange/Snap to
grid” menu option.
Straighten Straightens the current curve segment (but does not change it
into a line).
Smooth joins Aligns the control points of the current curve segment so
that the transitions at the start and end points are smooth.
Horizontal Moves the end point of the current segment so that the line
becomes horizontal. For a curve, this moves the end point
but leaves the curve control points in the same relation to
the curve as they were originally.
Vertical Moves the end point of the current segment so that the line
becomes vertical.
Finish Completes path editing.
Create Path mode
----------------
Select a toolbox icon to start path creation, then click Select to place the
initial point. Move the line or curve as required, and click Select to place
points. The segment type (line, curve or move) can be changed by clicking on
the appropriate toolbox icon; no more than one successive move can be
created at a time, and the path cannot start or end with a move.
Double-click Select to place the final point. If one of the closed path
tools is chosen, an additional segment will be placed to close the subpath
when the path is finished or a new subpath is started (with a move). Click
Adjust to remove the last-entered point.
When curves are being drawn, their control points will be initially aligned
so that the transitions are smooth.
Misc menu
---------
Options that don’t fit in anywhere else.
File Opens a dialogue box giving information about the document
currently being edited.
Print Opens a dialogue box allowing the drawing to be printed via a
RiscOS printer driver. Enter the number of copies, ensure
that the printer is online and click “OK” to start printing.
Dashes Opens the dash pattern edit dialogue box. Select one of the
ten patterns available with the up or down arrows. In the
enlarged view below, click Select to change a dot from black
to white or vice versa. Click Adjust to set the repeat
length of the pattern; the area available for editing is
that to the left of the red bar and the pattern repeats after
this if necessary. An actual size view of the pattern is
shown in the white area above. Click “OK” to store the
edited patterns.
Note that editing a pattern does not change the appearance of
any existing objects using that pattern. If settings are
being saved, this includes the defined patterns.
Layers Opens the layer settings dialogue box. See the “Using
layers” section.
Set bgn‘d Only available when in Select mode and some objects are
selected. Moves the selected objects to the back, and marks
them as unselectable background; their position or
appearance can not be changed until they are unmarked. None
of the selected objects may be locked.
If some background objects exist already, the new objects
will be added to that background.
This feature is intended for such things as sheet borders or
drawing grids, which are used as a backdrop to a drawing on
top. However, it is now considered obsolete and may be
removed in a future version. Layers give a far more
versatile way of implementing this.
Clear bgn’d Only available when a background is set; unmarks all the
background objects and makes them selectable again.
Settings menu
-------------
These options set operating or display parameters. Many of them are
duplicated by toolbox icons.
Zoom Selects preset zoom or normal size, and redraws the screen.
Equivalent to clicking the button in the toolbox.
Enlarge Increases the magnification, immediately redrawing the
screen.
Reduce Reduces the magnification, immediately redrawing the screen.
Set zoom Standard “Magnifier” box for setting the preset magnification
that will be used when zoom display is selected (this can
also be opened by clicking Adjust over the “Zoom” tool in the
toolbox).
Orthogonal Selects constrained angle or free movement; equivalent to
clicking the button in the toolbox.
Units Select “Inches” or “Centimetres” from the menu as required.
All user measurements are shown and input in these units.
Page size Allows the paper size to be set. Click on the up or down
arrows to choose from a range of standard sizes. Choose
“Portrait” to orient the paper with the long side vertical,
or “Landscape” for the long side horizontal.
Select the “As printer” option to take the paper size from
the currently loaded printer driver; this option is
obviously not available if no driver is loaded. If the
printer driver size is being used, choose “Show limits” to
show the paper margins on the drawing.
The paper dimensions are shown in the currently selected
units.
Grid Sets the screen and lock grids. The grid that pointer
movement and drawing is constrained to can be finer (or
coarser!) than the grid that is shown on screen. A grid
giving the required drawing resolution can therefore be set
without it cluttering up the screen or taking a long time to
redraw at low magnifications.
The screen grid setting sets the spacing of the visible dots,
in user units.
The lock grid setting specifies how much finer than the
screen grid the lock grid is. For example, if the screen
grid is set to ‘1’ (inch) and the lock grid multiplier to
‘5’, then the lock grid will be at 0·2" spacing and all
drawing will be confined to this.
Choose the “Show screen grid” option to show the screen grid
points in the drawing window. If this is set, “Auto adjust”
can be chosen to coarsen the grid at low magnifications, so
that it does not overwhelm the drawing or take a long time to
redraw; note that this affects the screen display only.
Choose the “Snap to lock grid” option to constrain all
pointer movements to the lock grid. When this is not set,
the pointer moves freely. This can also be changed by
clicking on the toolbox icon.
Select “Rectangular” or “Isometric” to use a grid of that
type. This setting also affects the angle that movement is
constrained to when Orthogonal is selected.
Show tools Choose this to display the toolbox window for that drawing.
The option is ticked when the toolbox is open; to remove the
toolbox, use its close icon.
Show XY Choose this to display the position window for that document,
showing the position of the pointer in user coordinates.
(0,0) is at the bottom left corner of the paper. To remove
the display, use its close icon; the option is ticked when
the position display is on.
Auto scroll If this is set, when the pointer approaches the edge of the
drawing area during dragging (approximately ¼" on a standard
monitor) the window will scroll in that direction. If this
options is not set, no scrolling will be done.
Note that the automatic scrolling will stop if the pointer is
moved out of the drawing area.
Create menu
-----------
This menu mostly duplicates the toolbox icons.
Line Creates a line segment.
Curve Creates a curve segment.
Move Starts a new subpath.
Closed When ticked, closes subpaths when the path is finished or a
new subpath is started.
Finish Completes creating the path.
Delete Removes the last-placed point.
Box Creates a rectangle.
Ellipse Creates an ellipse.
Text Creates a text object.
Polygon Creates a regular polygon. Enter the required number of
sides in the entry box leading from this option.
Select menu
-----------
Apart from the first, these options are available when in Select mode and an
appropriate object or combination of objects is selected.
All Select all of the selectable objects in the drawing, i.e.
all those which are on selectable layers and not in
background.
Clear Deselects the current selection.
Copy Makes a copy of the selected objects, slightly offset from
the originals. The copied objects remain at the same ‘depth’
as the source objects, in contrast to the original where they
were added at the front of the drawing.
Delete Irretrievably deletes the selected objects from the drawing.
Confirmation will be requested, if the appropriate option has
been set.
Front Moves the selected objects all the way to the front of the
drawing, obscuring any non-selected objects that they
overlap. Locked objects cannot be ordered, but other objects
may be moved around them.
Back Moves the selected objects all the way to the back of the
drawing, going behind any non-selected objects but in front
of the background if one is set.
Forward Moves the selected objects forwards by one place only.
Backward Moves the selected objects backwards by one place only.
Group Combines all the selected objects into a group. None of the
selected objects may be locked. Objects on more than one
layer may be grouped; they remain on their own layers (the
group is created on the current layer). However, if the
group is moved to a new layer then all of its included
objects also move to that layer.
Ungroup Dissolves the selected group. A single, unlocked, group
object must be selected; it reverts to individual objects.
Lock Locks the selected objects; their handles will disappear.
Locked objects cannot be changed in any way, or deleted
(except that certain layer operations may move them to
layer 0). They may be copied; the new objects will not be
locked. Locked objects may also be added to libraries, but
will be unlocked when they are retrieved from the library.
Unlock Restore the handles on selected locked objects, and allow
them to be changed.
Arrange menu
------------
These options manipulate the selected objects in Select mode.
Rotate/Skew Leads to a three-function dialogue box for entry of the
required angle. “Rotate” rotates the objects about the
centres of their own bounding boxes. Specify the angle in
degrees, and select “Clockwise” or “Anticlockwise” as
required.
“H Skew” displaces each point of the object horizontally, a
distance depending on the height above or below the object‘s
centre (so squares turn into parallelograms, etc.). The
limit on the angle in this case is ±85° (think about tangents
of large angles if you want to know why): “Clockwise”
displaces points above the centre to the right and ones below
the centre to the left, while “Anticlockwise” does the
reverse.
“V Skew” does the same, but in the vertical direction.
Reverse L-R Mirrors the objects left-to-right.
Reverse T-B Mirrors the objects top-to-bottom.
Scaling Leads to a dialogue box allowing the objects to be scaled by
a specified amount. For scale factors greater than 1,
selecting “Enlarge” makes the objects bigger while “Reduce”
makes them smaller (obvious really!). Scale factors between
0 and 1 have the opposite effect. Entering a negative scale
factor will reverse (mirror) as well as scale the objects
(for those objects that can be reversed).
Transform Similar to “Scaling”, but allows the scale factors for
horizontal and vertical dimensions, and line widths, to be
specified independently.
Dimension scaling is applied about the object’s centre. Any type of object
can be scaled.
New layer Moves the objects onto the current layer.
Snap to grid Aligns the objects to the lock grid. For sprite or text
objects, the bottom left corner is aligned. For path
objects, the path‘s bounding box is aligned to the grid and
all its points are scaled and moved to correspond with this;
this avoids distortion of paths that happen if each point is
individually snapped. This option is available whether or
not grid lock is on.
Size/Position Allows the size and positioning of a single object to be
altered. At most one each of the horizontal and vertical
position and sizes can be selected and altered. Changing the
left, right, top or bottom position moves the object;
changing width or height scales the object about its centre.
Align Leads to a dialogue box for specifying the type of alignment.
Horizontal or vertical alignment can be selected at the same
time if required; the specified point on each object is
aligned to the same point on the leftmost (for horizontal
alignment) or lowest (for vertical alignment) object. This
option corresponds to “Justify” on the original Acorn version
of Draw.
Distribute Leads to a similar dialogue box, except that only one option
can be selected at a time. The objects are moved so that the
specified points are spaced evenly between same points on the
leftmost and rightmost (for horizontal distribute) or the
highest and lowest (for vertical distribute) objects.
Space/Pack Leads to a dual-function dialogue box. With “Space out”
selected, the objects are moved in a similar way to
“Distribute”, but so that the space between the objects is
constant rather than the reference points on the objects
being spaced equally. There must be enough room between the
two extreme objects to fit in all the others without
overlapping. This option is not available if only two
objects are selected.
With “Pack together” selected, the objects are moved so that
their bounding boxes fit together without overlapping,
starting from the leftmost or lowest as appropriate.
See the “Alignment” drawing for a graphical explanation of the various
alignment options.
Interpolate Leads to an entry box in which the number of intermediate
objects can be specified. Interpolation can only be
performed between two path objects which have the same
numbers and types of segments, except that a line may
correspond to a curve or vice versa.
A set of intermediate objects are created and selected.
Position, line and fill colours, line width and triangle cap
size are interpolated.
Text Style menu
---------------
This menu has two functions. In Select or Edit modes, it sets the style for
the selected text objects or areas. In Text Create mode, it sets the default
style that will be used for new text objects.
Font name Selects the font family to be used for text objects. Unless
you have some unusually-named fonts, only the family name
(first component of the name) will appear on this menu. See
later for more information on fonts.
Font style Sets the font enhancement. Only those options for which
fonts are available in the current family can be selected.
Not available for ‘System Font’ text.
Size/Height Sets the size of the text, in points (1/72 inch). If
“As size” is selected, the size chosen will be used for
both width and height and can be specified by choosing a
preset size or entering it in the box. If this is not
selected, the width can be set as above while the height can
be set independently by entering that in its box.
Text colour Sets the foreground colour to be used for the text; the
‘inside’ of the characters is normally displayed using this
colour. If the current palette allows, the text will be
anti-aliased using a number of steps between this colour and
the text background colour. Text colour and background
colour apply to text areas as well as text objects.
Background Sets the text background colour. This is normally white, but
can be varied to control the anti-aliasing effect.
Line spacing Only available when the default text style is being set;
controls the amount of extra space that will be added between
text lines when Return is pressed to terminate a text object,
ready for the next one. This is set in points.
Smart quotes Only available to change the style of existing text objects
or areas. Changes simple quotes (as typed from the keyboard)
into open and close pairs. The enhanced quote characters
may not be available in certain fonts.
Note that drawings containing objects with enhanced quotes
(or any other top-bit-set characters) cannot be loaded into
some versions of Acorn Draw.
Reset quotes Changes open and close quotes back into simple ones.
Path Style menu
---------------
This menu has two functions. In Select or Edit modes, it sets the style of
the selected objects. In Path Create mode, it sets the default style that
will be used for new objects.
Line colour Sets the colour that will be used to draw path outlines.
Fill colour Sets the colour that will be used to fill the insides of
paths.
Line width Sets the width to be used when drawing outlines, measured in
points. Select a preset size, or enter the width in the box.
If “Thin” is selected, the thinnest line that the screen or
printer is capable of displaying will be used.
Line pattern Sets the line style to be used for outlines; either solid or
one of the ten dash patterns.
Caps/Joins Sets the way in which the ends of open paths and line joins
are displayed. The join, starting cap and ending cap can all
be set independently, and the size of the triangle cap
controlled.
Winding rule Controls what is considered to be the ‘inside’ of a path when
filling. See the original Draw manual for an explanation.
Special menu
------------
These options are available in Select mode, when an appropriate object is
selected.
Text to path Converts the selected text object into a group of paths (one
for each character). Initially, the appearance does not
change, but the object can now be manipulated as a path and
the path style rather than the text style applies. This may
not give very good results for small font sizes, and is only
available for fonts which are defined as outlines.
Explode text A single text object must be selected, which is converted
into a group of text objects each containing a single
character from the original and initially occupying the same
positions. Useful for effects such as spaced-out (kerned) or
vertical text.
Resize sprite Resets the bounding box of a sprite object so that the sprite
appears at actual size (i.e. the size that it was set to when
it was first loaded).
Bounding box Creates a rectangular path object, in the current path style,
which follows the bounding box of the original object and is
separated from it by the specified distance (in user units).
Positive separation makes the box larger than the object;
negative separation makes it smaller (and so may overlap the
object).
Using libraries
---------------
The library can be used to store any type of object (except for text
columns). It is shared between all drawings being worked on, and objects are
stored and accessed by name. The library is saved separately from any
drawings so it can be used for storing standard symbols, text fonts or clip
art.
To store an object in the library, it must be selected (in Select or Edit
mode). Open the “Store” dialogue box in the “Library” menu, and enter a name
for the object. The name can be up to 20 characters long, and may include
any printable characters including space. Press Return or click “OK”; it
will be added to the library.
To store every object in a drawing in the library, choose “Store all...” from
the “Library” menu and confirm. Each object will be indicated in turn, and
the “Store” dialogue box displayed; enter a name for the object. Cancelling
the dialogue will carry on with the next object without storing the current
one.
To display the contents of the library, choose “Library...” from the icon bar
menu or “Show...” from a document's “Library” menu. A window will open
showing a scrolling list of the object names. There are two library display
modes: one in a small window showing the list of object names only, and a
larger window additionally showing details and a thumbnail view of the
selected object. To change from one view to another, use the window's
toggle-size icon (at the right hand end of the title bar).
To paste an object from the library into a drawing (which need not be the one
that it was copied out of), select it in the scrolling list. Then select
Library mode from the toolbox, or choose “Retrieve” from the “Library” menu.
Click Select to place the object (centre at the pointer position), or press
and hold Select to drag the object about before releasing it. This can be
repeated, or another object chosen and pasted, as required.
If the “Reset layer” option is set, the library object will be added on the
current layer. If this option is not set, the object will remain on the same
layer that it was on when it was added to the library. If this layer is not
defined in the drawing, the object will not be visible and will be
unselectable.
To load a new library, double-click on it in a Filer display or drag its icon
to the icon bar. This will replace the current library; if it is modified,
confirmation is requested. To merge libraries, drag the icon to the library
window; its contents will be added to the current library and any objects
with duplicated names will be superseded by those in the merged library.
The library window can be closed and re-opened without losing the contents of
the library. To update an object in the library, simply store it with the
same name that was used before; the contents will be replaced.
The library window has its own menu with the following options:
File Standard dialogue box giving information about the current
library.
Save library Saves the contents of the library as a library file; used in
the normal way.
Clear library Clears out the library, i.e. deletes all objects.
Delete object Deletes the selected object from the library.
Rename object Changes the name of the selected object. Edit the name in
the entry box leading from this option.
Save object Saves the selected object as a Draw file; used in the normal
way.
Units Sets the unit which is used when displaying the details of
the selected object.
Using layers
------------
Layers are always available, but if you take no specific action to use them
then everything will work as before. A drawing can have up to 32 layers.
Each object appears on a particular layer, and each layer can be made visible
(i.e. the objects are shown on the screen, or printed) and selectable (i.e.
the objects can be selected and operated on) independently. There is always
a current layer set, on which new objects are created and existing objects
can be moved to.
Most aspects of layers are controlled by a dialogue box opened by choosing
“Layers...” from the “Misc” menu or by clicking Adjust on the layer display
in the toolbox. It shows a scrolling list of the layers currently defined,
with two buttons by each one. When “Sel” is on, objects on that layer can be
selected and operated on; otherwise they cannot be selected. When “Vis” is
on, objects on that layer will be shown on the screen and printed; otherwise
they are invisible. The current layer is shown by the highlight bar; to
designate another one as current, click on the name or number in the
scrolling list.
To define a new layer, click “Add layer”; a new layer will be added with the
first free layer number and a default name. It will also be selected as the
current layer. To change the name or number of a layer, select it as
current and then edit the name or number in the boxes below and press Return.
If the number is changed, and the new number is already defined as a layer,
then the two layer names and information will swap.
To remove the definition of a layer, select it as current and then click
“Delete layer”. Any objects that were on deleted layers will, when the
dialogue is finished, be moved to layer 0.
To select objects on all layers, click “Sel all”. To select only objects on
the current layer, click “Sel this”. To make objects on all layers visible,
click “View all”. To view only the objects on the current layer, click
“View this”.
When all the layer settings are as required, click “OK”. Press Escape or
click the dialogue box’s close icon to abandon the dialogue and not change
any layer settings.
Any new objects will be created on the current layer. To change the layer of
existing objects, select them and choose “New layer” from the “Arrange”
menu. The objects will be moved onto the current layer.
Layer number 0 (default name “Standard”) is slightly special. This is the
layer that will be used by default if no action is taken to define new
layers. Files created by Acorn Draw and other applications, and those saved
without the new format option set, will have all their objects on layer 0.
Any objects on layers that are deleted, or objects merged from a file whose
layers are not defined, will also appear on layer 0. This layer cannot be
deleted or renumbered, although it can be made unselectable or invisible like
any other layer. If you intend to create a layered drawing, I would
recommend that you reserve layer 0 for unlayered objects and use layers 1
through 31 as required.
Layer numbers are important if layered objects are to be transferred between
drawings or drawings merged into one another. Objects will be transferred
onto layers with the same number, regardless of the name; if a layer is not
defined in the drawing that the objects are being merged into, any objects on
that layer will appear on layer 0.
When saving layered drawings, remember to have “New format” and “With
settings” turned on so that the layer information is retained.
Keystroke equivalents
---------------------
Any mouse action in a window causes it to grab the input focus from then on.
Keystroke equivalents for menu actions are shown on the menus (they can be
hidden, if desired, to make the menus smaller, but they will still perform
the action). Note that some keystrokes have an action on both the “Create”
and “Edit” menus; when in path edit mode the “Edit” menu applies, and the
“Create” menu at other times. The following keystrokes also have an effect:
Up,Down,Left,Right When dragging, move the pointer by one pixel. In
Select mode, when not dragging, move the selected
objects by one pixel (if grid lock is off) or one
grid step (if grid lock is on). In path edit mode,
when not dragging, move the current point in the same
way.
Escape Abandon an operation in progress.
Shift-Select Centre the display at the pointer position, if
possible.
Space Switch back and forth between the Select tool and the
last tool used.
Print Pop up the “Print” dialogue box
f3 Pop up the “Save drawing” dialogue box.
Font Handling
-------------
There are two menus associated with fonts, “Font name” and “Font style”.
Normally, the name menu lists the font family name (the first component of
the pathname) while the style menu gives the valid styles for that selected
family. The following weights are understood:
.Light
.Book
.Medium .Standard .Regular
.Demi
.Bold
.Heavy
.Black
and the following slopes:
.Normal .Roman
.Italic .Oblique
which should cover most of the fonts in common use (if a font has only one
component in its name, standard weight and upright is assumed). If a font is
installed on the system with an style attribute which is not known, then that
attribute will appear on the name menu as a separate family. For example, if
the fonts ‘Oxford.Ultra’ and ‘Oxford.Ultra.Italic’ are installed (where
‘Ultra’ is not a recognised weight), they will appear on the name menu as
“Oxford-Ultra” with “Medium” weight and slopes of “Normal” and “Italic” on
the style menu.
Bugs, Features and Cautions
---------------------------
The following are the dropoffs, bugs and omissions that I know about in the
current version:
1. The little-known facility in the original to directly copy selected
objects between drawings (by using the “Select/Copy” menu option) is
not supported. More than one document at a time can be in Select
mode.
2. Line pattern changes are not applied to path objects which are
members of groups.
3. DrawPlus cannot load DXF files in the way that the original version
of Draw could. Use the original to convert DXF files, if you really
want to.
4. The only major facility missing which was present in the original is
the “New view” option to open two windows on the same drawing. Sorry
about this, but by the time I got around to thinking about
implementing this the fundamental program structure didn't permit it
to be implemented (too many extensive changes were required).
Anyway, I never have enough room on my screen for one view, let alone
two, and switching magnification is much more convenient...
5. If a drawing with background objects is merged with another, the
background objects in the merged one lose their background status.
6. Text being edited displays wrongly in very low-resolution modes (e.g.
mode 2). But nobody ever uses these modes (and Acorn’s Edit gets it
wrong too!).
7. There is a limit of 255 fonts which DrawPlus can use (display on the
font menus and use in a drawing). This is because of to what I
consider to be a very bad design decision by Acorn when implementing
the Draw file format: there is no feasible way around it, so please
don‘t ask.
8. There is no Undo or Redo, as implemented in later versions of Acorn
Draw. It would be nice to have this, but it would be very difficult
to implement at this stage of development.
Unforeseen errors are sometimes reported as “Internal error” or “Fatal error”
and a message. If you get one of these, let me know what happened (in the
case of “Fatal” and your masterpiece being lost, after you’ve counted to ten
and calmed down) with as much information as possible, namely:
Machine type, OS version and memory available
Version of DrawPlus being used
Error message or other symptoms
Is the problem repeatable, or is it confined to just one drawing?
Any unusual modules which may be installed (e.g. screen savers).
If you believe that the problem is related to printing, and you are using a
TurboDriver, then try printing the same file using the standard Acorn driver.
If this gives a correct result then complain to Computer Concepts, not to me.
Note to Impression II users: When saving Draw files for loading into the
border library, select the corner and edge pieces (corner at the front) and
then save them as a selection to disc or directly into the border setup
dialogue box. Saving them as a drawing, even if they are the only two
objects in it, or trying to use anything other than path objects as a border
will cause Impression to crash. Drawings can be loaded into frames with no
problem.
Finally...
----------
I hope you like using and are satisfied with DrawPlus. If so, tell your
friends. If not, or if you have any suggestions for improvements or
suggestions, please contact me; I will try to fix bugs and incorporate
reasonable ideas in forthcoming versions.
Standard boring Copyright Notice: All program code and the contents of the
supporting files are copyright © myself (Jonathan Marten) 19901996. No
rights are taken or implied over any drawings or other works which may be
produced using this application.
DrawPlus is “Freeware” (not “PD”). You are free to give this application to
anyone you please via any medium, provided it is delivered with all the
supplied files, unaltered. Bulletin boards, PD libraries or magazines may
carry or distribute the application, but are requested to contact me first to
ensure that they have an up-to-date version (especially if it is to be
immortalised in plastic on a CD). You may not sell this application, or
incorporate it or any part of it into a system or other application that is
for sale (for however much and for whatever reasons) or released as copyright
material, except that PD libraries may make a nominal charge to cover disc
duplication and postage.
A great many hours of work have gone into the development and maintenance of
this application, and I would like to keep supporting it. Although I have
supplied the application free, donations will be gratefully received (amount
at your discretion). If you send a blank disc as well, I will return it with
any useful PD or my own software that I may have lying around. You can
obtain the latest version of the application, at any time, by sending a blank
disc.
Disclaimer (1): Apart from using their (excellent) C compiler and (somewhat
dubious) RiscOS library, this application has no connection with Acorn. Any
confusion caused by the use of the term “Draw” or similar is regretted.
Disclaimer (2): This software is supplied “as is”; no warranty, express or
implied, of the merchantability of this software or its fitness for any
particular purpose is given. In no circumstances shall the author, or any
provider or distributor of this software, be liable for any damage, loss of
profits, or any indirect or consequential loss arising out of the use of this
software or inability to use this software.
Disclaimer (3): This software has no connection whatsoever with any
commercial, introductory, demonstration or shareware application with the
same or any similar name produced by Serif Inc. for DOS or Windows. No part
of DrawPlus was copied from, based on, derived from or even inspired by any
Serif product. The name “DrawPlus” has been in use to denote this Acorn
application since 1991. Any threats of legal or any other action regarding
copyright or trade mark violation will be ignored.
Acknowledgments: Many thanks to those who wrote to me, pointing out problems
with the original or making suggestions (or just saying that they liked it!).
There are too many people to mention, but I‘m sure that those who made
(feasible) suggestions will recognise them here.
Special thanks to Barry Thompson, for loaning me his copy of Impression II
(with the dongle!) to track down the border library problem (and for finding
more bugs than everybody else put together...); John Davey for the
ModeExtend module which allowed me to diagnose the multisync-related bugs.
Background: I decided to develop this application after using Acorn’s
original Draw for quite a number of drawings and finding some problems with
it (none of them serious, but quite a few of them annoying). The hardware
and software that I used was as follows:
Original ‘440 with 50Mb SCSI disc (a bit more room now!)
Acorn ANSI C release 3 compiler, debugger and RiscOS library (later,
release 4)
My version of Make (available on Norwich Computer Services Careware
disc #1)
An expanded version of MicroEmacs (originally from David Pilling)
Some of David Pilling’s C Tools (notably ‘ctags’)
‘Old Faithful’ BBC B with Lancaster Kermit, for remote debugging
Various other tools such as Paint and FormEd
Most of the operations have the ‘look and feel’ of the original Draw, and
this was indeed where most of the inspiration came from. Many of the
additional facilities, notably the alignment operations and the four-way
object handles, also layers and dash patterns, were inspired by Claris'
MacDraw II for the Apple Macintosh. The library facility was also based on
this. The original ‘Text to path’ facility was inspired by (but not copied
from) Data Store's FontFX application, which is recommended for achieving
even more exotic font effects. The grid options and appearance, and the
Shift-Select display control (“Window”) were copied from Racal-Redac's Visula
system. The font name/style system, the background facility, polygon create
and the ‘Skew’ options were entirely my own work (honest!).
Etymology (look it up like I had to): The original package was called Draw
One-and-a-Half because it was only halfway towards what I was intending to
write (the full package was going to be called Draw 2). But then Acorn
started calling their next version Draw 2, so this application was renamed
DrawPlus.
Contacts: I can be contacted by or at:
Snail-Mail: 11 Carmarthen Close
Farnborough
Hampshire
GU14 8TJ
Phone: (01252) 542431 (at reasonable hours)
E-mail: jmarten@cix.compulink.co.uk
Arcade BBS: 387
Jonathan Marten
August 1991 (last update: April 1996)
Technical Details
===================
This section gives details of the additional data structures used by
DrawPlus. They are defined in terms of C structures. Details of the
standard types and objects can be found in the include file drawftypes.h
supplied with Acorn ANSI C release 3 or higher. Any future changes to these
structures will be backwards compatible with DrawPlus version 2·00.
Extended object tag
-------------------
This replaces the 4-byte object tag used in standard Draw objects, and stores
the layer information and miscellaneous flags. The default for the extended
information is all zeros, which means that objects and files without this
information are fully compatible with other applications which produce or use
Draw files.
The extended tag is described by the following structure:
typedef unsigned char draw_tagtyp;
typedef unsigned char draw_layer;
typedef unsigned char draw_objflags;
struct draw_extag /* Extended object tag */
{
draw_tagtyp tag; /* Basic object type */
draw_layer layer; /* Object layer, 0 to 31 */
draw_objflags flag; /* Object flags */
unsigned char spare; /* For future expansion */
};
The following bits in flag are used at present:
#define flag_NODISPLAY 1 /* Never displayed */
#define flag_LOCKED 2 /* Object is locked */
#define flag_HIDDEN 4 /* Temporarily hidden */
The NODISPLAY flag is used to mark objects, such as saved settings, used
internally. The HIDDEN flag marks objects that are temporarily invisible,
such as path objects that are in the process of being edited. The LOCKED
flag is set if the object has been locked.
The extended tag replaces the original draw_tagtyp in the object header, as
follows:
struct draw_objhdr /* General object header */
{
draw_extag t; /* Extended tag */
draw_sizetyp size; /* Object size */
draw_bboxtyp bbox; /* Bounding box */
};
Saved settings
--------------
Settings, styles, layer and dash pattern information is saved in a number of
objects which are described by the following structure:
struct draw_setstrhdr /* Settings object header */
{
draw_extag t; /* Extended tag */
draw_sizetyp size; /* Object size */
draw_bboxtyp bbox; /* Bounding box */
int version; /* Structure version */
int contents; /* What this contains */
};
The settings structure version field is used to detect incompatible or
out-of-date settings; it is currently 4. The contents field indicates what
is stored in this structure. The types currently defined are:
#define set_USER 1 /* General user settings */
#define set_TEXTSTYLE 2 /* Default text style */
#define set_PATHSTYLE 3 /* Default path style */
#define set_EXTRAS 4 /* Layers & dash patterns */
#define set_EXPAND 5 /* For future expansion */
The data immediately follows this structure. Since the format and content is
subject to change, details are not included here. The object type for a
saved settings object is 101.
Library file
------------
The library file format is very similar to a standard Draw file. The header
is identical, except that the creator string is “Library” rather than “Draw”.
The major version 0number is 2.
The rest of the file contains standard Draw objects described by the
following structures:
struct draw_libstrhdr /* Library object header */
{
draw_extag tag; /* Object tag */
draw_sizetyp size; /* Overall size */
draw_bboxtyp bbox; /* Object’s bounding box */
char name[21]; /* Object name */
time_t time; /* Time last updated */
};
The included object (with its own tag and bounding box) follows immediately
after the header:
struct draw_libstr /* Library object */
{
draw_extag tag; /* Object tag */
draw_sizetyp size; /* Overall size */
draw_bboxtyp bbox; /* Object’s bounding box */
char name[21]; /* Object name */
time_t time; /* Time last updated */
draw_objhdr object; /* Object data */
};
The type time_t is defined in the header file time.h. The object type for a
library object is 100.