Yin and yang: Difference between revisions

Line 2,191:
<syntaxhighlight lang="dart">import 'package:flutter/material.dart';
 
const colorscolor = [Colors.black, Colors.white];
 
Container cR(int iClriColor, double r, {Widget? child, Clipbool clipmain = Clip.nonefalse}) => Container(
decoration: ShapeDecoration(color: colorscolor[iClriColor], shape: const CircleBorder()),
width: r * 2,
constraints: BoxConstraints.tight(Size.fromRadius(r)),
height: r * 2,
clipBehavior: main ? Clip.hardEdge : Clip.none,
decoration: ShapeDecoration(color: colors[iClr], shape: const CircleBorder()),
margin: main padding:? const EdgeInsets.all(105) : null,
clipBehavior: clip,
child: Center(child: child));
 
Container yinYang(double r, [double th = 1.0]) => cR(0, r + th,
clipmain: Clip.hardEdgetrue,
child: cR(1, r,
child: Stack(alignment: Alignment.center, children: [
Container(color: colorscolor[0], margin: EdgeInsets.only(left: r)),
Column(children: List.generate(2, (i) => cR(1 - i, r / 2, child: cR(i, r / 6))))
])));
 
void main() => runApp(const MainAppMaterialApp());
home: ColoredBox(color: color[1], child: Wrap(children: [yinYang(50), yinYang(20)]))));
 
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) => MaterialApp(
home: Container(
color: colors[1],
padding: const EdgeInsets.all(10),
child: Wrap(children: [yinYang(50), yinYang(20)])));
}
</syntaxhighlight>
 
106

edits