pixel_engine/engine/
screen.rs1use px_draw::traits::SmartDrawingTrait;
2
3impl px_draw::graphics::DrawSpriteTrait for crate::Engine {
4 fn size(&self) -> pixel_engine_draw::vector2::Vu2d {
5 self.screen.size()
6 }
7
8 fn get_pixel(
9 &self,
10 pos: pixel_engine_draw::vector2::Vi2d,
11 ) -> Option<pixel_engine_draw::graphics::Color> {
12 px_draw::graphics::DrawSpriteTrait::get_pixel(&self.screen, pos)
13 }
14 fn set_pixel(
15 &mut self,
16 pos: pixel_engine_draw::vector2::Vi2d,
17 col: pixel_engine_draw::graphics::Color,
18 ) {
19 self.screen.set_pixel(pos, col);
20 self.has_changed = true;
21 }
22 unsafe fn get_pixel_unchecked(
23 &self,
24 pos: pixel_engine_draw::vector2::Vu2d,
25 ) -> pixel_engine_draw::graphics::Color {
26 self.screen.get_pixel_unchecked(pos)
27 }
28
29 unsafe fn set_pixel_unchecked(
30 &mut self,
31 pos: pixel_engine_draw::vector2::Vu2d,
32 col: pixel_engine_draw::graphics::Color,
33 ) {
34 self.screen.set_pixel_unchecked(pos, col);
35 self.has_changed = true;
36 }
37}
38
39impl SmartDrawingTrait for crate::Engine {
40 fn draw<P: Into<pixel_engine_draw::vector2::Vi2d>>(
41 &mut self,
42 pos: P,
43 col: pixel_engine_draw::graphics::Color,
44 ) {
45 self.has_changed = true;
46 self.screen.draw(pos, col);
47 }
48
49 fn clear(&mut self, col: pixel_engine_draw::graphics::Color) {
50 self.screen.clear(col);
51 }
52
53 fn get_size(&self) -> pixel_engine_draw::vector2::Vu2d {
54 self.screen.get_size()
55 }
56
57 fn set_pixel_mode(&mut self, mode: pixel_engine_draw::graphics::PixelMode) {
58 self.screen.set_pixel_mode(mode);
59 }
60
61 fn get_pixel<P: Into<pixel_engine_draw::vector2::Vi2d>>(
62 &self,
63 pos: P,
64 ) -> Option<pixel_engine_draw::graphics::Color> {
65 self.screen.get_pixel(pos)
66 }
67
68 fn set_blend_factor(&mut self, f: f32) {
69 self.screen.set_blend_factor(f);
70 }
71
72 fn get_textsheet(&self) -> &'static pixel_engine_draw::graphics::Sprite {
73 self.screen.get_textsheet()
74 }
75
76 fn get_pixel_mode(&self) -> pixel_engine_draw::graphics::PixelMode {
77 self.screen.get_pixel_mode()
78 }
79
80 fn get_blend_factor(&self) -> f32 {
81 self.screen.get_blend_factor()
82 }
83}