All Classes and Interfaces

Class
Description
need to number points so can see whether shared
The coordinates used on the board
A layer comprises two two dimensional arrays of 16 bit ints, each hoding the id of a colour object, allowing for a panel of 30 cm by 30 cm, each containing 3072 by 3072 pixels spaced 0.1 mm apart This board provides data to the canvas of paintComponent in DotsCanvas
" So each layer will take around 18 Megabytes ( 2 * 3K * 3K)
On the user screen, y+ is up, so y is mirrored from the dots array
dots 0, 0 maps to top left cornerof user screen?????
The user screen shadows the layers with a scaling factor
so x = horPixels/2, y = verPixels/2 will start to show in the middle May need an index from id to line Only one board so make most of it static
To provide colour for display
The control points used by bezier curves todo: need to number points so can see whether shared
Bezier cubic curve class
Cur will manage all cursors.
Curve is the key to all other classes in this application and then some.
/** Bezier curve class parent
Set up defaults for Curves
debugging values
display the picture
DotsCanvas will display the drawing design.
Simplest implementation of point -
D Point With ID
manage a dst stitching file
build the Edit menu
need to number points so can see whether shared
east tool bar for colour selection
Super class for all shaped figures
The coordinates of points used on the board
Filer
Global variables and constants todo: Need a GUI to manage them.
G F G
The Grid class provides methods for setting grid size and turning on and off
Help Menu
The xxx file format will follow this structure.
handle keyboard inputs
See curve.area.Board for comments on the dot backing array.
Layer holds the descriptive collections of points and lines.
x+ is up, so x is mirrored from the dots array
dots 0, 0 maps to top left cornerof user screen
The user screen shadows the layers with a scaling factor
so x = horPixels/2, y = 0 will start to show in the middle lhs
The y axis is shared by both
May need an index from id to line
Line is the parent of all lines
log events as they happen to a file for later analysis.
different values for mode of operations.
mode menu
deal with mouse user events
mover popup menu
an area to hold stitches // could also be line of zigzag stitches // defined by a set of lines or points ??????? // lines would be unique, points would be shared by lines // areas would be separated by jump stitches
my xml class
My XML Element
look for neighbours on the board
Not found exception
Not Unique Exception
NToolBar
open
interface to ensure objects can be saved
To angle an eclipse.
for demo
To keep pairs of data to track old/new point references
anonymous points for curved lines, but not put on board
popup menu window
Progress
Bezier curve class
Rectangle class
Save
A square shaped object
A super class for all stitch file input/output
Have sections to show what the mouse is doing at any time.
Straight Line class
TextAreaEditor
TextAreaRenderer
Translate coordinates
b - board - as in board matrix
f - func - indicated on cursor position dis-play - 0, 0 at centre of screen to start wth - value in objects
s - screen - windows coordinates - tlh 0,0, brh screen width, screen height
offset - screen pixels to screen mid point px posx0, posy0
scale - multiple functional over screen
Trig class gives quick answers to lookup tables
utility routines
western toolbar -