11extern crate sdl2;
22extern crate time;
33
4+ mod font;
5+
46use sdl2:: pixels:: Color ;
57use sdl2:: event:: Event ;
68use sdl2:: keyboard:: Keycode ;
7- use sdl2:: render:: { Renderer , TextureQuery } ;
8- use sdl2:: rect:: { Rect , Point } ;
9+ use sdl2:: render:: Renderer ;
10+ use sdl2:: rect:: Point ;
911use sdl2:: ttf:: Font ;
12+ use font:: print_text;
1013
1114const W_WIDTH : u32 = 320 ;
1215const W_HEIGHT : u32 = 320 ;
@@ -22,16 +25,6 @@ fn get_point(center: Point, angle: f32, amplitute: f32) -> Point {
2225 Point :: new ( x, y)
2326}
2427
25- fn print_text < ' a > ( renderer : & ' a mut Renderer , font : & ' a Font , text : & ' a str , pos : Point ) {
26- let surface = font. render ( text)
27- . blended ( Color :: RGBA ( 255 , 255 , 255 , 255 ) )
28- . unwrap ( ) ;
29- let mut texture = renderer. create_texture_from_surface ( & surface) . unwrap ( ) ;
30- let TextureQuery { width, height, .. } = texture. query ( ) ;
31- let target = Rect :: new ( pos. x , pos. y , width, height) ;
32- renderer. copy ( & mut texture, None , Some ( target) ) . unwrap ( ) ;
33- }
34-
3528fn render < ' a > ( renderer : & ' a mut Renderer , font : & ' a mut Font ) {
3629 let center = Point :: new ( ( W_WIDTH / 2 ) as i32 , ( W_HEIGHT / 2 ) as i32 ) ;
3730 renderer. set_draw_color ( Color :: RGB ( 0 , 0 , 0 ) ) ;
0 commit comments