Packagefeathers.controls
Classpublic class Callout
InheritanceCallout Inheritance FeathersControl Inheritance starling.display.Sprite
Subclasses TextCallout

Product Version : Feathers 1.0.0

A pop-up container that points at (or calls out) a specific region of the application (typically a specific control that triggered it).

In general, a Callout isn't instantiated directly. Instead, you will typically call the static function Callout.show(). This is not required, but it result in less code and no need to manually manage calls to the PopUpManager.

In the following example, a callout displaying a Label is shown when a Button is triggered:

button.addEventListener( Event.TRIGGERED, button_triggeredHandler );

function button_triggeredHandler( event:Event ):void
{
    var label:Label = new Label();
    label.text = "Hello World!";
    var button:Button = Button( event.currentTarget );
    Callout.show( label, button );
}

See also

How to use the Feathers Callout component


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
  calloutFactory : Function
[static] Returns a new Callout instance when Callout.show() is called.
Callout
  calloutOverlayFactory : Function
[static] Returns an overlay to display with a callout that is modal.
Callout
  closeOnKeys : Vector.<uint>
The callout will be closed if any of these keys are pressed.
Callout
  closeOnTouchBeganOutside : Boolean = false
Determines if the callout is automatically closed if a touch in the TouchPhase.BEGAN phase happens outside of the callout's or the origin's bounds.
Callout
  closeOnTouchEndedOutside : Boolean = false
Determines if the callout is automatically closed if a touch in the TouchPhase.ENDED phase happens outside of the callout's or the origin's bounds.
Callout
  content : DisplayObject
The display object that will be presented by the callout.
Callout
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
  disposeContent : Boolean = true
Determines if the callout's content will be disposed when the callout is disposed.
Callout
  disposeOnSelfClose : Boolean = true
Determines if the callout will be disposed when close() is called internally.
Callout
 InheritedeffectsSuspended : Boolean
[read-only] Indicates if effects have been suspended.
FeathersControl
 InheritedexplicitHeight : Number
[read-only] The height value explicitly set by passing a value to the height setter or by calling the setSize() function.
FeathersControl
 InheritedexplicitMaxHeight : Number
[read-only] The maximum height value explicitly set by passing a value to the maxHeight setter.
FeathersControl
 InheritedexplicitMaxWidth : Number
[read-only] The maximum width value explicitly set by passing a value to the maxWidth setter.
FeathersControl
 InheritedexplicitMinHeight : Number
[read-only] The minimum height value explicitly set by passing a value to the minHeight setter.
FeathersControl
 InheritedexplicitMinWidth : Number
[read-only] The minimum width value explicitly set by passing a value to the minWidth setter.
FeathersControl
 InheritedexplicitWidth : Number
[read-only] The width value explicitly set by passing a value to the width setter or to the setSize() method.
FeathersControl
 InheritedfocusInEffect : Function
An optional effect that is activated when the component receives focus.
FeathersControl
 InheritedfocusManager : IFocusManager
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The current focus manager for this component.
FeathersControl
 InheritedfocusOutEffect : Function
An optional effect that is activated when the component loses focus.
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Used for associating focusable display objects that are not direct children with an "owner" focusable display object, such as pop-ups.
FeathersControl
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all Callout components.
Callout
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedhideEffect : Function
An optional effect that is activated when the component is hidden.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Determines if this component can receive focus.
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedisShowingFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Indicates if the showFocus() method has been called on the object when it has focus.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaintainTouchFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. If true, the display object should remain in focus, even if something else is touched.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmoveEffect : Function
An optional effect that is activated when the component is moved to a new position.
FeathersControl
 InheritednextDownFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.DOWN is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextLeftFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.LEFT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextRightFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.RIGHT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when the tab key is pressed when a focus manager is enabled.
FeathersControl
 InheritednextUpFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.UP is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
  origin : DisplayObject
A callout may be positioned relative to another display object, known as the callout's origin.
Callout
 InheritedpreviousTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The previous object that will receive focus when the tab key is pressed while holding shift when a focus manager is enabled.
FeathersControl
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
  stagePadding : Number
[static] Quickly sets all stage padding properties to the same value.
Callout
  stagePaddingBottom : Number = 0
[static] The padding between a callout and the bottom edge of the stage when the callout is positioned automatically.
Callout
  stagePaddingLeft : Number = 0
[static] The margin between a callout and the top edge of the stage when the callout is positioned automatically.
Callout
  stagePaddingRight : Number = 0
[static] The padding between a callout and the right edge of the stage when the callout is positioned automatically.
Callout
  stagePaddingTop : Number = 0
[static] The padding between a callout and the top edge of the stage when the callout is positioned automatically.
Callout
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
  supportedPositions : Vector.<String>
The position of the callout, relative to its origin.
Callout
 InheritedtoolTip : String
Text to display in a tool tip to when hovering over this component, if the ToolTipManager is enabled.
FeathersControl
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualMinHeight : Number = 0
The final minimum height value that should be used for layout.
FeathersControl
 InheritedactualMinWidth : Number = 0
The final minimum width value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the styleProvider property is set to this value.
FeathersControl
Public Methods
 MethodDefined By
  
Constructor.
Callout
  
close(dispose:Boolean = false):void
Closes the callout.
Callout
  
[static] The default factory that creates callouts when Callout.show() is called.
Callout
 Inherited
getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle
[override] Feathers components use an optimized getBounds() implementation that may sometimes behave differently than regular Starling display objects.
FeathersControl
 Inherited
hideFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
If the component has not yet initialized, initializes immediately.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
 Inherited
Resets the styleProvider property to its default value, which is usually the global style provider for the component.
FeathersControl
 Inherited
Indicates that effects should be re-activated after being suspended.
FeathersControl
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
  
show(content:DisplayObject, origin:DisplayObject, supportedPositions:Vector.<String> = null, isModal:Boolean = true, customCalloutFactory:Function = null, customOverlayFactory:Function = null):Callout
[static] Creates a callout, and then positions and sizes it automatically based on an origin rectangle and the specified direction relative to the original.
Callout
 Inherited
showFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
Indicates that effects should not be activated temporarily.
FeathersControl
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
  
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
Callout
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
The next style that is set will not be restricted.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
 Inherited
processStyleRestriction(key:Object):Boolean
Used by setters for properties that are considered "styles" to determine if the setter has been called directly on the component or from a style provider.
FeathersControl
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the component.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
  Dispatched when the callout is closed.Callout
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when the width or height of the control changes.FeathersControl
Styles
 StyleDefined By
  
arrowOffset : Number
The offset, in pixels, of the arrow skin from the horizontal center or vertical middle of the background skin, depending on the position of the arrow (which side it is on).
Callout
  
arrowPosition : String
The position of the callout's arrow relative to the callout's background.
Callout
  
backgroundSkin : DisplayObject
The primary background to display behind the callout's content.
Callout
  
The space, in pixels, between the bottom arrow skin and the background skin.
Callout
  
bottomArrowSkin : DisplayObject
The arrow skin to display on the bottom edge of the callout.
Callout
 Inherited
focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 Inherited
focusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  
The horizontal alignment of the callout, relative to the origin.
Callout
  
leftArrowGap : Number
The space, in pixels, between the right arrow skin and the background skin.
Callout
  
leftArrowSkin : DisplayObject
The arrow skin to display on the left edge of the callout.
Callout
  
originGap : Number
The space, in pixels, between the callout and the origin.
Callout
  
padding : Number
Quickly sets all padding properties to the same value.
Callout
  
paddingBottom : Number
The minimum space, in pixels, between the callout's bottom edge and the callout's content.
Callout
  
paddingLeft : Number
The minimum space, in pixels, between the callout's left edge and the callout's content.
Callout
  
paddingRight : Number
The minimum space, in pixels, between the callout's right edge and the callout's content.
Callout
  
paddingTop : Number
The minimum space, in pixels, between the callout's top edge and the callout's content.
Callout
  
rightArrowGap : Number
The space, in pixels, between the right arrow skin and the background skin.
Callout
  
rightArrowSkin : DisplayObject
The arrow skin to display on the right edge of the callout.
Callout
  
topArrowGap : Number
The space, in pixels, between the top arrow skin and the background skin.
Callout
  
topArrowSkin : DisplayObject
The arrow skin to display on the top edge of the callout.
Callout
  
verticalAlign : String
The vertical alignment of the callout, relative to the origin.
Callout
Public Constants
 ConstantDefined By
  DEFAULT_POSITIONS : Vector.<String>
[static] The default positions used by a callout.
Callout
 InheritedINVALIDATION_FLAG_ALL : String = "all"
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = "data"
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = "focus"
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = "layout"
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = "scroll"
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = "selected"
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = "size"
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = "skin"
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = "state"
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = "styles"
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Property Detail
calloutFactoryproperty
public static var calloutFactory:Function

Returns a new Callout instance when Callout.show() is called. If one wishes to skin the callout manually or change its behavior, a custom factory may be provided.

This function is expected to have the following signature:

function():Callout

The following example shows how to create a custom callout factory:

Callout.calloutFactory = function():Callout
{
    var callout:Callout = new Callout();
    //set properties here!
    return callout;
};

Note: the default callout factory sets the following properties:

callout.closeOnTouchBeganOutside = true;
callout.closeOnTouchEndedOutside = true;
callout.closeOnKeys = new <uint>[Keyboard.BACK, Keyboard.ESCAPE];

See also

calloutOverlayFactoryproperty 
public static var calloutOverlayFactory:Function

Returns an overlay to display with a callout that is modal. Uses the standard overlayFactory of the PopUpManager by default, but you can use this property to provide your own custom overlay, if you prefer.

This function is expected to have the following signature:

function():DisplayObject

The following example uses a semi-transparent Quad as a custom overlay:

Callout.calloutOverlayFactory = function():Quad
{
    var quad:Quad = new Quad(10, 10, 0x000000);
    quad.alpha = 0.75;
    return quad;
};

See also

closeOnKeysproperty 
public var closeOnKeys:Vector.<uint>

The callout will be closed if any of these keys are pressed.

In the following example, the callout close when the Escape key is pressed:

callout.closeOnKeys = new <uint>[Keyboard.ESCAPE];

See also

closeOnTouchBeganOutsideproperty 
public var closeOnTouchBeganOutside:Boolean = false

Determines if the callout is automatically closed if a touch in the TouchPhase.BEGAN phase happens outside of the callout's or the origin's bounds.

In the following example, the callout will not close when a touch event with TouchPhase.BEGAN is detected outside the callout's (or its origin's) bounds:

callout.closeOnTouchBeganOutside = false;

See also

closeOnTouchEndedOutsideproperty 
public var closeOnTouchEndedOutside:Boolean = false

Determines if the callout is automatically closed if a touch in the TouchPhase.ENDED phase happens outside of the callout's or the origin's bounds.

In the following example, the callout will not close when a touch event with TouchPhase.ENDED is detected outside the callout's (or its origin's) bounds:

callout.closeOnTouchEndedOutside = false;

See also

contentproperty 
content:DisplayObject

The display object that will be presented by the callout. This object may be resized to fit the callout's bounds. If the content needs to be scrolled if placed into a smaller region than its ideal size, it must provide its own scrolling capabilities because the callout does not offer scrolling.

In the following example, the callout's content is an image:

callout.content = new Image( texture );

The default value is null.


Implementation
    public function get content():DisplayObject
    public function set content(value:DisplayObject):void
disposeContentproperty 
public var disposeContent:Boolean = true

Determines if the callout's content will be disposed when the callout is disposed. If set to false, the callout's content may be added to the display list again later.

In the following example, the callout's content will not be disposed when the callout is disposed:

callout.disposeContent = false;

disposeOnSelfCloseproperty 
public var disposeOnSelfClose:Boolean = true

Determines if the callout will be disposed when close() is called internally. Close may be called internally in a variety of cases, depending on values such as closeOnTouchBeganOutside, closeOnTouchEndedOutside, and closeOnKeys. If set to false, you may reuse the callout later by giving it a new origin and adding it to the PopUpManager again.

In the following example, the callout will not be disposed when it closes itself:

callout.disposeOnSelfClose = false;

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all Callout components.

The default value is null.

See also

originproperty 
origin:DisplayObject

A callout may be positioned relative to another display object, known as the callout's origin. Even if the position of the origin changes, the callout will reposition itself to always point at the origin.

When an origin is set, the arrowPosition and arrowOffset properties will be managed automatically by the callout. Setting either of these values manually will either have no effect or unexpected behavior, so it is recommended that you avoid modifying those properties.

Note: The origin is excluded when using closeOnTouchBeganOutside and closeOnTouchEndedOutside. In other words, when the origin is touched, and either of these properties is true, the callout will not be closed. If the callout is not displayed modally, and touching the origin opens the callout, you should check if a callout is already visible. If a callout is visible, close it. If no callouts are visible, show one. However, if the callout is modal, the touch will be stopped by the overlay before it reaches the origin, so this behavior will not apply.

In general, if you use Callout.show(), you will rarely need to manually manage the origin property.

In the following example, the callout's origin is set to a button:

callout.origin = button;

The default value is null.


Implementation
    public function get origin():DisplayObject
    public function set origin(value:DisplayObject):void

See also

stagePaddingproperty 
stagePadding:Number

Quickly sets all stage padding properties to the same value. The stagePadding getter always returns the value of stagePaddingTop, but the other padding values may be different.

The following example gives the stage 20 pixels of padding on all sides:

Callout.stagePadding = 20;

The default value is 0.


Implementation
    public static function get stagePadding():Number
    public static function set stagePadding(value:Number):void

See also

stagePaddingBottomproperty 
public static var stagePaddingBottom:Number = 0

The padding between a callout and the bottom edge of the stage when the callout is positioned automatically. May be ignored if the callout is too big for the stage.

In the following example, the bottom stage padding will be set to 20 pixels:

Callout.stagePaddingBottom = 20;

stagePaddingLeftproperty 
public static var stagePaddingLeft:Number = 0

The margin between a callout and the top edge of the stage when the callout is positioned automatically. May be ignored if the callout is too big for the stage.

In the following example, the left stage padding will be set to 20 pixels:

Callout.stagePaddingLeft = 20;

stagePaddingRightproperty 
public static var stagePaddingRight:Number = 0

The padding between a callout and the right edge of the stage when the callout is positioned automatically. May be ignored if the callout is too big for the stage.

In the following example, the right stage padding will be set to 20 pixels:

Callout.stagePaddingRight = 20;

stagePaddingTopproperty 
public static var stagePaddingTop:Number = 0

The padding between a callout and the top edge of the stage when the callout is positioned automatically. May be ignored if the callout is too big for the stage.

In the following example, the top stage padding will be set to 20 pixels:

Callout.stagePaddingTop = 20;

supportedPositionsproperty 
supportedPositions:Vector.<String>

The position of the callout, relative to its origin. Accepts a Vector.<String> containing one or more of the constants from feathers.layout.RelativePosition or null. If null, the callout will attempt to position itself using values in the following order:

Note: If the callout's origin is not set, the supportedPositions property will be ignored.

In the following example, the callout's supported positions are restricted to the top and bottom of the origin:

callout.supportedPositions = new <String>[RelativePosition.TOP, RelativePosition.BOTTOM];

In the following example, the callout's position is restricted to the right of the origin:

callout.supportedPositions = new <String>[RelativePosition.RIGHT];

Note: The arrowPosition property is related to this one, but they have different meanings and are usually opposites. For example, a callout on the right side of its origin will generally display its left arrow.

The default value is null.


Implementation
    public function get supportedPositions():Vector.<String>
    public function set supportedPositions(value:Vector.<String>):void

See also

Constructor Detail
Callout()Constructor
public function Callout()

Constructor.

Method Detail
autoSizeIfNeeded()method
protected function autoSizeIfNeeded():Boolean

If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself. If the explicitWidth or explicitHeight member variables are set, those value will be used without additional measurement. If one is set, but not the other, the dimension with the explicit value will not be measured, but the other non-explicit dimension will still need measurement.

Calls saveMeasurements() to set up the actualWidth and actualHeight member variables used for layout.

Meant for internal use, and subclasses may override this function with a custom implementation.

Returns
Boolean
close()method 
public function close(dispose:Boolean = false):void

Closes the callout.

Parameters

dispose:Boolean (default = false)

defaultCalloutFactory()method 
public static function defaultCalloutFactory():Callout

The default factory that creates callouts when Callout.show() is called. To use a different factory, you need to set Callout.calloutFactory to a Function instance.

Returns
Callout
show()method 
public static function show(content:DisplayObject, origin:DisplayObject, supportedPositions:Vector.<String> = null, isModal:Boolean = true, customCalloutFactory:Function = null, customOverlayFactory:Function = null):Callout

Creates a callout, and then positions and sizes it automatically based on an origin rectangle and the specified direction relative to the original. The provided width and height values are optional, and these values may be ignored if the callout cannot be drawn at the specified dimensions.

The supportedPositions parameter should be a Vector.<String> of values from the feathers.layout.RelativePosition class. The positions should be ordered by preference. This parameter is typed as Object to allow some deprecated String values. In a future version of Feathers, the type will change to Vector.<String> instead.

In the following example, a callout displaying a Label is shown when a Button is triggered:

button.addEventListener( Event.TRIGGERED, button_triggeredHandler );
function button_triggeredHandler( event:Event ):void
{
    var label:Label = new Label();
    label.text = "Hello World!";
    var button:Button = Button( event.currentTarget );
    Callout.show( label, button );
}

Parameters

content:DisplayObject
 
origin:DisplayObject
 
supportedPositions:Vector.<String> (default = null)
 
isModal:Boolean (default = true)
 
customCalloutFactory:Function (default = null)
 
customOverlayFactory:Function (default = null)

Returns
Callout
Event Detail
close Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CLOSE

Dispatched when the callout is closed.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Style Detail
arrowOffsetstyle
arrowOffset:Number

The offset, in pixels, of the arrow skin from the horizontal center or vertical middle of the background skin, depending on the position of the arrow (which side it is on). This value is used to point at the callout's origin when the callout is not perfectly centered relative to the origin.

On the top and bottom edges, the arrow will move left for negative values of arrowOffset and right for positive values. On the left and right edges, the arrow will move up for negative values and down for positive values.

If you use Callout.show() or set the origin property manually, you should avoid manually modifying the arrowPosition and arrowOffset properties.

In the following example, the arrow offset is set to 20 pixels:

callout.arrowOffset = 20;

The default value is 0.

See also

verticalAlignstyle 
verticalAlign:String

The vertical alignment of the callout, relative to the origin.

Note: The VerticalAlign.JUSTIFY constant is not supported.

The default value is feathers.layout.VerticalAlign.MIDDLE.

See also

topArrowSkinstyle 
topArrowSkin:DisplayObject

The arrow skin to display on the top edge of the callout. This arrow is displayed when the callout is displayed below the region it points at.

In the following example, the callout's top arrow skin is set to an image:

callout.topArrowSkin = new Image( texture );

The default value is null.

See also

topArrowGapstyle 
topArrowGap:Number

The space, in pixels, between the top arrow skin and the background skin. To have the arrow overlap the background, you may use a negative gap value.

In the following example, the gap between the callout and its top arrow is set to -4 pixels (perhaps to hide a border on the callout's background):

callout.topArrowGap = -4;

The default value is 0.

See also

rightArrowSkinstyle 
rightArrowSkin:DisplayObject

The arrow skin to display on the right edge of the callout. This arrow is displayed when the callout is displayed to the left of the region it points at.

In the following example, the callout's right arrow skin is set to an image:

callout.rightArrowSkin = new Image( texture );

The default value is null.

See also

rightArrowGapstyle 
rightArrowGap:Number

The space, in pixels, between the right arrow skin and the background skin. To have the arrow overlap the background, you may use a negative gap value.

In the following example, the gap between the callout and its right arrow is set to -4 pixels (perhaps to hide a border on the callout's background):

callout.rightArrowGap = -4;

The default value is 0.

See also

paddingLeftstyle 
paddingLeft:Number

The minimum space, in pixels, between the callout's left edge and the callout's content.

In the following example, the padding on the left edge of the callout is set to 20 pixels:

callout.paddingLeft = 20;

The default value is 0.

See also

paddingBottomstyle 
paddingBottom:Number

The minimum space, in pixels, between the callout's bottom edge and the callout's content.

In the following example, the padding on the bottom edge of the callout is set to 20 pixels:

callout.paddingBottom = 20;

The default value is 0.

See also

paddingRightstyle 
paddingRight:Number

The minimum space, in pixels, between the callout's right edge and the callout's content.

In the following example, the padding on the right edge of the callout is set to 20 pixels:

callout.paddingRight = 20;

The default value is 0.

See also

paddingTopstyle 
paddingTop:Number

The minimum space, in pixels, between the callout's top edge and the callout's content.

In the following example, the padding on the top edge of the callout is set to 20 pixels:

callout.paddingTop = 20;

The default value is 0.

See also

paddingstyle 
padding:Number

Quickly sets all padding properties to the same value. The padding getter always returns the value of paddingTop, but the other padding values may be different.

In the following example, the padding of all sides of the callout is set to 20 pixels:

callout.padding = 20;

The default value is 0.

See also

originGapstyle 
originGap:Number

The space, in pixels, between the callout and the origin.

In the following example, the gap between the callout and its origin is set to 10 pixels:

callout.originGap = 10;

The default value is 0.

See also

leftArrowSkinstyle 
leftArrowSkin:DisplayObject

The arrow skin to display on the left edge of the callout. This arrow is displayed when the callout is displayed to the right of the region it points at.

In the following example, the callout's left arrow skin is set to an image:

callout.leftArrowSkin = new Image( texture );

The default value is null.

See also

leftArrowGapstyle 
leftArrowGap:Number

The space, in pixels, between the right arrow skin and the background skin. To have the arrow overlap the background, you may use a negative gap value.

In the following example, the gap between the callout and its left arrow is set to -4 pixels (perhaps to hide a border on the callout's background):

callout.leftArrowGap = -4;

The default value is 0.

See also

horizontalAlignstyle 
horizontalAlign:String

The horizontal alignment of the callout, relative to the origin.

Note: The HorizontalAlign.JUSTIFY constant is not supported.

The default value is feathers.layout.HorizontalAlign.CENTER.

See also

bottomArrowSkinstyle 
bottomArrowSkin:DisplayObject

The arrow skin to display on the bottom edge of the callout. This arrow is displayed when the callout is displayed above the region it points at.

In the following example, the callout's bottom arrow skin is set to an image:

callout.bottomArrowSkin = new Image( texture );

The default value is null.

See also

bottomArrowGapstyle 
bottomArrowGap:Number

The space, in pixels, between the bottom arrow skin and the background skin. To have the arrow overlap the background, you may use a negative gap value.

In the following example, the gap between the callout and its bottom arrow is set to -4 pixels (perhaps to hide a border on the callout's background):

callout.bottomArrowGap = -4;

The default value is 0.

See also

backgroundSkinstyle 
backgroundSkin:DisplayObject

The primary background to display behind the callout's content.

In the following example, the callout's background is set to an image:

callout.backgroundSkin = new Image( texture );

The default value is null.

arrowPositionstyle 
arrowPosition:String

The position of the callout's arrow relative to the callout's background. If the callout's origin is set, this value will be managed by the callout and may change automatically if the origin moves to a new position or if the stage resizes.

The supportedPositions property is related to this one, but they have different meanings and are usually opposites. For example, a callout on the right side of its origin will generally display its left arrow.

If you use Callout.show() or set the origin property manually, you should avoid manually modifying the arrowPosition and arrowOffset properties.

In the following example, the callout's arrow is positioned on the left side:

callout.arrowPosition = RelativePosition.LEFT;

The default value is feathers.layout.RelativePosition.TOP.

See also

Constant Detail
DEFAULT_POSITIONSConstant
public static const DEFAULT_POSITIONS:Vector.<String>

The default positions used by a callout.