Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase on upstream master branch #1

Open
wants to merge 153 commits into
base: cosmic
Choose a base branch
from
Open

Conversation

zinifier
Copy link

Of the three different commits on this branch:

Cannot be merged automatically because the history has been rewritten. Feel free to ignore this PR and rebase/merge however you like.

Updating to latest softbuffer will fix problems when trying to start on Xorg on some hardware: rust-windowing#215

Note: pop-os/iced depends on a specific tag, not this cosmic branch

ids1024 and others added 30 commits January 6, 2023 21:36
A `Context` is created with a display handle, and a `Surface` is created
with a `&Context` and a window handle. Thus multiple windows can be
created from the same context without duplicating anything that can be
shared. This API is broadly similar to `wgpu` or `glutin`.

On Wayland, the `Context` contains the `EventQueue`, which is shared
between windows, and the `WlShm` global. On X11, `Context::new` checks
for the availability of XShm, and contains a bool representing that as
well as the `XCBConnection`. The shared context data is stored within
the window in an `Arc`.

On other platforms, the display isn't used and `Context` is empty. This
does however test that the display handle has the right type on those
platforms and fail otherwise. Previously the code didn't test that.

Closes rust-windowing#37.
…on-setbuffer

mac: Fix layer scale not being updated when contents is updated and window is on a new screen
fix: update width and height when resizing buffer
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.
This makes it easy to run examples with the web backend, in the same way
that winit examples are run.
Add `run-wasm` workspace member, as used in `winit`
raw-window-handle bumped MSRV, so should we
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 <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
notgull and others added 26 commits May 19, 2024 16:52
Signed-off-by: John Nunley <[email protected]>
Previously, types in softbuffer were !Send and !Sync. However it would
be nice if types could be shared across threads. Therefore I've made the
following changes:

- Context<D> is Send+Sync iff D is Send+Sync
- Surface<D, W> is Send iff D is Send+Sync and W is Send
- Buffer<'x, D, W> is Send iff D if Send+Sync and W is Send

Materially, I've made the following changes across the backends:

- X11, Wayland and KMS use Arc for their displays instead of Rc.
- MacOS uses MainThreadBound to secure windowing resources. This
  restriction was already implicitly enforced anyhow.
- Windows creates a thread specifically for allocating and then
  deallocating device contexts. This lets us get around the thread
  affinity problem.

Closes rust-windowing#205

Signed-off-by: John Nunley <[email protected]>
Co-authored-by: Mads Marquart <[email protected]>
Signed-off-by: John Nunley <[email protected]>
- Remove the default features of the image crate.
- Remove exr from pinned deps
- Fix macro positioning
- Allow for clippy false positive

Signed-off-by: John Nunley <[email protected]>
This can lead to weird results in some cases, but it's better than crashing.
Once we have a better format API we can work around this.

ref rust-windowing/winit#3646

Signed-off-by: John Nunley <[email protected]>
Signed-off-by: John Nunley <[email protected]>
…to fix autoformatting

Via `include!()` `rustfmt` doesn't know that this file belongs to the
current project and doesn't autoformat it. Furthermore, jump-to-symbol
likely doesn't play that well with `include!()`.

Without creating a `lib.rs` file in `utils/`, use `#[path]` to reference
the existing file without following a `mod`ule hierarchy.

Note that the file remains in the `utils/` folder as that doesn't get
picked up by `autoexamples`.
And exclude Orbital from it as it requires nightly anyway.
Updates the requirements on [core-graphics](https://github.com/servo/core-foundation-rs) to permit the latest version.
- [Commits](servo/core-foundation-rs@core-graphics-v0.23.1...core-graphics-v0.24.0)

---
updated-dependencies:
- dependency-name: core-graphics
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
…cargo/core-graphics-0.24.0

build(deps): update core-graphics requirement from 0.23.1 to 0.24.0
Updates the requirements on [windows-sys](https://github.com/microsoft/windows-rs) to permit the latest version.
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](microsoft/windows-rs@0.52.0...0.59.0)

---
updated-dependencies:
- dependency-name: windows-sys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Currently inactive while getting assigned as a reviewer on every single PR.
Add support for iOS / UIKit, and clean up CoreGraphics impl
Signed-off-by: John Nunley <[email protected]>
* Reformat on Rust 1.83
* Disable doc tests on Rust 1.83
* Fix mutability error in Orbital backend
* Appease Clippy

Co-authored-by: Marijn Suijten <[email protected]>
On Android the backing buffer (`NativeWindow`) disappears when the
application is not focussed and/or the screen is locked.  Winit handles
this by requiring apps to create their `raw_window_handle()` consumers
_after_ `Event::Resumed` and to clean it up _before_ returning from
`Event::Suspended`.  For consistency Winit also sends `Resumed` on all
other platforms during init.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.