Create the addEventListener API

R=ianh@google.com, hixie

Review URL: https://codereview.chromium.org/1192543004.
This commit is contained in:
Collin Jackson 2015-06-17 12:44:39 -07:00
parent a2b8ddd5c5
commit cd58f28ee6

View File

@ -15,6 +15,8 @@ class PointerState {
PointerState({ this.result, this.lastPosition });
}
typedef void EventListener(sky.Event event);
class AppView {
AppView({ RenderBox root: null, RenderView renderViewOverride }) {
@ -51,7 +53,9 @@ class AppView {
Function onFrame;
List<sky.EventListener> eventListeners = new List<sky.EventListener>();
final List<EventListener> _eventListeners = new List<EventListener>();
void addEventListener(EventListener e) => _eventListeners.add(e);
void removeEventListener(EventListener e) => _eventListeners.remove(e);
RenderBox get root => _renderView.child;
void set root(RenderBox value) {
@ -72,8 +76,8 @@ class AppView {
_renderView.hitTest(result, position: new Point(event.x, event.y));
dispatchEvent(event, result);
} else {
for (sky.EventListener listener in eventListeners) {
listener(event);
for (EventListener e in _eventListeners) {
e(event);
}
}
}