Browse Source

Merge branch 'master' into example/time-rtc

pull/23/head
Ian Chamberlain 3 years ago
parent
commit
b032fd768a
No known key found for this signature in database
GPG Key ID: AE5484D09405AA60
  1. 4
      ctru-rs/examples/buttons.rs
  2. 2
      ctru-rs/examples/gfx_wide_mode.rs
  3. 4
      ctru-rs/examples/hello-both-screens.rs
  4. 4
      ctru-rs/examples/hello-world.rs
  5. 4
      ctru-rs/examples/software-keyboard.rs
  6. 15
      ctru-rs/src/console.rs
  7. 12
      ctru-sys/src/lib.rs

4
ctru-rs/examples/buttons.rs

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
use ctru::console::Console;
use ctru::gfx::Gfx;
use ctru::gfx::{Gfx, Screen};
use ctru::services::apt::Apt;
use ctru::services::hid::{Hid, KeyPad};
@ -9,7 +9,7 @@ fn main() { @@ -9,7 +9,7 @@ fn main() {
let apt = Apt::init().unwrap();
let hid = Hid::init().unwrap();
let gfx = Gfx::default();
let console = Console::init(&gfx, ctru::gfx::Screen::Top);
let console = Console::init(&gfx, Screen::Top);
println!("Hi there! Try pressing a button");
println!("\x1b[29;16HPress Start to exit");

2
ctru-rs/examples/gfx_wide_mode.rs

@ -11,7 +11,7 @@ fn main() { @@ -11,7 +11,7 @@ fn main() {
let apt = Apt::init().unwrap();
let hid = Hid::init().unwrap();
let gfx = Gfx::default();
let _console = Console::init(&gfx, ctru::gfx::Screen::Top);
let _console = Console::init(&gfx, Screen::Top);
println!("Press A to enable/disable wide screen mode.");

4
ctru-rs/examples/hello-both-screens.rs

@ -11,11 +11,11 @@ fn main() { @@ -11,11 +11,11 @@ fn main() {
let gfx = Gfx::default();
// Start a console on the top screen
let top_screen = Console::init(&gfx, ctru::gfx::Screen::Top);
let top_screen = Console::init(&gfx, Screen::Top);
// Start a console on the bottom screen.
// The most recently initialized console will be active by default
let bottom_screen = Console::init(&gfx, ctru::gfx::Screen::Bottom);
let bottom_screen = Console::init(&gfx, Screen::Bottom);
// Let's print on the top screen first
top_screen.select();

4
ctru-rs/examples/hello-world.rs

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
use ctru::console::Console;
use ctru::gfx::Gfx;
use ctru::gfx::{Gfx, Screen};
use ctru::services::apt::Apt;
use ctru::services::hid::{Hid, KeyPad};
@ -21,7 +21,7 @@ fn main() { @@ -21,7 +21,7 @@ fn main() {
// Initialize a ctrulib console and direct standard output to it.
// Consoles can be initialized on both the top and bottom screens.
let _console = Console::init(&gfx, ctru::gfx::Screen::Top);
let _console = Console::init(&gfx, Screen::Top);
// Now we can print to stdout!
println!("Hello, world!");

4
ctru-rs/examples/software-keyboard.rs

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
use ctru::applets::swkbd::{Button, Swkbd};
use ctru::console::Console;
use ctru::gfx::Gfx;
use ctru::gfx::{Gfx, Screen};
use ctru::services::apt::Apt;
use ctru::services::hid::{Hid, KeyPad};
@ -9,7 +9,7 @@ fn main() { @@ -9,7 +9,7 @@ fn main() {
let apt = Apt::init().unwrap();
let hid = Hid::init().unwrap();
let gfx = Gfx::default();
let _console = Console::init(&gfx, ctru::gfx::Screen::Top);
let _console = Console::init(&gfx, Screen::Top);
println!("Press A to enter some text or press Start to quit");

15
ctru-rs/src/console.rs

@ -1,23 +1,28 @@ @@ -1,23 +1,28 @@
use std::default::Default;
use std::marker::PhantomData;
use ctru_sys::{consoleClear, consoleInit, consoleSelect, consoleSetWindow, PrintConsole};
use crate::gfx::{Gfx, Screen};
pub struct Console {
pub struct Console<'gfx> {
context: Box<PrintConsole>,
_gfx: PhantomData<&'gfx ()>,
}
impl Console {
impl<'gfx> Console<'gfx> {
/// Initialize a console on the chosen screen, overwriting whatever was on the screen
/// previously (including other consoles). The new console is automatically selected for
/// printing.
pub fn init(_gfx: &Gfx, screen: Screen) -> Self {
pub fn init(_gfx: &'gfx Gfx, screen: Screen) -> Self {
let mut context = Box::new(PrintConsole::default());
unsafe { consoleInit(screen.into(), context.as_mut()) };
Console { context }
Console {
context,
_gfx: PhantomData,
}
}
/// Select this console as the current target for stdout
@ -45,7 +50,7 @@ impl Console { @@ -45,7 +50,7 @@ impl Console {
}
}
impl Drop for Console {
impl Drop for Console<'_> {
fn drop(&mut self) {
static mut EMPTY_CONSOLE: PrintConsole = unsafe { const_zero::const_zero!(PrintConsole) };

12
ctru-sys/src/lib.rs

@ -1,7 +1,9 @@ @@ -1,7 +1,9 @@
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(clippy::all)]
#![no_std]
include!("bindings.rs");
#[allow(non_upper_case_globals)]
#[allow(non_camel_case_types)]
#[allow(non_snake_case)]
#[allow(clippy::all)]
mod bindings;
pub use bindings::*;

Loading…
Cancel
Save