You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pi...@apache.org on 2020/10/23 11:28:29 UTC
[royale-asjs] branch develop updated: MXRoyale: Add Timer
implementation with TimerEvent. Timer extends org.apache.royale.utils.Timer
and dispatch TimerEvent.TIMER_COMPLETE
This is an automated email from the ASF dual-hosted git repository.
piotrz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new 6647d85 MXRoyale: Add Timer implementation with TimerEvent. Timer extends org.apache.royale.utils.Timer and dispatch TimerEvent.TIMER_COMPLETE
6647d85 is described below
commit 6647d85103f89b45baa4b61560bb8331dfdff8bd
Author: pzarzycki <pi...@wipro.com>
AuthorDate: Fri Oct 23 12:28:11 2020 +0100
MXRoyale: Add Timer implementation with TimerEvent. Timer extends org.apache.royale.utils.Timer and dispatch TimerEvent.TIMER_COMPLETE
---
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 3 +
.../src/main/royale/mx/events/TimerEvent.as | 115 +++++++++++++++++++++
.../MXRoyale/src/main/royale/mx/utils/Timer.as | 70 +++++++++++++
3 files changed, 188 insertions(+)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index d091291..9aeed54 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -352,6 +352,9 @@ internal class MXRoyaleClasses
import mx.utils.NameUtil; NameUtil;
import mx.core.BitmapAsset; BitmapAsset;
+
+ import mx.events.TimerEvent; TimerEvent;
+ import mx.utils.Timer; Timer;
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/TimerEvent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/events/TimerEvent.as
new file mode 100644
index 0000000..50d625a
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/events/TimerEvent.as
@@ -0,0 +1,115 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.events
+{
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IRoyaleEvent;
+
+ /**
+ * The TimeEvent class represents event objects specific to Timer
+ *
+ * @see mx.utils.Timer
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ * @productversion Royale 0.9.8
+ */
+ public class TimerEvent extends Event
+ {
+ //--------------------------------------------------------------------------
+ //
+ // Class constants
+ //
+ //--------------------------------------------------------------------------
+ /**
+ *
+ * @eventType timerComplete
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ * @productversion Royale 0.9.8
+ */
+ public static const TIMER:String = "timer";
+
+ /**
+ *
+ * @eventType timerComplete
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ * @productversion Royale 0.9.8
+ */
+ public static const TIMER_COMPLETE:String = "timerComplete";
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @param type The event type; indicates the action that caused the event.
+ *
+ * @param bubbles Specifies whether the event can bubble up the display list hierarchy.
+ *
+ * @param cancelable Specifies whether the behavior associated with the event can be prevented.
+ *
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ * @productversion Royale 0.9.8
+ */
+ public function TimerEvent(type:String, bubbles:Boolean = false,
+ cancelable:Boolean = false)
+ {
+ super(type, bubbles, cancelable);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //--------------------------------------------------------------------------
+ //
+ // Overridden methods: Event
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ override public function cloneEvent():IRoyaleEvent
+ {
+ return new TimerEvent(type, bubbles, cancelable);
+ }
+ }
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/Timer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/Timer.as
new file mode 100644
index 0000000..439c5fc
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/Timer.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.utils
+{
+
+ import mx.events.TimerEvent;
+
+ import org.apache.royale.utils.Timer;
+
+ //--------------------------------------
+ // Events
+ //--------------------------------------
+
+ /**
+ * Dispatched when timer stops
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ [Event(name="timerComplete", type="org.apache.royale.events.Event")]
+
+
+ /**
+ * The Timer class dispatches events based on a delay
+ * and repeat count.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ *
+ * @royalesuppresspublicvarwarning
+ */
+ public class Timer extends org.apache.royale.utils.Timer
+ {
+ public function Timer(delay:Number, repeatCount:int = 0)
+ {
+ super(delay, repeatCount);
+ }
+
+ override public function stop():void
+ {
+ super.stop();
+ COMPILE::JS
+ {
+ if (!running) {
+ dispatchEvent(new TimerEvent('timerComplete'));
+ }
+ }
+ }
+ }
+}