summaryrefslogtreecommitdiff
path: root/dalos.lua
diff options
context:
space:
mode:
authorgit.exe' is not recognized as an internal or external command <git.exe' is not recognized as an internal or external command>2009-12-14 18:19:33 -0800
committergit.exe' is not recognized as an internal or external command <git.exe' is not recognized as an internal or external command>2009-12-14 18:19:33 -0800
commit628e34959a5380ee25c73068aa5cbabb41050d04 (patch)
treed6d0b2605eb4b6207ae55137ef498252974850b1 /dalos.lua
parent9e3a36537d07700ec49f432940b95cf2ee9689e8 (diff)
Few minor modifications and cleanup.
Diffstat (limited to 'dalos.lua')
-rw-r--r--dalos.lua40
1 files changed, 35 insertions, 5 deletions
diff --git a/dalos.lua b/dalos.lua
index 5381411..a317e98 100644
--- a/dalos.lua
+++ b/dalos.lua
@@ -45,7 +45,12 @@ dalosp.canvas = {
return obj, ind
end,
- moveobj = function (self, obj, x, y)
+ moveobj = function (self, obj, dx, dy)
+ obj.x, obj.y = obj.x + dx, obj.y + dy
+ self:draw()
+ end,
+
+ setobjplace = function (self, obj, x, y)
obj.x, obj.y = x, y
self:draw()
end,
@@ -61,7 +66,7 @@ dalosp.canvas = {
if moving then
local ox, oy = self.ox, self.oy
local dx, dy = x - ox, y - oy
- self:moveobj(moving, moving.x + dx, moving.y + dy)
+ self:moveobj(moving, dx, dy)
self.ox, self.oy = x, y
end
end
@@ -104,6 +109,7 @@ dalosp.canvas = {
r.addobj = dalosp.canvas.addobj
r.findobj = dalosp.canvas.findobj
r.moveobj = dalosp.canvas.moveobj
+ r.setobjplace = dalosp.canvas.setobjplace
r.objects = {}
@@ -133,13 +139,30 @@ dalosp.object = {
cv:Box(x1, x2, cv:InvertYAxis(y2), cv:InvertYAxis(y1))
end,
- create = function (dcanvas, x, y, w, h, c)
+ create = function (dcanvas, tab, extra)
+ if not tab then tab = {} end
local obj = {
draw = dalosp.object.default_draw,
- color = c or cd.BLACK
+ color = tab.color or cd.GRAY,
+ inputs = tab.inpus or 0,
+ outputs = tab.outputs or 0,
+ otype = tab.otype or dalos.objtype.DUMMY,
+ extra = extra,
}
- dcanvas:addobj(obj, x or 0, y or 0, w or 50, h or 50)
+ if tab.otype and not tab.c then
+ if tab.otype == dalos.objtype.DUMMY then
+ obj.color = cd.GRAY
+ elseif tab.otype == dalos.objtype.HANDLE then
+ obj.color = cd.CYAN
+ elseif tab.otype == dalos.objtype.LUA_FILTER then
+ obj.color = cd.YELLOW
+ else
+ obj.color = cd.DARK_RED
+ end
+ end
+
+ dcanvas:addobj(obj, tab.x or 0, tab.y or 0, tab.w or 50, tab.h or 50)
end,
}
@@ -147,6 +170,13 @@ dalos.canvas = dalosp.canvas.create
dalos.menu = dalosp.menu.create
dalos.object = dalosp.object.create
+dalos.objtype = {
+ UNKNOWN = 0,
+ DUMMY = 1,
+ HANDLE = 2,
+ LUA_FILTER = 3,
+}
+
----------------
d = dalos.canvas {}