Emil Ernerfeldt
d544c3dd8b
Release 0.11.0 - Optimization, screen reader & new layout logic
2021-04-05 14:49:06 +02:00
Emil Ernerfeldt
7792ee0422
Update tts from 0.14 -> 0.15 (screen reader feature)
2021-04-05 14:23:42 +02:00
Emil Ernerfeldt
aba2108159
Replace JSON with RON for persistence (epi/eframe/glium/web)
2021-04-05 14:23:42 +02:00
Emil Ernerfeldt
1068750bbc
Clean up egui_web code a bit
2021-04-01 23:07:15 +02:00
Emil Ernerfeldt
1f965d16a2
Try the new cargo dependency resolver added in rust 1.51
2021-03-31 23:07:37 +02:00
Lin Han
22cd1a8e10
Move IME candidate window following text cursor ( #258 )
...
* egui_web: enable IME support on web.
* Move candidate window following text cursor.
* Preclude too frequent agent movement.
* IME candidate window move on native app.
2021-03-30 08:48:55 +02:00
Emil Ernerfeldt
1bb100d766
Updated changelogs
2021-03-27 10:37:31 +01:00
Lin Han
795282edc0
egui_web: enable IME support on web. ( #253 )
2021-03-26 13:56:26 +01:00
Emil Ernerfeldt
70c6f4596a
Add checkbox in demo app to turn screen reader on/off
2021-03-24 21:35:29 +01: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
958aea922f
Add a lot more CursorIcon's
2021-03-13 12:38:03 +01:00
Emil Ernerfeldt
4c45ca113e
Make sure to include license files in the next release
2021-03-09 18:35:13 +01:00
Emil Ernerfeldt
44cd304cdf
Add experimental screen_reader feature
...
Part of https://github.com/emilk/egui/issues/167
2021-03-08 20:58:01 +01:00
Emil Ernerfeldt
1c06622dbc
Hold down a modifier key when clicking a link to open it in a new tab
2021-03-08 17:48:23 +01:00
Emil Ernerfeldt
cd4c07e09a
Output events when widgets gain keyboard focus
...
Part of https://github.com/emilk/egui/issues/167
2021-03-07 19:45:20 +01:00
Ridan Vandenbergh
4df8418e41
fix: Modern browsers encode Space as ' ' ( #208 )
2021-03-07 10:20:11 +01:00
Emil Ernerfeldt
fb2db4940e
Release 0.10.0 - Plot and polish
2021-02-28 20:11:37 +01:00
Emil Ernerfeldt
8fb1472560
Add glsl files to egui_web and egui_glium includes
2021-02-28 20:11:37 +01:00
Emil Ernerfeldt
e417fac52e
Fix web shaders
...
Got broken in https://github.com/emilk/egui/pull/187
2021-02-28 19:47:01 +01:00
Emil Ernerfeldt
84cc227f11
eframe: always provide a texture allocator
2021-02-28 19:09:48 +01:00
Emil Ernerfeldt
5f6a468812
Add Context::set_pixels_per_point to control the scale of the UI
2021-02-21 11:23:33 +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
dbc6a620cd
Control the maximum egui web canvas size with App::max_size_points
2021-02-12 17:58:02 +01:00
Emil Ernerfeldt
5906bf7a87
Fix clippy 1.50 lints
2021-02-12 17:40:53 +01:00
Emil Ernerfeldt
b61db038f2
Release 0.9.0 - light mode, right clicks and more
2021-02-07 17:06:51 +01:00
Emil Ernerfeldt
0f33bc7c34
Fix web blur ( #151 )
...
* [egui_web] Always use an even canvas size
Fixes https://github.com/emilk/egui/issues/103
* [egui_web] Position canvas at top of screen
This avoids jumpyness when resizing,
caused by rounding height to an even number
2021-02-01 20:44:39 +01:00
PauloMelo
eedb63bb3b
Add support for a HTTP body for POST ( #139 )
...
Closes https://github.com/emilk/egui/issues/137
Co-authored-by: Emil Ernerfeldt <emilernerfeldt@gmail.com>
2021-01-26 21:32:16 +01:00
Emil Ernerfeldt
2a10747843
Mesh::split_to_u16 now returns a 16-bit indexed Mesh16
2021-01-25 22:06:06 +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
247026149c
Multiple mouse button support ( #135 )
...
Add support for primary, secondary and middle mouse buttons. Also improve ability to click things in low FPS situations.
This introduces a lot of breaking changes:
Backends/integrations now pass mouse events via the even stream.
Response has an interface of mostly methods instead of public members.
input.mouse is now input.pointer and has new interface.
* Rename 'mouse' to 'pointer' everywhere (pointer = mouse or touch)
* Make Response::clicked and Response::double_clicked into methods
* Remove Response::active and add dragged() and interact_pointer_pos()
* Support multiple mouse buttons
* Make PointerState interface all methods
* Make most members of Response private
2021-01-25 18:50:19 +01:00
Emil Ernerfeldt
37a3fe7f76
Release 0.8.0 - Grid layout & new visual style
2021-01-17 15:28:52 +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
b869db728b
[egui_web] Call prevent_default for arrow keys when entering text
...
Closes https://github.com/emilk/egui/issues/58
2021-01-17 12:24:17 +01:00
Emil Ernerfeldt
2854a84728
Improve documentation about how to write a painter for egui
2021-01-17 02:12:29 +01:00
Emil Ernerfeldt
ef595153c9
[egui_web] Improve alpha blending + add WebGL2 painter
2021-01-16 20:48:00 +01:00
Emil Ernerfeldt
fb2317c993
Rename PaintCmd
to Shape
2021-01-10 11:43:01 +01:00
Emil Ernerfeldt
5ef9f35d1e
[epi] Simplify TextureAllocator interface
2021-01-07 16:29:58 +01:00
Emil Ernerfeldt
d0d22ea09b
Release 0.7.0
2021-01-04 15:52:29 +01:00
Emil Ernerfeldt
69d31a5e47
[eframe] Make persistence, http and time optional features
...
Saves on compile times.
2021-01-04 10:25:13 +01:00
Emil Ernerfeldt
c6a5af19e6
Add all alpha-numeric keys to egui::Key
...
Closes https://github.com/emilk/egui/issues/91
2021-01-03 11:25:13 +01:00
Emil Ernerfeldt
73f3d8cf46
Rename Srgba to Color32
2021-01-02 17:02:18 +01:00
Emil Ernerfeldt
14a96ca5d0
Add a dummy warm-up frame to the demo app to pre-cache emojis
2021-01-02 14:42:43 +01:00
Emil Ernerfeldt
d229b6fc23
Enforce rust_2018_idioms in all libs
2021-01-02 12:02:26 +01:00
Emil Ernerfeldt
4e3251c300
Improve ecosystem documentation and add changelogs for epi and eframe
2021-01-02 11:59:20 +01:00
Emil Ernerfeldt
b1022d01c1
Rename epi::App::ui to epi::App::update
2021-01-01 20:22:18 +01:00
Emil Ernerfeldt
375e317547
Move http fetch api from eframe to epi
2021-01-01 14:54:26 +01:00
Emil Ernerfeldt
9db1b8dbf9
Add http fetch to eframe and implement it in egui_glium using ureq
2020-12-30 20:56:50 +01:00
Emil Ernerfeldt
6d9cdafbc9
Rename egui_demo to egui_demo_app to avoid confusion with egui_demo_lib
2020-12-29 17:54:52 +01:00
Emil Ernerfeldt
84414e62a3
Add new crate eframe
which wraps egui, epi, egui_web and egui_glium
2020-12-29 15:57:13 +01:00
Emil Ernerfeldt
d7459bc13d
Move egui::app
into new epi
crate
2020-12-29 14:15:46 +01:00
Emil Ernerfeldt
650450bc3a
Make cfg=web_sys_unstable_apis optional, fixing cargo check
2020-12-29 12:42:15 +01:00
Emil Ernerfeldt
d38b16f1ea
Learn how to spell to "tessellation"
2020-12-29 12:18:41 +01:00
Emil Ernerfeldt
07e96ca17f
Add syntax highlighting in egui web fetch example
2020-12-28 19:55:03 +01:00
Emil Ernerfeldt
dca7f85f21
Release Egui 0.6.0
2020-12-26 22:43:29 +01:00
Emil Ernerfeldt
6f5fd1b9c0
Replace parking_lot with atomic_refcell
...
You can still opt-in to use parking_lot if you plan to use the same
egui::Context from multiple threads.
2020-12-26 20:36:25 +01:00
Emil Ernerfeldt
d0f6954900
Combine demo_glium and demo_web into one egui_demo crate
2020-12-19 21:38:44 +01:00
Emil Ernerfeldt
fb941cf618
[egui_web] Simplify the arguments you pass to start()
2020-12-19 21:15:07 +01:00
Emil Ernerfeldt
89937bf636
[egui_web] Auto-save app state to Local Storage every 30 seconds
2020-12-19 20:50:00 +01:00
Emil Ernerfeldt
99808d2df8
Implement Storage trait for egui_web:s local storage bindings
2020-12-19 14:58:00 +01:00
Emil Ernerfeldt
01c65b0dcb
Replace Arc<Context> with struct CtxRef
2020-12-19 14:48:04 +01:00
Emil Ernerfeldt
82a3997188
[egui_web] Add max canvas size to help perf issues on some platforms
...
Related: https://github.com/emilk/egui/issues/67
2020-12-18 22:51:23 +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
9ea8d907fd
[egui_glium] Fix: disable scissor before clearing
2020-12-18 22:31:28 +01:00
Emil Ernerfeldt
71449fe61c
Only forbid warnings in release builds
2020-12-18 22:19:56 +01:00
Emil Ernerfeldt
709e711364
Deprecated RawInput::screen_size and replaced with screen_rect
2020-12-16 21:52:28 +01:00
Emil Ernerfeldt
2c766aa540
Make RawInput::time an Option
2020-12-16 21:22:45 +01:00
Emil Ernerfeldt
8528d8c5f7
Update parking_lot_core
...
Required turning on features = ["wasm-bindgen"] in egui_web
2020-12-16 15:36:58 +01:00
Emil Ernerfeldt
273d466f19
Nicer spacing in changelogs
2020-12-15 14:51:23 +01:00
Emil Ernerfeldt
403e2dfe5f
Release Egui 0.5.0
...
## 0.5.0 - 2020-12-13
### Added ⭐
* Emoji support: 1216 different emojis that work in any text.
* The Demo app comes with a Font Book to explore the available glyphs.
* `ui.horizontal_wrapped(|ui| ...)`: Add widgets on a row but wrap at `max_size`.
* `ui.horizontal_wrapped_for_text`: Like `ui.horizontal_wrapped`, but with spacing made for embedding text.
* `ui.horizontal_for_text`: Like `ui.horizontal`, but with spacing made for embedding text.
* `egui::Layout` now supports justified layouts where contents is _also_ centered, right-aligned, etc.
* `ui.allocate_ui(size, |ui| ...)`: Easily create a child-`Ui` of a given size.
* `SelectableLabel` (`ui.selectable_label` and `ui.selectable_value`): A text-button that can be selected.
* `ui.small_button`: A smaller button that looks good embedded in text.
* `ui.drag_angle_tau`: For those who want to specify angles as fractions of τ (a full turn).
* Add `Resize::id_source` and `ScrollArea::id_source` to let the user avoid Id clashes.
### Changed 🔧
* New default font: [Ubuntu-Light](https://fonts.google.com/specimen/Ubuntu ).
* Make it simpler to override fonts in `FontDefinitions`.
* Remove minimum button width.
* Refactor `egui::Layout` substantially, changing its interface.
* Calling `on_hover_text`/`on_hover_ui` multiple times will stack tooltips underneath the previous ones.
* Text wrapping on labels, buttons, checkboxes and radio buttons is now based on the layout.
### Removed 🔥
* Removed the `label!` macro.
2020-12-13 21:15:57 +01:00
Daniel Collin
69dc13ed2d
Allow user to check for Key::Space
2020-12-13 10:00:20 +01:00
Emil Ernerfeldt
8c82eb1970
Add CHANGELOG.md for egui_glium
2020-12-10 23:52:51 +01:00
Emil Ernerfeldt
99fa650fa7
[egui_web] Document required RUSTFLAGS=--cfg=web_sys_unstable_apis
2020-11-28 13:54:47 +01:00
Emil Ernerfeldt
a7e7826d2c
Release 0.4.0 of egui, egui_web and egui_glium
2020-11-28 13:47:00 +01:00
Emil Ernerfeldt
8de74e4250
[egui_web] respect the native zoom/scale of the browser
...
Remove all complexity with own scale slider.
Closes https://github.com/emilk/egui/issues/53
2020-11-28 10:46:31 +01:00
Emil Ernerfeldt
633b19ee99
[egui_web] Repaint on finished fetch in example app
2020-11-20 20:35:16 +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
90cecace0c
[egui_web] Fix for pressing tab and backspace in a text field
...
Fixes https://github.com/emilk/egui/issues/48
2020-11-18 19:16:13 +01:00
Emil Ernerfeldt
86cfd0dcd3
egui_web: Repaint at least every seconds
...
Just in case the app needs it, e.g. because it has finished a download.
2020-11-18 01:07:32 +01:00
Emil Ernerfeldt
fad0029119
egui_web: Add simple fetch API and demostrate it in example_web
2020-11-18 00:43:58 +01:00
Emil Ernerfeldt
7651e2f15b
egui_web: Implement copy, cut and paste
2020-11-15 21:20:38 +01:00
Emil Ernerfeldt
fe0d159324
Support Cmd+A ^W ^U ^K and shift-click
2020-11-15 14:21:21 +01:00
Emil Ernerfeldt
c4ed507d63
Add modifier keys and implement moving cursors one word at a time
2020-11-14 21:01:21 +01:00
Emil Ernerfeldt
b6dcae4651
Update versions to 0.3.0
2020-11-07 14:47:22 +01:00
Emil Ernerfeldt
af11d766fc
Split out tesselation from Context::end_frame()
2020-11-07 11:44:32 +01:00
Emil Ernerfeldt
ed8a69ab2f
[drag-and-drop] Add Grab and Grabbing CursorIcon:s
2020-11-02 17:40:05 +01:00
Emil Ernerfeldt
ca96172552
You can override the default Egui fonts
...
Closes https://github.com/emilk/egui/issues/32
2020-10-31 18:03:13 +01:00
Emil Ernerfeldt
7638ca9962
[app] Simplify interface to egui::app::App
2020-10-24 19:23:16 +02:00
Emil Ernerfeldt
c364403d44
[app] Give apps the ability to resize integration
2020-10-24 18:45:31 +02:00
Emil Ernerfeldt
44a7cac046
Context::begin_frame()
no longer returns anything.
...
Put your widgets into a `SidePanel`, `TopPanel`,
`Window` or into `ctx.background_ui()`.
2020-10-24 10:56:23 +02:00
Emil Ernerfeldt
df056d2ce4
[egui_web] Disable face culling in WebGL renderer
...
Closes https://github.com/emilk/egui/issues/29
2020-10-21 23:14:12 +02:00
Emil Ernerfeldt
92cfbe643c
Add #![forbid(unsafe_code)] and safety badge
2020-10-18 15:40:23 +02: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
251cde60f0
[app] Refactor egui::app::App interface to be more data oriented
2020-10-17 16:13:20 +02:00
Emil Ernerfeldt
570860ec5f
[refactor] Create helper struct Mutex (with double-lock detection)
2020-10-17 10:38:22 +02:00
Emil Ernerfeldt
42b433a204
[release] bump version numbers to 0.2.0
2020-10-10 14:00:07 +02:00
Emil Ernerfeldt
6fcfb52aa0
[demo] add frame time graph to demo app
2020-10-01 22:25:44 +02:00
Emil Ernerfeldt
b77151fb64
remove seconds_from_midnight from core egui input
...
It is only used by demo app, and so does not belong to egui proper.
Instead it is now passed as part of a DemoEnvironment
2020-09-23 08:57:23 +02:00
Emil Ernerfeldt
5856cded95
refactor RunMode: move it from backend to the demo App ( #23 )
...
This simplifies the egui_glium and egui_web backends substantially,
reduces the scope of RunMode to a single file, and
removes duplicated code.
Basically: this is how I should have written it from the beginning.
2020-09-16 08:03:40 +02:00
Emil Ernerfeldt
1069ad8496
add color test window to troubleshoot your Egui painter backend
...
egui_glium passes the test, but the egui_web WebGL painter fails it.
2020-09-13 09:28:54 +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
bb367752cf
[text] support non-latin characters by dynamically adding them to atlas
2020-09-09 14:33:30 +02:00
Emil Ernerfeldt
0e870dae3e
[refactor] rename Texture::id to version
2020-09-09 13:32:40 +02:00
Emil Ernerfeldt
b9a3240ca3
Bump Egui version to 0.1.4
2020-09-08 09:47:42 +02:00
Emil Ernerfeldt
dc40a5d31d
[refactor] represent colors with arrays
2020-09-02 22:04:10 +02:00
Emil Ernerfeldt
c27e53a7b2
[color] Rename Color to Srgba + sRGBA correct fading of thin lines
...
Also remove the extra large `aa_size` hack,
so everything now looks slightly crispier.
I also took the opportunity to tweak some colors.
2020-08-29 16:58:59 +02:00
Emil Ernerfeldt
3d7b5ea6fe
[egui_web] sRGBA: blend vertex colors in linear space
2020-08-29 12:04:33 +02:00
Emil Ernerfeldt
73cea29f7d
[docs] Improve README.md and documentation
2020-08-21 18:53:43 +02:00
Emil Ernerfeldt
ad9783a33d
Update links to point to https://github.com/emilk/egui
...
because I renamed the github repository from "emigui" to "egui"
2020-08-10 19:38:46 +02:00
Emil Ernerfeldt
1483455630
Fix some links
2020-08-09 17:46:00 +02:00
Emil Ernerfeldt
d35be05731
add descriptions for egui_glium and egui_web crates
2020-08-09 17:39:05 +02:00
Emil Ernerfeldt
b06c9e94fb
[egui] rename "with_serde" feature flag to just "serde"
2020-08-09 17:34:26 +02:00
Emil Ernerfeldt
b58142ba15
Update versions to 0.1.3
2020-08-09 17:30:12 +02:00
Emil Ernerfeldt
3facd5c587
[doc] improve docstrings in Egui
2020-08-09 17:24:32 +02:00
Emil Ernerfeldt
df2cba41ff
[clippy] fix all clippy issues
2020-07-30 12:30:20 +02:00
Emil Ernerfeldt
eb713ac514
[build] use path dependencies in all Cargo.toml
2020-07-30 12:14:51 +02:00
Emil Ernerfeldt
f693a558c5
[web/glium] better text input filtering
...
CapsLock and function keys (F1, F2, ...) are now ignored on web.
All special keys are ignored on glium.
2020-07-30 11:58:24 +02:00
Emil Ernerfeldt
554e6e7120
[app] unify web and glium demo app
2020-07-23 19:04:23 +02:00
Emil Ernerfeldt
e84412dec5
[glium] break out persistence
2020-07-22 18:01:27 +02:00
Emil Ernerfeldt
9b9cd01c5c
[glium] update to latest glium with EventLoop and vsync
2020-07-22 00:36:17 +02:00
Emil Ernerfeldt
6b6545958d
[web] fix: repaint on pagehide, pageshow and resize
2020-07-20 15:08:39 +02:00
Emil Ernerfeldt
57ae03f52d
[web] minor fixes for reactive mode
2020-07-19 00:44:06 +02:00
Emil Ernerfeldt
f659f2903d
[web] fix auto-save
2020-07-19 00:16:24 +02:00
Emil Ernerfeldt
fccd135254
[refactor] rename 'PaintBatches' to 'PaintJobs'
2020-07-19 00:01:13 +02:00
Emil Ernerfeldt
7565210b2d
[web] simplify and improve reactive mode on touch screens
2020-07-18 23:56:37 +02:00
Emil Ernerfeldt
3ecd6c0297
[web] implement reactive repainting
...
meaning: only repaint on new input
2020-07-18 19:54:42 +02:00
Emil Ernerfeldt
dfa4d52a94
[web] move all reusable web code into egui_web
2020-07-18 18:35:17 +02:00
Emil Ernerfeldt
1a4c399e41
[web] port all remaining JS code to Rust
2020-07-18 18:00:05 +02:00
Emil Ernerfeldt
0afad57d41
[web] port JS code to Rust
2020-07-18 13:30:23 +02:00
Emil Ernerfeldt
8dced5896c
rename egui_wasm to egui_web
2020-07-17 12:55:07 +02:00