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

Side by Side Diff: sky/sdk/lib/framework/widgets/basic.dart

Issue 1177383006: Rename all the things (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: fix imports 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
(Empty)
1
2 import 'package:vector_math/vector_math.dart';
3
4 import '../rendering/block.dart';
5 import '../rendering/box.dart';
6 import '../rendering/flex.dart';
7 import '../rendering/object.dart';
8 import '../rendering/paragraph.dart';
9 import '../rendering/stack.dart';
10 import 'ui_node.dart';
11
12 export '../rendering/box.dart' show BoxConstraints, BoxDecoration, Border, Borde rSide, EdgeDims;
13 export '../rendering/flex.dart' show FlexDirection, FlexJustifyContent, FlexAlig nItems;
14 export '../rendering/object.dart' show Point, Size, Rect, Color, Paint, Path;
15 export 'ui_node.dart' show UINode, Component, App, EventListenerNode, ParentData Node;
16
17
18 // PAINTING NODES
19
20 class Opacity extends OneChildRenderObjectWrapper {
21 Opacity({ this.opacity, UINode child, Object key })
22 : super(child: child, key: key);
23
24 RenderOpacity get root { RenderOpacity result = super.root; return result; }
25 final double opacity;
26
27 RenderOpacity createNode() => new RenderOpacity(opacity: opacity);
28
29 void syncRenderObject(Opacity old) {
30 super.syncRenderObject(old);
31 root.opacity = opacity;
32 }
33 }
34
35 class DecoratedBox extends OneChildRenderObjectWrapper {
36
37 DecoratedBox({ this.decoration, UINode child, Object key })
38 : super(child: child, key: key);
39
40 RenderDecoratedBox get root { RenderDecoratedBox result = super.root; return r esult; }
41 final BoxDecoration decoration;
42
43 RenderDecoratedBox createNode() => new RenderDecoratedBox(decoration: decorati on);
44
45 void syncRenderObject(DecoratedBox old) {
46 super.syncRenderObject(old);
47 root.decoration = decoration;
48 }
49
50 }
51
52 class CustomPaint extends OneChildRenderObjectWrapper {
53
54 CustomPaint({ this.callback, this.token, UINode child, Object key })
55 : super(child: child, key: key);
56
57 RenderCustomPaint get root { RenderCustomPaint result = super.root; return res ult; }
58 final CustomPaintCallback callback;
59 final dynamic token; // set this to be repainted automatically when the token changes
60
61 RenderCustomPaint createNode() => new RenderCustomPaint(callback: callback);
62
63 void syncRenderObject(CustomPaint old) {
64 super.syncRenderObject(old);
65 if (old != null && old.token != token)
66 root.markNeedsPaint();
67 root.callback = callback;
68 }
69
70 void remove() {
71 root.callback = null;
72 super.remove();
73 }
74
75 }
76
77 class ClipRect extends OneChildRenderObjectWrapper {
78
79 ClipRect({ UINode child, Object key })
80 : super(child: child, key: key);
81
82 RenderClipRect get root { RenderClipRect result = super.root; return result; }
83 RenderClipRect createNode() => new RenderClipRect();
84 }
85
86 class ClipOval extends OneChildRenderObjectWrapper {
87
88 ClipOval({ UINode child, Object key })
89 : super(child: child, key: key);
90
91 RenderClipOval get root { RenderClipOval result = super.root; return result; }
92 RenderClipOval createNode() => new RenderClipOval();
93 }
94
95
96 // POSITIONING AND SIZING NODES
97
98 class Transform extends OneChildRenderObjectWrapper {
99
100 Transform({ this.transform, UINode child, Object key })
101 : super(child: child, key: key);
102
103 RenderTransform get root { RenderTransform result = super.root; return result; }
104 final Matrix4 transform;
105
106 RenderTransform createNode() => new RenderTransform(transform: transform);
107
108 void syncRenderObject(Transform old) {
109 super.syncRenderObject(old);
110 root.transform = transform;
111 }
112
113 }
114
115 class Padding extends OneChildRenderObjectWrapper {
116
117 Padding({ this.padding, UINode child, Object key })
118 : super(child: child, key: key);
119
120 RenderPadding get root { RenderPadding result = super.root; return result; }
121 final EdgeDims padding;
122
123 RenderPadding createNode() => new RenderPadding(padding: padding);
124
125 void syncRenderObject(Padding old) {
126 super.syncRenderObject(old);
127 root.padding = padding;
128 }
129
130 }
131
132 class Center extends OneChildRenderObjectWrapper {
133
134 Center({ UINode child, Object key })
135 : super(child: child, key: key);
136
137 RenderPositionedBox get root { RenderPositionedBox result = super.root; return result; }
138
139 RenderPositionedBox createNode() => new RenderPositionedBox();
140
141 }
142
143 class SizedBox extends OneChildRenderObjectWrapper {
144
145 SizedBox({
146 double width: double.INFINITY,
147 double height: double.INFINITY,
148 UINode child,
149 Object key
150 }) : desiredSize = new Size(width, height), super(child: child, key: key);
151
152 RenderSizedBox get root { RenderSizedBox result = super.root; return result; }
153 final Size desiredSize;
154
155 RenderSizedBox createNode() => new RenderSizedBox(desiredSize: desiredSize);
156
157 void syncRenderObject(SizedBox old) {
158 super.syncRenderObject(old);
159 root.desiredSize = desiredSize;
160 }
161
162 }
163
164 class ConstrainedBox extends OneChildRenderObjectWrapper {
165
166 ConstrainedBox({ this.constraints, UINode child, Object key })
167 : super(child: child, key: key);
168
169 RenderConstrainedBox get root { RenderConstrainedBox result = super.root; retu rn result; }
170 final BoxConstraints constraints;
171
172 RenderConstrainedBox createNode() => new RenderConstrainedBox(additionalConstr aints: constraints);
173
174 void syncRenderObject(ConstrainedBox old) {
175 super.syncRenderObject(old);
176 root.additionalConstraints = constraints;
177 }
178
179 }
180
181 class ShrinkWrapWidth extends OneChildRenderObjectWrapper {
182
183 ShrinkWrapWidth({ UINode child, Object key }) : super(child: child, key: key);
184
185 RenderShrinkWrapWidth get root { RenderShrinkWrapWidth result = super.root; re turn result; }
186
187 RenderShrinkWrapWidth createNode() => new RenderShrinkWrapWidth();
188
189 }
190
191 class SizeObserver extends OneChildRenderObjectWrapper {
192
193 SizeObserver({ this.callback, UINode child, Object key })
194 : super(child: child, key: key);
195
196 RenderSizeObserver get root { RenderSizeObserver result = super.root; return r esult; }
197 final SizeChangedCallback callback;
198
199 RenderSizeObserver createNode() => new RenderSizeObserver(callback: callback);
200
201 void syncRenderObject(SizeObserver old) {
202 super.syncRenderObject(old);
203 root.callback = callback;
204 }
205
206 void remove() {
207 root.callback = null;
208 super.remove();
209 }
210
211 }
212
213
214 // CONVENIENCE CLASS TO COMBINE COMMON PAINTING, POSITIONING, AND SIZING NODES
215
216 class Container extends Component {
217
218 Container({
219 Object key,
220 this.child,
221 this.constraints,
222 this.decoration,
223 this.width,
224 this.height,
225 this.margin,
226 this.padding,
227 this.transform
228 }) : super(key: key);
229
230 final UINode child;
231 final BoxConstraints constraints;
232 final BoxDecoration decoration;
233 final EdgeDims margin;
234 final EdgeDims padding;
235 final Matrix4 transform;
236 final double width;
237 final double height;
238
239 UINode build() {
240 UINode current = child;
241
242 if (child == null && width == null && height == null)
243 current = new SizedBox();
244
245 if (padding != null)
246 current = new Padding(padding: padding, child: current);
247
248 if (decoration != null)
249 current = new DecoratedBox(decoration: decoration, child: current);
250
251 if (width != null || height != null)
252 current = new SizedBox(
253 width: width == null ? double.INFINITY : width,
254 height: height == null ? double.INFINITY : height,
255 child: current
256 );
257
258 if (constraints != null)
259 current = new ConstrainedBox(constraints: constraints, child: current);
260
261 if (margin != null)
262 current = new Padding(padding: margin, child: current);
263
264 if (transform != null)
265 current = new Transform(transform: transform, child: current);
266
267 return current;
268 }
269
270 }
271
272
273 // LAYOUT NODES
274
275 class Block extends MultiChildRenderObjectWrapper {
276
277 Block(List<UINode> children, { Object key })
278 : super(key: key, children: children);
279
280 RenderBlock get root { RenderBlock result = super.root; return result; }
281 RenderBlock createNode() => new RenderBlock();
282
283 }
284
285 class Stack extends MultiChildRenderObjectWrapper {
286
287 Stack(List<UINode> children, { Object key })
288 : super(key: key, children: children);
289
290 RenderStack get root { RenderStack result = super.root; return result; }
291 RenderStack createNode() => new RenderStack();
292
293 }
294
295 class StackPositionedChild extends ParentDataNode {
296 StackPositionedChild(UINode content, {
297 double top, double right, double bottom, double left
298 }) : super(content, new StackParentData()..top = top
299 ..right = right
300 ..bottom = bottom
301 ..left = left);
302 }
303
304 class Flex extends MultiChildRenderObjectWrapper {
305
306 Flex(List<UINode> children, {
307 Object key,
308 this.direction: FlexDirection.horizontal,
309 this.justifyContent: FlexJustifyContent.flexStart,
310 this.alignItems: FlexAlignItems.center
311 }) : super(key: key, children: children);
312
313 RenderFlex get root { RenderFlex result = super.root; return result; }
314 RenderFlex createNode() => new RenderFlex(direction: this.direction);
315
316 final FlexDirection direction;
317 final FlexJustifyContent justifyContent;
318 final FlexAlignItems alignItems;
319
320 void syncRenderObject(UINode old) {
321 super.syncRenderObject(old);
322 root.direction = direction;
323 root.justifyContent = justifyContent;
324 root.alignItems = alignItems;
325 }
326
327 }
328
329 class FlexExpandingChild extends ParentDataNode {
330 FlexExpandingChild(UINode content, { int flex: 1, Object key })
331 : super(content, new FlexBoxParentData()..flex = flex, key: key);
332 }
333
334 class Paragraph extends RenderObjectWrapper {
335
336 Paragraph({ Object key, this.text, this.style }) : super(key: key);
337
338 RenderParagraph get root { RenderParagraph result = super.root; return result; }
339 RenderParagraph createNode() => new RenderParagraph(text: text, style: style);
340
341 final String text;
342 final TextStyle style;
343
344 void syncRenderObject(UINode old) {
345 super.syncRenderObject(old);
346 root.text = text;
347 root.style = style;
348 }
349
350 void insert(RenderObjectWrapper child, dynamic slot) {
351 assert(false);
352 // Paragraph does not support having children currently
353 }
354
355 }
356
357 class Text extends Component {
358 Text(this.data, { TextStyle this.style }) : super(key: '*text*');
359 final String data;
360 final TextStyle style;
361 bool get interchangeable => true;
362 UINode build() => new Paragraph(text: data, style: style);
363 }
364
365 class Image extends RenderObjectWrapper {
366
367 Image({
368 Object key,
369 this.src,
370 this.size
371 }) : super(key: key);
372
373 RenderImage get root { RenderImage result = super.root; return result; }
374 RenderImage createNode() => new RenderImage(this.src, this.size);
375
376 final String src;
377 final Size size;
378
379 void syncRenderObject(UINode old) {
380 super.syncRenderObject(old);
381 root.src = src;
382 root.requestedSize = size;
383 }
384
385 void insert(RenderObjectWrapper child, dynamic slot) {
386 assert(false);
387 // Image does not support having children currently
388 }
389
390 }
OLDNEW
« no previous file with comments | « sky/sdk/lib/framework/widgets/animated_component.dart ('k') | sky/sdk/lib/framework/widgets/button_base.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698