Render2D

Struct Render2D 

Source
pub struct Render2D { /* private fields */ }

Implementations§

Source§

impl Render2D

Source

pub fn clear_batch(&mut self)

Source

pub fn set_clear_color(&mut self, color: Color)

Examples found in repository?
examples/canvas.rs (line 30)
20    fn run(&mut self, dt: f32, render: &mut Self::Render) -> bool {
21        let speed = 80.0 * dt;
22        self.time = self.time + (dt * 30.0);
23        if cafe::keyboard::is_down(Scancode::Left) {
24            self.pos -= Vec2::new(speed, 0.0);
25        }
26        else if cafe::keyboard::is_down(Scancode::Right) {
27            self.pos += Vec2::new(speed, 0.0);
28        }
29        render.begin();
30        render.set_clear_color(Color::black());
31        render.clear();
32
33        render.set_canvas(Some(&self.canvas));
34        render.clear();
35        render.draw_rect(&Rect::new(self.pos.x, self.pos.y, 32.0, 64.0));
36        // render.hello_triangle();
37        render.set_canvas(None);
38
39        render.blit(&self.canvas, None, 0.0, 0.0);
40        render.blit_rotate(&self.canvas, None, 32.0, 64.0, self.time); 
41        render.fill_circle(32.0, 64.0, 8.0);
42        render.hello_triangle();
43
44        render.end();
45        true
46    }
Source

pub fn set_draw_color(&mut self, color: Color)

Source

pub fn clear_color(&self) -> Color

Source

pub fn draw_color(&self) -> Color

Source

pub fn hello_triangle(&mut self)

Examples found in repository?
examples/canvas.rs (line 42)
20    fn run(&mut self, dt: f32, render: &mut Self::Render) -> bool {
21        let speed = 80.0 * dt;
22        self.time = self.time + (dt * 30.0);
23        if cafe::keyboard::is_down(Scancode::Left) {
24            self.pos -= Vec2::new(speed, 0.0);
25        }
26        else if cafe::keyboard::is_down(Scancode::Right) {
27            self.pos += Vec2::new(speed, 0.0);
28        }
29        render.begin();
30        render.set_clear_color(Color::black());
31        render.clear();
32
33        render.set_canvas(Some(&self.canvas));
34        render.clear();
35        render.draw_rect(&Rect::new(self.pos.x, self.pos.y, 32.0, 64.0));
36        // render.hello_triangle();
37        render.set_canvas(None);
38
39        render.blit(&self.canvas, None, 0.0, 0.0);
40        render.blit_rotate(&self.canvas, None, 32.0, 64.0, self.time); 
41        render.fill_circle(32.0, 64.0, 8.0);
42        render.hello_triangle();
43
44        render.end();
45        true
46    }
Source

pub fn blit(&mut self, draw: &impl Drawable, src: Option<&Rect>, x: f32, y: f32)

Examples found in repository?
examples/canvas.rs (line 39)
20    fn run(&mut self, dt: f32, render: &mut Self::Render) -> bool {
21        let speed = 80.0 * dt;
22        self.time = self.time + (dt * 30.0);
23        if cafe::keyboard::is_down(Scancode::Left) {
24            self.pos -= Vec2::new(speed, 0.0);
25        }
26        else if cafe::keyboard::is_down(Scancode::Right) {
27            self.pos += Vec2::new(speed, 0.0);
28        }
29        render.begin();
30        render.set_clear_color(Color::black());
31        render.clear();
32
33        render.set_canvas(Some(&self.canvas));
34        render.clear();
35        render.draw_rect(&Rect::new(self.pos.x, self.pos.y, 32.0, 64.0));
36        // render.hello_triangle();
37        render.set_canvas(None);
38
39        render.blit(&self.canvas, None, 0.0, 0.0);
40        render.blit_rotate(&self.canvas, None, 32.0, 64.0, self.time); 
41        render.fill_circle(32.0, 64.0, 8.0);
42        render.hello_triangle();
43
44        render.end();
45        true
46    }
Source

pub fn blit_scale( &mut self, draw: &impl Drawable, src: Option<&Rect>, x: f32, y: f32, sx: f32, sy: f32, )

Source

pub fn blit_rotate( &mut self, draw: &impl Drawable, src: Option<&Rect>, x: f32, y: f32, angle: f32, )

Examples found in repository?
examples/canvas.rs (line 40)
20    fn run(&mut self, dt: f32, render: &mut Self::Render) -> bool {
21        let speed = 80.0 * dt;
22        self.time = self.time + (dt * 30.0);
23        if cafe::keyboard::is_down(Scancode::Left) {
24            self.pos -= Vec2::new(speed, 0.0);
25        }
26        else if cafe::keyboard::is_down(Scancode::Right) {
27            self.pos += Vec2::new(speed, 0.0);
28        }
29        render.begin();
30        render.set_clear_color(Color::black());
31        render.clear();
32
33        render.set_canvas(Some(&self.canvas));
34        render.clear();
35        render.draw_rect(&Rect::new(self.pos.x, self.pos.y, 32.0, 64.0));
36        // render.hello_triangle();
37        render.set_canvas(None);
38
39        render.blit(&self.canvas, None, 0.0, 0.0);
40        render.blit_rotate(&self.canvas, None, 32.0, 64.0, self.time); 
41        render.fill_circle(32.0, 64.0, 8.0);
42        render.hello_triangle();
43
44        render.end();
45        true
46    }
Source

pub fn blit_ex( &mut self, draw: &impl Drawable, src: Option<&Rect>, x: f32, y: f32, angle: f32, sx: f32, sy: f32, )

Source

pub fn draw_triangle(&mut self, p0: Vec2, p1: Vec2, p2: Vec2)

Source

pub fn fill_triangle(&mut self, p0: Vec2, p1: Vec2, p2: Vec2)

Source

pub fn fill_rect(&mut self, rect: &Rect)

Source

pub fn draw_rect(&mut self, rect: &Rect)

Examples found in repository?
examples/canvas.rs (line 35)
20    fn run(&mut self, dt: f32, render: &mut Self::Render) -> bool {
21        let speed = 80.0 * dt;
22        self.time = self.time + (dt * 30.0);
23        if cafe::keyboard::is_down(Scancode::Left) {
24            self.pos -= Vec2::new(speed, 0.0);
25        }
26        else if cafe::keyboard::is_down(Scancode::Right) {
27            self.pos += Vec2::new(speed, 0.0);
28        }
29        render.begin();
30        render.set_clear_color(Color::black());
31        render.clear();
32
33        render.set_canvas(Some(&self.canvas));
34        render.clear();
35        render.draw_rect(&Rect::new(self.pos.x, self.pos.y, 32.0, 64.0));
36        // render.hello_triangle();
37        render.set_canvas(None);
38
39        render.blit(&self.canvas, None, 0.0, 0.0);
40        render.blit_rotate(&self.canvas, None, 32.0, 64.0, self.time); 
41        render.fill_circle(32.0, 64.0, 8.0);
42        render.hello_triangle();
43
44        render.end();
45        true
46    }
Source

pub fn draw_circle(&mut self, cx: f32, cy: f32, radius: f32)

Source

pub fn fill_circle(&mut self, cx: f32, cy: f32, radius: f32)

Examples found in repository?
examples/canvas.rs (line 41)
20    fn run(&mut self, dt: f32, render: &mut Self::Render) -> bool {
21        let speed = 80.0 * dt;
22        self.time = self.time + (dt * 30.0);
23        if cafe::keyboard::is_down(Scancode::Left) {
24            self.pos -= Vec2::new(speed, 0.0);
25        }
26        else if cafe::keyboard::is_down(Scancode::Right) {
27            self.pos += Vec2::new(speed, 0.0);
28        }
29        render.begin();
30        render.set_clear_color(Color::black());
31        render.clear();
32
33        render.set_canvas(Some(&self.canvas));
34        render.clear();
35        render.draw_rect(&Rect::new(self.pos.x, self.pos.y, 32.0, 64.0));
36        // render.hello_triangle();
37        render.set_canvas(None);
38
39        render.blit(&self.canvas, None, 0.0, 0.0);
40        render.blit_rotate(&self.canvas, None, 32.0, 64.0, self.time); 
41        render.fill_circle(32.0, 64.0, 8.0);
42        render.hello_triangle();
43
44        render.end();
45        true
46    }

Trait Implementations§

Source§

impl Debug for Render2D

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Render2D

Source§

fn default() -> Render2D

Returns the “default value” for a type. Read more
Source§

impl Render for Render2D

Source§

type Effect = Effect2D

Source§

fn new() -> Self

Source§

fn begin(&mut self)

Source§

fn end(&self)

Source§

fn set_canvas(&mut self, canvas: Option<&Canvas>)

Source§

fn set_effect(&mut self, effect: Option<&Self::Effect>)

Source§

fn on_resize(&mut self, width: i32, height: i32)

Source§

fn camera(&mut self) -> &mut dyn Camera

Source§

fn clear_color(&self, color: Vec4)

Source§

fn clear(&self)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.