From: <sun...@us...> - 2005-09-30 12:01:24
|
Update of /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28318/docs/texinfo/usingcs/aws/fvg Modified Files: circle.txi definition.txi ellipse.txi line.txi path.txi rect.txi Log Message: Eric Sunshine fixed a bunch of Texinfo mark-up problems in AWS FVG documentation and corrected a number of navigation problems. Also improved some of the actual content. Index: circle.txi =================================================================== RCS file: /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg/circle.txi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- circle.txi 29 Sep 2005 18:09:00 -0000 1.1 +++ circle.txi 30 Sep 2005 12:00:57 -0000 1.2 @@ -1,23 +1,26 @@ @c -*-texinfo-*- -@node AWS, Flexible Vector Graphics Definition -@subsection FVG circle +@node AWS FVG Circle, AWS FVG Ellipse, AWS FVG Rectangle, AWS FVG +@subsubsection @sc{fvg} Circle Draws a perfect circle around the center, and with the specified radius. @subsubheading Defining the Shape -Example: - -<circle cx="100" cy="100" r="50" stroke="#ff0000" fill="#ffffff" /> +Example: This creates a perfect circle filled with white and bordered by red. -This creates a flattened circle filled with white and bordered by red. +@example +<circle cx="100" + cy="100" + r="50" + stroke="#ff0000" + fill="#ffffff" /> +@end example @subsubheading Allowed Parameters -@multitable @columnfractions .25 .40 .35 +@multitable @columnfractions .10 .5 .40 .45 @item @emph{Name} @tab @emph{Required} @tab @emph{Example} @tab @emph{Description} - @item @code{cx} @tab yes @tab @code{cx="50"} @@ -36,15 +39,14 @@ @item @code{stroke} @tab no @tab @code{stroke="#ff0000"} -@tab Turns on stroking of the shape, and sets the color. If this is -not present, the shape will not be stroked. This value or fill must +@tab Turns on stroking of the shape, and sets the color. If this is not +present, the shape will not be stroked. Either this value or @samp{fill} must be present or the shape will be invisible. @item @code{fill} @tab no @tab @code{fill="#ff0000"} -@tab Turns on filling of the shape, and sets the color. If this is -not present, the shape will not be filled. This value or stroke must +@tab Turns on filling of the shape, and sets the color. If this is not +present, the shape will not be filled. Either this value or @samp{stroke} must be present or the shape will be invisible. - @end multitable Index: definition.txi =================================================================== RCS file: /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg/definition.txi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- definition.txi 29 Sep 2005 18:31:47 -0000 1.2 +++ definition.txi 30 Sep 2005 12:00:57 -0000 1.3 @@ -1,40 +1,39 @@ @c -*-texinfo-*- -@node AWS -@subsection Flexible Vector Graphics Definition +@node AWS FVG, , AWS Window Scripting, AWS +@subsection Flexible Vector Graphics -Flexible Vector Graphics is a subset of Scalable Vector Graphics. It stays as close -as possible to the SVG 1.1 specification, while omitting some of the more complex -operations. +Flexible Vector Graphics (@sc{fvg}) is a subset of Scalable Vector Graphics +(@sc{svg}). @sc{fvg} is the graphics system underlying the @sc{aws2} Crystal +Space embedded windowing system. It mirrors as closely as possible the @sc{svg} +1.1 specification, while omitting some of the more complex +operations. The @sc{svg} 1.1 specification can be found here: -Here we will define the functionality of @sc{fvg} and make some notes about particular -differences between SVG and @sc{fvg}. +@noindent +@uref{http://www.w3.org/TR/SVG/} + +In this document, we will define the functionality of @sc{fvg} and make some +notes about particular differences between @sc{svg} and @sc{fvg}. @subsubheading Defining a Shape -@sc{fvg} should be included directly in AWS's XML definition files. Just as the normal -definition files can use automation constructs, fvg can too. +@sc{fvg} should be included directly in @sc{aws}'s @sc{xml} definition +files. Just as the normal definition files can use automation constructs, so +too can @sc{fvg}. @subsubheading Basic Shapes -FVG includes all the same basic shapes as SVG 1.1. +@sc{fvg} includes all the same basic shapes as does @sc{svg} 1.1. @menu - -* rect -* circle -* ellipse -* line -* path -* polyline -* polygon - +* AWS FVG Rectangle:: @sc{fvg} Rectangle +* AWS FVG Circle:: @sc{fvg} Circle +* AWS FVG Ellipse:: @sc{fvg} Ellipse +* AWS FVG Line:: @sc{fvg} Line +* AWS FVG Path:: @sc{fvg} Path @end menu -@importss{aws,fvg,rect.txi} -@importss{aws,fvg,circle.txi} -@importss{aws,fvg,ellipse.txi} -@importss{aws,fvg,line.txi} -@importss{aws,fvg,path.txi} - - - +@importsss{usingcs,aws,fvg,rect.txi} +@importsss{usingcs,aws,fvg,circle.txi} +@importsss{usingcs,aws,fvg,ellipse.txi} +@importsss{usingcs,aws,fvg,line.txi} +@importsss{usingcs,aws,fvg,path.txi} Index: ellipse.txi =================================================================== RCS file: /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg/ellipse.txi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ellipse.txi 29 Sep 2005 18:09:00 -0000 1.1 +++ ellipse.txi 30 Sep 2005 12:00:57 -0000 1.2 @@ -1,25 +1,30 @@ @c -*-texinfo-*- -@node AWS, Flexible Vector Graphics Definition -@subsection FVG ellipse +@node AWS FVG Ellipse, AWS FVG Line, AWS FVG Circle, AWS FVG +@subsubsection @sc{fvg} Ellipse -The ellipse is a generalized circle. It has separate radi for +The ellipse is a generalized circle. It has separate radii for the x and the y coordinates. You can think of an ellipse as a shape drawn inside a rectangular box, and each edge of the box just touching the extremes of the ellipse. @subsubheading Defining the Shape -Example: - -<ellipse cx="100" cy="100" rx="10" ry="30" stroke="#ff0000" fill="#ffffff" /> +Example: This creates a flattened ellipse filled with white and bordered by +red. -This creates a flattened ellipse filled with white and bordered by red. +@example +<ellipse cx="100" + cy="100" + rx="10" + ry="30" + stroke="#ff0000" + fill="#ffffff" /> +@end example @subsubheading Allowed Parameters -@multitable @columnfractions .25 .40 .35 +@multitable @columnfractions .10 .5 .40 .45 @item @emph{Name} @tab @emph{Required} @tab @emph{Example} @tab @emph{Description} - @item @code{cx} @tab yes @tab @code{cx="50"} @@ -43,15 +48,14 @@ @item @code{stroke} @tab no @tab @code{stroke="#ff0000"} -@tab Turns on stroking of the shape, and sets the color. If this is -not present, the shape will not be stroked. This value or fill must +@tab Turns on stroking of the shape, and sets the color. If this is not +present, the shape will not be stroked. Either this value or @samp{fill} must be present or the shape will be invisible. @item @code{fill} @tab no @tab @code{fill="#ff0000"} -@tab Turns on filling of the shape, and sets the color. If this is -not present, the shape will not be filled. This value or stroke must +@tab Turns on filling of the shape, and sets the color. If this is not +present, the shape will not be filled. Either this value or @samp{stroke} must be present or the shape will be invisible. - @end multitable Index: line.txi =================================================================== RCS file: /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg/line.txi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- line.txi 29 Sep 2005 18:31:47 -0000 1.1 +++ line.txi 30 Sep 2005 12:00:57 -0000 1.2 @@ -1,20 +1,25 @@ @c -*-texinfo-*- -@node AWS, Flexible Vector Graphics Definition -@subsection FVG line +@node AWS FVG Line, AWS FVG Path, AWS FVG Ellipse, AWS FVG +@subsubsection @sc{fvg} Line Draws a line between two points. @subsubheading Defining the Shape -Example: +Example: This creates a red line between two points. -<line x1="100" y1="100" x2="110" y2="130" stroke="#ff0000" /> +@example +<line x1="100" + y1="100" + x2="110" + y2="130" + stroke="#ff0000" /> +@end example @subsubheading Allowed Parameters -@multitable @columnfractions .25 .40 .35 +@multitable @columnfractions .10 .5 .40 .45 @item @emph{Name} @tab @emph{Required} @tab @emph{Example} @tab @emph{Description} - @item @code{x1} @tab yes @tab @code{x1="50"} @@ -39,7 +44,6 @@ @tab no @tab @code{stroke="#ff0000"} @tab Turns on stroking of the shape, and sets the color. If this is -not present, the shape will not be stroked. Since lines cannot be filled, +not present, the shape will not be stroked. Since lines can not be filled, they must be stroked. - @end multitable Index: path.txi =================================================================== RCS file: /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg/path.txi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- path.txi 29 Sep 2005 18:31:47 -0000 1.1 +++ path.txi 30 Sep 2005 12:00:57 -0000 1.2 @@ -1,6 +1,6 @@ @c -*-texinfo-*- -@node AWS, Flexible Vector Graphics Definition -@subsection FVG line +@node AWS FVG Path, , AWS FVG Line, AWS FVG +@subsubsection @sc{fvg} Path Defines a path. Paths are complex shapes that may or may not be filled. Paths can have multiple contours defined @@ -9,86 +9,102 @@ @subsubheading Defining the Shape -Example: +Example: This defines a path by first moving to a point, drawing a line +relative to that point, and a second line relative to the end of the first +line. The area defined by this path is then filled white with its outline +painted red. -<path d="M 100 100 L 300 100 L 200 300 z" stroke="#ff0000" fill="#ffffff" /> +@example +<path d="M 100 100 L 300 100 L 200 300 z" + stroke="#ff0000" + fill="#ffffff" /> +@end example -@subsubheading Differences from SVG +@subsubheading Differences from @sc{svg} -* Each command expects one, and only one, set of parameters. In SVG many commands -allow you to specify repeated coordinates for the same command. This is currently -not the case in FVG, though that may change. +The @sc{fvg} path command differs from its @sc{svg} relative in the following +ways: -* SVG supports several curving commands, beziers, arcs, etc. These are not currently -supported in FVG, thought that will change. +@itemize @bullet +@item +Each command expects one, and only one, set of parameters. In @sc{svg} many +commands allow you to specify repeated coordinates for the same command. This +is currently not the case in @sc{fvg}, though this limitation may be lifted in +the future. + +@item +@sc{svg} supports several curving commands, beziers, arcs, etc. These are not +currently supported in @sc{fvg}, though this limitation may be lifted in the +future. +@end itemize @subsubheading Allowed Parameters -@multitable @columnfractions .25 .40 .35 +@multitable @columnfractions .10 .5 .40 .45 @item @emph{Name} @tab @emph{Required} @tab @emph{Example} @tab @emph{Description} - @item @code{d} @tab yes @tab @code{d="M 100 100 L 300 100 L 200 300 z"} -@tab Defines the countour of the path. +@tab Defines the countour of the path (see below). @item @code{stroke} @tab no @tab @code{stroke="#ff0000"} -@tab Turns on stroking of the shape, and sets the color. If this is -not present, the shape will not be stroked. This value or fill must +@tab Turns on stroking of the shape, and sets the color. If this is not +present, the shape will not be stroked. Either this value or @samp{fill} must be present or the shape will be invisible. @item @code{fill} @tab no @tab @code{fill="#ff0000"} -@tab Turns on filling of the shape, and sets the color. If this is -not present, the shape will not be filled. This value or stroke must -be present or the shape will be invisible. Note that if a path is -not closed, it will not be filled. A path's contour is closed by -using the "z" command. - +@tab Turns on filling of the shape, and sets the color. If this is not +present, the shape will not be filled. Either this value or @samp{stroke} must +be present or the shape will be invisible. Note that if a path is not closed, +it will not be filled. A path's contour is closed by using the @samp{z} +command. @end multitable @subsubheading Path Commands -@multitable @columnfractions .25 .40 .35 +@multitable @columnfractions .10 .5 .40 .45 @item @emph{Name} @tab @emph{Example} @tab @emph{Description} - -@item @code{M (absolute), m (relative)} +@item @code{M} or @code{m} @tab @code{M 100 100} -@tab Start a new sub-path at the given (x,y) coordinate. M (uppercase) -indicates that absolute coordinates will follow; m (lowercase) indicates -that relative coordinates will follow. If a relative moveto (m) appears -as the first element of the path, then it is treated as a pair of absolute -coordinates. If a moveto is followed by multiple pairs of coordinates, -the subsequent pairs are treated as implicit lineto commands. +@tab Start a new sub-path at the given (x,y) coordinate. @samp{M} (uppercase) +indicates that absolute coordinates will follow; @samp{m} (lowercase) indicates +that relative coordinates will follow. If a relative moveto (@samp{m}) appears +as the first element of the path, then it is treated as a pair of absolute +coordinates. If a moveto is followed by multiple pairs of coordinates, the +subsequent pairs are treated as implicit lineto commands. -@item @code{Z or z} +@item @code{Z} or @code{z} @tab @code{z} -@tab Close the current subpath by drawing a straight line from the current -point to current subpath's initial point. A new contour (subpath) will start after -this command is encountered. If this command is present at the end of a -contour, then that path may be filled. - +@tab Close the current subpath by drawing a straight line from the current +point to current subpath's initial point. A new contour (subpath) will start +after this command is encountered. If this command is present at the end of a +contour, then that path may be filled. @samp{Z} (uppercase) and @samp{z} +(lowercase) produce the same result. -@item @code{L (absolute), l (relative)} +@item @code{L} or @code{l} @tab @code{L 200 200} -@tab Draw a line from the current point to the given (x,y) coordinate which -becomes the new current point. L (uppercase) indicates that absolute coordinates -will follow; l (lowercase) indicates that relative coordinates will follow. - -@item @code{H (absolute), h (relative)} -@tab @code{H 300 } -@tab Draws a horizontal line from the current point (cpx, cpy) to (x, cpy). -H (uppercase) indicates that absolute coordinates will follow; h (lowercase) -indicates that relative coordinates will follow. At the end of the command, the -new current point becomes (x, cpy) for the final value of x. +@tab Draw a line from the current point to the given (x,y) coordinate which +becomes the new current point. @samp{L} (uppercase) indicates that absolute +coordinates will follow; @samp{l} (lowercase) indicates that relative +coordinates will follow. -@item @code{V (absolute), v (relative)} -@tab @code{V 300 } -@tab Draws a vertical line from the current point (cpx, cpy) to (cpx, y). -V (uppercase) indicates that absolute coordinates will follow; v (lowercase) -indicates that relative coordinates will follow. +@item @code{H} or @code{h} +@tab @code{H 300} +@tab Draws a horizontal line from the current point (cpx,cpy) to (x,cpy), where +``x'' is the supplied x coordinate. @samp{H} (uppercase) indicates that +absolute coordinates will follow; @samp{h} (lowercase) indicates that relative +coordinates will follow. At the end of the command, the new current point +becomes (x,cpy) for the final value of x. +@item @code{V} or @code{v} +@tab @code{V 300} +@tab Draws a vertical line from the current point (cpx,cpy) to (cpx,y), where +``y'' is the supplied y coordinate. @samp{V} (uppercase) indicates that +absolute coordinates will follow; @samp{v} (lowercase) indicates that relative +coordinates will follow. At the end of the command, the new point becomes +(cpx,y) for the final value of y. @end multitable Index: rect.txi =================================================================== RCS file: /cvsroot/crystal/CS/docs/texinfo/usingcs/aws/fvg/rect.txi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- rect.txi 29 Sep 2005 18:01:28 -0000 1.1 +++ rect.txi 30 Sep 2005 12:00:57 -0000 1.2 @@ -1,29 +1,40 @@ @c -*-texinfo-*- -@node AWS, Flexible Vector Graphics Definition -@subsection FVG rect +@node AWS FVG Rectangle, AWS FVG Circle, AWS FVG, AWS FVG +@subsubsection @sc{fvg} Rectangle -The rect is a rectangular vector shape, with some additional options. +The ``rect'' is a rectangular vector shape, with some additional options. @subsubheading Defining the Shape -Example: +Example: This creates a normal rectangle filled with white and bordered by red. -<rect x="0" y="0" width="10" height="10" stroke="#ff0000" fill="#ffffff" /> +@example +<rect x="0" + y="0" + width="10" + height="10" + stroke="#ff0000" + fill="#ffffff" /> +@end example -This creates a normal rectangle filled with white and bordered by red. +@subsubheading Differences from @sc{svg} -@subsubheading Differences from SVG +The @sc{fvg} rect command differs from its @sc{svg} relative in the following +ways: -* In SVG you use the parameters rx and ry for the roundess of the corners. -FVG supports roundness instead. +@itemize @bullet +@item +In @sc{svg} you use the parameters @samp{rx} and @samp{ry} for the roundess of +the corners. @sc{fvg} supports @samp{roundness} instead. -* In SVG the miter parameter does not exist. +@item +In @sc{svg} the @samp{miter} parameter does not exist. +@end itemize @subsubheading Allowed Parameters -@multitable @columnfractions .25 .40 .35 +@multitable @columnfractions .10 .5 .40 .45 @item @emph{Name} @tab @emph{Required} @tab @emph{Example} @tab @emph{Description} - @item @code{x} @tab yes @tab @code{x="0"} @@ -47,30 +58,29 @@ @item @code{roundness} @tab no @tab @code{roundness="0.5"} -@tab A value greater than zero, but less than or equal to 1. If this +@tab A value greater than zero, but less than or equal to one. If this is present it means that the rectangle will have rounded corners. The higher this number, the more round the corners will be. @item @code{miter} @tab no @tab @code{miter="0.25"} -@tab A value greater than zero, but less than or equal to 1. If this -is present it means that the rectangle will have mitered corners. The -higher this number, the more beveled the rectangle will be. If both miter -and roundness are present, roundness takes precedence. +@tab A value greater than zero, but less than or equal to one. If this is +present it means that the rectangle will have mitered corners. The higher this +number, the more beveled the rectangle will be. If both @samp{miter} and +@samp{roundness} are present, @samp{roundness} takes precedence. @item @code{stroke} @tab no @tab @code{stroke="#ff0000"} -@tab Turns on stroking of the shape, and sets the color. If this is -not present, the shape will not be stroked. This value or fill must +@tab Turns on stroking of the shape, and sets the color. If this is not +present, the shape will not be stroked. Either this value or @samp{fill} must be present or the shape will be invisible. @item @code{fill} @tab no @tab @code{fill="#ff0000"} -@tab Turns on filling of the shape, and sets the color. If this is -not present, the shape will not be filled. This value or stroke must +@tab Turns on filling of the shape, and sets the color. If this is not +present, the shape will not be filled. Either this value or @samp{stroke} must be present or the shape will be invisible. - @end multitable |