+Background::Background(LispReader& reader)
+ : type(INVALID), image(0)
+{
+ if(reader.read_string("image", imagefile)
+ && reader.read_float("speed", speed)) {
+ set_image(imagefile, speed);
+ }
+
+ int tr, tg, tb, br, bg, bb;
+ if(reader.read_int("top_red", tr) && reader.read_int("top_green", tg)
+ && reader.read_int("top_blue", tb) && reader.read_int("bottom_red", br)
+ && reader.read_int("bottom_green", bg)
+ && reader.read_int("bottom_blue", bb)) {
+ set_gradient(Color(tr, tg, tb), Color(br, bg, bb));
+ }
+}
+