Commit graph

10 commits

Author SHA1 Message Date
Kevin Reid
1c0683c88d Make GraphicsContext::window_mut() an unsafe fn.
As documented in the new safety comment, providing `&mut` access to an
inner component about which there are consistency invariants is unsafe,
because `&mut` is sufficient for a caller to completely replace the
value (using assignment or `std::mem::swap()`).

Luckily, when `softbuffer` is used with `winit`, no `&mut` access is
needed. However, other windowing libraries such as `glfw` and `sdl2` do
have `&mut` methods, so this method can't simply be removed.

This is a breaking change since it makes a previously safe function
unsafe, and should not be published without a major version bump
(i.e. to `0.2.0` or higher).
2022-05-26 08:37:37 -07:00
Liam Murphy
d735510f72 Add web support
A limitation of this implementation is that it can't coexist with anything which creates a canvas context other than `CanvasRenderingContext2D`, since only one context can exist per canvas.
2022-02-12 20:24:18 +11:00
David Johnson
d8087a68a0 Added Wayland support 2022-01-19 21:26:20 -06:00
Seo Sanghyeon
7ff0d65793 Add macOS support using Core Graphics 2022-01-19 13:18:09 +09:00
David Johnson
dc6fc474be Added better error handling 2022-01-16 09:01:02 -06:00
David Johnson
e7b6541de9 Added README.md 2022-01-16 08:43:00 -06:00
David Johnson
5cdaae1412 Added rustdoc to all public items 2022-01-16 08:17:53 -06:00
David Johnson
8286c2bd6c Added safety checks for incorrectly sized buffers being passed 2022-01-16 08:07:39 -06:00
David Johnson
d89a0c92aa Added windows support and made example render something fancier 2022-01-16 08:03:20 -06:00
David Johnson
384f2dc9a3 Added X11 support 2022-01-15 08:17:17 -06:00