From ecaefb647110e30c6eece00637e2dc6a4fde56d8 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 9 Mar 2017 13:48:24 +0300 Subject: [PATCH] use Into<_> bounds for draw_point(s) and draw_line(s) fns (#618) --- src/sdl2/render.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/sdl2/render.rs b/src/sdl2/render.rs index 1219bf5a..2d5355b5 100644 --- a/src/sdl2/render.rs +++ b/src/sdl2/render.rs @@ -661,7 +661,8 @@ impl<'a> Renderer<'a> { /// Draws a point on the current rendering target. /// Errors if drawing fails for any reason (e.g. driver failure) - pub fn draw_point(&mut self, point: Point) -> Result<(), String> { + pub fn draw_point>(&mut self, point: P) -> Result<(), String> { + let point = point.into(); let result = unsafe { ll::SDL_RenderDrawPoint(self.raw, point.x(), point.y()) }; @@ -674,7 +675,8 @@ impl<'a> Renderer<'a> { /// Draws multiple points on the current rendering target. /// Errors if drawing fails for any reason (e.g. driver failure) - pub fn draw_points(&mut self, points: &[Point]) -> Result<(), String> { + pub fn draw_points>(&mut self, points: P) -> Result<(), String> { + let points = points.into(); let result = unsafe { ll::SDL_RenderDrawPoints( self.raw, Point::raw_slice(points), points.len() as c_int @@ -689,8 +691,10 @@ impl<'a> Renderer<'a> { /// Draws a line on the current rendering target. /// Errors if drawing fails for any reason (e.g. driver failure) - pub fn draw_line(&mut self, start: Point, end: Point) + pub fn draw_line, P2: Into>(&mut self, start: P1, end: P2) -> Result<(), String> { + let start = start.into(); + let end = end.into(); let result = unsafe { ll::SDL_RenderDrawLine( self.raw, start.x(), start.y(), end.x(), end.y() @@ -705,7 +709,8 @@ impl<'a> Renderer<'a> { /// Draws a series of connected lines on the current rendering target. /// Errors if drawing fails for any reason (e.g. driver failure) - pub fn draw_lines(&mut self, points: &[Point]) -> Result<(), String> { + pub fn draw_lines>(&mut self, points: P) -> Result<(), String> { + let points = points.into(); let result = unsafe { ll::SDL_RenderDrawLines( self.raw, Point::raw_slice(points), points.len() as c_int