steed/stead/theme.lua
2010-10-30 13:04:46 +00:00

132 lines
3 KiB
Lua

theme = {
nam = 'theme';
object_type = true;
system_type = true;
save = function(self, name, h, need)
local k,v
for k,v in pairs(self.vars) do
h:write(stead.string.format("theme.set(%q, %q);\n", k, v))
end
end;
set = function(name, val)
if val and name then
theme_var(name, tostring(val));
theme.vars[name] = tostring(val);
end
end;
get = function(name)
return theme_var(name);
end;
win = {
geom = function(x, y, w, h)
theme.set("win.x", x);
theme.set("win.y", y);
theme.set("win.w", w);
theme.set("win.h", h);
end;
color = function(fg, link, alink)
theme.set("win.col.fg", fg);
theme.set("win.col.link", link);
theme.set("win.col.alink", alink);
end;
font = function(name, size, height)
theme.set("win.fnt.name", name);
theme.set("win.fnt.size", size);
theme.set("win.fnt.height", height);
end;
gfx = {
up = function(pic, x, y)
theme.set("win.gfx.up", pic);
theme.set("win.up.x", x);
theme.set("win.up.y", y);
end;
down = function(pic, x, y)
theme.set("win.gfx.down", pic);
theme.set("win.down.x", x);
theme.set("win.down.y", y);
end;
};
};
inv = {
geom = function(x, y, w, h)
theme.set("inv.x", x);
theme.set("inv.y", y);
theme.set("inv.w", w);
theme.set("inv.h", h);
end;
color = function(fg, link, alink)
theme.set("inv.col.fg", fg);
theme.set("inv.col.link", link);
theme.set("inv.col.alink", alink);
end;
font = function(name, size, height)
theme.set("inv.fnt.name", name);
theme.set("inv.fnt.size", size);
theme.set("inv.fnt.height", height);
end;
mode = function(mode)
theme.set("inv.mode", mode);
end;
gfx = {
up = function(pic, x, y)
theme.set("inv.gfx.up", pic);
theme.set("inv.up.x", x);
theme.set("inv.up.y", y);
end;
down = function(pic, x, y)
theme.set("inv.gfx.down", pic);
theme.set("inv.down.x", x);
theme.set("inv.down.y", y);
end;
};
};
menu = {
bw = function(w)
theme.set("menu.bw", w);
end;
color = function(fg, bg, alpha, link, alink)
theme.set("menu.col.fg", fg);
theme.set("menu.col.bg", bg);
theme.set("menu.col.alpha", alpha);
theme.set("menu.col.link", link);
theme.set("menu.col.alink", alink);
end;
font = function(name, size, height)
theme.set("menu.fnt.name", name);
theme.set("menu.fnt.size", size);
theme.set("menu.fnt.height", height);
end;
gfx = {
button = function(b, x, y)
theme.set("menu.gfx.button", b);
theme.set("menu.button.x", x);
theme.set("menu.button.y", y);
end;
};
};
gfx = {
cursor = function(norm, use, x, y)
theme.set("scr.gfx.cursor.normal", norm);
theme.set("scr.gfx.cursor.use", use);
theme.set("scr.gfx.cursor.x", x);
theme.set("scr.gfx.cursor.y", y);
end;
mode = function(mode)
theme.set("scr.gfx.mode", mode);
end;
pad = function(pad)
theme.set("scr.gfx.pad", pad);
end;
bg = function(bg)
theme.set("scr.gfx.bg", bg);
end;
};
snd = {
click = function(w)
theme.set("snd.click", w);
end
}
}
theme.vars = {}