From 628e34959a5380ee25c73068aa5cbabb41050d04 Mon Sep 17 00:00:00 2001 From: "git.exe' is not recognized as an internal or external command" Date: Mon, 14 Dec 2009 18:19:33 -0800 Subject: Few minor modifications and cleanup. --- dalos.lua | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) (limited to 'dalos.lua') 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 {} -- cgit v1.2.3