diff options
| author | Mica White <botahamec@outlook.com> | 2024-08-15 20:23:26 -0400 |
|---|---|---|
| committer | Mica White <botahamec@outlook.com> | 2024-08-25 19:24:37 -0400 |
| commit | 509e5ce1e17417a70b9bcce8bc6e33c05106811d (patch) | |
| tree | 5b1fe60a65b5f42a90023ead03c32336033afa1f /sys/src/renderer.rs | |
| parent | db9aa9f1bf49e8bede384b9ceb1e1fb82b522799 (diff) | |
Start profiling
Diffstat (limited to 'sys/src/renderer.rs')
| -rw-r--r-- | sys/src/renderer.rs | 98 |
1 files changed, 49 insertions, 49 deletions
diff --git a/sys/src/renderer.rs b/sys/src/renderer.rs index 05d111b..a4dab20 100644 --- a/sys/src/renderer.rs +++ b/sys/src/renderer.rs @@ -1,49 +1,49 @@ -use crate::{RendererConfig, Vertex, Window}; - -pub struct Renderer { - ptr: *mut (), -} - -impl Drop for Renderer { - fn drop(&mut self) { - unsafe { crate::destroy_renderer(self.ptr) } - } -} - -impl Renderer { - pub fn new(window: &Window, config: RendererConfig) -> Self { - let ptr = unsafe { crate::new_renderer(config, window.ptr) }; - Self { ptr } - } - - pub fn resize(&mut self, width: u32, height: u32) { - unsafe { crate::resize_renderer(self.ptr, width, height) } - } - - pub fn set_vsync(&mut self, vsync: bool) { - unsafe { crate::set_vsync(self.ptr, vsync) } - } - - pub fn create_vertex_buffer(&mut self, vertices: &[Vertex]) { - assert!(vertices.len() < (u32::MAX as usize), "Too many triangles!"); - let ptr = vertices.as_ptr(); - let len = vertices.len(); - unsafe { crate::create_vertex_buffer(self.ptr, len as u32, ptr) } - } - - pub fn set_camera( - &mut self, - x: f32, - y: f32, - zoom: f32, - rotation: f32, - width: f32, - height: f32, - ) { - unsafe { crate::set_camera(self.ptr, x, y, zoom, rotation, width, height) } - } - - pub fn render_frame(&mut self) { - unsafe { crate::render_frame(self.ptr) } - } -} +use crate::{RendererConfig, Vertex, Window};
+
+pub struct Renderer {
+ ptr: *mut (),
+}
+
+impl Drop for Renderer {
+ fn drop(&mut self) {
+ unsafe { crate::destroy_renderer(self.ptr) }
+ }
+}
+
+impl Renderer {
+ pub fn new(window: &Window, config: RendererConfig) -> Self {
+ let ptr = unsafe { crate::new_renderer(config, window.ptr) };
+ Self { ptr }
+ }
+
+ pub fn resize(&mut self, width: u32, height: u32) {
+ unsafe { crate::resize_renderer(self.ptr, width, height) }
+ }
+
+ pub fn set_vsync(&mut self, vsync: bool) {
+ unsafe { crate::set_vsync(self.ptr, vsync) }
+ }
+
+ pub fn create_vertex_buffer(&mut self, vertices: &[Vertex]) {
+ assert!(vertices.len() < (u32::MAX as usize), "Too many triangles!");
+ let ptr = vertices.as_ptr();
+ let len = vertices.len();
+ unsafe { crate::create_vertex_buffer(self.ptr, len as u32, ptr) }
+ }
+
+ pub fn set_camera(
+ &mut self,
+ x: f32,
+ y: f32,
+ zoom: f32,
+ rotation: f32,
+ width: f32,
+ height: f32,
+ ) {
+ unsafe { crate::set_camera(self.ptr, x, y, zoom, rotation, width, height) }
+ }
+
+ pub fn render_frame(&mut self) {
+ unsafe { crate::render_frame(self.ptr) }
+ }
+}
|
