Emil Ernerfeldt
b5cb2b2c0d
Some code cleanup following https://github.com/emilk/egui/pull/888
2021-11-13 12:55:48 +01:00
triangle drawer
008a971e73
Fix wrong gamma in WebkitGTK ( #888 )
...
Closes https://github.com/emilk/egui/issues/794
Also refactor and improve VAO support detection
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2021-11-13 12:32:01 +01:00
Emil Ernerfeldt
4d4c75c6f1
Fix vertical slider up/down keys and add a line in the changelog
...
Follow-up to https://github.com/emilk/egui/pull/875
2021-11-13 12:30:13 +01:00
Bruce Reif (Buswolley)
491739b580
implement vertical slider orientation ( #875 )
2021-11-13 12:03:10 +01:00
Sven Niederberger
0bad1d0c99
Plot interaction methods ( #766 )
...
* move to a basic plot builder with callback
* add some interaction methods
* move interaction demo to its own panel
2021-11-13 11:56:22 +01:00
Emil Ernerfeldt
6018c0e194
Area: automatically request a repaint when showing up for the first time ( #866 )
2021-11-07 21:14:13 +01:00
Emil Ernerfeldt
951ee4e142
Improve color picker cache ( #886 )
...
* colorpicker: try to maintain hue even when saturation goes to zero
* More consistent arguments to color types
* implement `Hash` for `Rgba`.
2021-11-07 21:11:42 +01:00
Emil Ernerfeldt
ddd5f6f4f6
winit: don't explicitly handle Cmd-Q and Alt-F4 ( #881 )
...
Closes https://github.com/emilk/egui/issues/877
Still a problem: https://github.com/rust-windowing/winit/issues/1998
2021-11-07 20:58:02 +01:00
Emil Ernerfeldt
19d24bbebe
Don't clip popups to the parent cliprect ( #885 )
...
Closes https://github.com/emilk/egui/issues/825
2021-11-07 19:48:38 +01:00
Emil Ernerfeldt
878eddd546
When using a custom font you can now specify a font index ( #873 )
...
When using a custom font you can now specify a font index
Closes https://github.com/emilk/egui/issues/853
2021-11-07 19:47:52 +01:00
sumibi-yakitori
10c8ffa543
Fix to limit X position of text agent to client width ( #870 )
2021-11-06 10:33:43 +01:00
Emil Ernerfeldt
83e490fb6a
Remove egui::math & egui::paint, replace with egui::emath & egui::epaint
2021-11-06 09:47:23 +01:00
Emil Ernerfeldt
0ab93576da
Remove references to the old begin_frame
2021-11-03 23:00:00 +01:00
Emil Ernerfeldt
6d33beabb1
Replace scroll_delta
and zoom_delta
in RawInput
with events
...
Part of https://github.com/emilk/egui/issues/843
2021-11-03 22:57:13 +01:00
Emil Ernerfeldt
49e43885ff
Replace Context::begin_frame/end_frame
with fn run
taking a closure ( #872 )
...
* Replace Context begin_frame/end_frame with `fn run` taking a closure
* Create `egui::__run_test_ui` to replace `Ui::__test`
* Add helper `egui::__run_test_ctx` for doctests
2021-11-03 20:11:25 +01:00
Emil Ernerfeldt
e54106e950
Extend contributor list
2021-11-03 19:37:38 +01:00
Emil Ernerfeldt
c71090473b
glow-vs-web cleanup following https://github.com/emilk/egui/pull/868
2021-11-03 19:35:20 +01:00
triangle drawer
804722a1ba
Make egui_glow painter to work on web ( #868 )
...
Add WebGL1 and WebGL2 support to glow painter.
Add "glow" feature to egui_web to use the glow painter there.
Make winit an optional part of egui_glow
2021-11-03 19:17:07 +01:00
Emil Ernerfeldt
1dbe608e73
Refactor integrations ( #871 )
...
* Unify code in egui_glium and egui_glow into egui_winit::EpiIntegration
* Simplify `EguiGlium` interface
* Simplify `EguiGlow` interface
* egui_web refactor: merge `WebBackend` into `AppRunner`
2021-11-03 13:45:51 +01:00
sumibi-yakitori
b1716be745
egui_web: constrain the IME text agent to the canvas ( #830 )
...
limit the position of the text agent to the height of the client area
2021-11-02 19:46:42 +01:00
Emil Ernerfeldt
eda1d91654
Add culling of the painting for most widgets
...
This is a good early-out for widgets in `ScrollAreas`, but
also prepares for speeding up the first pass of a possible two-pass
version of egui: https://github.com/emilk/egui/issues/843
2021-11-01 22:08:23 +01:00
5225225
461f380a24
egui-winit: Fix shift key getting stuck with shift:both_capslock X11 option set ( #849 )
...
Listen for modifiers using ModifiersChanged
2021-11-01 21:34:06 +01:00
Emil Ernerfeldt
09b8269326
Rich text for all widgets ( #855 )
...
Introduce `RichText` and `WidgetText`
2021-11-01 21:30:10 +01:00
Emil Ernerfeldt
9378cd5c6e
ScrollArea: add methods to control horizontal scroll offset
...
Closes https://github.com/emilk/egui/issues/864
2021-11-01 19:43:27 +01:00
Linus Behrbohm
b9368aba13
Fix Response::context_menu return type ( #857 )
2021-11-01 19:27:51 +01:00
Emil Ernerfeldt
78dfde40b2
Remove deprecated functions
2021-10-30 09:46:06 +02:00
Emil Ernerfeldt
b551dfec81
fix broken docstring link
2021-10-29 21:10:53 +02:00
Emil Ernerfeldt
081485bcaf
Make it cheaper to clone Memory
if there are a lot of persisted values
2021-10-27 16:49:08 +02:00
Emil Ernerfeldt
3819ec6fc7
Update "password" demo (storing widget state) after #836 refactor
...
https://github.com/emilk/egui/pull/836
2021-10-27 16:40:21 +02:00
Emil Ernerfeldt
c7638ca7f5
Add read/write of TextEdit cursor state ( #848 )
...
* Rename `CursorPair` to `CursorRange`
* Easymark editor: add keyboard shortcuts to toggle bold, italics etc
* Split up TextEdit into separate files
* Add TextEdit::show that returns a rich TextEditOutput object with response, galley and cursor
* Rename text_edit::State to TextEditState
2021-10-27 16:30:14 +02:00
Emil Ernerfeldt
ddd52f47c5
Add tessellation option to toggle rounding text to pixel coordinates
...
On by default and only there for testing
2021-10-27 08:56:06 +02:00
Emil Ernerfeldt
8e4fd942a9
Refactor memory data ( #836 )
...
This refactors the widget state storage introduced by @optozorax in https://github.com/emilk/egui/pull/257
* Unify the four buckets (`data`, `data_temp`, `id_data` and `id_data_temp`) into a single `data`.
* Less complexity, and also less chance of error (storing in one bucket, reading from another).
* Store data by `Id` and `TypeId`.
* Users can thus reuse the same `Id` to store many types.
* Uses a simple xor of id and typeid, which is fast and good since both id and typeid are already high-entropy hashes.
* Use different suffixes on the functions to pick if you want the data persisted or not (`get_temp`, `insert_persisted`, etc).
* Writing with one suffix and reading with the other works.
* To store state not bound to a specific `Id` (i.e. only based on type), use the new `Id::null` as the key.
2021-10-27 08:51:34 +02:00
Emil Ernerfeldt
bbe0f6089c
Context-menu: fix right-click edge-case
...
response.hovered() checks a larger rect which includes the item spacing,
and it always matches the hover effect.
2021-10-26 20:40:17 +02:00
Emil Ernerfeldt
41f77ba7d7
Clean up some of the new context menus
...
Follow-up to https://github.com/emilk/egui/pull/543
* Add entry to CHANGELOG.md
* Add entry to contributors in README.md
* Improve documentation
* Simplify demo
2021-10-26 20:16:46 +02:00
Linus Behrbohm
46fb9ff09b
Context menus ( #543 )
...
Main usage: `response.context_menu(…)` and `ui.menu_button`
2021-10-26 19:55:42 +02:00
Emil Ernerfeldt
b31ca7efc9
PR template: remind people to run cargo fmt
and cargo clippy
2021-10-25 23:21:39 +02:00
Emil Ernerfeldt
445488755f
Point contributors to the new egui Discord
2021-10-25 23:20:42 +02:00
Emil Ernerfeldt
c335c56de1
dancing_string demo: handle large input.time
...
casting time to f32 is a bad idea if the time is seconds since epoch
as it is on some integrations.
2021-10-24 18:38:44 +02:00
Emil Ernerfeldt
c090497727
Add 0.15.0 release code editor gif used in CHANGELOG.md
2021-10-24 17:15:23 +02:00
Emil Ernerfeldt
08cc07bb2d
Release 0.15.0 - Syntax highlighting, hscroll, egui-winit and egui_glow
2021-10-24 16:15:07 +02:00
Emil Ernerfeldt
c3f61b67fe
New web demo
2021-10-24 16:00:56 +02:00
Emil Ernerfeldt
316202c33a
egui_web: improve text input on mobile and for IME
2021-10-24 15:57:36 +02:00
Emil Ernerfeldt
9a9b1b8746
On touch screens, prioritize drag-to-scroll over drag-to-select text
...
On mobile, click first, then edit the text.
Otherwise a lot of areas become difficult to scroll on mobile.
2021-10-24 15:26:40 +02:00
Emil Ernerfeldt
17f0ae22c9
Code example demo: remove extra ScrollArea
2021-10-23 15:36:25 +02:00
Emil Ernerfeldt
da09a5c69c
Fix compilation with "serialize" feature without "persistence" feature
2021-10-23 15:12:39 +02:00
Emil Ernerfeldt
4ace85b780
Fix: '\t' always take up the width of four spaces
2021-10-23 14:38:26 +02:00
Emil Ernerfeldt
96b642a7f5
Improve issue template instructions
2021-10-23 13:57:58 +02:00
Emil Ernerfeldt
7c82111234
Update changelog with credits
...
Thanks to:
* [AlexApps99](https://github.com/AlexApps99 )
* [baysmith](https://github.com/baysmith )
* [bpostlethwaite](https://github.com/bpostlethwaite )
* [cwfitzgerald](https://github.com/cwfitzgerald )
* [DrOptix](https://github.com/DrOptix )
* [JerzySpendel](https://github.com/JerzySpendel )
* [NiceneNerd](https://github.com/NiceneNerd )
* [parasyte](https://github.com/parasyte )
* [spersson](https://github.com/spersson )
* [Stock84-dev](https://github.com/Stock84-dev )
* [sumibi-yakitori](https://github.com/sumibi-yakitori )
* [t18b219k](https://github.com/t18b219k )
* [TobTobXX](https://github.com/TobTobXX )
* [zu1k](https://github.com/zu1k )
2021-10-23 06:14:08 +02:00
Emil Ernerfeldt
39c6c7e5c9
Small code cleanup
2021-10-23 06:03:45 +02:00
Emil Ernerfeldt
a3ba85dbb3
Improve docs
2021-10-23 06:03:45 +02:00