Basic Functions Specification

Draw Shapes

To be able to draw various shapes onto a canvas, the shapes should be viewable by a uniform outline and a possible line colour.

Traditionally the shape are drawn with a smooth contour.

For the purposes of the tool the shapes should be allowed to have complex contours (ie. where a contour line may cross itself).

Shapes can be overlapped and are normally transparent.

Add Labels

To be able to display text on the canvas to label the shapes and also to create notes or label regions.

On occasions straight lines may be used to more clearly associate a lable with a contour.

One configuration of the system should ensure that the associations between contours and labels are automatically maintained as shapes or labels are moved.

Move Labels/Shapes

The ability to move objects that already exist on the canvas to a new position.

While doing this some inter-object relations may need to be managed.

Resize Labels/Shapes

The ability to resize objects that already exist on the canvas to a new size.

Fill Shape Intersections

The ability to colour in a unique region, either the intersection of two or more shapes or the remainder of a shape after other intersections.

Delete Unwanted Objects

To be able to delete unwanted objects.

Copy/Paste Objects

To be able to select an object and create a duplicated of it to be placed elsewhere.

Other Core Functions

To support those interested in the use of the tool.

Logging and data capture

The logging of user behaviour with the tool is of importance.

Logs should be maintained so that their data can be easily collected. Internet based logging, or writting to reliable local store.

Configuration power

For the purposes of a studying with the tool, it should have highly flexible configurations. The configuration feature support the replication of the same settings across a number of instances of the tool. The configuration details should be saved as part of the logging facility.

The experimenter should be able to enforce or enable the following:

1) Adherence or otherwise to the well-formedness conditions.

2) Ensure that object types are created in a specified manner/order. For example, the configuration could be given by a regular expression such as:


(This would mean any order of contours and labels, but once once on is filled no more created contours or labels.)

The same could apply for moving objects and system operations:


After each movement of a contour all labels are deleted.

Well formedness conditions

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.