[][src]Struct rusty_gfx::Window

pub struct Window { /* fields omitted */ }

An OpenGL window for displaying graphics. Also the object through which you'll receive input events (mouse, keyboard, etc.)

Methods

impl Window[src]

pub fn new(override_dimension: Option<u32>, window_title: &str) -> Self[src]

By default, this will be a square window with a dimension of 1024 logical pixels or (smallest monitor height - 100) logical pixels, whichever is smaller. You can override the dimension by providing a value for override_dimension, for example: Some(2048).

window_title is for the OS to use on the bar above your window.

pub fn drawstart(&mut self)[src]

Call drawstart() when you are ready to draw a new frame. It will initialize the next off-screen framebuffer and clear it to black.

pub fn draw_shape(&mut self, shape: &Shape)[src]

You must call .drawstart() before calling this method. draw_shape() will draw your shape to the current off-screen framebuffer. After the first time a given shape value is drawn it stays on the GPU and during subsequent calls it only sends updated position/rotation, which is super efficient, so don't destroy and recreate shapes every frame! Draw calls draw to the framebuffer in the order that they occur, so the last shape you draw will be on top.

pub fn draw(&mut self, img: &Img)[src]

You must call .drawstart() before calling this method. draw() will draw your image to the current off-screen framebuffer. After the first time a given image value is drawn it stays on the GPU and during subsequent calls it only sends updated position/rotation, which is super efficient, so don't destroy and recreate images every frame! Draw calls draw to the framebuffer in the order that they occur, so the last image you draw will be on top.

pub fn drawfinish(&mut self)[src]

Call drawfinish() when you are ready to finalize the frame and show it. You will need to call drawstart() again before you can draw() any shapes in a new frame. I think this method blocks until the hardware is ready for a frame (vsync), so an unconstrained loop (that runs fast enough) should run at 60fps on most displays.

pub fn poll_game_events(&mut self) -> Vec<GameEvent>[src]

For convenience this method abstracts all the possible mouse and keyboard events to GameEvents, which are the events we care about for the game. The WASD and arrow keys map to directions, mouse clicks and space bar map to attacks, and the Escape key maps to quitting. Any number of events could have occurred since we last looked, so a Vec<GameEvent> is returned.

Auto Trait Implementations

impl !RefUnwindSafe for Window

impl !Send for Window

impl !Sync for Window

impl Unpin for Window

impl !UnwindSafe for Window

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SetParameter for T

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,