Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into plot_item_allow_h…
Browse files Browse the repository at this point in the history
…over
  • Loading branch information
haricot committed Mar 26, 2024
2 parents 382a9b3 + 9cfaf8b commit 23f60c2
Show file tree
Hide file tree
Showing 378 changed files with 32,820 additions and 15,789 deletions.
5 changes: 3 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
Please read the "Making a PR" section of [`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md) before opening a Pull Request!
* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to `egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run `./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.
Please be patient! I will review you PR, but my time is limited!
Please be patient! I will review your PR, but my time is limited!
-->

Closes <https://github.com/emilk/egui/issues/THE_RELEVANT_ISSUE>.
* Closes <https://github.com/emilk/egui/issues/THE_RELEVANT_ISSUE>
66 changes: 66 additions & 0 deletions .github/workflows/deploy_web_demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Deploy web demo

on:
# We only run this on merges to master
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# to only run when you do a new github release, comment out above part and uncomment the below trigger.
# on:
# release:
# types: ["published"]


permissions:
contents: write # for committing to gh-pages branch

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

env:
# web_sys_unstable_apis is required to enable the web_sys clipboard API which eframe web uses,
# as well as by the wasm32-backend of the wgpu crate.
# https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html
# https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html
RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings
RUSTDOCFLAGS: -D warnings

jobs:
# Single deploy job since we're just deploying
deploy:
name: Deploy web demo

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- uses: actions-rs/toolchain@v1
with:
profile: minimal
target: wasm32-unknown-unknown
toolchain: 1.72.0
override: true

- uses: Swatinem/rust-cache@v2
with:
prefix-key: "web-demo-"

- name: "Install wasmopt / binaryen"
run: |
sudo apt-get update && sudo apt-get install binaryen
- run: |
scripts/build_demo_web.sh --release
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: web_demo
# this option will not maintain any history of your previous pages deployment
# set to false if you want all page build to be committed to your gh-pages branch history
single-commit: true
2 changes: 1 addition & 1 deletion .github/workflows/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ jobs:
with:
mode: minimum
count: 1
labels: "CI, dependencies, docs and examples, ecolor, eframe, egui_extras, egui_glow, egui-wgpu, egui-winit, egui, epaint, plot, typo"
labels: "CI, dependencies, docs and examples, ecolor, eframe, egui_extras, egui_glow, egui_plot, egui-wgpu, egui-winit, egui, epaint, exclude from changelog, typo"
45 changes: 27 additions & 18 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ jobs:
name: Format + check + test
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0
toolchain: 1.72.0

- name: Install packages (Linux)
if: runner.os == 'Linux'
Expand Down Expand Up @@ -49,19 +49,22 @@ jobs:
run: cargo check --locked --all-features --all-targets

- name: check egui_extras --all-features
run: cargo check --locked --all-features --all-targets -p egui_extras
run: cargo check --locked --all-features -p egui_extras

- name: check default features
run: cargo check --locked --all-targets

- name: check --no-default-features
run: cargo check --locked --no-default-features --lib --all-targets

- name: check epaint --no-default-features
run: cargo check --locked --no-default-features --lib --all-targets -p epaint

- name: check eframe --no-default-features
run: cargo check --locked --no-default-features --features x11 --lib --all-targets -p eframe
run: cargo check --locked --no-default-features --features x11 --lib -p eframe

- name: check egui_extras --no-default-features
run: cargo check --locked --no-default-features --lib -p egui_extras

- name: check epaint --no-default-features
run: cargo check --locked --no-default-features --lib -p epaint

- name: Test doc-tests
run: cargo test --doc --all-features
Expand All @@ -78,19 +81,22 @@ jobs:
- name: Cranky
run: cargo cranky --all-targets --all-features -- -D warnings

- name: Cranky release
run: cargo cranky --all-targets --all-features --release -- -D warnings

# ---------------------------------------------------------------------------

check_wasm:
name: Check wasm32 + wasm-bindgen
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0
toolchain: 1.72.0
targets: wasm32-unknown-unknown

- run: sudo apt-get update && sudo apt-get install libgtk-3-dev
- run: sudo apt-get update && sudo apt-get install libgtk-3-dev libatk1.0-dev

- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
Expand All @@ -112,7 +118,7 @@ jobs:
- name: wasm-bindgen
uses: jetli/wasm-bindgen-action@v0.1.0
with:
version: "0.2.87"
version: "0.2.88"

- run: ./scripts/wasm_bindgen_check.sh --skip-setup

Expand Down Expand Up @@ -142,10 +148,10 @@ jobs:
name: cargo-deny ${{ matrix.target }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v1
with:
rust-version: "1.67.0"
rust-version: "1.72.0"
log-level: error
command: check
arguments: --target ${{ matrix.target }}
Expand All @@ -156,11 +162,11 @@ jobs:
name: android
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0
toolchain: 1.72.0
targets: aarch64-linux-android

- name: Set up cargo cache
Expand All @@ -175,13 +181,16 @@ jobs:
name: Check Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0
toolchain: 1.72.0

- name: Set up cargo cache
uses: Swatinem/rust-cache@v2

- name: Check
- name: Check all
run: cargo check --all-targets --all-features

- name: Check hello_world
run: cargo check -p hello_world
38 changes: 38 additions & 0 deletions .github/workflows/spelling_and_links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Check spelling and links
on: [pull_request]

jobs:
typos:
# https://github.com/crate-ci/typos
# Add exceptions to _typos.toml
# install and run locally: cargo install typos-cli && typos
name: typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4

- name: Check spelling of entire workspace
uses: crate-ci/typos@master
# Disabled: too many names of crates and user-names etc
# spellcheck:
# name: Spellcheck
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: streetsidesoftware/cspell-action@v2
# with:
# files: "**/*.md"
linkinator:
name: linkinator
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: jprochazk/linkinator-action@main
with:
linksToSkip: "https://crates.io/crates/.*, http://localhost:.*" # Avoid crates.io rate-limiting
retry: true
retryErrors: true
retryErrorsCount: 5
retryErrorsJitter: 2000

17 changes: 0 additions & 17 deletions .github/workflows/typos.yml

This file was deleted.

5 changes: 2 additions & 3 deletions .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
# run: typos

[default.extend-words]
nknown = "nknown" # part of @55nknown username
Prefence = "Prefence" # typo in glutin_winit API
nknown = "nknown" # part of @55nknown username

[files]
extend-exclude = ["docs/egui_demo_app.js"] # auto-generated
extend-exclude = ["web_demo/egui_demo_app.js"] # auto-generated
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,17 @@
"--workspace",
"--message-format=json",
"--all-targets",
"--all-features",
],
"rust-analyzer.cargo.buildScripts.overrideCommand": [
"cargo",
"check",
"cranky",
"--quiet",
"--target-dir=target_ra",
"--workspace",
"--message-format=json",
"--all-targets",
"--all-features",
],
"rust-analyzer.showUnlinkedFileNotification": false,
}
8 changes: 4 additions & 4 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Also see [`CONTRIBUTING.md`](CONTRIBUTING.md) for what to do before opening a PR


## Crate overview
The crates in this repository are: `egui, emath, epaint, egui_extras, egui-winit, egui_glium, egui_glow, egui_demo_lib, egui_demo_app`.
The crates in this repository are: `egui, emath, epaint, egui_extras, egui_plot, egui-winit, egui_glow, egui_demo_lib, egui_demo_app`.

### `egui`: The main GUI library.
Example code: `if ui.button("Click me").clicked() { … }`
Expand All @@ -24,14 +24,14 @@ Depends on `emath`.
### `egui_extras`
This adds additional features on top of `egui`.

### `egui_plot`
Plotting for `egui`.

### `egui-winit`
This crates provides bindings between [`egui`](https://github.com/emilk/egui) and [winit](https://crates.io/crates/winit).

The library translates winit events to egui, handled copy/paste, updates the cursor, open links clicked in egui, etc.

### `egui_glium`
Puts an egui app inside a native window on your laptop. Paints the triangles that egui outputs using [glium](https://github.com/glium/glium).

### `egui_glow`
Puts an egui app inside a native window on your laptop. Paints the triangles that egui outputs using [glow](https://github.com/grovesNL/glow).

Expand Down

0 comments on commit 23f60c2

Please sign in to comment.