# Container

Inheritance Container View Module hilo/view/Container Requires hilo/core/Hilo, hilo/core/Class, hilo/view/View Source Container.js
Container is the base class to all container classes. Each Container can add other view object as children.

### Properties

Show Inherited Properties

| Property | Defined
--- | --- | ---
| children:Array List of children elements of the container, readonly! | Container
| clipChildren:Boolean Whether clip children elements which are out of the container, default value is false. | Container
| pointerChildren:Boolean Whether children elements of the container can response to user interactive events, default value is true. | Container
| align:String|Function The alignment of the view, the value must be one of Hilo.align enum. | View
| alpha:Number The opacity of the view, default value is 1. | View
| background:Object The background style to fill the view, can be css color, gradient or pattern of canvas | View
| boundsArea:Array The vertex points of the view, the points are relative to the center point. | View
| depth:Number The z index of the view, readonly! | View
| drawable:Drawable The drawable object of the view. | View
| height:Number The height of the view, default value is 0. | View
| id:String The identifier for the view. | View
| mask:Graphics Sets a mask for the view. | View
| onUpdate:Function This method will call while the view need update(usually caused by ticker update). | View
| parent:Container The parent view of this view, readonly! | View
| pivotX:Number Position of the center point on the x axis of the view, default value is 0. | View
| pivotY:Number Position of the center point on the y axis of the view, default value is 0. | View
| pointerEnabled:Boolean Is the view can receive DOM events, default value is true. | View
| rotation:Number The rotation of the view in angles, default value is 0. | View
| scaleX:Number The x axis scale factor of the view, default value is 1. | View
| scaleY:Number The y axis scale factor of the view, default value is 1. | View
| tint:Number The tint applied to the view，default is 0xFFFFFF.Only support in WebGL mode. | View
| transform:Matrix The transform of the view.If set the transform, x, y, scaleX, scaleY, rotation, pivotX, pivotY will be ignored.default is null. | View
| visible:Boolean The visibility of the view. | View
| width:Number The width of the view, default value is 0. | View
| x:Number The position of the view on the x axis relative to the local coordinates of the parent, default value is 0. | View
| y:Number The position of the view on the y axis relative to the local coordinates of the parent, default value is 0. | View

### Methods

Show Inherited Methods

| Method | Defined
--- | --- | ---
| Container(properties:Object) Constructor | Container
| addChild(child:View) Add child element at the top. | Container
| addChildAt(child:View, index:Number) Add child element at given index. | Container
| contains(child:View) Return whether this container contains the parameter described child element. | Container
| getChildAt(index:Number) Return child element at the given index. | Container
| getChildById(id:String) Return child element at the given id. | Container
| getChildIndex(child:View) Return index value of the given child element. | Container
| getNumChildren():Uint Return the amount of the children elements of the container. | Container
| getViewAtPoint(x:Number, y:Number, usePolyCollision:Boolean, global:Boolean, eventMode:Boolean) Return object at the point positioned by given values on x axis and y axis. | Container
| removeAllChildren():Container Remove all children elements. | Container
| removeChild(child:View):View Remove the given child element. | Container
| removeChildAt(index:Int):View Remove element at the index. | Container
| removeChildById(id:String):View Remove child element by its id. | Container
| setChildIndex(child:View, index:Number) Set the index of child element. | Container
| sortChildren(keyOrFunction:Object) Sort children elements by the given key or function. | Container
| swapChildren(child1:View, child2:View) Swap index between two child elements. | Container
| swapChildrenAt(index1:Number, index2:Number) Swap two children elements at given indexes. | Container
| addTo(container:Container, index:Uint):View Add current view to a Contaner. | View
| fire(type:String, detail:Object):Boolean Send events. | View
| getBounds():Array Get the bounds of the view as a circumscribed rectangle and all vertex points relative to the coordinates of the stage. | View
| getScaledHeight():Number Get the scaled height of the view. | View
| getScaledWidth():Number Get the scaled width of the view. | View
| getStage():Stage Get the stage object of the view. | View
| hitTestObject(object:View, usePolyCollision:Boolean) Determining whether an object is in the circumscribed rectangle of current view. | View
| hitTestPoint(x:Number, y:Number, usePolyCollision:Boolean):Boolean Determining whether a point is in the circumscribed rectangle of current view. | View
| off(type:String, listener:Function):Object Remove one event listener. | View
| on(type:String, listener:Function, once:Boolean):Object Add an event listenser. | View
| removeFromParent():View Remove current view from it's parent container | View
| render(renderer:Renderer, delta:Number) The render method of current view. | View
| toString():String Get a string representing current view. | View

### Property Detail

children:Array
List of children elements of the container, readonly!
clipChildren:Boolean
Whether clip children elements which are out of the container, default value is false.
pointerChildren:Boolean
Whether children elements of the container can response to user interactive events, default value is true.

### Constructor

Container(properties:Object)

parameters
properties:Object — Properties parameters of the object to create. Contains all writable properties of this class.

### Method Detail

addChild(child:View)
Add child element at the top.

parameters
child:View — Elements to add.

addChildAt(child:View, index:Number)
Add child element at given index.

parameters
child:View — Element to add.
index:Number — The given index position, range from 0.

contains(child:View)
Return whether this container contains the parameter described child element.

parameters
child:View — The child element to test.

getChildAt(index:Number)
Return child element at the given index.

parameters
index:Number — The index of the element, range from 0.

getChildById(id:String)
Return child element at the given id.

parameters
id:String — The id of child element to return.

getChildIndex(child:View)
Return index value of the given child element.

parameters
child:View — The child element need to get its index.

getNumChildren():Uint
Return the amount of the children elements of the container.

return
  Uint — The amount of the children elements of the container.

getViewAtPoint(x:Number, y:Number, usePolyCollision:Boolean, global:Boolean, eventMode:Boolean)
Return object at the point positioned by given values on x axis and y axis.

parameters
x:Number — The point's value on the coordinate's x axis.
y:Number — The point's value on the coordinate's y asix.
usePolyCollision:Boolean — Whether use polygon collision detection, default value is false.
global:Boolean — Whether return all elements that match the condition, default value is false.
eventMode:Boolean — Whether find elements under event mode, default value is false.

removeAllChildren():Container
Remove all children elements.

return
  Container — Container itself.

removeChild(child:View):View
Remove the given child element.

parameters
child:View — The child element to remove.

return
  View — Element had been removed.

removeChildAt(index:Int):View
Remove element at the index.

parameters
index:Int — Index of the element to remove, range from 0.

return
  View — Element had been removed.

removeChildById(id:String):View
Remove child element by its id.

parameters
id:String — The id of element to remove.

return
  View — Element had been removed.

setChildIndex(child:View, index:Number)
Set the index of child element.

parameters
child:View — The child element need to set index.
index:Number — The index to set to the element.

sortChildren(keyOrFunction:Object)
Sort children elements by the given key or function.

parameters
keyOrFunction:Object — If is String, sort children elements by the given property string; If is Function, sort by the function.

swapChildren(child1:View, child2:View)
Swap index between two child elements.

parameters
child1:View — Child element A.
child2:View — Child element B.

swapChildrenAt(index1:Number, index2:Number)
Swap two children elements at given indexes.

parameters
index1:Number — Given index A.
index2:Number — Given index B.