From b9c4be977ad237cfd6d27d49b6b0583a678ccc63 Mon Sep 17 00:00:00 2001 From: arnaucube Date: Sat, 17 Oct 2020 23:08:01 +0200 Subject: [PATCH] Add Sdl canvas --- Cargo.toml | 3 +-- src/main.rs | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 62061be..2c457e7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,8 +4,7 @@ version = "0.0.1" authors = ["arnaucube "] edition = "2018" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] clap = "2.33.3" +sdl2 = "0.34.3" chip8 = {path="./chip8"} diff --git a/src/main.rs b/src/main.rs index b8c3a24..db27990 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,8 @@ +extern crate sdl2; + +use sdl2::pixels::Color; +use sdl2::render::Canvas; + use clap::{App, Arg}; use chip8::Chip8; @@ -6,6 +11,7 @@ struct SdlEmulator { w: usize, h: usize, zoom: usize, + canvas: Canvas, chip8: Chip8, } @@ -13,10 +19,22 @@ impl SdlEmulator { fn new(w: usize, h: usize, zoom: usize) -> SdlEmulator { let mut c = Chip8::new(); + let sdl_context = sdl2::init().unwrap(); + let video_subsystem = sdl_context.video().unwrap(); + + let window = video_subsystem + .window("rust-sdl2 demo", 800, 600) + .position_centered() + .build() + .unwrap(); + + let mut canvas = window.into_canvas().build().unwrap(); + SdlEmulator { w, h, zoom, + canvas, chip8: c, } }