<< Chapter < Page | Chapter >> Page > |
An explanation of element names
I promised earlier that I would have more to say about element names later. That time has come.
SVG elements don't have names, other than the name that defines the type of element such as rect ( Listing 6 ) and line ( Listing 8 ). Names such as border ( Listing 5 ), floor and wall ( Listing 7 ) are purely Java mechanisms for keeping track of the different elements in the drawing.
(I should have been referring border, floor, and wall as objects instead of elements in the Java code earlier, but I didn't want to make things even more confusing than they may alreadybe.)
The names disappear
By the time the Java code is converted into SVG code, those identifying names have disappeared and the SVG code consists of
(There is also something in the SVG code called content, which is represented by the title element in Listing 8 .)
The line elements
The first SVG element named line in Listing 8 corresponds to the Java object named floor in Listing 7 . The second SVG element named line in Listing 8 corresponds to the Java object named wall in Listing 7 .
Attributes of the line elements
The stroke and stroke-width attributes in Listing 8 should already be familiar to you as should the coordinate attributes named x1, y1, x2, and y2.
Unlike the SVG code for the rect element in Listing 6 , where there was only one pair of coordinate attributes named x and y, a line element asshown in Listing 8 requires two sets of coordinate attributes. Therefore, the two sets are distinguished from one another byappending a 1 and a 2 to the basic attribute names of x and y (x1, y1, x2, and y2) .
If you compare the coordinate attributes in Listing 8 with the coordinate values in the Java code in Listing 7 , and convert from inches to SVG units, you should find that they match.
The Java code in Listing 9 causes four more rectangles to be drawn that represent the following objects in the drawing:
Listing 9 . Draw more rectangles. |
---|
//Draw the table top.
Element tableTop = SvgLib21.makeRect(svg,ns,
"rectangle",1.0,
3.0,7.0,
1.0);
//Draw the table leg.Element tableLeg = SvgLib21.makeRect(svg,
ns,"rectangle",
6.5,0.5,
0.5,2.5
);//Draw Mass C
Element massC = SvgLib21.makeRect(svg,ns,
"rectangle",2.0,
4.0,2.0,
2.0);//Draw Mass BElement massB = SvgLib21.makeRect(svg,
ns,"rectangle",
5.0,4.0,
2.0,2.0
); |
Notification Switch
Would you like to follow the 'Accessible physics concepts for blind students' conversation and receive update notifications?