summaryrefslogtreecommitdiff
path: root/objectio/drawingframe.icl
diff options
context:
space:
mode:
Diffstat (limited to 'objectio/drawingframe.icl')
-rw-r--r--objectio/drawingframe.icl126
1 files changed, 0 insertions, 126 deletions
diff --git a/objectio/drawingframe.icl b/objectio/drawingframe.icl
deleted file mode 100644
index 00e2862..0000000
--- a/objectio/drawingframe.icl
+++ /dev/null
@@ -1,126 +0,0 @@
-module drawingframe
-
-// ********************************************************************************
-// Clean tutorial example program.
-//
-// This program defines a framework in which one can test drawing functions.
-// The program relies on a function, example, of type *Picture -> *Picture.
-//
-// Below, multiple functions `example` are given. Most of them are based on
-// examples from chapter 5, Drawing, of the ObjectIO tutorial at
-// http://clean.cs.ru.nl/download/supported/ObjectIO.1.2/doc/tutorial.pdf. You can
-// comment out the function you want to test.
-// ********************************************************************************
-
-import StdEnv, StdIO
-
-Start :: *World -> *World
-Start world = startIO SDI Void (snd o openWindow Void testwindow) [ProcessClose closeProcess] world
-
-testwindow = Window "Test Drawing (chapter 5)" NilLS [
- WindowViewSize size,
- WindowClose (noLS closeProcess),
- WindowLook True (\_ _ . example o (setPenColour Red) o (setPenBack Green)),
- WindowViewDomain {corner1=origin,corner2=maxdomain}
- ]
-where
- size = {w=850,h=100}
- origin = {x=(-20),y=(-20)}
- maxdomain = {x=origin.x+size.w,y=origin.y+size.h}
-
-// Rainbow
-//example pict = foldr id pict [fill {corner1={x=x1 * w,y=0},corner2={x=x1 * w + w,y=h}} o (setPenColour (rainbow (toReal x1 / 5.0))) \\ x1 <- [0..160]]
-//where
-// w = 5
-// h = 100
-// rainbow :: a -> Colour | toReal a
-// rainbow i = let i` = toReal i
-// f = 0.3 in RGB { r = toInt (sin (f * i` + 0.0) * 127.0) + 128, // http://krazydad.com/tutorials/makecolors.php
-// g = toInt (sin (f * i` + PI / 1.5) * 127.0) + 128,
-// b = toInt (sin (f * i` + PI / 0.75) * 127.0) + 128 }
-
-// Points
-//example = drawPointAt zero o (setPenSize 1)
-//example = drawPointAt zero o (setPenSize 2)
-//example = drawPointAt zero o (setPenSize 3)
-
-// Lines
-//example = drawLine zero {x=50,y=50} o (setPenSize 1)
-//example = drawLine zero {x=50,y=50} o (setPenSize 2)
-//example = drawLine zero {x=50,y=50} o (setPenSize 3)
-
-// Crossbox (chap. 6)
-//example = seq (map draw (lines {zero & corner2 = {x=810,y=60}}))
-//where
-// lines {corner1=a,corner2=b} = [{line_end1=p1,line_end2=p2} \\ (p1,p2) <- [(a,c),(a,d),(a,b),(b,c),(b,d),(c,d)]]
-// where
-// c = {b & y=a.y}
-// d = {a & y=b.y}
-
-// Text
-//example = draw "p" o (draw "o") o (drawAt zero "P") //@todo Pen is not moved
-//example = drawAt zero "zero" o (drawAt {zero & y=5} "five") o (drawAt {zero & y=10} "ten")
-//example = drawAt zero "zero" o (drawAt {zero & y=10} "ten")
-//example = drawAt zero "zero"
-//example picture
-// # ((ok,font),picture) = openFont {fName="FreeMono",fStyles=[],fSize=20} picture
-// | not ok = abort "Couldn't open font"
-// # picture = setPenFont font picture
-// = drawAt zero "zero" picture
-
-// Ovals
-//example = drawAt zero {oval_rx=5, oval_ry=3}
-//example = drawAt zero {oval_rx=5, oval_ry=5}
-//example = drawAt zero {oval_rx=3, oval_ry=5}
-//example = drawAt zero {oval_rx=5, oval_ry=5} o (setPenSize 1)
-//example = drawAt zero {oval_rx=5, oval_ry=5} o (setPenSize 2)
-//example = drawAt zero {oval_rx=5, oval_ry=5} o (setPenSize 3)
-//example = fillAt zero {oval_rx=5, oval_ry=3}
-//example = fillAt zero {oval_rx=5, oval_ry=5}
-//example = fillAt zero {oval_rx=3, oval_ry=5}
-
-// Curves
-curve = { curve_oval = { oval_rx=5, oval_ry=3 },
- curve_from = PI / 6.0,
- curve_to = 1.5 * PI,
- curve_clockwise = True }
-//example = undrawAt zero curve
-//example = drawAt zero { curve & curve_clockwise = False } o (setPenSize 3)
-//example = fillAt zero curve
-//example = fillAt {x=50,y=50} { curve & curve_clockwise = False }
-
-// Rectangles
-//example = draw {zero & corner2={x=10,y=6}}
-//example = draw {zero & corner2={x=10,y=10}}
-//example = draw {zero & corner1={x=10,y=6}}
-//example = draw {zero & corner2={x=10,y=10}} o (setPenSize 1)
-//example = draw {zero & corner2={x=10,y=10}} o (setPenSize 2)
-//example = draw {zero & corner2={x=10,y=10}} o (setPenSize 3)
-//example = fill {zero & corner2={x=10,y=6}}
-//example = fill {zero & corner2={x=10,y=10}}
-//example = fill {zero & corner1={x=10,y=6}}
-
-// Boxes
-//example = draw {box_w = 20, box_h = 10} o (setPenSize 3)
-//example = undrawAt {x=10,y=10} {box_w = -10, box_h = -20}
-//example = fill {box_w = 20, box_h = 10}
-//example = unfillAt {x=10,y=10} {box_w = -10, box_h = -20}
-
-// Polygons
-//example = undrawAt zero {polygon_shape=[{vx=8,vy=0},{vx=(-4),vy=8}]}
-//example = drawAt zero {polygon_shape=[{vx=8,vy=0},{vx=0,vy=8},{vx=(-8),vy=0}]} o (setPenSize 3)
-//example = fillAt zero {polygon_shape=[{vx=8,vy=0},{vx=(-8),vy=8},{vx=8,vy=0}]}
-//example = unfillAt zero {polygon_shape=[{vx=8,vy=0},{vx=(-8),vy=8},{vx=8,vy=0}]}
-
-// Bitmaps
-//@todo
-
-// XOR mode
-//@todo
-
-// Hilite mode
-//example = hilite {corner1={x=0,y=2},corner2={x=24,y=(-10)}} o (drawAt zero "Pop")
-
-// Clipping mode
-//@todo
-