blob: f3f082c49325b7eef00c1ad44c368639578b3c54 [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package flashx.textLayout.events
{
import flash.events.Event;
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.elements.TextFlow;
/**
* A TextFlow instance dispatches this event after any of its containers completes
* an update. Each text container has two states: composition and display. This
* event notifies you when the display phase has ended. This provides an
* opportunity to make any necessary changes to the container when it is ready to
* be displayed, but hasn't yet been painted to the screen.
*
* @internal Note: the DamageEvent_example class contains a good example of
* using the UpdateCompleteEvent, so I have included it as the class example
* instead of creating a new example. I've updated the description of the
* DamageEvent_example file to include prominent mention of the UpdateCompleteEvent.
*
* @includeExample examples\DamageEvent_example.as -noswf
* @see flashx.textLayout.elements.TextFlow
* @playerversion Flash 10
* @playerversion AIR 1.5
* @langversion 3.0
*/
public class UpdateCompleteEvent extends Event
{
/**
* Defines the value of the <code>type</code> property of an <code>UpdateCompleteEvent</code> object
* @playerversion Flash 10
* @playerversion AIR 1.5
* @langversion 3.0
*/
public static const UPDATE_COMPLETE:String = "updateComplete";
/** @private */
private var _controller:ContainerController;
/** @private */
private var _textFlow:TextFlow;
/** Constructor
* @param type event type - use the static property UPDATE_COMPLETE.
* @param bubbles Indicates whether an event is a bubbling event. This event does not bubble.
* @param cancelable Indicates whether the behavior associated with the event can be prevented.
* This event cannot be cancelled.
* @param controller The ContainerController whose container was updated
* @param textFlow The TextFlow which was updated
* @playerversion Flash 10
* @playerversion AIR 1.5
* @langversion 3.0
**/
public function UpdateCompleteEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, textFlow:TextFlow = null, controller:ContainerController=null)
{
super(type, bubbles, cancelable);
this.controller = controller;
_textFlow = textFlow;
}
/** @private */
override public function clone():Event
{
return new UpdateCompleteEvent(type, bubbles, cancelable, _textFlow, _controller);
}
/**
* The controller of the container being updated
* @playerversion Flash 10
* @playerversion AIR 1.5
* @langversion 3.0
*/
public function get controller():ContainerController
{ return _controller; }
public function set controller(c:ContainerController):void
{ _controller = c; }
/**
* TextFlow which has been updated.
* @playerversion Flash 10
* @playerversion AIR 1.5
* @langversion 3.0
*/
public function get textFlow():TextFlow
{ return _textFlow; }
public function set textFlow(value:TextFlow):void
{ _textFlow = value; }
}
}