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

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

Issue 1143343004: Rationalise hit testing in the new RenderNode world (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 7 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
(Empty)
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
3 // found in the LICENSE file.
4
5 import 'layout2.dart';
6 import 'dart:sky' as sky;
7
8 class AppView {
9 RenderView _renderView;
10
11 void _beginFrame(double timeStamp) {
12 RenderNode.flushLayout();
13 _renderView.paintFrame();
14 }
15
16 void _handleEvent(sky.Event event) {
17 if (event is! sky.PointerEvent)
18 return;
19 HitTestResult result = new HitTestResult();
20 _renderView.hitTest(result, x: event.x, y: event.y);
21 result.path.reversed.forEach((RenderNode node) {
22 node.handlePointer(event);
23 });
24 }
25
26 AppView(RenderBox root) {
27 sky.view.setEventCallback(_handleEvent);
28 sky.view.setBeginFrameCallback(_beginFrame);
29
30 _renderView = new RenderView(root: root);
31 _renderView.layout(newWidth: sky.view.width, newHeight: sky.view.height);
32
33 sky.view.scheduleFrame();
34 }
35 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698