John Nunley
7b089d46b2
Remove the thiserror dependency ( #116 )
2023-06-03 07:08:35 -07:00
John Nunley
44248477be
feat: Add a function for retrieving the window contents
...
This function is useful for testing the window contents in certain cases. In addition,
this means that we can now have reliable tests for softbuffer's actual functionality.
Signed-off-by: John Nunley <jtnunley01@gmail.com>
Co-authored-by: dAxpeDDa <daxpedda@gmail.com>
2023-06-01 20:09:30 -07:00
dAxpeDDa
eb227f10f0
Bump x11rb to v0.12
2023-05-27 17:10:18 +02:00
dependabot[bot]
4268c732a6
Update memmap2 requirement from 0.5.8 to 0.6.1 ( #108 )
2023-05-15 06:48:56 -07:00
daxpedda
fcda747ddf
Add from_canvas() to Surface for Wasm ( #76 )
...
Co-authored-by: Toniman575 <toniman575@gmail.com>
2023-05-08 15:43:34 +02:00
John Nunley
885c76bf02
m: Don't use the borrowing trick under X11 ( #86 )
2023-04-07 11:54:50 -07:00
John Nunley
379910cb8e
Merge pull request #77 from daxpedda/wasm-atomics
...
Fix multi-threaded Wasm
2023-04-06 10:40:23 -07:00
Ian Douglas Scott
7a687105e3
Update windows-sys and image
2023-04-06 08:37:57 -07:00
dAxpeDDa
c0af587718
Fix multi-threaded Wasm
2023-04-06 17:35:14 +02:00
Ian Douglas Scott
a09e4cf679
Owned pixel buffer for no-copy presentation
...
This is based on the API that will be used for no-copy presentation. But
wraps it in `set_buffer`.
This also fixes the Wayland buffer code to set `self.width` and
`self.height` on resize, and set the length of the shared memory file
when the buffer is created.
Co-authored-by: jtnunley <jtnunley01@gmail.com>
2023-04-06 10:30:59 +03:00
John Nunley
77f9f68f45
Bump MSRV to 1.64 ( #81 )
...
raw-window-handle bumped MSRV, so should we
2023-03-17 19:56:10 -07:00
Ian Douglas Scott
3b9976685c
Add run-wasm workspace member, as used in winit
...
This makes it easy to run examples with the web backend, in the same way
that winit examples are run.
2023-02-23 08:49:36 -08:00
Ian Douglas Scott
dce6cbc111
Update windows-sys dependency, and winit dev dependency
...
Using the latest `winit` version in examples fixes resizing behavior on
Wayland, so the workaround for that in the `winit` example is also
removed here.
2023-02-20 10:22:34 -08:00
Jeremy Soller
02da341d51
0.2.0
2023-01-06 09:07:11 -07:00
John Nunley
a6042f664d
x11: Implement image transfer using the MIT-SHM extension ( #46 )
...
* Implement shared memory transfer for X11
* Change to x11rb
* Fix leak + review from psychon
* Add waits to prevent illegal writes to SHM
* @ids1024 code review
2023-01-05 19:27:54 -08:00
John Nunley
0f1effe958
chore: Alphabetize dependencies ( #58 )
2023-01-05 22:37:30 +00:00
Ian Douglas Scott
a90c7bca04
Use cfg_aliases crate to make Wayland/X #[cfg(..)] less redundant
2023-01-03 12:45:18 -08:00
Ian Douglas Scott
4f6542ceaa
Add support and CI tests for BSDs
...
This adds a fallback using `shm_open`/`shm_unlink` for platforms where
`memfd_create` doesn't exist. This seems to be how this is normally
handled, though it's a bit ugly.
This also builds the wayland/x11 code for NetBSD/OpenBSD/DragonFlyBSD.
Add CI builds for FreeBSD and NetBSD. We would need some kind of
virtualisation though to actually run tests on such targets.
I've tested the `shm_open` logic on Linux, but haven't run it on any
BSDs.
2023-01-03 12:45:15 -08:00
Ian Douglas Scott
0109b1538a
Specify rust-version in Cargo.toml
2022-12-27 12:20:07 -08:00
Ian Douglas Scott
ca3988a2f7
Use stable 0.30 release of wayland-client
2022-12-27 12:18:14 -08:00
John Nunley
3eeafad834
x11: Add XCB support to the X11 backend ( #52 )
2022-12-27 09:14:54 -08:00
David Johnson
ddb1b9bfeb
Updated Cargo.toml to reflect swbuf+softbuffer merge
2022-12-22 18:39:56 -06:00
Ian Douglas Scott
f193f10ec0
Add wayland-dlopen feature, like winit
2022-12-21 19:45:27 -07:00
Ian Douglas Scott
c73bd4b836
Add feature flags for x11 and wayland
...
Winit has features for these, so it makes sense to offer the same.
2022-12-21 16:20:15 -08:00
jtnunley
85b4f189bd
Port to win32
2022-12-20 09:11:45 -07:00
Ian Douglas Scott
33fe3ae3c7
Enable Wayland and x11 code on FreeBSD
2022-12-20 07:11:10 -07:00
Ian Douglas Scott
3dc11f75c1
Improvements to wayland backend
...
- Use wayland-client `0.30.0-beta.14`
- Use `memfd` instead of temporary file
- Make sure buffer and buffer pool objects are destroyed
2022-12-20 07:11:10 -07:00
Jeremy Soller
7351d68814
Add Redox/Orbital support
2022-12-20 07:11:09 -07:00
Jeremy Soller
939bcc44d8
Fork to swbuf
2022-12-20 07:07:57 -07:00
David Johnson
d30d3255c2
Updated winit to 0.27.2 for examples and raw-window-handle to 0.5.0
2022-08-24 00:16:20 -05:00
Liam Murphy
ea6f97e15e
Enable needed features of winapi
...
Previously, `softbuffer` wouldn't successfully build on its own on Windows; the examples only worked because dependencies happened to enable the needed features.
2022-07-01 17:49:40 +10:00
David Johnson
08883d76c5
Bumped version to 0.1.1, updated README.md, added changelog to README.md
2022-05-22 18:20:40 -05:00
Ryan Hileman
ba3b823e1c
use CALayer for macOS backend
2022-04-24 07:31:19 -07:00
Liam Murphy
7b4717fdc4
Don't use rayon in examples on wasm
2022-02-23 19:13:26 +11: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
bc900e69e7
Added animation demo
2022-01-31 22:03:48 -06:00
David Johnson
4311b27193
Modified Cargo.toml and README.md to prepare for publication to crates.io
2022-01-19 21:57:09 -06: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
a23b7f9876
Added fruit example to show a more recognizable image for debugging
2022-01-18 22:07:17 -06:00
David Johnson
b5573de387
Added decription to Cargo.toml
2022-01-16 09:02:22 -06:00
David Johnson
dc6fc474be
Added better error handling
2022-01-16 09:01:02 -06:00
David Johnson
e4b1917333
Correctly ser version, authors, and license in Cargo.toml
2022-01-16 08:45:01 -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