Commit graph

373 commits

Author SHA1 Message Date
Emil Ernerfeldt
898f4804b7 Enable and fix a bunch more lints 2022-07-11 23:08:48 +02:00
Emil Ernerfeldt
c062bca6ee faster builds: remove tracing-attributes feature from tracing 2022-07-04 00:11:08 +02:00
Emil Ernerfeldt
0f0031ebbb
cargo update (#1794)
* cargo update

    Updating crates.io index
    Updating anyhow v1.0.57 -> v1.0.58
    Updating arboard v2.1.0 -> v2.1.1
    Updating async-broadcast v0.3.4 -> v0.4.0
    Updating async-io v1.6.0 -> v1.7.0
    Updating async-trait v0.1.53 -> v0.1.56
    Updating bindgen v0.59.2 -> v0.60.1
    Updating bumpalo v3.9.1 -> v3.10.0
    Updating bytemuck v1.9.1 -> v1.10.0
    Updating cfg-expr v0.10.2 -> v0.10.3
    Updating clang-sys v1.3.1 -> v1.3.3
      Adding clap v3.2.8
      Adding clap_lex v0.2.4
    Updating crossbeam-channel v0.5.4 -> v0.5.5
    Updating crossbeam-epoch v0.9.8 -> v0.9.9
    Updating crossbeam-utils v0.8.8 -> v0.8.10
    Updating dyn-clone v1.0.5 -> v1.0.6
    Updating either v1.6.1 -> v1.7.0
    Updating enum-map v2.1.0 -> v2.4.0
    Updating enum-map-derive v0.8.0 -> v0.9.0
    Updating flate2 v1.0.23 -> v1.0.24
    Updating getrandom v0.2.6 -> v0.2.7
    Updating gif v0.11.3 -> v0.11.4
      Adding hashbrown v0.12.1
    Updating indexmap v1.8.1 -> v1.9.1
    Updating itoa v1.0.1 -> v1.0.2
    Updating jpeg-decoder v0.2.4 -> v0.2.6
    Updating linked-hash-map v0.5.4 -> v0.5.6
    Updating log v0.4.16 -> v0.4.17
    Updating memmap2 v0.5.3 -> v0.5.4
    Updating miniz_oxide v0.5.1 -> v0.5.3
    Updating mio v0.8.2 -> v0.8.4
    Removing miow v0.3.7
      Adding nix v0.24.1
    Removing ntapi v0.3.7
    Updating num-rational v0.4.0 -> v0.4.1
    Updating num-traits v0.2.14 -> v0.2.15
    Updating num_threads v0.1.5 -> v0.1.6
    Updating object v0.28.3 -> v0.28.4
    Updating once_cell v1.10.0 -> v1.12.0
      Adding os_str_bytes v6.1.0
    Updating parking_lot v0.12.0 -> v0.12.1
    Updating parking_lot_core v0.9.1 -> v0.9.3
    Updating proc-macro2 v1.0.37 -> v1.0.40
    Updating profiling v1.0.5 -> v1.0.6
    Updating puffin v0.13.1 -> v0.13.3
    Updating quote v1.0.18 -> v1.0.20
    Updating rayon v1.5.2 -> v1.5.3
    Updating rayon-core v1.9.2 -> v1.9.3
    Updating regex v1.5.5 -> v1.5.6
    Updating regex-syntax v0.6.25 -> v0.6.26
      Adding remove_dir_all v0.5.3
    Updating rfd v0.8.0 -> v0.8.4
    Updating rgb v0.8.32 -> v0.8.33
    Updating ron v0.7.0 -> v0.7.1
    Updating rustls v0.20.4 -> v0.20.6
    Updating rustybuzz v0.5.0 -> v0.5.1
    Updating ryu v1.0.9 -> v1.0.10
    Updating semver v1.0.7 -> v1.0.12
    Updating serde v1.0.136 -> v1.0.138
    Updating serde_derive v1.0.136 -> v1.0.138
    Updating serde_json v1.0.79 -> v1.0.82
    Updating serde_repr v0.1.7 -> v0.1.8
    Updating smallvec v1.8.0 -> v1.9.0
      Adding smithay-client-toolkit v0.16.0
    Updating smithay-clipboard v0.6.5 -> v0.6.6
    Updating str-buf v1.0.5 -> v1.0.6
    Removing strsim v0.8.0
    Updating svgtypes v0.8.0 -> v0.8.1
    Updating syn v1.0.92 -> v1.0.98
      Adding tempfile v3.3.0
      Adding textwrap v0.15.0
    Updating thiserror v1.0.30 -> v1.0.31
    Updating thiserror-impl v1.0.30 -> v1.0.31
    Removing time v0.1.43
    Removing time v0.3.9
      Adding time v0.1.44
      Adding time v0.3.11
    Updating tiny-skia v0.6.3 -> v0.6.6
    Updating tracing v0.1.34 -> v0.1.35
    Updating tracing-attributes v0.1.21 -> v0.1.22
    Updating tracing-core v0.1.26 -> v0.1.28
    Updating tracing-subscriber v0.3.11 -> v0.3.14
    Updating ttf-parser v0.15.0 -> v0.15.2
    Updating tts v0.20.3 -> v0.20.4
    Updating twox-hash v1.6.2 -> v1.6.3
      Adding uds_windows v1.0.2
      Adding unicode-ident v1.0.1
    Updating unicode-normalization v0.1.19 -> v0.1.21
    Removing vec_map v0.8.2
    Updating wasi v0.10.2+wasi-snapshot-preview1 -> v0.10.0+wasi-snapshot-preview1
    Updating wgpu v0.13.0 -> v0.13.1
    Updating wgpu-core v0.13.0 -> v0.13.1
    Updating wgpu-hal v0.13.0 -> v0.13.1
    Removing windows v0.32.0
      Adding windows v0.33.0
      Adding windows v0.37.0
    Updating windows-sys v0.32.0 -> v0.36.1
    Removing windows_aarch64_msvc v0.32.0
      Adding windows_aarch64_msvc v0.33.0
      Adding windows_aarch64_msvc v0.36.1
      Adding windows_aarch64_msvc v0.37.0
    Removing windows_i686_gnu v0.32.0
      Adding windows_i686_gnu v0.33.0
      Adding windows_i686_gnu v0.36.1
      Adding windows_i686_gnu v0.37.0
    Removing windows_i686_msvc v0.32.0
      Adding windows_i686_msvc v0.33.0
      Adding windows_i686_msvc v0.36.1
      Adding windows_i686_msvc v0.37.0
    Removing windows_x86_64_gnu v0.32.0
      Adding windows_x86_64_gnu v0.33.0
      Adding windows_x86_64_gnu v0.36.1
      Adding windows_x86_64_gnu v0.37.0
    Removing windows_x86_64_msvc v0.32.0
      Adding windows_x86_64_msvc v0.33.0
      Adding windows_x86_64_msvc v0.36.1
      Adding windows_x86_64_msvc v0.37.0
    Updating zbus v2.1.1 -> v2.3.2
    Updating zbus_macros v2.1.1 -> v2.3.2
    Updating zstd v0.10.0+zstd.1.5.2 -> v0.11.2+zstd.1.5.2
    Updating zstd-safe v4.1.4+zstd.1.5.2 -> v5.0.2+zstd.1.5.2
    Updating zstd-sys v1.6.3+zstd.1.5.2 -> v2.0.1+zstd.1.5.2
    Updating zvariant v3.1.2 -> v3.4.1
    Updating zvariant_derive v3.1.2 -> v3.4.1

❯ cargo update -p smithay-clipboard --precise 0.6.5
    Updating crates.io index
    Removing nix v0.24.1
    Removing smithay-client-toolkit v0.16.0
    Updating smithay-clipboard v0.6.6 -> v0.6.5

* Downgrade enum-map so we can build with rust 1.60

* update syntect

* Update usvg and resvg

* Fix syntect update

* Update tts to 0.22

* Make egui_demo_app compile for wasm with wgpu feature

This broke in https://github.com/emilk/egui/pull/1781

* Ignore rfd tree in deny.toml

* Revert "Update tts to 0.22"

This reverts commit 2e1280b61ef9422c76491ab718ad8da105657097.

* Explain why tts is stuck on an old version

* Downgrade `rfd` to avoid problems with duplicate `windows` crate
2022-07-03 20:12:57 +02:00
Thomas Hansen
cb9bc8698d
Browser Hotkey Conflicts (#1697)
* code hotkey to N, move superscript hotkey to Y

ctrl A S D F G H are all taken, CTRL Q is traditionally to remove formatting and should be reserved for that. CTRL W E R T are also all taken. CTRL Z X C V are taken so all of the first 4/5 keys of each row except Q are inaccessible.

* strike through conflict, update text

* fixed underline command

* added ALTSHIFT, browser documentation

* underline ALTSHIFT Q

it leaves the Q character which is considered a bug but before this pull underline was not working entirely so this is progress

* update text

* ALTSHIFT is treated as a command

* added eighth command, ALTSHIFT+W adds two spaces

* CTRL+Y to toggle case on text_edit demo

* better code

* Revised Menu

* fix dead link

* Update lib.rs

* Update easy_mark_editor.rs

* Update egui/src/data/input.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* update

* reverted variables used for debugging

* fixed labels hotkey conflict

* comments

* fmt

* cargo fmt

* Nice hotkey menu

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-07-03 15:25:35 +02:00
Emil Ernerfeldt
406703568e Minor clippy fixes (clippy::format_push_string) 2022-07-03 11:58:53 +02:00
Emil Ernerfeldt
29973e5d02 Make document-features an opt-in dependency 2022-06-09 17:41:37 +02:00
Emil Ernerfeldt
3169ce62d5
Document feature flags using crate document-features (#1725) 2022-06-09 15:27:22 +02:00
Emil Ernerfeldt
a29154233b Add support for texture filters in WGPU backend 2022-05-22 17:40:56 +02:00
Zicklag
1a9a0d7ec8
Add the Ability to Specify Egui Texture Filters (#1636)
Only works for egui_glow
2022-05-22 16:56:51 +02:00
Emil Ernerfeldt
f3e305a646 Replace TODO: with TODO(emilk): and update code guidelines 2022-05-21 16:53:25 +02:00
Emil Ernerfeldt
3d5e203d86
egui_glow: clear the post-processing render target (#1658) 2022-05-21 16:53:05 +02:00
Emil Ernerfeldt
aef8a7901f Fix broken link
Closes https://github.com/emilk/egui/issues/1643
2022-05-21 15:42:43 +02:00
sy1ntexx
d850b47f9e
Added Extra1 & Extra2 pointer buttons (#1603)
Extra1 is usually extra back button on most mice & Extra2 is usually extra forward button.
2022-05-11 22:44:00 +02:00
Emil Ernerfeldt
7b18fab7a4
Optimize tessellation of filled circles (#1616)
When painting a scatter plot we sometimes want to paint hundreds of thousands of points (filled circles) on screen every frame.

In this PR the font texture atlas is pre-populated with some filled circled of various radii. These are then used when painting (small) filled circled, which means A LOT less triangles and vertices are generated for them.

In a new benchmark we can see a 10x speedup in circle tessellation, but the the real benefit comes in the painting of these circles: since we generate a lot less vertices, the backend painter has less to do.

In a real-life scenario with a lot of things being painted (including around 100k points) I saw tessellation go from 35ms -> 7ms and painting go from 45ms -> 1ms. This means the total frame time went from 80ms to 8ms, or a 10x speedup.
2022-05-10 19:31:19 +02:00
Emil Ernerfeldt
32b4781da2
Improve web demo for mobile (#1556)
`egui_demo_app/lib`: add "About egui" window, and improve mobile layout

This makes the app responsive, removing the side bars on mobile and turning them into drop-down menus instead.
2022-05-02 13:13:35 +02:00
Emil Ernerfeldt
dc26890a80 Release 0.18.0 - Shape::Callback, Table, and better text contrast 2022-04-30 20:27:27 +02:00
Emil Ernerfeldt
f0e6332b42
Fix cargo deny (#1549)
* Make the strip demo less ugly

* revert duplicated windows dependency in Cargo.lock

* cargo update

* Remove duplicated windows dependency by reverting rfd

* And again for parking_lot_core
2022-04-30 20:18:59 +02:00
Emil Ernerfeldt
003dc4aac9 egui_demo_app: add link to my twitter 2022-04-30 17:50:39 +02:00
Emil Ernerfeldt
51f6cd9c58 Simplify plot demo code 2022-04-30 17:45:39 +02:00
Emil Ernerfeldt
da2ce58127 egui_demo_app: don't do a transparent native window
It doesn't work great on Mac
2022-04-30 15:42:18 +02:00
Emil Ernerfeldt
3a83a600bb
Add a custom 3D demo using glow to egui_demo_app (#1546) 2022-04-30 12:58:29 +02:00
Emil Ernerfeldt
355d70d2b9
Move code from egui_demo_lib to egui_demo_app (#1540)
Also clean up feature names and dependencies
2022-04-28 11:23:34 +02:00
Emil Ernerfeldt
39917bec26
Collapsing header with custom header (#1538)
* Returns openness in CollapsingResponse
* Make CollapsingState a building block for custom collapsing headers
* Add a demo of the custom collapsing header
* Revert to much simpler tree demo
* Add CollapsingState::is_open and CollapsingState::set_open
2022-04-28 11:09:44 +02:00
Emil Ernerfeldt
4d2eb5b71e Don't export macros that should only be pub(crate) 2022-04-25 22:01:32 +02:00
trevyn
2932c36238
Add triple-click support (#1512) 2022-04-19 15:14:55 +02:00
Emil Ernerfeldt
4231a5303b Clean up custom plot axis demo 2022-04-19 11:43:22 +02:00
Jan Haller
e22f6d9a7e
Customize grid spacing in plots (#1180) 2022-04-19 11:35:05 +02:00
Emil Ernerfeldt
2d2022fb72
Add Link widget (#1506)
This looks like a Hyperlink, but doesn't do anything when clicked.
Or rather: it lets the user decide what happens on click.

Closes https://github.com/emilk/egui/issues/1152
2022-04-16 22:55:15 +02:00
Stanisław Jelnicki
2745699bd6
Add Ui::spinner shortcut method (#1494) 2022-04-15 07:39:08 +02:00
Emil Ernerfeldt
56b127f209 Simplify table demo 2022-04-11 17:25:44 +02:00
Emil Ernerfeldt
426b933d2f egui_extras: add cell_layout option to set the layout of all cells 2022-04-11 10:29:34 +02:00
Emil Ernerfeldt
cf0338d48f
Rust 1.60.0 + refactor cargo features (#1467)
* Update to rust 1.60.0
* Rename the feature `convert_bytemuck` to `bytemuck`
* Rename the feature `serialize` to `serde`.
* Make use of the "weak dependency" cargo feature
* Set rust-version = "1.60" for all crates
* egui_glow: clipboard, links, persistence & winit are now opt-in features
2022-04-09 13:54:47 +02:00
Emil Ernerfeldt
cd0fb1f3d9 Simplify table demo 2022-04-09 13:18:57 +02:00
wayne
0c87e02f55
egui_extras: enable virtual scroll for heterogenous rows (#1444)
Introduce `TableBody::heterogenous_rows` for "virtual scrolling" over rows with differing heights.
2022-04-09 13:18:33 +02:00
Emil Ernerfeldt
7cd285ecbc misc clippy fixes from 1.60.0 2022-04-07 17:03:19 +02:00
Emil Ernerfeldt
68d5806b41 Add a text blending test to the color test 2022-04-05 14:23:30 +02:00
Emil Ernerfeldt
a9ae8c3e2c
Smaller checkboxes and radiobutton without a label (#1456)
Co-authored-by: Michael Völkl <michaelvoelkl@zoho.com>
2022-04-05 09:16:58 +02:00
awaken1ng
901b7c7994
[epaint] Add more text wrapping options (#1291) 2022-04-03 20:28:47 +02:00
4JX
6091370962
Add more doc-links in docstrings (#1419) 2022-04-03 18:18:35 +02:00
Emil Ernerfeldt
861b0e11ba
Fix sh/check.sh (#1446)
* Don't bother serializing date in widget gallery
* Make egui_extras non-optional dependency of egui_demo_lib
2022-04-03 18:14:40 +02:00
Emil Ernerfeldt
10f30a0c52
Fix tessellation of Shape::Vec of heterogenous TextureId:s (#1445)
Closes https://github.com/emilk/egui/issues/1443
2022-04-03 18:14:27 +02:00
Lucas Kent
c2039920de
Add Plot::allow_scroll (#1382) 2022-04-03 10:43:55 +02:00
Emil Ernerfeldt
5dff1e42c6
More table improvements (#1440)
* Clip by default
* Fix some spacing bugs
* datepicker: look nicer in light mode
* datepicker: show month names
* Table: don't allow resize of last column if it is Size::Remainder
2022-04-01 15:27:42 +02:00
Emil Ernerfeldt
21c32a18d8
Table resize (#1438)
* Let 1D strips fill up parent width/height
* Add Strip + Table + DatePicker to egui_extras changelog
* Expose some dragging- and pointer related context/memory methods
* Make tables resizable
2022-04-01 12:01:00 +02:00
René Rössler
1d32670cf3
Dynamic sized strips, tables, and date picker (#963) 2022-03-31 21:13:25 +02:00
Emil Ernerfeldt
8f178fa4e0
Add glow::Context to epi::Frame (#1425)
This can be used, for instance, to:

* Render things to offscreen buffers.
* Read the pixel buffer from the previous frame (glow::Context::read_pixels).
* Render things behind the egui windows.
2022-03-27 15:20:45 +02:00
Emil Ernerfeldt
b7ebe16cfb
Storage and frame refactor (#1418)
The purpose of this is to expose `frame.storage()` and `frame.storage_mut()` so users can save/load app state from the `App::update` function, without having to add another parameter to that function.

Changes:
* Added `Frame::storage()` and `Frame::storage_mut()`
* `App::update` now takes a `&mut Frame` rather than just `&Frame`
* `Frame` is no longer `Clone` or `Sync` (doesn't have to be since https://github.com/emilk/egui/pull/1366)
2022-03-25 21:19:31 +01:00
Emil Ernerfeldt
bcddafb505 Add a some fine lines to the color test to test anti-aliasing 2022-03-23 13:31:38 +01:00
Emil Ernerfeldt
1387d6e9d6
Refactor TessellationOptions to expose slider for feathering size (#1408)
The epaint tessellator uses "feathering" to accomplish anti-aliasing. This PS allows you to control the feathering size, i.e. how blurry the edges of epaint shapes are.

This changes the interface of Tessellator slightly, and renames some options in TessellationOptions.
2022-03-23 11:41:38 +01:00
Emil Ernerfeldt
5c68edbb15 Clippy fixes 2022-03-21 22:14:25 +01:00