use sfml::{
graphics::{
CircleShape, Color, ConvexShape, Font, RenderTarget, RenderWindow, Sprite, Text, Texture,
Transformable,
},
window::{Event, Key, Style},
};
include!("../example_common.rs");
fn main() {
let mut window = RenderWindow::new(
(800, 600),
"Borrowed resources",
Style::CLOSE,
&Default::default(),
);
window.set_vertical_sync_enabled(true);
let frank = Texture::from_file(example_res!("frank.jpeg")).unwrap();
let font = Font::from_file(example_res!("sansation.ttf")).unwrap();
let mut circle = CircleShape::with_texture(&frank);
circle.set_radius(70.0);
circle.set_position((100.0, 100.0));
let mut sprite = Sprite::new();
sprite.set_texture(&frank, true);
sprite.set_position((400.0, 300.0));
sprite.set_scale((0.5, 0.5));
let mut convex_shape = ConvexShape::with_texture(6, &frank);
convex_shape.set_point(0, (400., 100.));
convex_shape.set_point(1, (500., 70.));
convex_shape.set_point(2, (450., 100.));
convex_shape.set_point(3, (580., 150.));
convex_shape.set_point(4, (420., 230.));
convex_shape.set_point(5, (420., 120.));
let title = Text::new("Borrowed resources example!", &font, 50);
let mut second_text = Text::default();
second_text.set_string("This text shares the same font with the title!");
second_text.set_font(&font);
second_text.set_fill_color(Color::GREEN);
second_text.set_position((10.0, 350.0));
second_text.set_character_size(20);
let mut third_text = Text::new("This one too!", &font, 20);
third_text.set_position((300.0, 100.0));
third_text.set_fill_color(Color::RED);
loop {
while let Some(event) = window.poll_event() {
match event {
Event::Closed
| Event::KeyPressed {
code: Key::Escape, ..
} => return,
_ => {}
}
}
window.clear(Color::BLACK);
window.draw(&circle);
window.draw(&sprite);
window.draw(&convex_shape);
window.draw(&title);
window.draw(&second_text);
window.draw(&third_text);
window.display();
}
}