StyleChangeRecord scr = new StyleChangeRecord();
scr.setMove(0, dya);
scr.setDefinedStyles(-1, 1, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, -dya));
shapeRecords.add(new StraightEdgeRecord(dxa, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 2, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxb, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 3, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxc, 0));
shapeRecords.add(new StraightEdgeRecord(0, dya));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 6, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dyb));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 9, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dyc));
shapeRecords.add(new StraightEdgeRecord(-dxc, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 8, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(-dxb, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 7, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(-dxa, 0));
shapeRecords.add(new StraightEdgeRecord(0, -dyc));
scr = new StyleChangeRecord();
scr.setDefinedStyles(-1, 4, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, -dyb));
// down 1
scr = new StyleChangeRecord();
scr.setMove(dxa, 0);
scr.setDefinedStyles(2, 1, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dya));
scr = new StyleChangeRecord();
scr.setDefinedStyles(5, 4, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dyb));
scr = new StyleChangeRecord();
scr.setDefinedStyles(8, 7, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dyc));
// down 2
scr = new StyleChangeRecord();
scr.setMove(dxa + dxb, 0);
scr.setDefinedStyles(3, 2, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dya));
scr = new StyleChangeRecord();
scr.setDefinedStyles(6, 5, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dyb));
scr = new StyleChangeRecord();
scr.setDefinedStyles(9, 8, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(0, dyc));
// right 1
scr = new StyleChangeRecord();
scr.setMove(0, dya);
scr.setDefinedStyles(1, 4, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxa, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(2, 5, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxb, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(3, 6, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxc, 0));
// right 2
scr = new StyleChangeRecord();
scr.setMove(0, dya + dyb);
scr.setDefinedStyles(4, 7, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxa, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(5, 8, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxb, 0));
scr = new StyleChangeRecord();
scr.setDefinedStyles(6, 9, -1, styles);
shapeRecords.add(scr);
shapeRecords.add(new StraightEdgeRecord(dxc, 0));
ShapeWithStyle sws = new ShapeWithStyle(styles);
sws.addShapeRecords(shapeRecords);
DefineShape4Tag shape = new DefineShape4Tag();