use super::*;
use super::super::image;
use super::super::resource_manager::*;
use canvas;
use modifier::*;
#[derive(Clone, PartialEq, Debug)]
pub enum Appearance {
Foreground(canvas::Color),
Background(canvas::Color),
Image(Resource<image::Image>)
}
impl Modifier<Control> for Appearance {
fn modify(self, control: &mut Control) {
control.add_attribute(ControlAttribute::AppearanceAttr(self))
}
}
impl<'a> Modifier<Control> for &'a Appearance {
fn modify(self, control: &mut Control) {
control.add_attribute(ControlAttribute::AppearanceAttr(self.clone()))
}
}
impl Modifier<Control> for Resource<image::Image> {
fn modify(self, control: &mut Control) {
control.add_attribute(ControlAttribute::AppearanceAttr(Appearance::Image(self)))
}
}