| Index: sky/sdk/lib/framework/app.dart
|
| diff --git a/sky/sdk/lib/framework/app.dart b/sky/sdk/lib/framework/app.dart
|
| deleted file mode 100644
|
| index 701821c24f4a2017dd5cf0bd4c1419e775fe2718..0000000000000000000000000000000000000000
|
| --- a/sky/sdk/lib/framework/app.dart
|
| +++ /dev/null
|
| @@ -1,124 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -import 'dart:sky' as sky;
|
| -import 'rendering/box.dart';
|
| -import 'rendering/object.dart';
|
| -import 'scheduler.dart' as scheduler;
|
| -
|
| -class PointerState {
|
| - HitTestResult result;
|
| - Point lastPosition;
|
| -
|
| - PointerState({ this.result, this.lastPosition });
|
| -}
|
| -
|
| -class AppView {
|
| -
|
| - AppView({ RenderBox root: null, RenderView renderViewOverride }) {
|
| - assert(_app == null);
|
| - _app = this;
|
| -
|
| - sky.view.setEventCallback(_handleEvent);
|
| - sky.view.setMetricsChangedCallback(_handleMetricsChanged);
|
| - scheduler.init();
|
| - scheduler.addPersistentFrameCallback(_beginFrame);
|
| -
|
| - if (renderViewOverride == null) {
|
| - _renderView = new RenderView(child: root);
|
| - _renderView.attach();
|
| - _renderView.rootConstraints = _viewConstraints;
|
| - _renderView.scheduleInitialLayout();
|
| - } else {
|
| - _renderView = renderViewOverride;
|
| - }
|
| - assert(_renderView != null);
|
| -
|
| - assert(_app == this);
|
| - }
|
| -
|
| - static AppView _app; // used to enforce that we're a singleton
|
| -
|
| - RenderView _renderView;
|
| -
|
| - ViewConstraints get _viewConstraints =>
|
| - new ViewConstraints(width: sky.view.width, height: sky.view.height);
|
| -
|
| - Map<int, PointerState> _stateForPointer = new Map<int, PointerState>();
|
| -
|
| - Function onFrame;
|
| -
|
| - RenderBox get root => _renderView.child;
|
| - void set root(RenderBox value) {
|
| - _renderView.child = value;
|
| - }
|
| - void _beginFrame(double timeStamp) {
|
| - if (onFrame != null)
|
| - onFrame();
|
| - RenderObject.flushLayout();
|
| - _renderView.paintFrame();
|
| - }
|
| -
|
| - void _handleEvent(sky.Event event) {
|
| - if (event is sky.PointerEvent) {
|
| - _handlePointerEvent(event);
|
| - } else if (event is sky.GestureEvent) {
|
| - HitTestResult result = new HitTestResult();
|
| - _renderView.hitTest(result, position: new Point(event.x, event.y));
|
| - dispatchEvent(event, result);
|
| - }
|
| - }
|
| -
|
| - void _handleMetricsChanged() {
|
| - _renderView.rootConstraints = _viewConstraints;
|
| - }
|
| -
|
| - PointerState _createStateForPointer(sky.PointerEvent event, Point position) {
|
| - HitTestResult result = new HitTestResult();
|
| - _renderView.hitTest(result, position: position);
|
| - PointerState state = new PointerState(result: result, lastPosition: position);
|
| - _stateForPointer[event.pointer] = state;
|
| - return state;
|
| - }
|
| -
|
| - void _handlePointerEvent(sky.PointerEvent event) {
|
| - Point position = new Point(event.x, event.y);
|
| -
|
| - PointerState state;
|
| - switch(event.type) {
|
| - case 'pointerdown':
|
| - state = _createStateForPointer(event, position);
|
| - break;
|
| - case 'pointerup':
|
| - case 'pointercancel':
|
| - state = _stateForPointer[event.pointer];
|
| - _stateForPointer.remove(event.pointer);
|
| - break;
|
| - case 'pointermove':
|
| - state = _stateForPointer[event.pointer];
|
| - // In the case of mouse hover we won't already have a cached down.
|
| - if (state == null)
|
| - state = _createStateForPointer(event, position);
|
| - break;
|
| - }
|
| - event.dx = position.x - state.lastPosition.x;
|
| - event.dy = position.y - state.lastPosition.y;
|
| - state.lastPosition = position;
|
| -
|
| - dispatchEvent(event, state.result);
|
| - }
|
| -
|
| - void dispatchEvent(sky.Event event, HitTestResult result) {
|
| - assert(result != null);
|
| - for (HitTestEntry entry in result.path.reversed)
|
| - entry.target.handleEvent(event, entry);
|
| - }
|
| -
|
| - String toString() => 'Render Tree:\n${_renderView}';
|
| -
|
| - void debugDumpRenderTree() {
|
| - toString().split('\n').forEach(print);
|
| - }
|
| -
|
| -}
|
|
|