Graphic Class
Graphic acts a factory and container for shapes. You need at least one Graphic instance to create shapes for your application.
The code block below creates a Graphic instance and appends it to an HTMLElement with the id 'mygraphiccontainer'.
   var myGraphic = new Y.Graphic({render:"#mygraphiccontainer"});
Alternatively, you can add a Graphic instance to the DOM using the render method.
Graphic has the following implementations based on browser capability.
 
It is not necessary to interact with these classes directly. Graphic will point to the appropriate implemention.
Constructor
Graphic
    
        ()
    
    
    
    
    
    
    
    
    
    Item Index
Attributes
Methods
addShape
    
        - 
                    
                        
cfg 
Generates a shape instance by type. The method accepts an object that contain's the shape's type and attributes to be customized. For example, the code below would create a rectangle:
       var myRect = myGraphic.addShape({
           type: "rect",
           width: 40,
           height: 30,
           fill: {
               color: "#9aa"
           },
           stroke: {
               weight: 1,
               color: "#000"
           }
       });
The Graphics module includes a few basic shapes. More information on their creation
can be found in each shape's documentation:
 The Graphics module also allows for the creation of custom shapes. If a custom shape
 has been created, it can be instantiated with the addShape method as well. The attributes,
 required and optional, would need to be defined in the custom shape.
       var myCustomShape = myGraphic.addShape({
           type: Y.MyCustomShape,
           width: 50,
           height: 50,
           fill: {
               color: "#9aa"
           },
           stroke: {
               weight: 1,
               color: "#000"
           }
       });
    Parameters:
- 
                    
                        
cfgObjectObject containing the shape's type and attributes.
 
Returns:
Shape
batch
    
        - 
                    
                        
method 
Allows for creating multiple shapes in order to batch appending and redraw operations.
Parameters:
- 
                    
                        
methodFunctionMethod to execute.
 
destroy
    
        ()
    
    
    
    
    
    
    
    
    
    Removes all nodes.
getShapeById
    
        - 
                    
                        
id 
Returns a shape based on the id of its dom node.
Parameters:
- 
                    
                        
idStringDom id of the shape's node attribute.
 
Returns:
Shape
getXY
    
        ()
    
    
        
            
        
    
    
    
    
    
    
    
    
    Gets the current position of the graphic instance in page coordinates.
Returns:
Array The XY position of the shape.
removeAllShapes
    
        ()
    
    
    
    
    
    
    
    
    
    Removes all shape instances from the dom.
removeShape
    
        - 
                    
                        
shape 
Removes a shape instance from from the graphic instance.
Attributes
autoDraw
    Boolean
    
    
        private
    
    
    
    
    
    
    
    Indicates whether or not the instance will automatically redraw after a change is made to a shape. This property will get set to false when batching operations.
Default: true
autoSize
    Boolean | String
    
    
    
    
    
    
    
    
    Determines the sizing of the Graphic.
- sizeContentToGraphic
 - The Graphic's width and height attributes are, either explicitly set through the
    
widthandheightattributes or are determined by the dimensions of the parent element. The content contained in the Graphic will be sized to fit with in the Graphic instance's dimensions. When using this setting, thepreserveAspectRatioattribute will determine how the contents are sized. - sizeGraphicToContent
 - (Also accepts a value of true) The Graphic's width and height are determined by the size and positioning of the content.
 - false
 - The Graphic's width and height attributes are, either explicitly set through the 
widthandheightattributes or are determined by the dimensions of the parent element. The contents of the Graphic instance are not affected by this setting. 
Default: false
contentBounds
    Object
    
    
    
    
    
    
    
        readonly
    
    
    Object containing size and coordinate data for the content of a Graphic in relation to the coordSpace node.
node
    HTMLElement
    
    
    
    
    
    
    
        readonly
    
    
    The html element that represents to coordinate system of the Graphic instance.
preserveAspectRatio
    String
    
    
    
    
    
    
    
    
    Determines how content is sized when autoSize is set to sizeContentToGraphic.
- none
 - Do not force uniform scaling. Scale the graphic content of the given element non-uniformly if necessary such that the element's bounding box exactly matches the viewport rectangle.
 - xMinYMin
 - Force uniform scaling position along the top left of the Graphic's node.
 - xMidYMin
 - Force uniform scaling horizontally centered and positioned at the top of the Graphic's node.
 - xMaxYMin
 - Force uniform scaling positioned horizontally from the right and vertically from the top.
 - xMinYMid Force uniform scaling positioned horizontally from the left and vertically centered.
 - xMidYMid (the default)
 - Force uniform scaling with the content centered.
 - xMaxYMid
 - Force uniform scaling positioned horizontally from the right and vertically centered.
 - xMinYMax
 - Force uniform scaling positioned horizontally from the left and vertically from the bottom.
 - xMidYMax
 - Force uniform scaling horizontally centered and position vertically from the bottom.
 - xMaxYMax
 - Force uniform scaling positioned horizontally from the right and vertically from the bottom.
 
Default: xMidYMid
render
    Node | String
    
    
    
    
    
    
    
    
    Whether or not to render the Graphic automatically after to a specified parent node after init. This can be a Node
instance or a CSS selector string.
resizeDown
    Boolean
    
    
    
    
    
    
    
    
    The contentBounds will resize to greater values but not to smaller values. (for performance) When resizing the contentBounds down is desirable, set the resizeDown value to true.
