use org.apache.flex.events.MouseEvent instead of flash.display.MouseEvent, but make org.apache.flex.events.MouseEvent extend from org.apache.flex.events.Event because some existing code has the type of the event as just Event instead of MouseEvent. Just using Event resolves now to org.apache.flex.events.Event. This is needed so the cross-compile isn't referencing flash.events.* classes, but means we have to copy properties from the original flash MouseEvent.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/84d993f1 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/84d993f1 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/84d993f1 Branch: refs/heads/develop Commit: 84d993f177793043ea707d337226b5153d3bdf96 Parents: c3385db Author: Alex Harui <[email protected]> Authored: Fri Oct 24 11:59:08 2014 -0700 Committer: Alex Harui <[email protected]> Committed: Fri Oct 24 13:07:50 2014 -0700 ---------------------------------------------------------------------- frameworks/as/flex-config-template.xml | 6 + .../src/org/apache/flex/events/DragEvent.as | 7 +- .../src/org/apache/flex/events/MouseEvent.as | 114 ++++++++++++++++++- .../FlexJSUI/src/org/apache/flex/geom/Point.as | 42 +++++++ .../src/org/apache/flex/geom/Rectangle.as | 42 +++++++ .../apache/flex/html/accessories/ToolTipBead.as | 11 +- .../flex/html/beads/SolidBackgroundBead.as | 8 ++ .../controllers/ButtonAutoRepeatController.as | 2 +- .../beads/controllers/ComboBoxController.as | 2 +- .../beads/controllers/DragMouseController.as | 2 +- .../beads/controllers/DropMouseController.as | 2 +- .../controllers/ItemRendererMouseController.as | 3 +- .../controllers/ScrollBarMouseControllerBase.as | 3 +- .../beads/controllers/SliderMouseController.as | 4 +- .../beads/controllers/SpinnerMouseController.as | 3 +- .../controllers/VScrollBarMouseController.as | 2 +- .../src/org/apache/flex/utils/PointUtils.as | 80 +++++++++++++ frameworks/flex-config.xml | 6 + 18 files changed, 311 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/flex-config-template.xml ---------------------------------------------------------------------- diff --git a/frameworks/as/flex-config-template.xml b/frameworks/as/flex-config-template.xml index be63168..ddd83ac 100644 --- a/frameworks/as/flex-config-template.xml +++ b/frameworks/as/flex-config-template.xml @@ -84,6 +84,12 @@ <mxml> <children-as-data>true</children-as-data> + <imports> + <implicit-import>org.apache.flex.events.*</implicit-import> + <implicit-import>org.apache.flex.geom.*</implicit-import> + <implicit-import>mx.core.ClassFactory</implicit-import> + <implicit-import>mx.core.IFactory</implicit-import> + </imports> </mxml> <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event> <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as index a2ce372..9b46dd5 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as @@ -18,9 +18,8 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.events { - import flash.events.MouseEvent; - import org.apache.flex.core.IDragInitiator; + import org.apache.flex.events.MouseEvent; /** * Drag and Drop Events. @@ -30,7 +29,7 @@ package org.apache.flex.events * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public class DragEvent extends flash.events.MouseEvent + public class DragEvent extends MouseEvent { /** * The <code>DragEvent.DRAG_START</code> constant defines the value of the @@ -270,7 +269,7 @@ package org.apache.flex.events */ public var dragSource:Object; - public function copyMouseEventProperties(event:flash.events.MouseEvent):void + public function copyMouseEventProperties(event:MouseEvent):void { localX = event.localX; localY = event.localY; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as index 5e70265..254565c 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as @@ -17,9 +17,13 @@ // //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.events -{ - import flash.events.MouseEvent; - +{ + import flash.events.MouseEvent; + + import org.apache.flex.core.IUIBase; + import org.apache.flex.geom.Point; + import org.apache.flex.utils.PointUtils; + /** * Mouse events * @@ -28,15 +32,42 @@ package org.apache.flex.events * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public class MouseEvent extends flash.events.MouseEvent + public class MouseEvent extends Event { public static const MOUSE_DOWN:String = "mouseDown"; + public static const MOUSE_MOVE:String = "mouseMove"; public static const MOUSE_UP:String = "mouseUp"; public static const MOUSE_OUT:String = "mouseOut"; public static const MOUSE_OVER:String = "mouseOver"; public static const ROLL_OVER:String = "rollOver"; public static const ROLL_OUT:String = "rollOut"; + public static const CLICK:String = "click"; + public static const UNCONVERTED_EVENTS:Object = { mouseWheel: 1 }; + + public static function convert(event:flash.events.MouseEvent):org.apache.flex.events.MouseEvent + { + if (UNCONVERTED_EVENTS[event.type]) + return null; + + var newEvent:org.apache.flex.events.MouseEvent = + new org.apache.flex.events.MouseEvent(event.type, event.bubbles, event.cancelable, + event.localX, event.localY, event.relatedObject, + event.ctrlKey, event.altKey, event.shiftKey, + event.buttonDown, event.delta); + + try + { + newEvent.commandKey = event.commandKey; + newEvent.controlKey = event.controlKey; + newEvent.clickCount = event.clickCount; + } + catch (e:Error) + { + } + return newEvent; + } + /** * Constructor. * @@ -49,9 +80,82 @@ package org.apache.flex.events * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function MouseEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) + public function MouseEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, + localX:Number = NaN, localY:Number = NaN, + relatedObject:Object = null, + ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, + buttonDown:Boolean = false, delta:int = 0, + commandKey:Boolean = false, controlKey:Boolean = false, + clickCount:int = 0) { super(type, bubbles, cancelable); + this.localX = localX; + this.localY = localY; + this.relatedObject = relatedObject; + this.ctrlKey = ctrlKey; + this.altKey = altKey; + this.shiftKey = shiftKey; + this.buttonDown = buttonDown; + this.delta = delta; + this.commandKey = commandKey; + this.controlKey = controlKey; + this.clickCount = clickCount; } + + private var _localX:Number; + public function get localX():Number + { + return _localX; + } + public function set localX(value:Number):void + { + _localX = value; + _stagePoint = null; + } + + private var _localY:Number; + public function get localY():Number + { + return _localY; + } + public function set localY(value:Number):void + { + _localY = value; + _stagePoint = null; + } + + public var relatedObject:Object; + public var ctrlKey:Boolean; + public var altKey:Boolean; + public var shiftKey:Boolean; + public var buttonDown:Boolean; + public var delta:int; + public var commandKey:Boolean; + public var controlKey:Boolean; + public var clickCount:int; + + private var _stagePoint:Point; + + public function get stageX():Number + { + if (!target) return localX; + if (!_stagePoint) + { + var localPoint:Point = new Point(localX, localY); + _stagePoint = PointUtils.localToGlobal(localPoint, IUIBase(target)); + } + return _stagePoint.x; + } + + public function get stageY():Number + { + if (!target) return localY; + if (!_stagePoint) + { + var localPoint:Point = new Point(localX, localY); + _stagePoint = PointUtils.localToGlobal(localPoint, IUIBase(target)); + } + return _stagePoint.y; + } } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Point.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Point.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Point.as new file mode 100644 index 0000000..0753e67 --- /dev/null +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Point.as @@ -0,0 +1,42 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.geom +{ +import flash.geom.Point; + +/** + * The Point class is a utility class for holding x and y values, not that you + * can't use it to hold a width and height value. + * + * The ActionScript version simply wraps flash.geom.Point to enable cross + * compilation. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ +public class Point extends flash.geom.Point +{ + public function Point(x:Number = 0, y:Number = 0) + { + super(x, y); + } +} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Rectangle.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Rectangle.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Rectangle.as new file mode 100644 index 0000000..ba81988 --- /dev/null +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/geom/Rectangle.as @@ -0,0 +1,42 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.geom +{ +import flash.geom.Rectangle; + +/** + * The Rectangle class is a utility class for holding four coordinates of + * a rectangle + * + * The ActionScript version simply wraps flash.geom.Rectangle to enable cross + * compilation. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ +public class Rectangle extends flash.geom.Rectangle +{ + public function Rectangle(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0) + { + super(x, y, width, height); + } +} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/accessories/ToolTipBead.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/accessories/ToolTipBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/accessories/ToolTipBead.as index 2878c6a..a1556c2 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/accessories/ToolTipBead.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/accessories/ToolTipBead.as @@ -18,10 +18,6 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.html.accessories { - import flash.display.DisplayObject; - import flash.events.MouseEvent; - import flash.geom.Point; - import flash.text.TextFieldType; import org.apache.flex.core.IBead; import org.apache.flex.core.IPopUpHost; @@ -30,8 +26,11 @@ package org.apache.flex.html.accessories import org.apache.flex.core.UIBase; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; + import org.apache.flex.geom.Point; import org.apache.flex.html.ToolTip; - import org.apache.flex.utils.UIUtils; + import org.apache.flex.utils.PointUtils; + import org.apache.flex.utils.UIUtils; /** * The ToolTipBead class is a specialty bead that can be used with @@ -108,7 +107,7 @@ package org.apache.flex.html.accessories tt = new ToolTip(); tt.text = toolTip; var pt:Point = new Point(comp.width, comp.height); - pt = DisplayObject(comp).localToGlobal(pt); + pt = PointUtils.localToGlobal(pt, comp); tt.x = pt.x; tt.y = pt.y; host.addElement(tt); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as index 255b4e3..3d93a43 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as @@ -23,6 +23,7 @@ package org.apache.flex.html.beads import org.apache.flex.core.IBead; import org.apache.flex.core.IBeadView; + import org.apache.flex.core.ILayoutChild; import org.apache.flex.core.IStrand; import org.apache.flex.core.IUIBase; import org.apache.flex.core.ValuesManager; @@ -74,6 +75,7 @@ package org.apache.flex.html.beads IEventDispatcher(host).addEventListener("heightChanged", changeHandler); IEventDispatcher(host).addEventListener("widthChanged", changeHandler); + IEventDispatcher(host).addEventListener("sizeChanged", changeHandler); var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color"); if( bgColor != null ) { @@ -84,6 +86,12 @@ package org.apache.flex.html.beads if( bgAlpha != null ) { opacity = Number(bgAlpha); } + var ilc:ILayoutChild = value as ILayoutChild; + if (ilc) + { + if (!isNaN(ilc.explicitWidth) && !isNaN(ilc.explicitHeight)) + changeHandler(null); + } } private var _backgroundColor:uint; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as index fe3a7b7..4100a28 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as @@ -18,7 +18,6 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.html.beads.controllers { - import flash.events.MouseEvent; import flash.utils.clearInterval; import flash.utils.clearTimeout; import flash.utils.setInterval; @@ -28,6 +27,7 @@ package org.apache.flex.html.beads.controllers import org.apache.flex.core.IBeadController; import org.apache.flex.core.IStrand; import org.apache.flex.events.Event; + import org.apache.flex.events.MouseEvent; import org.apache.flex.events.IEventDispatcher; /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ComboBoxController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ComboBoxController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ComboBoxController.as index 4b9faf7..12fb59c 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ComboBoxController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ComboBoxController.as @@ -19,13 +19,13 @@ package org.apache.flex.html.beads.controllers { import flash.display.DisplayObject; - import flash.events.MouseEvent; import org.apache.flex.core.IBeadController; import org.apache.flex.core.ISelectionModel; import org.apache.flex.core.IStrand; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; import org.apache.flex.html.beads.IComboBoxView; /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as index 3dc833d..c9c9e03 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as @@ -19,7 +19,6 @@ package org.apache.flex.html.beads.controllers { import flash.display.DisplayObject; - import flash.events.MouseEvent; import flash.geom.Point; import org.apache.flex.core.IBead; @@ -31,6 +30,7 @@ package org.apache.flex.html.beads.controllers import org.apache.flex.events.DragEvent; import org.apache.flex.events.EventDispatcher; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; import org.apache.flex.utils.UIUtils; /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as index 49d4d79..d1fee02 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as @@ -19,7 +19,6 @@ package org.apache.flex.html.beads.controllers { import flash.display.DisplayObject; - import flash.events.MouseEvent; import org.apache.flex.core.IBead; import org.apache.flex.core.IDragInitiator; @@ -29,6 +28,7 @@ package org.apache.flex.html.beads.controllers import org.apache.flex.events.DragEvent; import org.apache.flex.events.EventDispatcher; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; /** * Indicates that the mouse has entered the component during http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as index 2986481..517cc5a 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as @@ -18,12 +18,11 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.html.beads.controllers { - import flash.events.MouseEvent; - import org.apache.flex.core.IBeadController; import org.apache.flex.core.ISelectableItemRenderer; import org.apache.flex.core.IStrand; import org.apache.flex.events.Event; + import org.apache.flex.events.MouseEvent; /** * The ItemRendererMouseController class bead handles mouse events in itemRenderers. This http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as index 5ca1358..8d9d27b 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as @@ -18,13 +18,12 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.html.beads.controllers { - import flash.events.MouseEvent; - import org.apache.flex.core.IBeadController; import org.apache.flex.core.IScrollBarModel; import org.apache.flex.core.IStrand; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; import org.apache.flex.html.beads.IScrollBarView; /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as index aeb54fc..1568add 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as @@ -18,8 +18,6 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.html.beads.controllers { - import flash.events.MouseEvent; - import flash.geom.Point; import org.apache.flex.core.IBead; import org.apache.flex.core.IBeadController; @@ -28,6 +26,8 @@ package org.apache.flex.html.beads.controllers import org.apache.flex.core.UIBase; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; + import org.apache.flex.geom.Point; import org.apache.flex.html.beads.ISliderView; /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SpinnerMouseController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SpinnerMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SpinnerMouseController.as index b3ce89a..f37b491 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SpinnerMouseController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SpinnerMouseController.as @@ -18,13 +18,12 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.html.beads.controllers { - import flash.events.MouseEvent; - import org.apache.flex.core.IBeadController; import org.apache.flex.core.IRangeModel; import org.apache.flex.core.IStrand; import org.apache.flex.core.UIBase; import org.apache.flex.events.Event; + import org.apache.flex.events.MouseEvent; import org.apache.flex.events.IEventDispatcher; import org.apache.flex.html.beads.ISpinnerView; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as index 6961b73..dbcaf7d 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as @@ -19,9 +19,9 @@ package org.apache.flex.html.beads.controllers { import flash.display.DisplayObject; - import flash.events.MouseEvent; import org.apache.flex.events.Event; + import org.apache.flex.events.MouseEvent; import org.apache.flex.events.IEventDispatcher; /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/PointUtils.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/PointUtils.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/PointUtils.as new file mode 100644 index 0000000..6b30cbc --- /dev/null +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/PointUtils.as @@ -0,0 +1,80 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.utils +{ + import flash.display.DisplayObject; + import flash.geom.Point; + + import org.apache.flex.core.IUIBase; + import org.apache.flex.geom.Point; + + /** + * The PointUtils class is a collection of static functions that convert + * Points between coordinate spaces. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class PointUtils + { + /** + * @private + */ + public function PointUtils() + { + throw new Error("PointUtils should not be instantiated."); + } + + /** + * Converts a point from global coordinates to local coordinates + * + * @param point The point being converted. + * @param local The component used as reference for the conversion. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public static function globalToLocal( pt:org.apache.flex.geom.Point, local:IUIBase ):org.apache.flex.geom.Point + { + var fpt:flash.geom.Point = DisplayObject(local).globalToLocal(pt); + return new org.apache.flex.geom.Point(fpt.x, fpt.y); + } + + /** + * Converts a point from local coordinates to global coordinates + * + * @param point The point being converted. + * @param local The component used as reference for the conversion. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public static function localToGlobal( pt:org.apache.flex.geom.Point, local:IUIBase ):org.apache.flex.geom.Point + { + var fpt:flash.geom.Point = DisplayObject(local).localToGlobal(pt); + return new org.apache.flex.geom.Point(fpt.x, fpt.y); + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/84d993f1/frameworks/flex-config.xml ---------------------------------------------------------------------- diff --git a/frameworks/flex-config.xml b/frameworks/flex-config.xml index b89c7c2..56eee73 100644 --- a/frameworks/flex-config.xml +++ b/frameworks/flex-config.xml @@ -84,6 +84,12 @@ <mxml> <children-as-data>true</children-as-data> + <imports> + <implicit-import>org.apache.flex.events.*</implicit-import> + <implicit-import>org.apache.flex.geom.*</implicit-import> + <implicit-import>mx.core.ClassFactory</implicit-import> + <implicit-import>mx.core.IFactory</implicit-import> + </imports> </mxml> <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event> <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
