Shape Class
yui3/src/graphics/js/GraphicBase.js:448
                                    <p>Base class for creating shapes.</p>
                            <p>Shape is an abstract class and is not meant to be used directly. The following classes extend
                            Shape.
<ul>
                            <li><a href="Circle.html">Circle</a></li>
                            <li><a href="Ellipse.html">Ellipse</a></li>
                            <li><a href="Rect.html">Rect</a></li>
                            <li><a href="Path.html">Path</a></li>
                            </ul>
Shape can also be extended to create custom shape classes.</p>
Shape has the following implementations based on browser capability.
                            <ul>
                            <li><a href="SVGShape.html">SVGShape</a></li>
                            <li><a href="VMLShape.html">VMLShape</a></li>
                            <li><a href="CanvasShape.html">CanvasShape</a></li>
                            </ul>
It is not necessary to interact with these classes directly. Shape will point to the appropriate implemention.</p>
Constructor
Shape
                                    
                                            - 
                                                            
cfg 
Parameters:
- 
                                                            
cfgObject(optional) Attribute configs
 
Index
Methods
Methods
addClass
                                                
                                                        - 
                                                                        
className 
Add a class name to each node.
Parameters:
- 
                                                                        
classNameStringthe class name to add to the node's class attribute
 
compareTo
                                                
                                                        - 
                                                                        
refNode 
Compares nodes to determine if they match. Node instances can be compared to each other and/or HTMLElements.
Parameters:
- 
                                                                        
refNodeHTMLElement | NodeThe reference node to compare to the node.
 
Returns:
True if the nodes match, false if they do not.
contains
                                                
                                                        - 
                                                                        
needle 
Determines whether the node is an ancestor of another HTML element in the DOM hierarchy.
Parameters:
- 
                                                                        
needleShape | HTMLElementThe possible node or descendent
 
Returns:
Boolean Whether or not this shape is the needle or its ancestor.
destroy
                                                
                                                        ()
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Destroys the instance.
getBounds
                                                
                                                        ()
                                                
                                                        
                                                            
                                                        
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Returns the bounds for a shape.
Calculates the a new bounding box from the original corner coordinates (base on size and position) and the transform matrix. The calculated bounding box is used by the graphic instance to calculate its viewBox.
Returns:
Object
getXY
                                                
                                                        ()
                                                
                                                        
                                                            
                                                        
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Gets the current position of the node in page coordinates.
Returns:
Array The XY position of the shape.
init
                                                
                                                        ()
                                                
                                                
                                                
                                                        protected
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Init method, invoked during construction.
                                                Calls initializer method.
initializer
                                                
                                                        ()
                                                
                                                
                                                
                                                        private
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Initializes the shape
removeClass
                                                
                                                        - 
                                                                        
className 
Removes a class name from each node.
Parameters:
- 
                                                                        
classNameStringthe class name to remove from the node's class attribute
 
rotate
                                                
                                                        - 
                                                                        
deg 
Rotates the shape clockwise around it transformOrigin.
Parameters:
- 
                                                                        
degNumberThe degree of the rotation.
 
set
                                                
                                                        - 
                                                                        
name - 
                                                                        
value 
Sets the value of an attribute.
Parameters:
- 
                                                                        
nameString | ObjectThe name of the attribute. Alternatively, an object of key value pairs can be passed in to set multiple attributes at once.
 - 
                                                                        
valueAnyThe value to set the attribute to. This value is ignored if an object is received as the name param.
 
setXY
                                                
                                                        - 
                                                                        
Contains 
Set the position of the shape in page coordinates, regardless of how the node is positioned.
Parameters:
- 
                                                                        
ContainsArrayx & y values for new position (coordinates are page-based)
 
skew
                                                
                                                        - 
                                                                        
x - 
                                                                        
y 
Skews the shape around the x-axis and y-axis.
test
                                                
                                                        - 
                                                                        
selector 
Test if the supplied node matches the supplied selector.
Parameters:
- 
                                                                        
selectorStringThe CSS selector to test against.
 
Returns:
Boolean Wheter or not the shape matches the selector.
translate
                                                
                                                        - 
                                                                        
x - 
                                                                        
y 
Specifies a 2d translation.
translateX
                                                
                                                        - 
                                                                        
x 
Translates the shape along the x-axis. When translating x and y coordinates,
                                                use the translate method.
Parameters:
- 
                                                                        
xNumberThe value to translate.
 
translateY
                                                
                                                        - 
                                                                        
y 
Translates the shape along the y-axis. When translating x and y coordinates,
                                                use the translate method.
Parameters:
- 
                                                                        
yNumberThe value to translate.
 
Attributes
data
                                                    String
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Represents an SVG Path string. This will be parsed and added to shape's API to represent the SVG data across all implementations. Note that when using VML or SVG implementations, part of this content will be added to the DOM using respective VML/SVG attributes. If your content comes from an untrusted source, you will need to ensure that no malicious code is included in that content.
fill
                                                    Object
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Contains information about the fill of the shape.
                                                <dl>
                                                <dt>color</dt><dd>The color of the fill.</dd>
                                                <dt>opacity</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1.</dd>
                                                <dt>type</dt><dd>Type of fill.
                                                <dl>
                                                <dt>solid</dt><dd>Solid single color fill. (default)</dd>
                                                <dt>linear</dt><dd>Linear gradient fill.</dd>
                                                <dt>radial</dt><dd>Radial gradient fill.</dd>
                                                </dl>
                                                </dd>
                                                </dl>
                                                <p>If a linear or radial is specified as the fill type. The following additional property is used:
                                                <dl>
                                                <dt>stops</dt><dd>An array of objects containing the following properties:
                                                <dl>
                                                <dt>color</dt><dd>The color of the stop.</dd>
                                                <dt>opacity</dt><dd>Number between 0 and 1 that indicates the opacity of the stop. The default value is 1.
                                                Note: No effect for IE 6 - 8</dd>
                                                <dt>offset</dt><dd>Number between 0 and 1 indicating where the color stop is positioned.</dd>
                                                </dl>
                                                </dd>
                                                <p>Linear gradients also have the following property:</p>
                                                <dt>rotation</dt><dd>Linear gradients flow left to right by default. The rotation property allows you to change the
                                                flow by rotation. (e.g. A rotation of 180 would make the gradient pain from right to left.)</dd>
                                                <p>Radial gradients have the following additional properties:</p>
                                                <dt>r</dt><dd>Radius of the gradient circle.</dd>
                                                <dt>fx</dt><dd>Focal point x-coordinate of the gradient.</dd>
                                                <dt>fy</dt><dd>Focal point y-coordinate of the gradient.</dd>
                                                <dt>cx</dt><dd>
                                                <p>The x-coordinate of the center of the gradient circle. Determines where the color stop begins. The default value 0.5.</p>
                                                <p><strong>Note: </strong>Currently, this property is not implemented for corresponding CanvasShape and
                                                VMLShape classes which are used on Android or IE 6 - 8.</p>
                                                </dd>
                                                <dt>cy</dt><dd>
                                                <p>The y-coordinate of the center of the gradient circle. Determines where the color stop begins. The default value 0.5.</p>
                                                <p><strong>Note: </strong>Currently, this property is not implemented for corresponding CanvasShape and VMLShape
                                                classes which are used on Android or IE 6 - 8.</p>
                                                </dd>
                                                </dl>
stroke
                                                    Object
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    Contains information about the stroke of the shape. <dl> <dt>color</dt><dd>The color of the stroke.</dd> <dt>weight</dt><dd>Number that indicates the width of the stroke.</dd> <dt>opacity</dt><dd>Number between 0 and 1 that indicates the opacity of the stroke. The default value is 1.</dd> <dt>dashstyle</dt>Indicates whether to draw a dashed stroke. When set to "none", a solid stroke is drawn. When set to an array, the first index indicates the length of the dash. The second index indicates the length of gap. <dt>linecap</dt><dd>Specifies the linecap for the stroke. The following values can be specified: <dl> <dt>butt (default)</dt><dd>Specifies a butt linecap.</dd> <dt>square</dt><dd>Specifies a sqare linecap.</dd> <dt>round</dt><dd>Specifies a round linecap.</dd> </dl> </dd> <dt>linejoin</dt><dd>Specifies a linejoin for the stroke. The following values can be specified: <dl> <dt>round (default)</dt><dd>Specifies that the linejoin will be round.</dd> <dt>bevel</dt><dd>Specifies a bevel for the linejoin.</dd> <dt>miter limit</dt><dd>An integer specifying the miter limit of a miter linejoin. If you want to specify a linejoin of miter, you simply specify the limit as opposed to having separate miter and miter limit values.</dd> </dl> </dd> </dl>
transform
                                                    String
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                    
                                                
                                                    <p>A string containing, in order, transform operations applied to the shape instance. The transform string can contain the following values:
<dl>
                                                <dt>rotate</dt><dd>Rotates the shape clockwise around it transformOrigin.</dd>
                                                <dt>translate</dt><dd>Specifies a 2d translation.</dd>
                                                <dt>skew</dt><dd>Skews the shape around the x-axis and y-axis.</dd>
                                                <dt>scale</dt><dd>Specifies a 2d scaling operation.</dd>
                                                <dt>translateX</dt><dd>Translates the shape along the x-axis.</dd>
                                                <dt>translateY</dt><dd>Translates the shape along the y-axis.</dd>
                                                <dt>skewX</dt><dd>Skews the shape around the x-axis.</dd>
                                                <dt>skewY</dt><dd>Skews the shape around the y-axis.</dd>
                                                <dt>matrix</dt><dd>Specifies a 2D transformation matrix comprised of the specified six values.</dd>
                                                </dl>
                                                </p>
                                                <p>Applying transforms through the transform attribute will reset the transform matrix and apply a new transform. The shape class also contains
                                                corresponding methods for each transform that will apply the transform to the current matrix. The below code illustrates how you might use the
                                                transform attribute to instantiate a recangle with a rotation of 45 degrees.</p>
                                                var myRect = new Y.Rect({
                                                type:"rect",
                                                width: 50,
                                                height: 40,
                                                transform: "rotate(45)"
                                                };
                                                <p>The code below would apply translate and rotate to an existing shape.</p>
   myRect.set("transform", "translate(40, 50) rotate(45)");