pub struct GraphicsContext<W: HasRawWindowHandle> { /* private fields */ }
Expand description

An instance of this struct contains the platform-specific data that must be managed in order to write to a window on that platform. This struct owns the window that this data corresponds to to ensure safety, as that data must be destroyed before the window itself is destroyed. You may access the underlying window via window and window_mut.

Implementations

Creates a new instance of this struct, consuming the given window.

Safety
  • Ensure that the passed object is valid to draw a 2D buffer to

Gets shared access to the underlying window

Gets mut/exclusive access to the underlying window

Shows the given buffer with the given width and height on the window corresponding to this graphics context. Panics if buffer.len() ≠ width*height. If the size of the buffer does not match the size of the window, the buffer is drawn in the upper-left corner of the window. It is recommended in most production use cases to have the buffer fill the entire window. Use your windowing library to find the size of the window.

The format of the buffer is as follows. There is one u32 in the buffer for each pixel in the area to draw. The first entry is the upper-left most pixel. The second is one to the right etc. (Row-major top to bottom left to right one u32 per pixel). Within each u32 the highest order 8 bits are to be set to 0. The next highest order 8 bits are the red channel, then the green channel, and then the blue channel in the lowest-order 8 bits. See the examples for one way to build this format using bitwise operations.


Pixel format (u32):

00000000RRRRRRRRGGGGGGGGBBBBBBBB

0: Bit is 0 R: Red channel G: Green channel B: Blue channel

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.