class
Component

package haxe.ui.core


Base class of all HaxeUI controls

animatable:Bool
Whether this component is allowed to animate or not.
componentAnimation:Animation
The currently running animation.
componentTabIndex:Int
read-only
cssName:String
dragInitiator:Component
dragOptions:
draggable:Bool
When set to true, this component should be drag&drop-able.
read-only
isComponentSolid:Bool
Whether this component has a non-visible graphic added/drawn onto it or not.
native:Null<Bool>
When enabled, HaxeUI will try to use a native version of this component.
read-only
screen:Screen
The Screen object this component is displayed on.
styleSheet:StyleSheet
userData::Dynamic
Can be used to store specific data relating to the component, or other things in your application.
read-only
className:String
read-only
actualComponentHeight:Float
The component's true height on screen.

May differ from componentHeight if Toolkit.scaleY != 1
read-only
actualComponentWidth:Float
The component's true width on screen.

May differ from componentWidth if Toolkit.scaleX != 1
componentClipRect:Rectangle
When set to a non-null value, restricts the component's "rendering zone"
to only render inside the bounds of the given rectangle, effectively "clipping" the component.
read-only
hasScreen:Bool
Whether this component, or one if it's parents, has a screen.
read-only
isComponentClipped:Bool
Whether this component has a non-null clipping rectangle or not.
read-only
isComponentOffscreen:Bool
true if this component's area intersects with the screen, false otherwise.

clipRect is not taken into consideration - that means, if a clipRect turns a component from being
visible on screen to being invisible on screen, isComponentOffScreen should still be false.



override
cloneComponent():Component
Gets a complete copy of this component.

Returns
A new component, similar to this one.
containsComponent(child:Component):Bool
Returns true if the given component is a child of this component, false otherwise.

Parameters
child:Component
The child component to check against.

Returns
Is the child component a child of this component?
disposeComponent():Void
Removes this component from memory.

Calling methods/using fields on this component after calling disposeComponent
is undefined behaviour, and could result in a null pointer exception/x is null exceptions.
fadeIn(onEnd:():Void = null, show:Bool = true):Void
Applies a fade effect which turns this component from invisible to visible.

Parameters
onEnd:():Void = null
A function to dispatch when the fade completes
show:Bool = true
When enabled, ensures that this component is actually visible when the fade completes.
fadeOut(onEnd:():Void = null, hide:Bool = true):Void
Applies a fade effect which turns this component from visible to invisible.

Parameters
onEnd:():Void = null
A function to dispatch when the fade completes
show:Bool = true
When enabled, ensures that this component is actually invisible when the fade completes.
findComponents<T>(styleName:String = null, type:Class<T> = null, maxDepth:Int = 5):Array<T>
Finds all components with a specific style in this components display tree.

Parameters
styleName:String = null
The style name to search for
type:Class<T> = null
The component class you wish to cast the result to (defaults to null, which means casting to the default, Component type).
maxDepth:Int = 5
how many children "deep" should the search go to find components. defaults to 5.

Returns
An array of the found components.
findComponentsUnderPoint<T>(screenX:Float, screenY:Float, type:Class<T> = null):Array<Component>
Lists components under a specific point in global, screen coordinates.

Note: this function will return *every single* components at a specific point,
even if they have no backgrounds, or haven't got anything drawn onto them.

Parameters
screenX:Float
The global, on-screen x position of the point to check for components under
screenY:Float
The global, on-screen y position of the point to check for components under
type:Class<T> = null
Used to filter all components that aren't of a specific type. null by default, which means no filter is applied.

Returns
An array of all components that overlap the "global" position (x, y)
hasComponentUnderPoint<T>(screenX:Float, screenY:Float, type:Class<T> = null):Bool
Finds out if there is a component under a specific point in global coordinates.

Parameters
screenX:Float
The global, on-screen x position of the point to check for components under
screenY:Float
The global, on-screen y position of the point to check for components under
type:Class<T> = null
Used to filter all components that aren't of a specific type. null by default, which means no filter is applied.

Returns
true if there is a component that overlaps the global position (x, y), false otherwise.
lockLayout(recursive:Bool = false):Void
ready():Void
Tells the framework this component is ready to render

*Note*: this is called internally by the framework
setComponentIndex(child:Component, index:Int):Component
Sets the index of child under this component, essentially moving it forwards/backwards.

Parameters
child:Component
The child to set the index of.
index:Int
the index to set to.


Returns
the child component.
unlockLayout(recursive:Bool = false):Void
walkComponents(callback::Component->Bool):Void
Iterates over the children components and calls callback() on each of them, recursively.
The children's children are also included in the walking, and so are those children's children...

Parameters
callback::Component->Bool
a callback that receives one component, and returns whether the walking should continue or not.
pauseEvent(type:String, recursive:Bool = false):Void
resumeEvent(type:String, recursive:Bool = false):Void


hidden:Bool
Whether this component is visible or not.
read-only
numComponents:Int
Gets the number of children added to this component.
read-only
rootComponent:Component
The top-level component of this component's parent tree.

write-only
onAnimationEnd:AnimationEvent->Void
write-only
onAnimationFrame:AnimationEvent->Void
write-only
onAnimationStart:AnimationEvent->Void
write-only
onChange:UIEvent->Void
write-only
onClick:MouseEvent->Void
write-only
onDblClick:MouseEvent->Void
write-only
onDrag:DragEvent->Void
write-only
onDragEnd:DragEvent->Void
write-only
onDragStart:DragEvent->Void
write-only
onMouseOut:MouseEvent->Void
write-only
onMouseOver:MouseEvent->Void
write-only
onRightClick:MouseEvent->Void

includeInLayout:Bool
Whether to use this component as part of its part layout

Note*: invisible components are not included in parent layouts
layout:Layout
The layout of this component

left:Null<Float>
The position of this component on the horizontal, x-axis.

This position is relative to this component's parent.
read-only
screenLeft:Float
The **on-screen** position of this component on the horizontal, x-axis.
read-only
screenTop:Float
The **on-screen** position of this component on the vertical, y-axis.
top:Null<Float>
The position of this component on the vertical, y-axis.

This position is relative to this component's parent.

read-only
namedComponents:Array<Component>
scriptAccess:Bool

read-only
autoHeight:Bool
When enabled, this component will automatically resize itself based on it's children's calculated height.

For example, if this component's padding is 5, and it has one child, 200 pixels tall,
and autoHeight is set to true, this component's height should be 210
read-only
autoWidth:Bool
When enabled, this component will automatically resize itself based on it's children's calculated width.

For example, if this component's padding is 5, and it has one child, 150 pixels wide,
and autoWidth is set to true, this component's width should be 160
height:Null<Float>
This component's height. similar to componentHeight
percentHeight:Null<Float>
When set, sets this component's height to be percentHeight% percent of it's parent's height.
percentWidth:Null<Float>
When set, sets this component's width to be percentWidth% percent of it's parent's width.
width:Null<Float>
This component's width. similar to componentWidth

style
backgroundColor:Null<Color>
style
backgroundColorEnd:Null<Color>
style
backgroundImage:Variant
style
borderColor:Null<Color>
style
borderRadius:Null<Float>
style
borderSize:Null<Float>
style
clip:Null<Bool>
style
color:Null<Color>
style
horizontalAlign:String
style
marginBottom:Null<Float>
style
marginLeft:Null<Float>
style
marginRight:Null<Float>
style
marginTop:Null<Float>
style
opacity:Null<Float>
style
padding:Null<Float>
style
paddingBottom:Null<Float>
style
paddingLeft:Null<Float>
style
paddingRight:Null<Float>
style
paddingTop:Null<Float>
style
verticalAlign:String

customStyle:Style
A custom style object that will applied to this component after any css rules have been matched and applied.

Use this when modifying this component's style through code.
styleNames:String
styleString:String
Used to parse an apply an inline css string to this component as a custom style.
style:Style
The calculated style of this component