home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / graphics / drawplus_1 / !DrawPlus / !Help < prev    next >
Text File  |  1996-04-21  |  57KB  |  1,364 lines

  1.  
  2.                          Draw Plus — User Guide
  3.                         ========================
  4.  
  5. Introduction
  6. ------------
  7.  
  8. This document describes DrawPlus, formerly Draw 1½;  an alternative to
  9. Acorn's Draw with lots of additional features.   All of the options are
  10. described, although it is assumed that the reader is familiar with the
  11. original Acorn version of Draw.
  12.  
  13. If you are reading this document in Edit, then select “Expand tabs” from the
  14. “Edit” menu to correctly format the text.
  15.  
  16. DrawPlus offers the following enhancements over and above Acorn Draw:
  17.  
  18.   1.    Layers allow drawing information to be structured into different
  19.     categories.  A drawing can have up to 32 named layers, and each
  20.     object in a drawing resides on a specific layer.  Each layer can be
  21.     shown or made invisible, and objects on them can be selectable or
  22.     not.
  23.  
  24.     Layers allow related information to be kept together, completed parts
  25.     of the drawing to be made unselectable so that there is no danger of
  26.     accidentally changing them, and information which is not needed for
  27.     the moment to be hidden.
  28.  
  29.     Layers operate in addition to the background facility in previous
  30.     versions of DrawPlus.   That is still present, for compatibility
  31.     reasons, but the layer system is far more versatile.
  32.  
  33.   2.    Objects can be locked so that they cannot be changed until they are
  34.     unlocked.  This offers a finer level of control than layers, but of
  35.     course the two facilities can be used together.
  36.  
  37.   3.    Frequently used graphics, symbols or clip art can be stored in a
  38.     library and retrieved from it when required.   The library can be
  39.     saved in a file, independent of any drawings, and the objects in it
  40.     pasted into any drawing.
  41.  
  42.   4.    Ten line patterns are available (in addition to solid lines), which
  43.     can be edited to give custom dashed lines.
  44.  
  45.   5.    Information such as the text and path styles, layer and dash pattern
  46.     information, grid and zoom options is saved along with the drawing,
  47.     and is restored when it is reloaded.
  48.  
  49.   6.    Lots of other features too numerous to mention.
  50.  
  51.  
  52. Operating systems
  53. -----------------
  54.  
  55. Current versions of DrawPlus are only tested and supported under RiscOS 3·10
  56. and subsequent versions.  It will work with RiscOS 3·00, as originally
  57. supplied with the A5000, but there are some shortcomings in that version of 
  58. RiscOS (some of which can lead to file corruption).  It will not work under
  59. RiscOS 2 or Arthur:  the last version of DrawPlus that can be used with
  60. RiscOS 2 is 2·24.  If you are running a version of RiscOS lower than 3·10
  61. then I (and Acorn) would strongly suggest that you upgrade.
  62.  
  63. No special versions of system modules are required over and above those
  64. supplied as standard with RiscOS 3·10.
  65.  
  66. DrawPlus is compatible with the RiscPC and is fully usable in 32K­ and
  67. 16M­colour screen modes.  It does not, yet, support JPEG objects in Draw
  68. files.
  69.  
  70.  
  71. Running
  72. -------
  73.  
  74. To start DrawPlus, double-click on the application icon, or a saved Draw file
  75. or library file, in the normal way.  If DrawPlus is not yet running, it will
  76. be loaded and the drawing will appear in a new window.  If it is already
  77. running, the drawing will be loaded into a new window.  In both cases, unless
  78. the option to not do so has been set, a  tool window will also appear for
  79. each document window.
  80.  
  81. To create a new blank drawing, click Select on the icon bar icon once
  82. DrawPlus has been loaded.
  83.  
  84. To load a Draw file from the Filer or saved from another application, drag it
  85. to the icon bar icon.
  86.  
  87. A settings file is loaded when the application is run up.  This contains such
  88. information as the display colours, preference settings (see below), default
  89. page size and grid settings and default text and path styles.  If a message
  90. appears complaining that this file is not present, or is too old, use one of
  91. the default save options to create the file.
  92.  
  93.  
  94. Merging and Saving
  95. ------------------
  96.  
  97. To merge a drawing with another, load the first and then drag the second into
  98. the drawing window; the two drawings will be combined.  If the appropriate
  99. option has been set, the bottom left corner of the loaded drawing will be
  100. placed at the pointer position where the mouse button was released.  If it is
  101. not set, the bottom left corners of the drawings will be aligned without
  102. regard to the pointer position.
  103.  
  104. To create a sprite object, drag a sprite file into a drawing window;  the
  105. object will appear at the pointer position at its true size.  If the sprite
  106. file contains more than one sprite, the first one will be used.
  107.  
  108. Due to changes in the way the operating system handles colours and sprites,
  109. it is necessary to ensure that all sprites with 16 colours or less which are
  110. to be displayed in their true colours include a palette.  Sprites without a
  111. palette are displayed using VDU colours, as opposed to desktop colours (i.e.
  112. the same as would be seen in Paint with its “Use desktop colours” option
  113. turned off).
  114.  
  115. To create a text area object, drag a text file into a drawing window;  the
  116. object will be created at the pointer position with the text columns set to
  117. standard sizes.  If the file does not have a standard header, one will be
  118. supplied.  If an existing text area object is selected when a text file is
  119. loaded, the text in that area will be replaced by the contents of the file
  120. without changing its size or position.  The number of columns cannot be
  121. changed.
  122.  
  123. To allow the extended information and styles to be saved, the files saved by
  124. DrawPlus are not compatible with the original Draw file format.  When saved
  125. in this form, they  can only be used by DrawPlus.  For use with other
  126. packages, the option to save in the original format — without the extended
  127. information — is included.
  128.  
  129. The following options appear on the “Save” menu.  Most of them lead to
  130. “Save as” dialogue boxes which are used in the normal way:
  131.  
  132. Drawing        Saves the complete drawing as a Draw file.
  133.  
  134. Selection    Saves the selected objects as a Draw file, plus the drawing
  135.         header and font information if required.  Only available in 
  136.         Select mode when at least one object is selected.
  137.  
  138. Sprites        Saves the selected objects as a sprite file.  Select mode
  139.         must again be active, and all the selected objects must be
  140.         sprites.
  141.  
  142. Text area    Saves the text contained in the selected area as a text file.
  143.         A single text area object must be selected.  If the text did
  144.         not have the standard header when it was loaded, it will be
  145.         saved with it.
  146.  
  147. Defaults    Saves the current preference settings, and the current
  148.         drawing’s settings and default styles, as the permanent
  149.         default.  This default will be used for any new drawings
  150.         created, and will be saved on disc so that it can be used
  151.         next time DrawPlus is run up.
  152.  
  153. New format    Normally on;  when this option is ticked, the drawing will be
  154.         saved in the extended format.  If it is not ticked then no
  155.         layer or locking information, or the current styles and
  156.         settings, will be saved.  Because a lot of information could
  157.         be lost by re-saving a file in the old format, confirmation
  158.         is requested when this option is turned off.
  159.  
  160.         When this option is off, files created are completely
  161.         compatible with Acorn Draw and other applications which use
  162.         Draw files.  Files saved with this option turned on can be 
  163.         loaded into Vector, and will retain their extended
  164.         information.
  165.  
  166. With settings    Only available if “New format” is set;  normally on in that
  167.         case.  Causes the current styles, layer settings, dash
  168.         patterns, grid and paper options and zoom settings to be
  169.         saved in the drawing file, so that they will be restored next 
  170.         time that drawing is loaded.  Some of these settings are
  171.         understood by Vector.
  172.  
  173.  
  174. Preferences
  175. -----------
  176.  
  177. Selecting the “Preferences” option from the icon bar menu opens the setting
  178. window.  The display colours for various items are shown;  to change them,
  179. step through the palette colours by clicking on the colour blocks.  The other 
  180. options available are:
  181.  
  182. Auto paper size        When set, the paper size is automatically set (based
  183.             on the drawing dimensions) whenever a drawing is 
  184.             loaded.  If this is not set, the paper size will be
  185.             taken from the default settings.
  186.  
  187. Show menu keys¹        When set, keystroke equivalents will be shown on the
  188.             menus.
  189.  
  190. Merge at pointer    When set, and a Draw file is dragged into an existing
  191.             drawing window to merge the two drawings, place the 
  192.             loaded drawing at the pointer position.  If this is
  193.             not set, the bottom left corners of the drawings will
  194.             be aligned.
  195.  
  196. Quit after printing¹    Set this if it is required to unload DrawPlus after
  197.             it has been loaded at the printer driver‘s request,
  198.             when a Draw file is dragged onto the printer icon. 
  199.             If this option is not set, it will remain loaded
  200.             after printing has finished.  If this option is set,
  201.             the application will unload itself after the file 
  202.             has been printed.
  203.  
  204. Confirm delete many    If this is set, a confirm box will pop up every time
  205.             more than one object, or a group, is to be deleted. 
  206.             The objects will only be deleted if “Yes” is chosen.
  207.  
  208. To implement the preferences, click “OK”;  these will persist until the
  209. application is quit.  If any colours have been changed, the display will be
  210. redrawn.  To save the options permanently, click “Save”;  the default drawing
  211. style will remain as before.  To save a drawing style as the default along
  212. with the preferences, use “Save/Settings” from the document menu as described
  213. above.
  214.  
  215. The settings marked with a ¹ above only have an effect when they are saved as
  216. the permanent default.
  217.  
  218.  
  219. The toolbox
  220. -----------
  221.  
  222. The toolbox contains various icons to select the drawing mode, display
  223. controls and status displays.  From left to  right, the tool icons are:
  224.  
  225. Create line/curve    These four tools create paths of that type, in the
  226.             same way as the original Draw.  They can be clicked
  227.             when idle, to set the type of the initial segment, or
  228.             while drawing to change the current segment to that
  229.             type.  The two ‘closed’ tools insert extra line
  230.             segments, of the same type as that last placed, when
  231.             a path or subpath is completed.
  232.  
  233. Move            Inserts an invisible move into a path, starting a new
  234.             subpath.  Can only be used when path entry is already
  235.             in progress, and the previous segment was not a move.
  236.  
  237. Ellipse            Creates an ellipse.  Click Select to mark the centre,
  238.             then Select again to define the size and 
  239.             eccentricity.  Orthogonal restriction will create a 
  240.             circle.
  241.  
  242. Box            Creates a rectangle.  Click Select to mark one
  243.             corner, then Select again to mark the diagonally 
  244.             opposite corner.  Orthogonal restriction will create
  245.             a square.
  246.  
  247. Polygon            Creates a regular polygon.  Click Select to define
  248.             the centre, then drag out the circle on which the
  249.             corners will be placed (the circumcircle for those of
  250.             you who like big words).  Click Select again to
  251.             define the size.  The number of sides is set by the
  252.             option on the “Create” menu.
  253.  
  254. Text            Creates a text object.  Click Select to position the
  255.             caret, then type.  The text can be edited during 
  256.             entry, using the same keys as for text editing.  
  257.             Press Return to terminate entry;  the caret will be 
  258.             moved down ready for the next line of text.  The 
  259.             line spacing can be set using the “Text Style/Line
  260.             spacing” menu option.
  261.  
  262. Edit            Enters edit mode, for changing existing paths or
  263.             text.
  264.  
  265. Select            Enters select mode.
  266.  
  267. Library            Enters library (retrieve) mode.
  268.  
  269. Abandon            Abandons an operation in progress.
  270.  
  271. Orthogonal        When selected, pointer movement is restricted to 90°
  272.             or 45° movement (rectangular grid) or 30° movement
  273.             (isometric grid) while dragging.  This can be used,
  274.             for example, to force the ellipse or box tools to
  275.             create a square or circle.  It will also force the
  276.             path create modes to draw horizontal or vertical
  277.             lines, and Select mode dragging to be similarly
  278.             constrained.
  279.  
  280. Zoom            When selected, displays at the preset zoom setting;
  281.             when not, at actual size.  Click Adjust to pop up the
  282.             zoom setting box (this is also available from the
  283.             “Settings/Zoom” menu).
  284.  
  285. Grid lock        When selected, this constrains pointer movement to
  286.             the preset lock grid.  Click Adjust to pop up the
  287.             grid setting box (this is also available from the
  288.             “Settings/Grid” menu).
  289.  
  290. The message display gives various (hopefully) helpful messages.  The name of
  291. the current layer (truncated if it is long) is shown to the right of the
  292. message display.
  293.  
  294.  
  295. Select mode
  296. -----------
  297.  
  298. Select mode is fairly similar to the original.  Click Select over an object
  299. to select it;  double-click Select over a selected object to find a deeper
  300. one.  Click Adjust to add an object to, or remove it from, the selection.
  301. Click Select over a blank area of the diagram to clear the selection.
  302. Starting over a blank area, drag Select to enclose a box of objects and
  303. select them all;  drag Adjust to enclose a box of objects and add them to the
  304. selection.
  305.  
  306. Each selected object will appear with four ‘handles’, one on each corner:  to
  307. move that corner, drag the handle with Select.  Drag any handle with Adjust
  308. to rotate the object about its centre;  drag with Select over the body of an
  309. object to move it.
  310.  
  311. A locked object can be selected, but will have no handles.  Locked objects
  312. cannot be moved, resized or rotated;  if the selection includes locked
  313. objects, they are deselected if this is attempted.  Text columns belonging to
  314. locked text areas cannot be selected.
  315.  
  316. Note that the sensitive area of an object extends a distance on each side
  317. equivalent to the size of a ‘handle’.  This avoids a problem with the
  318. original where it was very difficult to select or move objects consisting of
  319. a horizontal or vertical thin line.
  320.  
  321. See the later sections for “Select” and “Arrange” menu options.
  322.  
  323.  
  324. Edit mode
  325. ---------
  326.  
  327. Edit mode is used to change existing paths or text.  Enter Edit mode by
  328. clicking on the toolbox icon, then select an object by clicking Select on
  329. it.  To start editing, click Adjust over the object, or over an unselected
  330. object to select and then edit that.  Double-click Select to find a deeper
  331. object.  Locked objects may not be selected for editing.
  332.  
  333. If the object over which Adjust is clicked is a text object, the caret will
  334. appear.  Text can now be typed and amended; the following control keys can
  335. be used:
  336.  
  337. Left, Right        Move the caret.
  338. Ctrl-Left        Move to the beginning of the text.
  339. Ctrl-Right        Move to the end of the text.
  340. Backspace or Delete    Delete the character to the left of the caret.
  341. Copy            Delete the character to the right of the caret.
  342.  
  343. Return            Finish editing and update the text object with the
  344.             changes made.
  345.  
  346. Escape            Abandon text editing and do not change the text.
  347.  
  348. If the object over which Adjust was clicked is a path, it will be redrawn in
  349. thin lines with a marker over each point and a different coloured marker over 
  350. curve control points.  The starting position for a new subpath is shown as an
  351. open circle, other points as a filled square.
  352.  
  353. To select a point, click Adjust over it;  it and its associated segment (if
  354. there is one) will be highlighted.  The “Edit” menu options apply to this
  355. point and segment.  Drag Adjust over the point, or over a curve control
  356. point, to change its position.  To finish path editing and update the
  357. original object, click Select.  To restore the original object without
  358. changing it, click the “Abandon” tool.
  359.  
  360. When in path edit mode, clicking Menu will bring up the “Edit” menu alone
  361. which has the following options (they act on the current — highlighted —
  362. point or segment, where applicable).  If other menu options are required
  363. (e.g. to change grid settings) while path editing is in progress, press Shift
  364. while clicking Menu to bring the full menu up.
  365.  
  366. Move        Changes the current segment to a move.  This is only possible
  367.         if the segment is not the first or last in the subpath, and
  368.         the subpath is not closed.
  369.  
  370. Line        Changes the current segment to a line.
  371.  
  372. Curve        Changes the current segment to a (initially straight) curve.
  373.  
  374. Closed        When ticked, the current subpath is closed.  To open or close
  375.         the subpath, select this option;  the last point is moved to
  376.         coincide with the first point, or away from it, as 
  377.         appropriate.
  378.  
  379. Insert point    The current segment is replaced with two, each of the same
  380.         type (line or curve) as the original.
  381.  
  382. Delete point    The current segment is deleted, and the two adjacent segments
  383.         moved to close the gap.
  384.  
  385. Segment        Leads to a dialogue box showing information about the current
  386.         segment, and allowing the coordinates of the current point to
  387.         be changed.
  388.  
  389. Snap point    Aligns the selected point to the lock grid.
  390.  
  391. Snap all    Aligns all the points in the path to the lock grid.  Note
  392.         that this option can distort regular shapes, if the grid is
  393.         coarse;  it is usually  safer to use the “Arrange/Snap to
  394.         grid” menu option.
  395.  
  396. Straighten    Straightens the current curve segment (but does not change it
  397.         into a line).
  398.  
  399. Smooth joins    Aligns the control points of the current curve segment so
  400.         that the transitions at the start and end points are smooth.
  401.  
  402. Horizontal    Moves the end point of the current segment so that the line
  403.         becomes horizontal.  For a curve, this moves the end point
  404.         but leaves the curve control points in the same relation to
  405.         the curve as they were originally.
  406.  
  407. Vertical    Moves the end point of the current segment so that the line
  408.         becomes vertical.
  409.  
  410. Finish        Completes path editing.
  411.  
  412.  
  413. Create Path mode
  414. ----------------
  415.  
  416. Select a toolbox icon to start path creation, then click Select to place the
  417. initial point.  Move the line or curve as required, and click Select to place
  418. points.  The segment type (line, curve or move) can be changed by clicking on 
  419. the appropriate toolbox icon;  no more than one successive move can be
  420. created at a time, and the path cannot start or end with a move.
  421.  
  422. Double-click Select to place the final point.  If one of the closed path
  423. tools is chosen, an additional segment will be placed to close the subpath
  424. when the path is finished or a new subpath is started (with a move).  Click
  425. Adjust to remove the last-entered point.
  426.  
  427. When curves are being drawn, their control points will be initially aligned
  428. so that the transitions are smooth.
  429.  
  430.  
  431. Misc menu
  432. ---------
  433.  
  434. Options that don’t fit in anywhere else.
  435.  
  436. File        Opens a dialogue box giving information about the document
  437.         currently being edited.
  438.  
  439. Print        Opens a dialogue box allowing the drawing to be printed via a
  440.         RiscOS printer driver.  Enter the number of copies, ensure
  441.         that the printer is online and click “OK” to start printing.
  442.  
  443. Dashes        Opens the dash pattern edit dialogue box.  Select one of the
  444.         ten patterns available with the up or down arrows.  In the
  445.         enlarged view below, click Select to change a dot from black
  446.         to white or vice versa.  Click Adjust to set the repeat
  447.         length of the pattern;  the area available for editing is
  448.         that to the left of the red bar and the pattern repeats after
  449.         this if necessary.  An actual size view of the pattern is
  450.         shown in the white area above.  Click “OK” to store the
  451.         edited patterns.
  452.  
  453.         Note that editing a pattern does not change the appearance of
  454.         any existing objects using that pattern.  If settings are
  455.         being saved, this includes the defined patterns.
  456.  
  457. Layers        Opens the layer settings dialogue box.  See the “Using
  458.         layers” section.
  459.  
  460. Set bgn‘d    Only available when in Select mode and some objects are
  461.         selected.  Moves the selected objects to the back, and marks
  462.         them as unselectable background;  their position or
  463.         appearance can not be changed until they are unmarked.  None 
  464.         of the selected objects may be locked.
  465.  
  466.         If some background objects exist already, the new objects
  467.         will be added to that background.
  468.  
  469.         This feature is intended for such things as sheet borders or
  470.         drawing grids, which are used as a backdrop to a drawing on
  471.         top.  However, it is now considered obsolete and may be
  472.         removed in a future version.  Layers give a far more 
  473.         versatile way of implementing this.
  474.  
  475. Clear bgn’d    Only available when a background is set;  unmarks all the
  476.         background objects and makes them selectable again.
  477.  
  478.  
  479. Settings menu
  480. -------------
  481.  
  482. These options set operating or display parameters.  Many of them are
  483. duplicated by toolbox icons.
  484.  
  485. Zoom        Selects preset zoom or normal size, and redraws the screen.
  486.         Equivalent to clicking the button in the toolbox.
  487.  
  488. Enlarge        Increases the magnification, immediately redrawing the
  489.         screen.
  490.  
  491. Reduce        Reduces the magnification, immediately redrawing the screen.
  492.  
  493. Set zoom    Standard “Magnifier” box for setting the preset magnification
  494.         that will be used when zoom display is selected (this can
  495.         also be opened by clicking Adjust over the “Zoom” tool in the 
  496.         toolbox).
  497.  
  498. Orthogonal    Selects constrained angle or free movement;  equivalent to
  499.         clicking the button in the toolbox.
  500.  
  501. Units        Select “Inches” or “Centimetres” from the menu as required. 
  502.         All user measurements are shown and input in these units.
  503.  
  504. Page size    Allows the paper size to be set.  Click on the up or down
  505.         arrows to choose from a range of standard sizes.  Choose
  506.         “Portrait” to orient the paper with the long side vertical,
  507.         or “Landscape” for the long side horizontal.
  508.  
  509.         Select the “As printer” option to take the paper size from
  510.         the currently loaded printer driver;  this option is
  511.         obviously not available if no driver is loaded.  If the
  512.         printer driver size is being used, choose “Show limits” to
  513.         show the paper margins on the drawing.
  514.  
  515.         The paper dimensions are shown in the currently selected
  516.         units.
  517.  
  518. Grid        Sets the screen and lock grids.  The grid that pointer
  519.         movement and drawing is constrained to can be finer (or
  520.         coarser!) than the grid that is shown on screen.  A grid
  521.         giving the required drawing resolution can therefore be set
  522.         without it cluttering up the screen or taking a long time to
  523.         redraw at low magnifications.
  524.  
  525.         The screen grid setting sets the spacing of the visible dots,
  526.         in user units.
  527.  
  528.         The lock grid setting specifies how much finer than the
  529.         screen grid the lock grid is.  For example, if the screen
  530.         grid is set to ‘1’ (inch) and the lock grid multiplier to
  531.         ‘5’, then the lock grid will be at 0·2" spacing and all
  532.         drawing will be confined to this.    
  533.  
  534.         Choose the “Show screen grid” option to show the screen grid
  535.         points in the drawing window.   If this is set, “Auto adjust”
  536.         can be chosen to coarsen the grid at low magnifications, so
  537.         that it does not overwhelm the drawing or take a long time to
  538.         redraw;  note that this affects the screen display only.
  539.  
  540.         Choose the “Snap to lock grid” option to constrain all
  541.         pointer movements to the lock grid.  When this is not set,
  542.         the pointer moves freely.  This can also be changed by
  543.         clicking on the toolbox icon.
  544.  
  545.         Select “Rectangular” or “Isometric” to use a grid of that
  546.         type.  This setting also affects the angle that movement is
  547.         constrained to when Orthogonal is selected.
  548.  
  549. Show tools    Choose this to display the toolbox window for that drawing.
  550.         The option is ticked when the toolbox is open;  to remove the
  551.         toolbox, use its close icon.
  552.  
  553. Show XY        Choose this to display the position window for that document,
  554.         showing the position of the  pointer in user coordinates. 
  555.         (0,0) is at the bottom left corner of the paper.  To remove
  556.         the display, use its close icon;  the option is ticked when
  557.         the position display is on.
  558.  
  559. Auto scroll    If this is set, when the pointer approaches the edge of the
  560.         drawing area during dragging (approximately ¼" on a standard
  561.         monitor) the window will scroll in that direction.  If this 
  562.         options is not set, no scrolling will be done.
  563.  
  564.         Note that the automatic scrolling will stop if the pointer is
  565.         moved out of the drawing area.
  566.  
  567.  
  568. Create menu
  569. -----------
  570.  
  571. This menu mostly duplicates the toolbox icons.
  572.  
  573. Line        Creates a line segment.
  574.  
  575. Curve        Creates a curve segment.
  576.  
  577. Move        Starts a new subpath.
  578.  
  579. Closed        When ticked, closes subpaths when the path is finished or a
  580.         new subpath is started.
  581.  
  582. Finish        Completes creating the path.
  583.  
  584. Delete        Removes the last-placed point.
  585.  
  586. Box        Creates a rectangle.
  587.  
  588. Ellipse        Creates an ellipse.
  589.  
  590. Text        Creates a text object.
  591.  
  592. Polygon        Creates a regular polygon.  Enter the required number of
  593.         sides in the entry box leading from this option.
  594.  
  595.  
  596. Select menu
  597. -----------
  598.  
  599. Apart from the first, these options are available when in Select mode and an
  600. appropriate object or combination of objects is selected.
  601.  
  602. All        Select all of the selectable objects in the drawing, i.e. 
  603.         all those which are on selectable layers and not in
  604.         background.
  605.  
  606. Clear        Deselects the current selection.
  607.  
  608. Copy        Makes a copy of the selected objects, slightly offset from
  609.         the originals.  The copied objects remain at the same ‘depth’
  610.         as the source objects, in contrast to the original where they
  611.         were added at the front of the drawing.
  612.  
  613. Delete        Irretrievably deletes the selected objects from the drawing.
  614.         Confirmation will be requested, if the appropriate option has
  615.         been set.
  616.  
  617. Front        Moves the selected objects all the way to the front of the
  618.         drawing, obscuring any non-selected objects that they
  619.         overlap.  Locked objects cannot be ordered, but other objects
  620.         may be moved around them.
  621.  
  622. Back        Moves the selected objects all the way to the back of the
  623.         drawing, going behind any non-selected objects but in front
  624.         of the background if one is set.
  625.  
  626. Forward        Moves the selected objects forwards by one place only.
  627.  
  628. Backward    Moves the selected objects backwards by one place only.
  629.  
  630. Group        Combines all the selected objects into a group.  None of the
  631.         selected objects may be locked.  Objects on more than one
  632.         layer may be grouped;  they remain on their own layers (the
  633.         group is created on the current layer).  However, if the 
  634.         group is moved to a new layer then all of its included
  635.         objects also move to that layer.
  636.  
  637. Ungroup        Dissolves the selected group.  A single, unlocked, group
  638.         object must be selected;  it reverts to individual objects.
  639.  
  640. Lock        Locks the selected objects;  their handles will disappear. 
  641.         Locked objects cannot be changed in any way, or deleted
  642.         (except that certain layer operations may move them to
  643.         layer 0).  They may be copied;  the new objects will not be
  644.         locked.  Locked objects may also be added to libraries, but
  645.         will be unlocked when they are retrieved from the library.
  646.  
  647. Unlock        Restore the handles on selected locked objects, and allow
  648.         them to be changed.
  649.  
  650.  
  651. Arrange menu
  652. ------------
  653.  
  654. These options manipulate the selected objects in Select mode.
  655.  
  656. Rotate/Skew    Leads to a three-function dialogue box for entry of the
  657.         required angle.  “Rotate” rotates the objects about the 
  658.         centres of their own bounding boxes.  Specify the angle in 
  659.         degrees, and select  “Clockwise” or “Anticlockwise” as
  660.         required.
  661.  
  662.         “H Skew” displaces each point of the object horizontally, a
  663.         distance depending on the height above or below the object‘s
  664.         centre (so squares turn into parallelograms, etc.).  The 
  665.         limit on the angle in this case is ±85° (think about tangents
  666.         of large angles if you want to know why):  “Clockwise”
  667.         displaces points above the centre to the right and ones below 
  668.         the centre to the left, while “Anticlockwise” does the
  669.         reverse.
  670.  
  671.         “V Skew” does the same, but in the vertical direction.
  672.  
  673. Reverse L-R    Mirrors the objects left-to-right.
  674.  
  675. Reverse T-B    Mirrors the objects top-to-bottom.
  676.  
  677. Scaling        Leads to a dialogue box allowing the objects to be scaled by
  678.         a specified amount.  For scale factors greater than 1,
  679.         selecting “Enlarge” makes the objects bigger while “Reduce” 
  680.         makes them smaller (obvious really!).  Scale factors between
  681.         0 and 1 have the opposite effect.  Entering a negative scale
  682.         factor will reverse (mirror) as well as scale the objects
  683.         (for those objects that can be reversed).
  684.  
  685. Transform    Similar to “Scaling”, but allows the scale factors for
  686.         horizontal and vertical dimensions, and line widths, to be
  687.         specified independently.
  688.  
  689. Dimension scaling is applied about the object’s centre.  Any type of object
  690.         can be scaled.
  691.  
  692. New layer    Moves the objects onto the current layer.
  693.  
  694. Snap to grid    Aligns the objects to the lock grid.  For sprite or text
  695.         objects, the bottom left corner is aligned.  For path
  696.         objects, the path‘s bounding box is aligned to the grid and
  697.         all its points are scaled and moved to correspond with this;
  698.         this avoids distortion of paths that happen if each point is
  699.         individually snapped.  This option is available whether or
  700.         not grid lock is on.
  701.  
  702. Size/Position    Allows the size and positioning of a single object to be
  703.         altered.  At most one each of the horizontal and vertical
  704.         position and sizes can be selected and altered.  Changing the
  705.         left, right, top or bottom position moves the object; 
  706.         changing width or height scales the object about its centre.
  707.  
  708. Align        Leads to a dialogue box for specifying the type of alignment.
  709.         Horizontal or vertical alignment can be selected at the same
  710.         time if required;  the specified point on each object is
  711.         aligned to the same point on the leftmost (for horizontal 
  712.         alignment) or lowest (for vertical alignment) object.  This
  713.         option corresponds to “Justify” on the original Acorn version
  714.         of Draw.
  715.  
  716. Distribute    Leads to a similar dialogue box, except that only one option
  717.         can be selected at a time.  The objects are moved so that the
  718.         specified points are spaced evenly between same points on the 
  719.         leftmost and rightmost (for horizontal distribute) or the
  720.         highest and lowest (for vertical distribute) objects.
  721.  
  722. Space/Pack    Leads to a dual-function dialogue box.  With “Space out”
  723.         selected, the objects are moved in a similar way to
  724.         “Distribute”, but so that the space between the objects is
  725.         constant rather than the reference points on the objects
  726.         being spaced equally.  There must be enough room between the
  727.         two extreme objects to fit in all the others without
  728.         overlapping.  This option is not available if only two
  729.         objects are selected.
  730.  
  731.         With “Pack together” selected, the objects are moved so that
  732.         their bounding boxes fit together without overlapping,
  733.         starting from the leftmost or lowest as appropriate.
  734.  
  735. See the “Alignment” drawing for a graphical explanation of the various
  736. alignment options.
  737.  
  738. Interpolate    Leads to an entry box in which the number of intermediate
  739.         objects can be specified.  Interpolation can only be
  740.         performed between two path objects which have the same
  741.         numbers and types of segments, except that a line may 
  742.         correspond to a curve or vice versa.
  743.  
  744.         A set of intermediate objects are created and selected. 
  745.         Position, line and fill colours, line width and triangle cap
  746.         size are interpolated.
  747.  
  748.  
  749. Text Style menu
  750. ---------------
  751.  
  752. This menu has two functions.  In Select or Edit modes, it sets the style for
  753. the selected text objects or areas.  In Text Create mode, it sets the default
  754. style that will be used for new text objects.
  755.  
  756. Font name    Selects the font family to be used for text objects.  Unless
  757.         you have some unusually-named fonts, only the family name
  758.         (first component of the name) will appear on this menu.  See
  759.         later for more information on fonts.
  760.  
  761. Font style    Sets the font enhancement.  Only those options for which
  762.         fonts are available in the current family can be selected. 
  763.         Not available for ‘System Font’ text.
  764.  
  765. Size/Height    Sets the size of the text, in points (1/72 inch).  If
  766.         “As size” is selected, the size chosen will be used for
  767.         both width and height and can be specified by choosing a
  768.         preset size or entering it in the box.  If this is not
  769.         selected, the width can be set as above while the height can
  770.         be set independently by entering that in its box.
  771.  
  772. Text colour    Sets the foreground colour to be used for the text;  the
  773.         ‘inside’ of the characters is normally displayed using this
  774.         colour.  If the current palette allows, the text will be
  775.         anti-aliased using a number of steps between this colour and
  776.         the text background colour.  Text colour and background
  777.         colour apply to text areas as well as text objects.
  778.  
  779. Background    Sets the text background colour.  This is normally white, but
  780.         can be varied to control the anti-aliasing effect.
  781.  
  782. Line spacing    Only available when the default text style is being set;
  783.         controls the amount of extra space that will be added between
  784.         text lines when Return is pressed to terminate a text object, 
  785.         ready for the next one.  This is set in points.
  786.  
  787. Smart quotes    Only available to change the style of existing text objects
  788.         or areas.  Changes simple quotes (as typed from the keyboard)
  789.         into open and close pairs.  The enhanced quote characters 
  790.         may not be available in certain fonts.
  791.  
  792.         Note that drawings containing objects with enhanced quotes
  793.         (or any other top-bit-set characters) cannot be loaded into
  794.         some versions of Acorn Draw.
  795.  
  796. Reset quotes    Changes open and close quotes back into simple ones.
  797.  
  798.  
  799. Path Style menu
  800. ---------------
  801.  
  802. This menu has two functions.  In Select or Edit modes, it sets the style of
  803. the selected objects.  In Path Create mode, it sets the default style that
  804. will be used for new objects.
  805.  
  806. Line colour    Sets the colour that will be used to draw path outlines.
  807.  
  808. Fill colour    Sets the colour that will be used to fill the insides of
  809.         paths.
  810.  
  811. Line width    Sets the width to be used when drawing outlines, measured in
  812.         points.  Select a preset size, or enter the width in the box. 
  813.         If “Thin” is selected, the thinnest line that the screen or 
  814.         printer is capable of displaying will be used.
  815.  
  816. Line pattern    Sets the line style to be used for outlines;  either solid or
  817.         one of the ten dash patterns.
  818.  
  819. Caps/Joins    Sets the way in which the ends of open paths and line joins
  820.         are displayed.  The join, starting cap and ending cap can all
  821.         be set independently, and the size of the triangle cap 
  822.         controlled.
  823.  
  824. Winding rule    Controls what is considered to be the ‘inside’ of a path when
  825.         filling.  See the original Draw manual for an explanation.
  826.  
  827.  
  828. Special menu
  829. ------------
  830.  
  831. These options are available in Select mode, when an appropriate object is
  832. selected.
  833.  
  834. Text to path    Converts the selected text object into a group of paths (one
  835.         for each character).  Initially, the appearance does not
  836.         change, but the object can now be manipulated as a path and 
  837.         the path style rather than the text style applies.  This may
  838.         not give very good results for small font sizes, and is only
  839.         available for fonts which are defined as outlines.
  840.  
  841. Explode text    A single text object must be selected, which is converted
  842.         into a group of text objects each containing a single
  843.         character from the original and initially occupying the same 
  844.         positions.  Useful for effects such as spaced-out (kerned) or
  845.         vertical text.
  846.  
  847. Resize sprite    Resets the bounding box of a sprite object so that the sprite
  848.         appears at actual size (i.e. the size that it was set to when
  849.         it was first loaded).
  850.  
  851. Bounding box    Creates a rectangular path object, in the current path style,
  852.         which follows the bounding box of the original object and is
  853.         separated from it by the specified distance (in user units). 
  854.         Positive separation makes the box larger than the object;
  855.         negative separation makes it smaller (and so may overlap the 
  856.         object).
  857.  
  858.  
  859. Using libraries
  860. ---------------
  861.  
  862. The library can be used to store any type of object (except for text
  863. columns).  It is shared between all drawings being worked on, and objects are
  864. stored and accessed by name.  The library is saved separately from any
  865. drawings so it can be used for storing standard symbols, text fonts or clip
  866. art.
  867.  
  868. To store an object in the library, it must be selected (in Select or Edit
  869. mode).  Open the “Store” dialogue box in the “Library” menu, and enter a name
  870. for the object.  The name can be up to 20 characters long, and may include 
  871. any printable characters including space.  Press Return or click “OK”;  it
  872. will be added to the library.
  873.  
  874. To store every object in a drawing in the library, choose “Store all...” from
  875. the “Library” menu and confirm.  Each object will be indicated in turn, and
  876. the “Store” dialogue box displayed;  enter a name for the object.  Cancelling
  877. the dialogue will carry on with the next object without storing the current
  878. one.
  879.  
  880. To display the contents of the library, choose “Library...” from the icon bar
  881. menu or “Show...” from a document's  “Library” menu.  A window will open
  882. showing a scrolling list of the object names.  There are two library display
  883. modes:  one in a small window showing the list of object names only, and a
  884. larger window additionally showing details and a thumbnail view of the
  885. selected object.  To change from one view to another, use the window's
  886. toggle-size icon (at the right hand end of the title bar).
  887.  
  888. To paste an object from the library into a drawing (which need not be the one
  889. that it was copied out of), select it in the scrolling list.  Then select
  890. Library mode from the toolbox, or choose “Retrieve” from the “Library” menu.
  891. Click Select to place the object (centre at the pointer position), or press
  892. and hold Select to drag the object about before releasing it.  This can be
  893. repeated, or another object chosen and pasted, as required.
  894.  
  895. If the “Reset layer” option is set, the library object will be added on the
  896. current layer.  If this option is not set, the object will remain on the same
  897. layer that it was on when it was added to the library.  If this layer is not
  898. defined in the drawing, the object will not be visible and will be
  899. unselectable.
  900.  
  901. To load a new library, double-click on it in a Filer display or drag its icon
  902. to the icon bar.  This will replace the current library;  if it is modified,
  903. confirmation is requested.  To merge libraries, drag the icon to the library
  904. window;  its contents will be added to the current library and any objects
  905. with duplicated names will be superseded by those in the merged library.
  906.  
  907. The library window can be closed and re-opened without losing the contents of
  908. the library.  To update an object in the library, simply store it with the
  909. same name that was used before;  the contents will be replaced.
  910.  
  911. The library window has its own menu with the following options:
  912.  
  913. File        Standard dialogue box giving information about the current 
  914.         library.
  915.  
  916. Save library    Saves the contents of the library as a library file;  used in
  917.         the normal way.
  918.  
  919. Clear library    Clears out the library, i.e. deletes all objects.
  920.  
  921. Delete object    Deletes the selected object from the library.
  922.  
  923. Rename object    Changes the name of the selected object.  Edit the name in
  924.         the entry box leading from this option.
  925.  
  926. Save object    Saves the selected object as a Draw file;  used in the normal
  927.         way.
  928.  
  929. Units        Sets the unit which is used when displaying the details of
  930.         the selected object.
  931.  
  932.  
  933. Using layers
  934. ------------
  935.  
  936. Layers are always available, but if you take no specific action to use them
  937. then everything will work as before.  A drawing can have up to 32 layers.
  938. Each object appears on a particular layer, and each layer can be made visible
  939. (i.e. the objects are shown on the screen, or printed) and selectable (i.e. 
  940. the objects can be selected and operated on) independently.  There is always
  941. a current layer set, on which new objects are created and existing objects
  942. can be moved to.
  943.  
  944. Most aspects of layers are controlled by a dialogue box opened by choosing
  945. “Layers...” from the “Misc” menu or by clicking Adjust on the layer display
  946. in the toolbox.  It shows a scrolling list of the layers currently defined,
  947. with two buttons by each one.  When “Sel” is on, objects on that layer can be
  948. selected and operated on;  otherwise they cannot be selected.  When “Vis” is
  949. on, objects on that layer will be shown on the screen and printed;  otherwise
  950. they are invisible.  The current layer is shown by the highlight bar;  to
  951. designate another one as current, click on the name or number in the
  952. scrolling list.
  953.  
  954. To define a new layer, click “Add layer”;  a new layer will be added with the
  955. first free layer number and a default name.  It will also be selected as the
  956. current layer.  To change the name or number of a layer, select it as 
  957. current and then edit the name or number in the boxes below and press Return. 
  958. If the number is changed, and the new number is already defined as a layer,
  959. then the two layer names and information will swap.
  960.  
  961. To remove the definition of a layer, select it as current and then click
  962. “Delete layer”.  Any objects that were on deleted layers will, when the
  963. dialogue is finished, be moved to layer 0.
  964.  
  965. To select objects on all layers, click “Sel all”.  To select only objects on
  966. the current layer, click “Sel this”.  To make objects on all layers visible,
  967. click “View all”.  To view only the objects on the current layer, click
  968. “View this”.
  969.  
  970. When all the layer settings are as required, click “OK”.  Press Escape or
  971. click the dialogue box’s close icon to abandon the dialogue and not change
  972. any layer settings.
  973.  
  974. Any new objects will be created on the current layer.  To change the layer of
  975. existing objects, select them and  choose “New layer” from the “Arrange”
  976. menu.  The objects will be moved onto the current layer.
  977.  
  978. Layer number 0 (default name “Standard”) is slightly special.  This is the
  979. layer that will be used by default if no action is taken to define new
  980. layers.  Files created by Acorn Draw and other applications, and those saved
  981. without the new format option set, will have all their objects on layer 0.
  982. Any objects on layers that are deleted, or objects merged from a file whose
  983. layers are not defined, will also appear on layer 0.  This layer cannot be
  984. deleted or renumbered, although it can be made unselectable or invisible like
  985. any other layer.  If you intend to create a layered drawing, I would
  986. recommend that you reserve layer 0 for unlayered objects and use layers 1
  987. through 31 as required.
  988.  
  989. Layer numbers are important if layered objects are to be transferred between
  990. drawings or drawings merged into one another.  Objects will be transferred
  991. onto layers with the same number, regardless of the name;  if a layer is not
  992. defined in the drawing that the objects are being merged into, any objects on
  993. that layer will appear on layer 0.
  994.  
  995. When saving layered drawings, remember to have “New format” and “With
  996. settings” turned on so that the layer information is retained.
  997.  
  998.  
  999. Keystroke equivalents
  1000. ---------------------
  1001.  
  1002. Any mouse action in a window causes it to grab the input focus from then on.
  1003. Keystroke equivalents for menu actions are shown on the menus (they can be
  1004. hidden, if desired, to make the menus smaller, but they will still perform
  1005. the action).  Note that some keystrokes have an  action on both the “Create”
  1006. and “Edit” menus;  when in path edit mode the “Edit” menu applies, and the
  1007. “Create” menu at other times.  The following keystrokes also have an effect:
  1008.  
  1009. Up,Down,Left,Right    When dragging, move the pointer by one pixel.  In
  1010.             Select mode, when not dragging, move the selected
  1011.             objects by one pixel (if grid lock is off) or one
  1012.             grid step (if grid lock is on).  In path edit mode,
  1013.             when not dragging, move the current point in the same
  1014.             way.
  1015.  
  1016. Escape            Abandon an operation in progress.
  1017.  
  1018. Shift-Select        Centre the display at the pointer position, if
  1019.             possible.
  1020.  
  1021. Space            Switch back and forth between the Select tool and the
  1022.             last tool used.
  1023.  
  1024. Print            Pop up the “Print” dialogue box
  1025.  
  1026. f3            Pop up the “Save drawing” dialogue box.
  1027.  
  1028.  
  1029. Font Handling
  1030. -------------
  1031.  
  1032. There are two menus associated with fonts, “Font name” and “Font style”.
  1033. Normally, the name menu lists the font family name (the first component of
  1034. the pathname) while the style menu gives the valid styles for that selected
  1035. family.  The following weights are understood:
  1036.  
  1037.     .Light
  1038.     .Book
  1039.     .Medium        .Standard    .Regular
  1040.     .Demi
  1041.     .Bold
  1042.     .Heavy
  1043.     .Black
  1044.  
  1045. and the following slopes:
  1046.  
  1047.     .Normal        .Roman
  1048.     .Italic        .Oblique
  1049.  
  1050. which should cover most of the fonts in common use (if a font has only one
  1051. component in its name, standard weight and upright is assumed).  If a font is
  1052. installed on the system with an style attribute which is not known, then that
  1053. attribute will appear on the name menu as a separate family.  For example, if
  1054. the fonts ‘Oxford.Ultra’ and ‘Oxford.Ultra.Italic’ are installed (where
  1055. ‘Ultra’ is not a  recognised weight), they will appear on the name menu as 
  1056. “Oxford-Ultra” with “Medium” weight and slopes of “Normal” and “Italic” on
  1057. the style menu.
  1058.  
  1059.  
  1060. Bugs, Features and Cautions
  1061. ---------------------------
  1062.  
  1063. The following are the dropoffs, bugs and omissions that I know about in the
  1064. current version:
  1065.  
  1066.   1.    The little-known facility in the original to directly copy selected
  1067.     objects between drawings (by using the “Select/Copy” menu option) is
  1068.     not supported.  More than one document at a time can be in Select
  1069.     mode.
  1070.  
  1071.   2.    Line pattern changes are not applied to path objects which are
  1072.     members of groups.
  1073.  
  1074.   3.    DrawPlus cannot load DXF files in the way that the original version
  1075.     of Draw could.  Use the original to convert DXF files, if you really
  1076.     want to.
  1077.  
  1078.   4.    The only major facility missing which was present in the original is
  1079.     the “New view” option to open two windows on the same drawing.  Sorry
  1080.     about this, but by the time I got around to thinking about
  1081.     implementing this the fundamental program structure didn't permit it
  1082.     to be implemented (too many extensive changes were required). 
  1083.     Anyway, I never have enough room on my screen for one view, let alone
  1084.     two, and switching magnification is much more convenient...
  1085.  
  1086.   5.    If a drawing with background objects is merged with another, the
  1087.     background objects in the merged one lose their background status.
  1088.  
  1089.   6.    Text being edited displays wrongly in very low-resolution modes (e.g. 
  1090.     mode 2).  But nobody ever uses these modes (and Acorn’s Edit gets it
  1091.     wrong too!).
  1092.  
  1093.   7.    There is a limit of 255 fonts which DrawPlus can use (display on the
  1094.     font menus and use in a drawing).  This is because of to what I
  1095.     consider to be a very bad design decision by Acorn when implementing
  1096.     the Draw file format:  there is no feasible way around it, so please 
  1097.     don‘t ask.
  1098.  
  1099.   8.    There is no Undo or Redo, as implemented in later versions of Acorn
  1100.     Draw.  It would be nice to have this, but it would be very difficult
  1101.     to implement at this stage of development.
  1102.  
  1103. Unforeseen errors are sometimes reported as “Internal error” or “Fatal error”
  1104. and a message.  If you get one of these, let me know what happened (in the
  1105. case of “Fatal” and your masterpiece being lost, after you’ve counted to ten
  1106. and calmed down) with as much information as possible, namely:
  1107.  
  1108.     Machine type, OS version and memory available
  1109.     Version of DrawPlus being used
  1110.     Error message or other symptoms
  1111.     Is the problem repeatable, or is it confined to just one drawing?
  1112.     Any unusual modules which may be installed (e.g. screen savers).
  1113.  
  1114. If you believe that the problem is related to printing, and you are using a
  1115. TurboDriver, then try printing the same file using the standard Acorn driver. 
  1116. If this gives a correct result then complain to Computer Concepts, not to me.
  1117.  
  1118. Note to Impression II users:  When saving Draw files for loading into the
  1119. border library, select the corner and edge pieces (corner at the front) and
  1120. then save them as a selection to disc or directly into the border setup
  1121. dialogue box.  Saving them as a drawing, even if they are the only two
  1122. objects in it, or trying to use anything other than path objects as a border
  1123. will cause Impression to crash.  Drawings can be loaded into frames with no
  1124. problem.
  1125.  
  1126.  
  1127. Finally...
  1128. ----------
  1129.  
  1130. I hope you like using and are satisfied with DrawPlus.  If so, tell your
  1131. friends.  If not, or if you have any suggestions for improvements or
  1132. suggestions, please contact me;  I will  try to fix bugs and incorporate
  1133. reasonable ideas in forthcoming versions.
  1134.  
  1135. Standard boring Copyright Notice:  All program code and the contents of the
  1136. supporting files are copyright © myself (Jonathan Marten) 1990­1996.  No
  1137. rights are taken or implied over any drawings or other works which may be
  1138. produced using this application.
  1139.  
  1140. DrawPlus is “Freeware” (not “PD”).  You are free to give this application to
  1141. anyone you please via any medium, provided it is delivered with all the
  1142. supplied files, unaltered.  Bulletin boards, PD libraries or magazines may
  1143. carry or distribute the application, but are requested to contact me first to
  1144. ensure that they have an up-to-date version (especially if it is to be
  1145. immortalised in plastic on a CD).  You may not sell this application, or
  1146. incorporate it or any part of it into a system or other application that is
  1147. for sale (for however much and for whatever reasons) or released as copyright
  1148. material, except that PD libraries may make a nominal charge to cover disc
  1149. duplication and postage.
  1150.  
  1151. A great many hours of work have gone into the development and maintenance of
  1152. this application, and I would like to keep supporting it.  Although I have
  1153. supplied the application free, donations will be gratefully received (amount
  1154. at your discretion).  If you send a blank disc as well, I will return it with
  1155. any useful PD or my own software that I may have lying around.  You can
  1156. obtain the latest version of the application, at any time, by sending a blank
  1157. disc.
  1158.  
  1159. Disclaimer (1):  Apart from using their (excellent) C compiler and (somewhat
  1160. dubious) RiscOS library, this application has no connection with Acorn.  Any
  1161. confusion caused by the use of the term “Draw” or similar is regretted.
  1162.  
  1163. Disclaimer (2):  This software is supplied “as is”;  no warranty, express or
  1164. implied, of the merchantability of this software or its fitness for any
  1165. particular purpose is given.  In no circumstances shall the author, or any
  1166. provider or distributor of this software, be liable for any damage, loss of
  1167. profits, or any indirect or consequential loss arising out of the use of this
  1168. software or inability to use this software.
  1169.  
  1170. Disclaimer (3):  This software has no connection whatsoever with any
  1171. commercial, introductory, demonstration or shareware application with the
  1172. same or any similar name produced by Serif Inc. for DOS or Windows.  No part
  1173. of DrawPlus was copied from, based on, derived from or even inspired by any
  1174. Serif product.  The name “DrawPlus” has been in use to denote this Acorn
  1175. application since 1991.  Any threats of legal or any other action regarding
  1176. copyright or trade mark violation will be ignored.
  1177.  
  1178. Acknowledgments:  Many thanks to those who wrote to me, pointing out problems
  1179. with the original or making suggestions (or just saying that they liked it!). 
  1180. There are too many people to mention, but I‘m sure that those who made
  1181. (feasible) suggestions will recognise them here.
  1182.  
  1183. Special thanks to Barry Thompson, for loaning me his copy of Impression II
  1184. (with the dongle!) to track down the border library problem (and for finding
  1185. more bugs than everybody else put together...);  John Davey for the
  1186. ModeExtend module which allowed me to diagnose the multisync-related bugs.
  1187.  
  1188. Background:  I decided to develop this application after using Acorn’s
  1189. original Draw for quite a number of drawings and finding some problems with
  1190. it (none of them serious, but quite a few of them annoying).  The hardware
  1191. and software that I used was as follows:
  1192.  
  1193.     Original ‘440 with 50Mb SCSI disc (a bit more room now!)
  1194.     Acorn ANSI C release 3 compiler, debugger and RiscOS library (later,
  1195.       release 4)
  1196.     My version of Make (available on Norwich Computer Services Careware
  1197.       disc #1)
  1198.     An expanded version of MicroEmacs (originally from David Pilling)
  1199.     Some of David Pilling’s C Tools (notably ‘ctags’)
  1200.     ‘Old Faithful’ BBC B with Lancaster Kermit, for remote debugging
  1201.     Various other tools such as Paint and FormEd
  1202.  
  1203. Most of the operations have the ‘look and feel’ of the original Draw, and
  1204. this was indeed where most of the inspiration came from.  Many of the
  1205. additional facilities, notably the alignment operations and the four-way
  1206. object handles, also layers and dash patterns, were inspired by Claris'
  1207. MacDraw II for the Apple Macintosh.  The library facility was also based on
  1208. this.  The original ‘Text to path’ facility was inspired by (but not copied
  1209. from) Data Store's FontFX application, which is recommended for achieving
  1210. even more exotic font effects.  The grid options and appearance, and the
  1211. Shift-Select display control (“Window”) were copied from Racal-Redac's Visula 
  1212. system.  The font name/style system, the background facility, polygon create
  1213. and the ‘Skew’ options were entirely my own work (honest!).
  1214.  
  1215. Etymology (look it up like I had to):  The original package was called Draw
  1216. One-and-a-Half because it was only halfway towards what I was intending to
  1217. write (the full package was going to be called Draw 2).  But then Acorn
  1218. started calling their next version Draw 2, so this application was renamed
  1219. DrawPlus.
  1220.  
  1221.  
  1222. Contacts:  I can be contacted by or at:
  1223.  
  1224. Snail-Mail:    11 Carmarthen Close
  1225.         Farnborough
  1226.         Hampshire
  1227.         GU14 8TJ
  1228.  
  1229. Phone:        (01252) 542431 (at reasonable hours)
  1230.  
  1231. E-mail:        jmarten@cix.compulink.co.uk
  1232.  
  1233. Arcade BBS:    387
  1234.  
  1235.  
  1236. Jonathan Marten
  1237. August 1991 (last update: April 1996)
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.                              Technical Details
  1246.                             ===================
  1247.  
  1248. This section gives details of the additional data structures used by
  1249. DrawPlus.  They are defined in terms of C structures.  Details of the
  1250. standard types and objects can be found in the include file drawftypes.h
  1251. supplied with Acorn ANSI C release 3 or higher.  Any future changes to these
  1252. structures will be backwards compatible with  DrawPlus version 2·00.
  1253.  
  1254.  
  1255. Extended object tag
  1256. -------------------
  1257.  
  1258. This replaces the 4-byte object tag used in standard Draw objects, and stores
  1259. the layer information and miscellaneous flags.  The default for the extended
  1260. information is all zeros, which means that objects and files without this
  1261. information are fully compatible with other applications which produce or use
  1262. Draw files.
  1263.  
  1264. The extended tag is described by the following structure:
  1265.  
  1266. typedef unsigned char draw_tagtyp;
  1267. typedef unsigned char draw_layer;
  1268. typedef unsigned char draw_objflags;
  1269.  
  1270. struct draw_extag            /* Extended object tag */
  1271. {
  1272.     draw_tagtyp tag;        /* Basic object type */
  1273.       draw_layer layer;        /* Object layer, 0 to 31 */
  1274.       draw_objflags flag;        /* Object flags */
  1275.     unsigned char spare;        /* For future expansion */
  1276. };
  1277.  
  1278. The following bits in flag are used at present:
  1279.  
  1280. #define flag_NODISPLAY        1    /* Never displayed */
  1281. #define flag_LOCKED        2    /* Object is locked */
  1282. #define flag_HIDDEN         4    /* Temporarily hidden */
  1283.  
  1284. The NODISPLAY flag is used to mark objects, such as saved settings, used
  1285. internally.  The HIDDEN flag marks objects that are temporarily invisible,
  1286. such as path objects that are in the process of being edited.  The LOCKED
  1287. flag is set if the object has been locked.
  1288.  
  1289. The extended tag replaces the original draw_tagtyp in the object header, as
  1290. follows:
  1291.  
  1292. struct draw_objhdr            /* General object header */
  1293. {
  1294.     draw_extag t;            /* Extended tag */
  1295.     draw_sizetyp size;        /* Object size */
  1296.     draw_bboxtyp bbox;        /* Bounding box */
  1297. };
  1298.  
  1299.  
  1300. Saved settings
  1301. --------------
  1302.  
  1303. Settings, styles, layer and dash pattern information is saved in a number of
  1304. objects which are described by the following structure:
  1305.  
  1306. struct draw_setstrhdr            /* Settings object header */
  1307. {
  1308.     draw_extag t;            /* Extended tag */
  1309.     draw_sizetyp size;        /* Object size */
  1310.     draw_bboxtyp bbox;        /* Bounding box */
  1311.     int version;            /* Structure version */
  1312.     int contents;            /* What this contains */
  1313. };
  1314.  
  1315. The settings structure version field is used to detect incompatible or
  1316. out-of-date settings;  it is currently 4.  The contents field indicates what
  1317. is stored in this structure.  The types currently defined are:
  1318.  
  1319. #define set_USER        1    /* General user settings */
  1320. #define set_TEXTSTYLE          2    /* Default text style */
  1321. #define set_PATHSTYLE       3    /* Default path style  */
  1322. #define set_EXTRAS         4    /* Layers & dash patterns */
  1323. #define set_EXPAND         5     /* For future expansion */
  1324.  
  1325. The data immediately follows this structure.  Since the format and content is
  1326. subject to change, details are not included here.  The object type for a
  1327. saved settings object is 101.
  1328.  
  1329.  
  1330. Library file
  1331. ------------
  1332.  
  1333. The library file format is very similar to a standard Draw file.  The header
  1334. is identical, except that the creator string is “Library” rather than “Draw”. 
  1335. The major version 0number is 2.
  1336.  
  1337. The rest of the file contains standard Draw objects described by the
  1338. following structures:
  1339.  
  1340. struct draw_libstrhdr            /* Library object header */
  1341. {
  1342.     draw_extag tag;            /* Object tag */
  1343.     draw_sizetyp size;        /* Overall size */
  1344.     draw_bboxtyp bbox;        /* Object’s bounding box */
  1345.     char name[21];            /* Object name */
  1346.     time_t time;            /* Time last updated */
  1347. };
  1348.  
  1349. The included object (with its own tag and bounding box) follows immediately
  1350. after the header:
  1351.  
  1352. struct draw_libstr            /* Library object */
  1353. {
  1354.     draw_extag tag;            /* Object tag */
  1355.     draw_sizetyp size;        /* Overall size */
  1356.     draw_bboxtyp bbox;        /* Object’s bounding box */
  1357.     char name[21];            /* Object name */
  1358.     time_t time;            /* Time last updated */
  1359.     draw_objhdr object;        /* Object data */
  1360. };
  1361.  
  1362. The type time_t is defined in the header file time.h.  The object type for a
  1363. library object is 100.
  1364.