Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1519)

Side by Side Diff: sky/sdk/lib/app/view.dart

Issue 1195493002: Refactor Navigator to put state in separate class, initial back button plumbing (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: abarth CR feedback Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'dart:sky' as sky; 5 import 'dart:sky' as sky;
6 6
7 import '../rendering/box.dart'; 7 import '../rendering/box.dart';
8 import '../rendering/object.dart'; 8 import '../rendering/object.dart';
9 import 'scheduler.dart' as scheduler; 9 import 'scheduler.dart' as scheduler;
10 10
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 RenderView _renderView; 44 RenderView _renderView;
45 45
46 ViewConstraints get _viewConstraints => 46 ViewConstraints get _viewConstraints =>
47 new ViewConstraints(width: sky.view.width, height: sky.view.height); 47 new ViewConstraints(width: sky.view.width, height: sky.view.height);
48 48
49 Map<int, PointerState> _stateForPointer = new Map<int, PointerState>(); 49 Map<int, PointerState> _stateForPointer = new Map<int, PointerState>();
50 50
51 Function onFrame; 51 Function onFrame;
52 52
53 List<sky.EventListener> eventListeners = new List<sky.EventListener>();
Hixie 2015/06/17 19:29:43 Make this final, at least. But ideally, we'd have
54
53 RenderBox get root => _renderView.child; 55 RenderBox get root => _renderView.child;
54 void set root(RenderBox value) { 56 void set root(RenderBox value) {
55 _renderView.child = value; 57 _renderView.child = value;
56 } 58 }
57 void _beginFrame(double timeStamp) { 59 void _beginFrame(double timeStamp) {
58 if (onFrame != null) 60 if (onFrame != null)
59 onFrame(); 61 onFrame();
60 RenderObject.flushLayout(); 62 RenderObject.flushLayout();
61 _renderView.paintFrame(); 63 _renderView.paintFrame();
62 } 64 }
63 65
64 void _handleEvent(sky.Event event) { 66 void _handleEvent(sky.Event event) {
65 if (event is sky.PointerEvent) { 67 if (event is sky.PointerEvent) {
66 _handlePointerEvent(event); 68 _handlePointerEvent(event);
67 } else if (event is sky.GestureEvent) { 69 } else if (event is sky.GestureEvent) {
68 HitTestResult result = new HitTestResult(); 70 HitTestResult result = new HitTestResult();
69 _renderView.hitTest(result, position: new Point(event.x, event.y)); 71 _renderView.hitTest(result, position: new Point(event.x, event.y));
70 dispatchEvent(event, result); 72 dispatchEvent(event, result);
73 } else {
74 for (sky.EventListener listener in eventListeners) {
75 listener(event);
76 }
71 } 77 }
72 } 78 }
73 79
74 void _handleMetricsChanged() { 80 void _handleMetricsChanged() {
75 _renderView.rootConstraints = _viewConstraints; 81 _renderView.rootConstraints = _viewConstraints;
76 } 82 }
77 83
78 PointerState _createStateForPointer(sky.PointerEvent event, Point position) { 84 PointerState _createStateForPointer(sky.PointerEvent event, Point position) {
79 HitTestResult result = new HitTestResult(); 85 HitTestResult result = new HitTestResult();
80 _renderView.hitTest(result, position: position); 86 _renderView.hitTest(result, position: position);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 entry.target.handleEvent(event, entry); 122 entry.target.handleEvent(event, entry);
117 } 123 }
118 124
119 String toString() => 'Render Tree:\n${_renderView}'; 125 String toString() => 'Render Tree:\n${_renderView}';
120 126
121 void debugDumpRenderTree() { 127 void debugDumpRenderTree() {
122 toString().split('\n').forEach(print); 128 toString().split('\n').forEach(print);
123 } 129 }
124 130
125 } 131 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698