1Elm.Graphics = function() {
2 var JS = Elm.JavaScript;
3 var DLeft_0 = ["DLeft"];
4 var DRight_1 = ["DRight"];
6 var DDown_3 = ["DDown"];
9 function Absolute_12(a1) {
10 return["Absolute", a1]
12 function Relative_13(a1) {
13 return["Relative", a1]
15 var Near_14 = ["Near"];
18 function Position_17(a1) {
20 return["Position", a1, a2]
23 function PositionTL_18(a1) {
25 return["PositionTL", a1, a2]
28 function PositionTR_19(a1) {
30 return["PositionTR", a1, a2]
33 function PositionBL_20(a1) {
35 return["PositionBL", a1, a2]
38 function PositionBR_21(a1) {
40 return["PositionBR", a1, a2]
43 function Element_37(id,e,w,h,o,c,l) {
44 return["Element", id, e, w, h, o, c, l ]
46 function EText_39(a1) {
48 return["EText", a1, a2]
51 function EImage_40(a1) {
52 return["EImage", JS.castStringToJSString(a1)]
54 function EVideo_41(a1) {
55 return["EVideo", JS.castStringToJSString(a1)]
57 function EFittedImage_42(a1) {
58 return["EFittedImage", JS.castStringToJSString(a1)]
60 function EFlow_43(a1) {
62 return["EFlow", a1, JS.castListToJSArray(a2)]
65 function ECollage_44(a1) {
68 return["ECollage", a1, a2, Value.groupForms(a3)]
72 var EEmpty_45 = ["EEmpty"];
73 function EContainer_46(a1) {
75 return["EContainer", a1, a2]
78 var Solid_68 = ["Solid"];
79 var Dotted_69 = ["Dotted"];
80 var Dashed_70 = ["Dashed"];
81 function Custom_71(a1) {
82 return["Custom", JS.castListToJSArray(a1)]
84 var Filled_72 = ["Filled"];
85 var Outlined_73 = ["Outlined"];
86 function CustomOutline_74(a1) {
87 return["CustomOutline", JS.castListToJSArray(a1)]
89 function Line_75(a1) {
90 return["Line", JS.castListToJSArray(a1)]
92 function Shape_78(a1) {
94 var points = JS.castListToJSArray(a1);
95 if (points.length > 0) { points.push(points[0]); }
96 return["Shape", points, a2];
99 function Form_84(a1) {
100 return function(a2) {
101 return function(a3) {
102 return function(a4) {
103 return["Form", a1, a2, a3, a4]
108 function FLine_85(a1) {
109 return function(a2) {
110 return function(a3) {
111 return["FLine", a1, a2, a3]
115 function FShape_86(a1) {
116 return function(a2) {
117 return function(a3) {
118 return["FShape", a1, a2, a3]
122 function FImage_87(a1) {
123 return function(a2) {
124 return function(a3) {
125 return["FImage", a1, a2, JS.castStringToJSString(a3)]
129 function FElement_88(a1) {
130 return["FElement", a1]
132 var left_6 = DLeft_0;
133 var right_7 = DRight_1;
134 var down_8 = DDown_3;
136 var inward_10 = DIn_4;
137 var outward_11 = DOut_5;
138 var topLeft_22 = Position_17(Near_14)(Near_14);
139 var topRight_23 = Position_17(Far_16)(Near_14);
140 var bottomLeft_24 = Position_17(Near_14)(Far_16);
141 var bottomRight_25 = Position_17(Far_16)(Far_16);
142 var midLeft_26 = Position_17(Near_14)(Mid_15);
143 var midRight_27 = Position_17(Far_16)(Mid_15);
144 var midTop_28 = Position_17(Mid_15)(Near_14);
145 var midBottom_29 = Position_17(Mid_15)(Far_16);
146 var middle_30 = Position_17(Mid_15)(Mid_15);
147 function middleAt(a1) {
148 return function(a2) {
149 return["PositionAt", a1, a2]
152 var topLeftAt_31 = PositionTL_18;
153 var topRightAt_32 = PositionTR_19;
154 var bottomLeftAt_33 = PositionBL_20;
155 var bottomRightAt_34 = PositionBR_21;
156 var absolute_35 = Absolute_12;
157 var relative_36 = Relative_13;
158 function newElement_38(e,w,h,o,c,l) { return Element_37(Guid.guid(),e,w,h,o,c,l); }
159 function basicNewElement(e,w,h) { return Element_37(Guid.guid(),e,w,h,1,Nothing,Nothing); }
160 var line_76 = Line_75;
161 var polygon_79 = Shape_78;
162 function sprite_96(src) {
165 return function(pos) {
166 return Form_84(0)(1)(pos)(FImage_87(w)(h)(src))
171 function toForm_97(pos) {
173 return Form_84(0)(1)(pos)(FElement_88(e))
176 function width_47(w__101) {
182 return newElement_38(e[2],w__101,e[4] * w__101 / e[3], e[5], e[6], e[7]);
184 var p = Value.getTextSize(w__101,e[4],be[2]);
185 return newElement_38(e[2], w__101, p[1], e[5], e[6], e[7]);
187 return newElement_38(e[2], w__101, e[4], e[5], e[6], e[7]);
190 function height_48(h__108) {
196 return newElement_38(e[2], e[3] * h__108 / e[4], h__108, e[5], e[6], e[7]);
198 return newElement_38(e[2], e[3], h__108, e[5], e[6], e[7]);
201 function size_49(w) {
204 return newElement_38(e[2], w, h, e[5], e[6], e[7]);
208 function opacity_50(o) {
210 return newElement_38(e[2], e[3], e[4], o, e[6], e[7]);
213 function color_51(c) {
215 return newElement_38(e[2], e[3], e[4], e[5], Just(c), e[7]);
220 return newElement_38(e[2], e[3], e[4], e[5], e[6], Just(JS.castStringToJSString(lnk)));
223 function widthOf_52(e) { return ~~e[3]; }
224 function heightOf_53(e) { return ~~e[4]; }
225 function sizeOf_54(e) { return["Tuple2", ~~e[3], ~~e[4]] }
226 function text_56(txt) {
227 var p = Value.getTextSize(0,0,txt);
228 return basicNewElement(EText_39("left")(txt), p[0], p[1])
230 function plainText(str) {
231 var txt = Value.toText(str);
232 var p = Value.getTextSize(0,0,txt);
233 return basicNewElement(EText_39("left")(txt),p[0],p[1])
236 var txt = monospace(Value.toText(Value.show(v)));
237 var p = Value.getTextSize(0,0,txt);
238 return basicNewElement(EText_39("left")(txt),p[0],p[1])
240 function centeredText(txt) {
241 var p = Value.getTextSize(0,0,txt);
242 return basicNewElement(EText_39("center")(txt),p[0],p[1])
244 function justifiedText(txt) {
245 var p = Value.getTextSize(0,0,txt);
246 return basicNewElement(EText_39("justify")(txt),p[0],p[1])
248 function rightedText(txt) {
249 var p = Value.getTextSize(0,0,txt);
250 return basicNewElement(EText_39("right")(txt),p[0],p[1])
252 function image_57(w) {
254 return function(src) {
255 return basicNewElement(EImage_40(src),w,h)
259 function images(srcs) {
260 var pics = Elm.Signal.constant(spacer_66(0)(0));
261 var update = Elm.Signal.lift(function(src) {
262 src = JS.castStringToJSString(src);
263 var img = new Image();
264 img.onload = function() {
265 Dispatcher.notify(pics.id,
266 image_57(this.width)(this.height)(src));
270 function f(x) { return function(y) { return x; } }
271 var combine = Elm.Signal.lift2(f)(pics)(update);
274 function video_58(w) {
276 return function(src) {
277 return basicNewElement(EVideo_41(src),w,h)
281 function fittedImage_59(w_147) {
282 return function(h_148) {
283 return function(s_149) {
284 return basicNewElement(EFittedImage_42(s_149),w_147,h_148)
288 function flow_60(dir_150) {
289 return function(es_151) {
291 var w_152 = function() {
292 var ws_154 = map(widthOf_52)(es_151);
293 return function(case1) {
301 return maximum(ws_154)
304 var h_153 = function() {
305 var hs_155 = map(heightOf_53)(es_151);
306 return function(case3) {
314 return maximum(hs_155)
317 return basicNewElement(EFlow_43(dir_150)(es_151), w_152, h_153)
321 function above_61(e1_156) {
322 return function(e2_157) {
323 return basicNewElement(EFlow_43(DDown_3)(["Cons", e1_156, ["Cons", e2_157, ["Nil"]]]), max(widthOf_52(e1_156))(widthOf_52(e2_157)), heightOf_53(e1_156) + heightOf_53(e2_157))
326 function below_62(e1_158) {
327 return function(e2_159) {
328 return basicNewElement(EFlow_43(DDown_3)(["Cons", e2_159, ["Cons", e1_158, ["Nil"]]]), max(widthOf_52(e1_158))(widthOf_52(e2_159)), heightOf_53(e1_158) + heightOf_53(e2_159))
331 function beside_63(e1_160) {
332 return function(e2_161) {
333 return basicNewElement(EFlow_43(DRight_1)(["Cons", e1_160, ["Cons", e2_161, ["Nil"]]]), widthOf_52(e1_160) + widthOf_52(e2_161), max(heightOf_53(e1_160))(heightOf_53(e2_161)))
336 function layers_64(es_162) {
337 return basicNewElement(EFlow_43(DOut_5)(es_162), maximum(map(widthOf_52)(es_162)), maximum(map(heightOf_53)(es_162)))
339 function collage_65(w_163) {
340 return function(h_164) {
341 return function(forms_165) {
342 return basicNewElement(ECollage_44(w_163)(h_164)(forms_165),w_163,h_164)
346 function spacer_66(w_166) {
347 return function(h_167) {
348 return basicNewElement(EEmpty_45,w_166,h_167)
351 function container_67(w_169) {
352 return function(h_170) {
353 return function(pos_168) {
354 return function(e_171) {
355 return basicNewElement(EContainer_46(pos_168)(e_171),w_169,h_170)
360 function segment_77(p1_172) {
361 return function(p2_173) {
362 return Line_75(["Cons", p1_172, ["Cons", p2_173, ["Nil"]]])
365 function rect_80(w_174) {
366 return function(h_175) {
367 return function(pos_176) {
368 return Shape_78(["Cons", ["Tuple2", 0 - w_174 / 2, 0 - h_175 / 2],
369 ["Cons", ["Tuple2", 0 - w_174 / 2, h_175 / 2],
370 ["Cons", ["Tuple2", w_174 / 2, h_175 / 2],
371 ["Cons", ["Tuple2", w_174 / 2, 0 - h_175 / 2], ["Nil"]]]]])(pos_176)
375 function oval_81(w_177) {
376 return function(h_178) {
377 return function(pos_179) {
381 function f_181(i_182) {
382 return["Tuple2", w_177 / 2 * cos(2 * (pi / n_180) * i_182), h_178 / 2 * sin(2 * (pi / n_180) * i_182)]
384 return Shape_78(map(f_181)(function() {
390 lst = ["Cons", hi, lst]
400 function circle_82(r_183) {
401 return oval_81(2 * r_183)(2 * r_183)
403 function ngon_83(n_184) {
404 return function(r_185) {
405 return function(pos_186) {
407 var m_187 = toFloat(n_184);
409 function f_188(i_189) {
410 return["Tuple2", r_185 * cos(2 * (pi / m_187) * i_189), r_185 * sin(2 * (pi / m_187) * i_189)]
412 return Shape_78(map(f_188)(function() {
418 lst = ["Cons", hi, lst]
428 function solid_89(clr_190) {
429 return function(ln_191) {
430 return Form_84(0)(1)(["Tuple2", 0, 0])(FLine_85(Solid_68)(clr_190)(ln_191))
433 function dotted_90(clr_192) {
434 return function(ln_193) {
435 return Form_84(0)(1)(["Tuple2", 0, 0])(FLine_85(Dotted_69)(clr_192)(ln_193))
438 function dashed_91(clr_194) {
439 return function(ln_195) {
440 return Form_84(0)(1)(["Tuple2", 0, 0])(FLine_85(Dashed_70)(clr_194)(ln_195))
443 function customLine_92(pattern_196) {
444 return function(clr_197) {
445 return function(ln_198) {
446 return Form_84(0)(1)(["Tuple2", 0, 0])(FLine_85(Custom_71(pattern_196))(clr_197)(ln_198))
450 function filled_93(clr) {
451 return function(shape) {
452 return Form_84(0)(1)(shape[2])(FShape_86(Filled_72)(clr)(shape));
455 function outlined_94(clr) {
456 return function(shape) {
457 return Form_84(0)(1)(shape[2])(FShape_86(Outlined_73)(clr)(shape));
460 function customOutline_95(pattern) {
461 return function(clr) {
462 return function(shape) {
463 return Form_84(0)(1)(shape[2])(FShape_86(CustomOutline_74(pattern))(clr)(shape));
467 function textured(src) {
468 return function(shape) {
469 return Form_84(0)(1)(shape[2])(FShape_86(["Textured",src])(null)(shape));
472 function rotate_98(t_212) {
473 return function(Form$thetascaleposform_213) {
474 return function(case5) {
478 var case1 = case0[1], case2 = case0[2], case3 = case0[3], case4 = case0[4];
479 return Form_84(t_212 + case1)(case2)(case3)(case4)
481 throw"Non-exhaustive pattern match in case";
482 }(Form$thetascaleposform_213)
485 function scale_99(s) {
486 return function(form) {
487 return Form_84(form[1])(s * form[2])(form[3])(form[4])
490 function move_100(x_224) {
491 return function(y_225) {
492 return function(Form$thetascaleTuple2$pxpyform_226) {
493 return function(case7) {
497 var case1 = case0[1], case2 = case0[2], case3 = case0[3], case4 = case0[4];
500 var case5 = case3[1], case6 = case3[2];
501 return Form_84(case1)(case2)(["Tuple2", x_224 + case5, y_225 + case6])(case4)
505 throw"Non-exhaustive pattern match in case";
506 }(Form$thetascaleTuple2$pxpyform_226)
510 return{left:left_6, right:right_7, down:down_8, up:up_9, inward:inward_10, outward:outward_11, topLeft:topLeft_22, topRight:topRight_23, bottomLeft:bottomLeft_24, bottomRight:bottomRight_25, midLeft:midLeft_26, midRight:midRight_27, midTop:midTop_28, midBottom:midBottom_29, middle:middle_30, middleAt:middleAt, topLeftAt:topLeftAt_31, topRightAt:topRightAt_32, bottomLeftAt:bottomLeftAt_33, bottomRightAt:bottomRightAt_34, absolute:absolute_35, relative:relative_36, width:width_47, height:height_48, size:size_49, opacity:opacity_50,
511 color:color_51, link:link, widthOf:widthOf_52, heightOf:heightOf_53, sizeOf:sizeOf_54, text:text_56, asText:asText, plainText:plainText, centeredText:centeredText, justifiedText:justifiedText, rightedText:rightedText, image:image_57, images:images, video:video_58, fittedImage:fittedImage_59, flow:flow_60, above:above_61, below:below_62, beside:beside_63, layers:layers_64, collage:collage_65, spacer:spacer_66, container:container_67, line:line_76, segment:segment_77, polygon:polygon_79, rect:rect_80, oval:oval_81, circle:circle_82, ngon:ngon_83, solid:solid_89, dotted:dotted_90, dashed:dashed_91, customLine:customLine_92, filled:filled_93,
512 outlined:outlined_94, customOutline:customOutline_95, textured:textured, sprite:sprite_96, toForm:toForm_97, rotate:rotate_98, scale:scale_99, move:move_100,
513 isWithin: Collage.insideForm}
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list