OLD | NEW |
1 Sky Rendering | 1 Sky Rendering |
2 ============= | 2 ============= |
3 | 3 |
4 The Sky render tree is a low-level layout and painting system based on a | 4 The Sky render tree is a low-level layout and painting system based on a |
5 retained tree of objects that inherit from [`RenderObject`](object.dart). Most | 5 retained tree of objects that inherit from [`RenderObject`](object.dart). Most |
6 developers using Sky will not need to interact directly with the rendering tree. | 6 developers using Sky will not need to interact directly with the rendering tree. |
7 Instead, most developers should use [Sky widgets](../widgets/README.md), which | 7 Instead, most developers should use [Sky widgets](../widgets/README.md), which |
8 are built using the render tree. | 8 are built using the render tree. |
9 | 9 |
10 Overview | 10 Overview |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 | 140 |
141 Writing new subclasses | 141 Writing new subclasses |
142 ---------------------- | 142 ---------------------- |
143 | 143 |
144 ### The RenderObject contract | 144 ### The RenderObject contract |
145 | 145 |
146 If you want to define a `RenderObject` that uses a new coordinate | 146 If you want to define a `RenderObject` that uses a new coordinate |
147 system, then you should inherit straight from `RenderObject`. Examples | 147 system, then you should inherit straight from `RenderObject`. Examples |
148 of doing this can be found in [`RenderBox`](box.dart), which deals in | 148 of doing this can be found in [`RenderBox`](box.dart), which deals in |
149 rectangles in cartesian space, and in the [sector_layout.dart | 149 rectangles in cartesian space, and in the [sector_layout.dart |
150 example](../../../examples/rendering/sector_layout.dart), which | 150 example](../../../sdk/lib/example/rendering/sector_layout.dart), which |
151 implements a toy model based on polar coordinates. The `RenderView` | 151 implements a toy model based on polar coordinates. The `RenderView` |
152 class, which is used internally to adapt from the host system to this | 152 class, which is used internally to adapt from the host system to this |
153 rendering framework, is another example. | 153 rendering framework, is another example. |
154 | 154 |
155 A subclass of `RenderObject` must fulfill the following contract: | 155 A subclass of `RenderObject` must fulfill the following contract: |
156 | 156 |
157 * It must fulfill the [AbstractNode contract](../base/README.md) when | 157 * It must fulfill the [AbstractNode contract](../base/README.md) when |
158 dealing with children. Using `RenderObjectWithChildMixin` or | 158 dealing with children. Using `RenderObjectWithChildMixin` or |
159 `ContainerRenderObjectMixin` can make this easier. | 159 `ContainerRenderObjectMixin` can make this easier. |
160 | 160 |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 | 362 |
363 * Avoid using save/restore on canvases. | 363 * Avoid using save/restore on canvases. |
364 | 364 |
365 | 365 |
366 Dependencies | 366 Dependencies |
367 ------------ | 367 ------------ |
368 | 368 |
369 * [`package:sky/base`](../base) | 369 * [`package:sky/base`](../base) |
370 * [`package:sky/mojo`](../mojo) | 370 * [`package:sky/mojo`](../mojo) |
371 * [`package:sky/animation`](../mojo) | 371 * [`package:sky/animation`](../mojo) |
OLD | NEW |