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' as sky; | 5 import 'dart:sky' as sky; |
6 import 'box.dart'; | 6 import 'box.dart'; |
7 import 'object.dart'; | 7 import 'object.dart'; |
8 | 8 |
9 class RenderInline extends RenderObject { | 9 class RenderInline extends RenderObject { |
| 10 RenderInline(this.data); |
10 String data; | 11 String data; |
11 | |
12 RenderInline(this.data); | |
13 } | 12 } |
14 | 13 |
15 // Unfortunately, using full precision floating point here causes bad layouts | 14 // Unfortunately, using full precision floating point here causes bad layouts |
16 // because floating point math isn't associative. If we add and subtract | 15 // because floating point math isn't associative. If we add and subtract |
17 // padding, for example, we'll get different values when we estimate sizes and | 16 // padding, for example, we'll get different values when we estimate sizes and |
18 // when we actually compute layout because the operations will end up associated | 17 // when we actually compute layout because the operations will end up associated |
19 // differently. To work around this problem for now, we round fractional pixel | 18 // differently. To work around this problem for now, we round fractional pixel |
20 // values up to the nearest whole pixel value. The right long-term fix is to do | 19 // values up to the nearest whole pixel value. The right long-term fix is to do |
21 // layout using fixed precision arithmetic. | 20 // layout using fixed precision arithmetic. |
22 double _applyFloatingPointHack(double layoutValue) { | 21 double _applyFloatingPointHack(double layoutValue) { |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 _layoutRoot.rootElement.style['color'] = | 110 _layoutRoot.rootElement.style['color'] = |
112 'rgba(${_color.red}, ${_color.green}, ${_color.blue}, ${_color.alpha /
255.0 })'; | 111 'rgba(${_color.red}, ${_color.green}, ${_color.blue}, ${_color.alpha /
255.0 })'; |
113 } | 112 } |
114 _layoutRoot.paint(canvas); | 113 _layoutRoot.paint(canvas); |
115 } | 114 } |
116 | 115 |
117 // we should probably expose a way to do precise (inter-glpyh) hit testing | 116 // we should probably expose a way to do precise (inter-glpyh) hit testing |
118 | 117 |
119 String debugDescribeSettings(String prefix) => '${super.debugDescribeSettings(
prefix)}${prefix}color: ${color}\n${prefix}text: ${text}\n'; | 118 String debugDescribeSettings(String prefix) => '${super.debugDescribeSettings(
prefix)}${prefix}color: ${color}\n${prefix}text: ${text}\n'; |
120 } | 119 } |
OLD | NEW |