Emil Ernerfeldt
041f2e64ba
Move all crates into a crates
directory ( #1940 )
2022-08-20 10:41:49 +02:00
Emil Ernerfeldt
5514a8afda
Update dependencies ( #1933 )
...
* Update ahash from 0.7 to 0.8
Opt to use ahash::HashMap over ahash::AHashMap
* Fix ahash compilation for web
* Update ron to 0.8
* Add note about why we cannot update tiny-skia
* cargo update
Updating crates.io index
Updating android_system_properties v0.1.2 -> v0.1.4
Updating anyhow v1.0.58 -> v1.0.62
Updating async-broadcast v0.4.0 -> v0.4.1
Updating async-channel v1.6.1 -> v1.7.1
Updating async-io v1.7.0 -> v1.8.0
Updating async-task v4.2.0 -> v4.3.0
Updating async-trait v0.1.56 -> v0.1.57
Updating backtrace v0.3.65 -> v0.3.66
Updating bit-set v0.5.2 -> v0.5.3
Updating bumpalo v3.10.0 -> v3.11.0
Updating bytemuck v1.10.0 -> v1.12.1
Updating bytemuck_derive v1.1.0 -> v1.2.1
Updating bytes v1.1.0 -> v1.2.1
Updating cast v0.2.7 -> v0.3.0
Updating chrono v0.4.19 -> v0.4.22
Updating clap v3.2.8 -> v3.2.17
Updating clipboard-win v4.4.1 -> v4.4.2
Updating combine v4.6.4 -> v4.6.6
Updating concurrent-queue v1.2.2 -> v1.2.4
Updating criterion v0.3.5 -> v0.3.6
Updating criterion-plot v0.4.4 -> v0.4.5
Updating crossbeam-channel v0.5.5 -> v0.5.6
Updating crossbeam-deque v0.8.1 -> v0.8.2
Updating crossbeam-epoch v0.9.9 -> v0.9.10
Updating crossbeam-utils v0.8.10 -> v0.8.11
Updating document-features v0.2.1 -> v0.2.3
Updating dyn-clone v1.0.6 -> v1.0.9
Removing easy-parallel v3.2.0
Updating either v1.7.0 -> v1.8.0
Updating enum-map v2.1.0 -> v2.4.1
Updating enum-map-derive v0.8.0 -> v0.10.0
Updating event-listener v2.5.2 -> v2.5.3
Updating fastrand v1.7.0 -> v1.8.0
Updating futures-core v0.3.21 -> v0.3.23
Updating futures-io v0.3.21 -> v0.3.23
Updating futures-sink v0.3.21 -> v0.3.23
Updating futures-task v0.3.21 -> v0.3.23
Updating futures-util v0.3.21 -> v0.3.23
Updating gimli v0.26.1 -> v0.26.2
Updating gpu-descriptor v0.2.2 -> v0.2.3
Removing hashbrown v0.11.2
Removing hashbrown v0.12.1
Adding hashbrown v0.12.3
Adding iana-time-zone v0.1.46
Updating image v0.24.2 -> v0.24.3
Updating inplace_it v0.3.3 -> v0.3.4
Updating itoa v1.0.2 -> v1.0.3
Updating js-sys v0.3.58 -> v0.3.59
Updating libc v0.2.126 -> v0.2.132
Updating libm v0.2.2 -> v0.2.5
Removing memmap2 v0.3.1
Removing memmap2 v0.5.4
Adding memmap2 v0.5.7
Removing num-iter v0.1.43
Updating object v0.28.4 -> v0.29.0
Updating once_cell v1.13.0 -> v1.13.1
Updating os_str_bytes v6.1.0 -> v6.3.0
Updating owned_ttf_parser v0.15.0 -> v0.15.1
Removing parking_lot v0.11.2
Removing parking_lot_core v0.8.5
Updating plotters v0.3.1 -> v0.3.3
Updating plotters-backend v0.3.2 -> v0.3.4
Updating plotters-svg v0.3.1 -> v0.3.3
Updating proc-macro-crate v1.1.3 -> v1.2.1
Updating proc-macro2 v1.0.40 -> v1.0.43
Updating quote v1.0.20 -> v1.0.21
Updating redox_syscall v0.2.13 -> v0.2.16
Updating regex v1.5.6 -> v1.6.0
Updating regex-syntax v0.6.26 -> v0.6.27
Updating rfd v0.8.0 -> v0.8.4
Removing rustc_version v0.4.0
Updating ryu v1.0.10 -> v1.0.11
Updating sctk-adwaita v0.4.1 -> v0.4.2
Removing semver v1.0.12
Updating serde v1.0.138 -> v1.0.143
Updating serde_derive v1.0.138 -> v1.0.143
Updating serde_json v1.0.82 -> v1.0.83
Updating serde_repr v0.1.8 -> v0.1.9
Updating slab v0.4.6 -> v0.4.7
Removing smithay-client-toolkit v0.15.4
Updating smithay-clipboard v0.6.5 -> v0.6.6
Updating syn v1.0.98 -> v1.0.99
Updating thiserror v1.0.31 -> v1.0.32
Updating thiserror-impl v1.0.31 -> v1.0.32
Updating time v0.3.11 -> v0.3.13
Adding tiny-skia v0.7.0
Adding tiny-skia-path v0.7.0
Updating tracing v0.1.35 -> v0.1.36
Updating tracing-core v0.1.28 -> v0.1.29
Updating tracing-subscriber v0.3.14 -> v0.3.15
Updating unicode-ident v1.0.1 -> v1.0.3
Updating unicode_names2 v0.5.0 -> v0.5.1
Updating ureq v2.4.0 -> v2.5.0
Updating wasm-bindgen-futures v0.4.31 -> v0.4.32
Updating web-sys v0.3.58 -> v0.3.59
Updating webpki-roots v0.22.3 -> v0.22.4
Updating weezl v0.1.6 -> v0.1.7
Updating wgpu-core v0.13.1 -> v0.13.2
Updating wgpu-hal v0.13.1 -> v0.13.2
Updating wgpu-types v0.13.0 -> v0.13.2
Updating windows v0.32.0 -> v0.37.0
Updating windows_aarch64_msvc v0.32.0 -> v0.37.0
Updating windows_i686_gnu v0.32.0 -> v0.37.0
Updating windows_i686_msvc v0.32.0 -> v0.37.0
Updating windows_x86_64_gnu v0.32.0 -> v0.37.0
Updating windows_x86_64_msvc v0.32.0 -> v0.37.0
Updating x11-dl v2.19.1 -> v2.20.0
Updating zbus_names v2.1.0 -> v2.2.0
Updating zvariant v3.4.1 -> v3.6.0
Updating zvariant_derive v3.4.1 -> v3.6.0
* Add "Unicode-DFS-2016" to deny.toml whitelist
2022-08-19 11:46:38 +02:00
Emil Ernerfeldt
7c25a9238e
Remove get_ prefix from functions to better follow Rust API Guidelines
2022-08-08 12:21:53 +02:00
Emil Ernerfeldt
f3e305a646
Replace TODO:
with TODO(emilk):
and update code guidelines
2022-05-21 16:53:25 +02:00
4JX
6091370962
Add more doc-links in docstrings ( #1419 )
2022-04-03 18:18:35 +02:00
Emil Ernerfeldt
8272b08742
Improve text contrast in bright mode ( #1412 )
...
* Rename AlphaImage to FontImage to discourage any other use for it
* Encode FontImage as f32 and postpone the alpha correction
* Interpret alpha coverage in a new, making dark text darker, improving contrast in bright mode
2022-03-23 16:49:49 +01:00
Emil Ernerfeldt
6aee4997d4
Add Shape::Callback to do custom rendering inside of an egui UI ( #1351 )
...
* Add Shape::Callback to do custom rendering inside of an egui UI
* Use Rc<glow::Context> everywhere
* Remove trait WebPainter
* Add glow::Context to epi::App::setup
2022-03-14 13:25:11 +01:00
Emil Ernerfeldt
29c52e8eb6
Remove epi backend from egui_glow ( #1361 )
2022-03-13 22:49:24 +01:00
Emil Ernerfeldt
0a46634c13
Simplify backends by adding fn paint_and_update_textures
helper
2022-02-21 21:49:52 +01:00
Emil Ernerfeldt
fa43d16c41
Choose your own font and size ( #1154 )
...
* Refactor text layout: don't need &Fonts in all functions
* Replace indexing in Fonts with member function
* Wrap Fonts in a Mutex
* Remove mutex for Font::glyph_info_cache
* Remove RwLock around Font::characters
* Put FontsImpl and GalleyCache behind the same Mutex
* Round font sizes to whole pixels before deduplicating them
* Make TextStyle !Copy
* Implement user-named TextStyle:s
* round font size earlier
* Cache fonts based on family and size
* Move TextStyle into egui and Style
* Remove body_text_style
* Query graphics about max texture size and use that as font atlas size
* Recreate texture atlas when it is getting full
2022-01-24 14:32:36 +01:00
Emil Ernerfeldt
462f181db3
Partial font texture update ( #1149 )
2022-01-22 11:23:12 +01:00
Emil Ernerfeldt
66d80e2519
Texture loading in egui ( #1110 )
...
* Move texture allocation into epaint/egui proper
* Add TextureHandle
* egui_glow: cast using bytemuck instead of unsafe code
* Optimize glium painter
* Optimize WebGL
* Add example of loading an image from file
2022-01-15 13:59:52 +01:00
Emil Ernerfeldt
190c85a40f
Rename Texture
to FontImage
2021-12-28 21:19:24 +01:00
Emil Ernerfeldt
cda4c8ba13
Minor cleanup following https://github.com/emilk/egui/pull/999
2021-12-28 13:22:01 +01:00
Emil Ernerfeldt
b7441eeee7
Make epi::Frame cloneable so you can allocate textures in other threads ( #999 )
...
Closes https://github.com/emilk/egui/issues/673
Also adds `epi::Image`
2021-12-26 21:21:28 +01:00
Emil Ernerfeldt
78dfde40b2
Remove deprecated functions
2021-10-30 09:46:06 +02:00
Emil Ernerfeldt
d97a369c44
End statements with semicolon (clippy::semicolon_if_nothing_returned)
2021-10-20 16:46:57 +02:00
Emil Ernerfeldt
8178d23d19
Deduplicate code found in both egui_glium and egui_glow ( #819 )
...
* Move window building to egui-winit
* Move icon loading to egui-winit
* `use glow::HasContext;` -> `use glow::HasContext as _;`
* Move FileStorage into epi behind a feature flag
* De-duplicate screen_size_in_pixels and native_pixels_per_point
* Move creation of FileStorage to epi
* Handle epi app output (window size changes etc) in egui-winit
* Move app and memory persistence and autosave logic to egui-winit
* fix check.sh
* Make the epi backend opt-in for egui_glium and egui_glow
* Fix persistence
* Add integration name to epi::IntegrationInfo and the demo
* Clean up Cargo.toml files and fix making egui_glium optional
* fix typo
* Make egui_glium compile without the `epi` feature
2021-10-19 21:40:55 +02:00
Emil Ernerfeldt
1b36863248
Split out new crate egui-winit from egui_glium ( #735 )
2021-09-28 17:33:28 +02:00
Emil Ernerfeldt
cf17cb2065
egui_glium: allow sharing a native glium texture using Rc
2021-09-20 22:52:29 +02:00
triangle drawer
203d571c8b
Add api for accessing backend texture via epi ( #695 )
...
* Define NativeTexture trait for offscreen rendering
add demo for NativeTexture trait
* write changelog
* add comment for native texture example
* formatting
* add license of Rust logo
* NativeTexture trait method rename
remove duplicate function with native texture
remove rust logo
* deprecated notice for register_glium_texture,register_webgl_texture
* collect deprecated notice
2021-09-05 11:00:45 +02:00
JerzySpendel
56502fbb3c
Make paint function accept anything implementing Surface trait ( #681 )
...
* Make paint function accept anything implementing Surface trait
* Remove unused imports
2021-09-02 14:44:50 +02:00
Emil Ernerfeldt
784bac53f1
Improve error message on bad texture allocation
...
Fixes https://github.com/emilk/egui/issues/592
2021-07-29 22:20:22 +02:00
Emil Ernerfeldt
0d71017ad4
clippy fixes for rust 1.52
2021-05-06 20:49:22 +02:00
Emil Ernerfeldt
7f0689e566
Refactor egui_glium with new EguiGlium wrapper and standalone example
2021-04-25 17:02:27 +02:00
Emil Ernerfeldt
4fc3c6d375
Remove unnecessary copy of mesh indices in glium painter
2021-04-05 14:23:42 +02:00
Emil Ernerfeldt
f5c372910c
Replace emath::clamp with f32::clamp (new in rustc 1.50)
2021-03-21 17:47:03 +01:00
triangle drawer
b1883d5d48
Add functions to register textures in egui_web and egui_glium ( #226 )
...
* add texture registering function
* fmt
* Revert "add texture registering function"
This reverts commit f9b4db12
* make get_texture public to get render target owned by Painter .
* revert egui_web painter.rs change
2021-03-13 12:41:51 +01:00
Emil Ernerfeldt
82350a2f1e
Improve documentation
2021-02-21 10:12:08 +01:00
Kayo Phoenix
c9919daa11
Added shaders on GLSL 1.2 ( #187 )
...
* Added shaders on GLSL 1.2
- Used `glium::program` to create shaders
- Moved shaders code to its own sources and include it as str
- Added shaders implementation on GLSL which allows run egui on old hardware
(Raspberry Pi 1/zero in game again)
* Moved webgl shaders code to sources in `shader` subdir
* Added GLSL ES shaders to glium backend to support OpenGL ES
* Described changes related to GLSL versions support
2021-02-20 19:48:02 +01:00
Emil Ernerfeldt
7dad76b913
Use explicit epaint
over paint
alias (re-export)
...
egui reexports the `epaint` crate both under its original name
and under the alias `paint` (for historical reasons)
2021-02-14 10:53:39 +01:00
Emil Ernerfeldt
6d255cd179
Use explicit emath
to math
alias
...
egui exports `emath` under its original name AND under the alias `math`
(for historical reasons).
2021-02-14 10:44:46 +01:00
Emil Ernerfeldt
5906bf7a87
Fix clippy 1.50 lints
2021-02-12 17:40:53 +01:00
Emil Ernerfeldt
b493bc6efc
Wrap tesselated output in struct ClippedMesh(Rect, Mesh)
2021-01-25 21:43:17 +01:00
Emil Ernerfeldt
75fa77e040
Rename Triangles to Mesh
2021-01-25 21:23:24 +01:00
Emil Ernerfeldt
31b7eda51e
Rename Egui to egui
...
Also update iamges in README.md
2021-01-17 14:48:59 +01:00
Emil Ernerfeldt
2854a84728
Improve documentation about how to write a painter for egui
2021-01-17 02:12:29 +01:00
walterpie
b08870dcee
Make egui_glium::painter::Painter::paint_job
pub ( #100 )
...
* Make `egui_glium::painter::Painter::paint_job` pub
The background is: I'm working on an engine where I would like to draw the gui and the game to the same `glium::Frame`. Haven't found any other obvious, trivial solution. I could of course write my own integration, but I just think this makes sense to be public.
* Make two other necessary functions public
2021-01-11 09:35:47 +01:00
Emil Ernerfeldt
fe491c3b75
[egui_glium] Explicitly use bilinear texture sampling
...
This is the reference renderer, so it is good to be explicit.
2021-01-09 10:27:32 +01:00
Emil Ernerfeldt
10a23d18e1
Support additive colors in color picker
2021-01-03 18:16:12 +01:00
Emil Ernerfeldt
73f3d8cf46
Rename Srgba to Color32
2021-01-02 17:02:18 +01:00
Emil Ernerfeldt
c3c4f28a9d
Added App::clear_color() that apps can use to specify background color
2020-12-18 22:44:26 +01:00
Emil Ernerfeldt
99a2a52510
Code cleanup
2020-11-20 20:32:38 +01:00
Emil Ernerfeldt
c6ce0b9e8c
[example_web] show loading of an image
...
Required some redesign of `TextureAllocator` as well as
some improvements to the fetch API.
2020-11-18 22:16:01 +01:00
Emil Ernerfeldt
a4e19d7207
[app] Add demo app slider to change scale of all of Egui
2020-10-17 23:54:46 +02:00
Emil Ernerfeldt
6e7507373a
[egui_glium] clean up the code for the glium OpenGL painter
2020-09-21 19:19:24 +02:00
Emil Ernerfeldt
d49aec4079
Add user texture support to egui_glium and egui_web backends
2020-09-11 18:54:57 +02:00
Emil Ernerfeldt
13060d495b
[user texture] change uv to normalized texture coords in 0-1 range
2020-09-09 17:14:42 +02:00
Emil Ernerfeldt
8984302122
[user textures] switch WHITE_UV to (0,0) and require clamped sampling
2020-09-09 15:24:09 +02:00
Emil Ernerfeldt
bb367752cf
[text] support non-latin characters by dynamically adding them to atlas
2020-09-09 14:33:30 +02:00