PistonDevelopers/conrod — pull request #139 by mitchmindtree (2014-10-15 12:11:06+00:00)
Title: Added early support for `Theme`s.

You can now write very basic, serializable themes!

So rather than this
```Rust
uic.button(uiid)
.down()
.dimensions(w, h)
.color(Color::black())
.label("This does things")
.label_color(Color::white())
.label_size(24)
.frame(1.0)
.frame_color(Color::white())
.callback(|| *things*)
.draw(gl)
```

You can now write this
```Rust
uic.button(uiid)
.down()
.dimensions(w, h)
.label("This does things")
.callback(|| *things*)
.draw(gl)
```

See [theme.rs](https://github.com/PistonDevelopers/conrod/blob/master/src/theme.rs) to see the `struct` and what details it can currently handle. There are only generalised characteristics atm, (i.e. you can't write unique colors for different widgets yet) but we'll get there.

I'm also open to serializing themes in a more "human-readable/writable" way than JSON, if anyone has any suggestions, add an issue / pull request :)