#![allow(missing_docs)]
use graphics::Transform;
use system::Vector2f;
pub trait Transformable {
fn set_position(&mut self, position: &Vector2f);
fn set_position2f(&mut self, x: f32, y: f32);
fn set_rotation(&mut self, angle: f32);
fn set_scale(&mut self, scale: &Vector2f);
fn set_scale2f(&mut self, scale_x: f32, scale_y: f32);
fn set_origin(&mut self, origin: &Vector2f);
fn set_origin2f(&mut self, x: f32, y: f32);
fn get_position(&self) -> Vector2f;
fn get_rotation(&self) -> f32;
fn get_scale(&self) -> Vector2f;
fn get_origin(&self) -> Vector2f;
fn move_(&mut self, offset: &Vector2f);
fn move2f(&mut self, offset_x: f32, offset_y: f32);
fn rotate(&mut self, angle: f32);
fn scale(&mut self, factors: &Vector2f);
fn scale2f(&mut self, factor_x: f32, factor_y: f32);
fn get_transform(&self) -> Transform;
fn get_inverse_transform(&self) -> Transform;
}