This is an automated email from the ASF dual-hosted git repository. yishayw pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit a57545fed9e60193d122c8141635749fceb952b7 Author: Yishay Weiss <[email protected]> AuthorDate: Fri Sep 25 13:24:31 2020 +0100 Got new emulation stubs to compile --- .../MXRoyale/src/main/royale/MXRoyaleClasses.as | 12 + .../mx/controls/scrollClasses/ScrollThumb.as | 124 ++++---- .../main/royale/mx/effects/EffectTargetFilter.as | 331 +++++++++++++++++++++ .../main/royale/mx/effects/IEffectTargetHost.as | 122 ++++++++ .../mx/effects/effectClasses/PropertyChanges.as | 151 ++++++++++ .../MXRoyale/src/main/royale/mx/events/RSLEvent.as | 3 +- 6 files changed, 679 insertions(+), 64 deletions(-) diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as index 16c1f13..57be249 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as +++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as @@ -282,6 +282,18 @@ internal class MXRoyaleClasses import mx.controls.beads.models.ComboBoxModel; ComboBoxModel; import mx.controls.beads.models.CascadingMenuModel; CascadingMenuModel; + import mx.collections.errors.ItemPendingError; ItemPendingError; + import mx.controls.scrollClasses.ScrollThumb; ScrollThumb; + import mx.effects.EffectTargetFilter; EffectTargetFilter; + import mx.effects.effectClasses.PropertyChanges; PropertyChanges; + import mx.effects.IEffect; IEffect; + import mx.effects.IEffectTargetHost; IEffectTargetHost; + import mx.events.RSLEvent; RSLEvent; + import mx.skins.halo.DataGridHeaderSeparator; DataGridHeaderSeparator; + import mx.filters.BaseDimensionFilter; BaseDimensionFilter; + import mx.filters.BaseFilter; BaseFilter; + import mx.filters.IBitmapFilter; IBitmapFilter; + import mx.controls.beads.models.SingleSelectionICollectionViewModel; SingleSelectionICollectionViewModel; import mx.controls.beads.models.DataGridColumnICollectionViewModel; DataGridColumnICollectionViewModel; import mx.controls.beads.models.DataGridICollectionViewModel; DataGridICollectionViewModel; diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/scrollClasses/ScrollThumb.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/scrollClasses/ScrollThumb.as index 31b5f89..65bcd10 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/scrollClasses/ScrollThumb.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/scrollClasses/ScrollThumb.as @@ -65,7 +65,7 @@ public class ScrollThumb extends Button explicitMinHeight = 10; - stickyHighlighting = true; + //stickyHighlighting = true; } //-------------------------------------------------------------------------- @@ -109,12 +109,12 @@ public class ScrollThumb extends Button /** * @private */ - override mx_internal function buttonReleased():void - { - super.buttonReleased(); - - stopDragThumb(); - } + //override mx_internal function buttonReleased():void + //{ + //super.buttonReleased(); +// + //stopDragThumb(); + //} //-------------------------------------------------------------------------- // @@ -143,18 +143,18 @@ public class ScrollThumb extends Button */ private function stopDragThumb():void { - var scrollBar:ScrollBar = ScrollBar(parent); - - scrollBar.isScrolling = false; - - scrollBar.dispatchScrollEvent(scrollBar.oldPosition, - ScrollEventDetail.THUMB_POSITION); - - scrollBar.oldPosition = NaN; - - systemManager.getSandboxRoot().removeEventListener( - MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); - + //var scrollBar:ScrollBar = ScrollBar(parent); + // + //scrollBar.isScrolling = false; + // + //scrollBar.dispatchScrollEvent(scrollBar.oldPosition, + //ScrollEventDetail.THUMB_POSITION); + // + //scrollBar.oldPosition = NaN; + // + //systemManager.getSandboxRoot().removeEventListener( + //MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); +// } //-------------------------------------------------------------------------- @@ -167,19 +167,19 @@ public class ScrollThumb extends Button * @private * User pressed on the thumb, so start tracking in case they drag it. */ - override protected function mouseDownHandler(event:MouseEvent):void - { - super.mouseDownHandler(event); - - var scrollBar:ScrollBar = ScrollBar(parent); - scrollBar.oldPosition = scrollBar.scrollPosition; - - lastY = event.localY; - - systemManager.getSandboxRoot().addEventListener( - MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); - - } + //override protected function mouseDownHandler(event:MouseEvent):void + //{ + //super.mouseDownHandler(event); +// + //var scrollBar:ScrollBar = ScrollBar(parent); + //scrollBar.oldPosition = scrollBar.scrollPosition; + // + //lastY = event.localY; + // + //systemManager.getSandboxRoot().addEventListener( + //MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); +// + //} //-------------------------------------------------------------------------- // @@ -193,36 +193,36 @@ public class ScrollThumb extends Button */ private function mouseMoveHandler(event:MouseEvent):void { - if (ymin == ymax) - return; - - var pt:Point = new Point(event.stageX, event.stageY); - pt = globalToLocal(pt); - - var scrollMove:Number = pt.y - lastY; - scrollMove += y; - - if (scrollMove < ymin) - scrollMove = ymin; - else if (scrollMove > ymax) - scrollMove = ymax; - - var scrollBar:ScrollBar = ScrollBar(parent); - - scrollBar.isScrolling = true; - - $y = scrollMove; - - // In an ideal world, this would probably dispatch an event, - // however this object is rather hardwired into a scroll bar - // so we'll just have it tell the scroll bar to change its position. - var oldPosition:Number = scrollBar.scrollPosition; - var pos:Number = Math.round( - (datamax - datamin) * (y - ymin) / (ymax - ymin)) + datamin; - scrollBar.scrollPosition = pos; - scrollBar.dispatchScrollEvent(oldPosition, - ScrollEventDetail.THUMB_TRACK); - event.updateAfterEvent(); + //if (ymin == ymax) + //return; +// + //var pt:Point = new Point(event.stageX, event.stageY); + //pt = globalToLocal(pt); + // + //var scrollMove:Number = pt.y - lastY; + //scrollMove += y; + // + //if (scrollMove < ymin) + //scrollMove = ymin; + //else if (scrollMove > ymax) + //scrollMove = ymax; +// + //var scrollBar:ScrollBar = ScrollBar(parent); + // + //scrollBar.isScrolling = true; + // + //$y = scrollMove; +// + //// In an ideal world, this would probably dispatch an event, + //// however this object is rather hardwired into a scroll bar + //// so we'll just have it tell the scroll bar to change its position. + //var oldPosition:Number = scrollBar.scrollPosition; + //var pos:Number = Math.round( + //(datamax - datamin) * (y - ymin) / (ymax - ymin)) + datamin; + //scrollBar.scrollPosition = pos; + //scrollBar.dispatchScrollEvent(oldPosition, + //ScrollEventDetail.THUMB_TRACK); + //event.updateAfterEvent(); } } diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/effects/EffectTargetFilter.as b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/EffectTargetFilter.as new file mode 100644 index 0000000..2fc6198 --- /dev/null +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/EffectTargetFilter.as @@ -0,0 +1,331 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 mx.effects +{ + +import mx.effects.effectClasses.PropertyChanges; + +/** + * The EffectTargetFilter class defines a custom filter that is executed + * by each transition effect on each target of the effect. + * + * <p>The EffectTargetFilter class defines a + * <code>defaultFilterFunction()</code> method that uses the + * <code>filterProperties</code> and <code>filterStyles</code> properties + * to determine whether to play the effect on each effect target.</p> + * + * <p>You can also define a custom filter function + * to implement your own filtering logic. + * To do so, define your filter function, and then specify that function + * to an EffectTargetFilter object using the <code>filterFunction</code> + * property.</p> + * + * <p>To configure an effect to use a custom filter, you pass an + * EffectTargetFilter object to the <code>Effect.customFilter</code> property + * of the effect.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ +public class EffectTargetFilter +{ + //include "../core/Version.as"; + + //-------------------------------------------------------------------------- + // + // Constructor + // + //-------------------------------------------------------------------------- + + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function EffectTargetFilter() + { + super(); + } + + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + //---------------------------------- + // filterFunction + //---------------------------------- + + /** + * A function that defines custom filter logic. + * Flex calls this method on every target of the effect. + * If the function returns <code>true</code>, + * the effect plays on the target; + * if it returns <code>false</code>, the target is skipped by the effect. + * A custom filter function gives you greater control over filtering + * than the <code>Effect.filter</code> property. + * + * <p>The filter function has the following signature:</p> + * + * <pre> + * filterFunc(propChanges:Array, instanceTarget:Object):Boolean + * { + * // Return true to play the effect on instanceTarget, + * // or false to not play the effect. + * } + * </pre> + * + * <p>where:</p> + * + * <p><code>propChanges</code> - An Array of PropertyChanges objects, + * one object per target component of the effect. + * If a property of a target is not modified by the transition, + * it is not included in this Array.</p> + * + * <p><code>instanceTarget</code> - The specific target component + * of the effect that you want to filter. + * Within the custom filter function, you first search the + * <code>propChanges</code> Array for the PropertyChanges object + * that matches the <code>instanceTarget</code> argument + * by comparing the <code>instanceTarget</code> argument + * to the <code>propChanges.target</code> property.</p> + * + * @see mx.effects.effectClasses.PropertyChanges + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var filterFunction:Function = defaultFilterFunctionEx; + + //---------------------------------- + // filterProperties + //---------------------------------- + + /** + * An Array of Strings specifying component properties. + * If any of the properties in the Array changed on the target component, + * play the effect on the target. + * + * <p>If you define a custom filter function, you can examine the + * <code>filterProperties</code> property from within your function.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var filterProperties:Array = []; + + //---------------------------------- + // filterStyles + //---------------------------------- + + /** + * An Array of Strings specifying style properties. + * If any of the style properties in the Array changed on the target component, + * play the effect on the target. + * + * <p>If you define a custom filter function, you can examine the + * <code>filterStyles</code> property from within your function.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var filterStyles:Array = []; + + //---------------------------------- + // requiredSemantics + //---------------------------------- + + /** + * A collection of properties and associated values which must be associated + * with a target for the effect to be played. + * + * <p>When working with data effects, you can use this property to filter effects. + * If you want to play a data effect on all targets of a list control + * that are not added by the effect, meaning targets that is removed, replaced, moved, + * or affected in any other way, you can write the effect definition as shown below: </p> + * + * <pre> + * <mx:Blur> + * <mx:customFilter> + * <mx:EffectTargetFilter requiredSemantics="{{'added':false}}"/> + * </mx:customFilter> + * </mx:Blur> </pre> + * + * <p>To play a data effect on all targets that are not added or not removed by the effect, + * you can write the effect definition as shown below:</p> + * + * <pre> + * <mx:Blur> + * <mx:customFilter> + * <mx:EffectTargetFilter requiredSemantics="{{'added':false}, {'removed':false}}"/> + * </mx:customFilter> + * </mx:Blur></pre> + * + * <p>The allowed list of properties that you can specify includes <code>added</code>, + * <code>removed</code>, <code>replaced</code>, and <code>replacement</code>. + * The allowed values for the properties are <code>true</code> and <code>false</code>.</p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var requiredSemantics:Object = null; + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + /** + * Determines whether a target should be filtered, returning true if it should be + * included in an effect. + * + * The determination is made by calling filterFunction and semanticFilterFunction, + * returning true if and only if both functions return true. The default functions + * with the default values will always return true. + * + * Typically, an EffectTargetFilter will use one type of filter or the other, but + * not both. + * + * @param propChanges An Array of PropertyChanges objects. The target property of + * each PropertyChanges object is equal to the effect's target. If a property of + * a target is not modified by a transition, the corresponding PropertyChanges + * object is not included in this array. + * + * @param semanticsProvider The IEffectTargetHost used to evaluate the properties + * specified in requiredSemantics for the target, normally the effectTargetHost of + * the effect. For item change effects, when the targets of the effect are item + * renderers, this will be the List or TileList containing the item renderers. + * + * @param target The target of the EffectInstance that calls this function. If an + * effect has multiple targets, this function is called once per target. + * + * @return Returna <code>true</code>, if the target should be included in the effect; + * otherwise returns <code>false</code>. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function filterInstance(propChanges:Array, semanticsProvider:IEffectTargetHost, + target:Object):Boolean + { + if (filterFunction.length == 2) + return filterFunction(propChanges, target); + else + return filterFunction(propChanges, semanticsProvider, target); + } + + /** + * @private + */ + protected function defaultFilterFunctionEx(propChanges:Array, semanticsProvider:IEffectTargetHost, + target:Object):Boolean + { + if (requiredSemantics) + { + for (var prop:String in requiredSemantics) + { + // seems dumb to check this every time + // if necessary, we could do something with setters and getters + if (!semanticsProvider) + return false; + if (semanticsProvider.getRendererSemanticValue(target,prop) != requiredSemantics[prop]) + return false; + } + + // not clear this is the right thing to do here + // the problem is that defaultFilterFunction returns false in + // some cases where we might expect it to return true + return true; + } + // if semantic filtering has passed, do property change filtering + return defaultFilterFunction(propChanges, target); + } + + /** + * The default filter function for the EffectTargetFilter class. + * If the <code>instanceTarget</code> has different start and end values + * for any of the values specified by the <code>filterProperties</code> + * or <code>filterStyles</code> properties, play the effect on the target. + * + * @param propChanges An Array of PropertyChanges objects. + * The <code>target</code> property of each PropertyChanges object + * is equal to the effect's target. + * If a property of a target is not modified by a transition, the + * corresponding PropertyChanges + * object is not included in this array. + * + * @param instanceTarget The target of the EffectInstance + * that calls this function. + * If an effect has multiple targets, + * this function is called once per target. + * + * @return Returns <code>true</code> to allow the effect instance to play. + * + * @see mx.effects.effectClasses.PropertyChanges + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + protected function defaultFilterFunction(propChanges:Array, + instanceTarget:Object):Boolean + { + var n:int = propChanges.length; + for (var i:int = 0; i < n; i++) + { + var props:PropertyChanges = propChanges[i]; + if (props.target == instanceTarget) + { + var triggers:Array = filterProperties.concat(filterStyles); + var m:int = triggers.length; + for (var j:int = 0; j < m; j++) + { + if (props.start[triggers[j]] !== undefined && + props.end[triggers[j]] != props.start[triggers[j]]) + { + return true; + } + } + } + } + + return false; + } +} + +} diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/effects/IEffectTargetHost.as b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/IEffectTargetHost.as new file mode 100644 index 0000000..85b3d96 --- /dev/null +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/IEffectTargetHost.as @@ -0,0 +1,122 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 mx.effects +{ + +/** + * The IEffectTargetHost interface defines the interface that lets you access the + * target list-based control of a data effect. + * All list-based controls implement this interface. + * This interface enables an instance of an effect class to communicate with the + * list-based control on which the effect is playing. + * This interface is also used for determining whether to play an effect based on if a data item is + * added, removed, or replaced in the target control. + * + * @see mx.controls.listClasses.ListBase + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ +public interface IEffectTargetHost +{ + + /** + * Called by an <code>UnconstrainItemAction</code> effect + * as part of a data change effect if the item renderers corresponding + * to certain data items need to move outside the normal positions + * of item renderers in the control. + * The control does not attempt to position the item render for the + * duration of the effect. + * + * @param item The item renderer that is a target of the effect. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function unconstrainRenderer(item:Object):void; + + /** + * Removes an item renderer if a data change effect is running. + * The item renderer must correspond to data that has already + * been removed from the data provider collection. + * + * This function will be called by a <code>RemoveItemAction</code> + * effect as part of a data change effect to specify the point + * at which a data item ceases to displayed by the control using + * an item renderer. + * + * @param item The item renderer to remove from the control's layout. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function removeDataEffectItem(target:Object):void; + + /** + * Adds an item renderer if a data change effect is running. + * The item renderer should correspond to a recently added + * data item in the data provider's collection that isn't + * yet being displayed. + * + * <p>This function will be called by an <code>AddItemAction</code> + * effect as part of a data change effect to specify the point + * at which a data item added to a collection begins to be displayed + * by the control using an item renderer.</p> + * + * @param item The item renderer to add to the control's layout. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function addDataEffectItem(target:Object):void; + + /** + * Returns <code>true</code> or <code>false</code> + * to indicates whether the effect should play on the target. + * The EffectTargetFilter class calls this method when you set + * the <code>filter</code> property on a data effect. + * For example, you set <code>filter</code> property + * to <code>addItem</code> or <code>removeItem</code>. + * + * @param target An item renderer + * + * @param semanticProperty The semantic property of the renderer + * whose value will be returned. + * + * @return <code>true</code> or <code>false</code> + * to indicates whether the effect should play on the target. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + function getRendererSemanticValue(target:Object,semanticProperty:String):Object; + +} + +} diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/effects/effectClasses/PropertyChanges.as b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/effectClasses/PropertyChanges.as new file mode 100644 index 0000000..1db7c3d --- /dev/null +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/effectClasses/PropertyChanges.as @@ -0,0 +1,151 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 mx.effects.effectClasses +{ + +import mx.core.IUIComponent; + +/** + * The PropertyChanges class defines the start and end values + * for a set of properties of a target component of a transition. + * The <code>start</code> and <code>end</code> fields + * of the PropertyChanges class contain the same set of properties, + * but with different values. + * + * <p>Target properties that have the same start and end values + * are not included in the <code>start</code> and <code>end</code> fields.</p> + * + * @see mx.states.Transition + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ +public class PropertyChanges +{ + //include "../../core/Version.as"; + + //-------------------------------------------------------------------------- + // + // Constructor + // + //-------------------------------------------------------------------------- + + /** + * The PropertyChanges constructor. + * + * @param target Object that is a target of an effect. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public function PropertyChanges(target:Object) + { + super(); + + this.target = target; + } + + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + //---------------------------------- + // end + //---------------------------------- + + /** + * An Object containing the ending properties of the <code>target</code> + * component modified by the change in view state. + * + * <p>For example, for a <code>target</code> component that is both + * moved and resized by a change to the view state, <code>end</code> + * contains the ending position and size of the component, + * as the following example shows: + * <pre>{ x: 100, y: 100, width: 200, height: 200 }</pre></p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var end:Object = {}; + + //---------------------------------- + // start + //---------------------------------- + + /** + * An Object containing the starting properties of the <code>target</code> + * component modified by the change in view state. + * + * <p>For example, for a <code>target</code> component that is both + * moved and resized by a change to the view state, <code>start</code> + * contains the starting position and size of the component, + * as the following example shows: + * <pre>{ x: 0, y: 0, width: 100, height: 100}</pre></p> + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var start:Object = {}; + + //---------------------------------- + // target + //---------------------------------- + + /** + * A target component of a transition. + * The <code>start</code> and <code>end</code> fields + * of the PropertyChanges object define how the target component + * is modified by the change to the view state. + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var target:Object; + + // TODO (chaase): This flag is currently used by the transform-related + // effects. We should investigate whether we really need it, or can get + // by without it + /** + * This flag controls whether values that are the same in the + * start and end states are stripped from those objects. + * + * @default true + * + * @langversion 3.0 + * @playerversion Flash 9 + * @playerversion AIR 1.1 + * @productversion Flex 3 + */ + public var stripUnchangedValues:Boolean = true; +} + +} diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/RSLEvent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/events/RSLEvent.as index 3f0d9d9..5806236 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/RSLEvent.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/events/RSLEvent.as @@ -22,7 +22,6 @@ package mx.events //import flash.display.LoaderInfo; import org.apache.royale.events.Event; -import org.apache.royale.events.ProgressEvent; import org.apache.royale.net.URLRequest; /** @@ -352,7 +351,7 @@ public class RSLEvent extends ProgressEvent /** * @private */ - override public function clone():Event + public function clone():Event { return new RSLEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, rslIndex,
