summaryrefslogtreecommitdiff
path: root/libs/cairo-1.16.0/util/cairo-script/examples/interference.cs
diff options
context:
space:
mode:
Diffstat (limited to 'libs/cairo-1.16.0/util/cairo-script/examples/interference.cs')
-rw-r--r--libs/cairo-1.16.0/util/cairo-script/examples/interference.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/util/cairo-script/examples/interference.cs b/libs/cairo-1.16.0/util/cairo-script/examples/interference.cs
new file mode 100644
index 0000000..6d2ee22
--- /dev/null
+++ b/libs/cairo-1.16.0/util/cairo-script/examples/interference.cs
@@ -0,0 +1,46 @@
+/rot { 3 -1 roll } def
+/2dup { 2 copy } def
+
+/circle { % context radius -- context
+ 2dup 0 m pop
+ 0 0 rot 0 math.2pi arc h
+} def
+
+/circles { % context #circles -- context
+ 1 1 rot { circle } for
+} def
+
+/SIDE 600. def
+/SIZE 600. def
+<< /width SIZE /height SIZE >> surface context
+1 1 1 set-source-rgb paint
+0 0 0 set-source-rgb
+//EVEN_ODD set-fill-rule
+
+/r 4 def
+/n SIDE 1.5 mul r div integer def
+
+SIZE SIDE div dup scale
+
+save
+ 302 200 translate
+ r dup scale
+ n circles
+restore
+
+save
+ 100 300 translate
+ r dup scale
+ n circles
+restore
+
+save
+ 500 400 translate
+ r dup scale
+ n circles
+restore
+
+fill
+
+/target get (out.png) write-to-png pop
+pop