OLD | NEW |
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'; | 5 import 'dart:sky'; |
6 import 'dart:math' as math; | 6 import 'dart:math' as math; |
7 | 7 |
8 double timeBase = null; | 8 double timeBase = null; |
9 | 9 |
10 void beginFrame(double timeStamp) { | 10 void beginFrame(double timeStamp) { |
11 tracing.begin('beginFrame'); | 11 tracing.begin('beginFrame'); |
12 if (timeBase == null) | 12 if (timeBase == null) |
13 timeBase = timeStamp; | 13 timeBase = timeStamp; |
14 double delta = timeStamp - timeBase; | 14 double delta = timeStamp - timeBase; |
15 PictureRecorder recorder = new PictureRecorder(); | 15 PictureRecorder recorder = new PictureRecorder(); |
16 Canvas canvas = new Canvas(recorder, view.width, view.height); | 16 Canvas canvas = new Canvas(recorder, view.width, view.height); |
17 canvas.translate(view.width / 2.0, view.height / 2.0); | 17 canvas.translate(view.width / 2.0, view.height / 2.0); |
18 canvas.rotate(math.PI * delta / 1800); | 18 canvas.rotate(math.PI * delta / 1800); |
19 canvas.drawRect(new Rect.fromLTRB(-100.0, -100.0, 100.0, 100.0), | 19 canvas.drawRect(new Rect.fromLTRB(-100.0, -100.0, 100.0, 100.0), |
20 new Paint()..color = const Color.fromARGB(255, 0, 255, 0)); | 20 new Paint()..color = const Color.fromARGB(255, 0, 255, 0)); |
21 view.picture = recorder.endRecording(); | 21 view.picture = recorder.endRecording(); |
22 view.scheduleFrame(); | 22 view.scheduleFrame(); |
23 tracing.end('beginFrame'); | 23 tracing.end('beginFrame'); |
24 } | 24 } |
25 | 25 |
26 void main() { | 26 void main() { |
27 view.setBeginFrameCallback(beginFrame); | 27 view.setBeginFrameCallback(beginFrame); |
28 view.scheduleFrame(); | 28 view.scheduleFrame(); |
29 } | 29 } |
OLD | NEW |