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