aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-11-03 16:23:43 +0000
committers-ol <s-ol@users.noreply.github.com>2019-11-03 16:23:43 +0000
commit157f6c0fdb37e8490c293a44d9ed08cd3dc63291 (patch)
tree4cfbb2899e615c90f033a31aa4019513047d805e /examples
parentadd profiling support (diff)
downloadwatch-cad-157f6c0fdb37e8490c293a44d9ed08cd3dc63291.tar.gz
watch-cad-157f6c0fdb37e8490c293a44d9ed08cd3dc63291.zip
update examples, fixes
Diffstat (limited to 'examples')
-rw-r--r--examples/capsule.moon (renamed from examples/demo.moon)0
-rw-r--r--examples/create_star.lua26
-rw-r--r--examples/demo.lua40
-rw-r--r--examples/place_in_rect.lua17
-rw-r--r--examples/test.moon8
5 files changed, 51 insertions, 40 deletions
diff --git a/examples/demo.moon b/examples/capsule.moon
index 2a9033c..2a9033c 100644
--- a/examples/demo.moon
+++ b/examples/capsule.moon
diff --git a/examples/create_star.lua b/examples/create_star.lua
new file mode 100644
index 0000000..520cf07
--- /dev/null
+++ b/examples/create_star.lua
@@ -0,0 +1,26 @@
+local vec2 = (require 'cpml').vec2
+
+function draw_star(S)
+ input.circle(S.inner)
+ input.circle(S.outer, { center = S.inner().center })
+
+ local inner, outer = S.inner(), S.outer()
+
+ local cnt = 20
+ local step = 2*math.pi/cnt
+ local lag = inner.center + vec2(inner.radius, 0)
+ for i = 0, 20 do
+ local r = (i % 2 == 0) and inner.radius or outer.radius
+ local pos = inner.center + vec2.from_cartesian(r, step * i)
+
+ draw.cross(pos)
+ draw.line(pos, lag)
+
+ -- obj = Object("object_"..i, pos, vec2(20, 20))
+ -- op.add(obj)
+
+ lag = pos
+ end
+end
+
+return draw_star
diff --git a/examples/demo.lua b/examples/demo.lua
deleted file mode 100644
index 22076b9..0000000
--- a/examples/demo.lua
+++ /dev/null
@@ -1,40 +0,0 @@
--- return function (state)
-function place_in_rect(state)
- selection = Select_objs(state.objs, '^led-')
- rect = Select_rect(state.dest)
-
- sx = rect.w / (#selection + 1)
-
- x = sx
- for i, obj in ipairs(selection) do
- Move(obj, rect.x + x - obj.w/2, rect.y)
- x = x + sx
- end
-end
-
-function create_star(state)
- local inner = Select_circle(state.inner)
- local outer = Select_circle(state.outer, inner.cx, inner.cy)
-
- cnt = 20
- step = 2*math.pi/cnt
- lag_x, lag_y = inner.cx + inner.r, inner.cy
- for i = 0, 20 do
- r = (i % 2 == 0) and inner.r or outer.r
- x = inner.cx + math.cos(step * i) * r
- y = inner.cy + math.sin(step * i) * r
- obj = Object("object_"..i, x-10, y-10, 20, 20)
- Add(obj)
-
- love.graphics.line(lag_x, lag_y, obj:center())
- lag_x, lag_y = obj:center()
- end
-end
-
-function test(S)
- rect = input.rectangle(S.rect)
-
- input.circle(S.circle, { center = rect.min, radius = 100 }, { center = true, radius = true })
-end
-
-return test
diff --git a/examples/place_in_rect.lua b/examples/place_in_rect.lua
new file mode 100644
index 0000000..3650257
--- /dev/null
+++ b/examples/place_in_rect.lua
@@ -0,0 +1,17 @@
+-- return function (state)
+function place_in_rect(S)
+ input.selection(S.objs, '^led-')
+ input.rect(S.dest)
+
+ local start = S.min()
+ local step = S.dest():size()
+ step.y = 0
+
+ for i, obj in ipairs(S.objs()) do
+ local pos = start + step:scale(i)
+ draw.cross(pos)
+ -- op.move(obj, pos)
+ end
+end
+
+return place_in_rect
diff --git a/examples/test.moon b/examples/test.moon
new file mode 100644
index 0000000..352ebd2
--- /dev/null
+++ b/examples/test.moon
@@ -0,0 +1,8 @@
+import vec2 from require 'cpml'
+
+=>
+ input.point @p
+
+ input.rectangle @re, max: @p!
+
+ input.circle @circ, center: @p!