Emil Ernerfeldt
4848c171eb
[demo] Move Fractal Clock to WrapApp
2021-01-02 00:12:45 +01:00
Emil Ernerfeldt
d7459bc13d
Move egui::app
into new epi
crate
2020-12-29 14:15:46 +01:00
Emil Ernerfeldt
6953dc7d5d
Split out the Egui demo code to new crate egui_demo_lib
2020-12-29 13:40:11 +01:00
lucaspoffo
46471f930d
Fix nested scrolling ( #83 )
...
Add scroll_delta in FrameState to fix nested scrolling.
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2020-12-29 12:24:57 +01:00
Emil Ernerfeldt
6dd15dd1a3
Add shadows under windows
2020-12-29 12:18:41 +01:00
Emil Ernerfeldt
d38b16f1ea
Learn how to spell to "tessellation"
2020-12-29 12:18:41 +01:00
lucaspoffo
19b4d87c65
Add ui.scroll_to_cursor and response.scroll_to_me ( #81 )
...
Contributed by https://github.com/lucaspoffo
2020-12-29 12:18:17 +01:00
Emil Ernerfeldt
2870001544
Document mutex types
2020-12-28 10:33:19 +01:00
Emil Ernerfeldt
69ffa9be35
Remove pixels_per_point
from FontDefinitions
2020-12-27 23:09:51 +01:00
Emil Ernerfeldt
847f67c835
Rename FontFamily::VariableWidth to FontFamily::Proportional
2020-12-27 14:19:20 +01:00
Emil Ernerfeldt
53ab2f4ef6
Improve documentation
2020-12-27 14:16:37 +01:00
Emil Ernerfeldt
a1fa9903b0
Add a lot of documentation and inter-doc links
2020-12-27 12:57:15 +01:00
Emil Ernerfeldt
22e442c613
Remove some dead code
2020-12-27 12:56:57 +01:00
Emil Ernerfeldt
997103a910
Removed pub
on some things that should be private
2020-12-27 12:56:16 +01:00
Emil Ernerfeldt
442b876cb5
Remove math::TAU and use std::f32::consts::TAU instead
2020-12-27 11:24:08 +01:00
Emil Ernerfeldt
958fc2753a
RepaintSignal now implements Sync so it can be sent to another thread
...
Fixes https://github.com/emilk/egui/issues/82
2020-12-27 10:49:26 +01:00
Emil Ernerfeldt
dca7f85f21
Release Egui 0.6.0
2020-12-26 22:43:29 +01:00
Emil Ernerfeldt
8f40439a35
Fix incorrect deprecation redirect
2020-12-26 22:35:21 +01:00
Emil Ernerfeldt
db3fdbe6d3
Add response.interact(sense), e.g. to check for clicks on labels
2020-12-26 22:05:56 +01:00
Emil Ernerfeldt
de614153b5
Add default_fonts feature: Turn off if you use your own fonts
2020-12-26 21:20:55 +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
58fcf0f2a1
Changed: ui.allocate_painter returns a Response
2020-12-26 19:50:18 +01:00
Emil Ernerfeldt
48dfcde65f
Add ui.allocate_response(…): allocate space and check for interactions
2020-12-26 19:14:13 +01:00
Emil Ernerfeldt
66ae0ed7b9
Add Id to Response
2020-12-26 11:28:55 +01:00
Emil Ernerfeldt
a2ab35bab8
Rename Sense::nothing()
to Sense::hover()
2020-12-26 02:09:32 +01:00
Emil Ernerfeldt
b65e6327ab
ui.allocate_space now returns an (Id, Rect) tuple
2020-12-26 01:38:26 +01:00
Emil Ernerfeldt
cd7abb457f
Expand Window + Resize areas to be large enough for last frames content
2020-12-25 15:41:18 +01:00
Emil Ernerfeldt
997cd4b279
ui.columns: Improve allocated size estimation + justified layous
...
Closes https://github.com/emilk/egui/issues/76
2020-12-25 15:34:33 +01:00
Emil Ernerfeldt
355934ddc1
Add helpers ui.set_width and ui.set_width_range
2020-12-25 15:29:00 +01:00
Emil Ernerfeldt
38e36fd806
Combo boxes has a scroll area
...
Closes https://github.com/emilk/egui/issues/75
2020-12-25 13:18:47 +01:00
Emil Ernerfeldt
d3eba239ed
Rename Painter::debug_arrow to Painter::arrow
2020-12-25 12:27:34 +01:00
Emil Ernerfeldt
36c15c4e41
Add egui::math::Rot2 rotation helper
2020-12-25 12:27:34 +01:00
Patrik Höglund
bb469bf52f
Make it possible to set Glium windows as not resizable. ( #69 )
2020-12-22 15:20:38 +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
8e9bce459f
Move Painting demo to own window (and file)
2020-12-19 17:02:42 +01:00
Emil Ernerfeldt
f9b1e88fe6
Constrain tooltips to fit within the screen
2020-12-19 16:16:36 +01:00
Emil Ernerfeldt
03d09a9b57
Turn on anti-aliasing in debug builds
2020-12-19 15:11:43 +01:00
Emil Ernerfeldt
75e2752a47
Tweak hyperlink color
2020-12-19 15:09:11 +01:00
Emil Ernerfeldt
dd2f50e8ed
Add #[must_use] to all widgets
2020-12-19 15:02:02 +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
7ff5d4726b
Change default window width
2020-12-19 14:55:17 +01:00
Emil Ernerfeldt
01c65b0dcb
Replace Arc<Context> with struct CtxRef
2020-12-19 14:48:04 +01:00
Emil Ernerfeldt
ce0ea74c9f
Fix: The background of CentralPanel will now cover unused space too
2020-12-19 11:17:21 +01:00
Emil Ernerfeldt
ea10add1cb
Deprecate left/centered/right column functions in Ui
2020-12-19 11:14:59 +01:00
Emil Ernerfeldt
1e1bfa4dc7
Add ui.allocate_painter helper
2020-12-19 11:14:21 +01:00
Emil Ernerfeldt
58f36eb6ef
A Window
may now cover an existing CentralPanel
2020-12-18 23:45:33 +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
b0e17638df
trait App now has fn name() for specifying egui_glium window title
2020-12-18 22:30:59 +01:00
Emil Ernerfeldt
71449fe61c
Only forbid warnings in release builds
2020-12-18 22:19:56 +01:00
Emil Ernerfeldt
0e2c4077cb
Add '?' as fallback to the default replacement character
2020-12-18 13:06:50 +01:00
Emil Ernerfeldt
d022765a3c
Improve decimal logic for Slider and DragValue
...
* You can now control the minimum and maixumum number of decimals to show in a `Slider` or `DragValue`.
* `Slider` and `DragValue` uses fewer decimals by default. See the full precision by hovering over the value.
2020-12-18 10:21:00 +01:00
Emil Ernerfeldt
d6d9c4828e
Turn off Window
title bars with window.title_bar(false)
...
You can still resize and move them assuming there is some area that
does not steal the drag input. In particular, if a scroll area covers
the window than dragging the window contents will scroll, not move it.
Closes https://github.com/emilk/egui/issues/66
2020-12-16 23:48:23 +01:00
Emil Ernerfeldt
e4afba3bb8
Misc code cleanup
2020-12-16 21:59:33 +01:00
Emil Ernerfeldt
56502405f5
Tweak demo to work better on small screens (phones)
2020-12-16 21:57:13 +01:00
Emil Ernerfeldt
8af83bf93f
Slight tweak of the default Style
and font sizes
2020-12-16 21:56:24 +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
413f5fd37a
Allow windows to cover side panel if they do not otherwise fit
2020-12-16 20:35:24 +01:00
Emil Ernerfeldt
1c9fbc1588
Adjust default-size of Resize areas to fit within screen
2020-12-16 20:31:00 +01:00
Emil Ernerfeldt
91e5295db2
Add mouse-over explanation to duplicate ID warning
2020-12-16 20:29:46 +01:00
Emil Ernerfeldt
471314bb44
Fix edge-case in duplicate ID warning
2020-12-16 20:28:43 +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
0e0beece44
SidePanel::left and TopPanel::top now takes impl Hash
instead of Id
2020-12-15 15:13:12 +01:00
Emil Ernerfeldt
18ebac116f
Add widget ImageButton
2020-12-15 14:52:24 +01:00
Emil Ernerfeldt
b508f931c2
Add ui.vertical_centered and ui.vertical_centered_justified
2020-12-15 14:51:23 +01:00
Emil Ernerfeldt
7710308e09
ui.image
now takes impl Into<Vec2>
as a size
argument
2020-12-15 14:50:24 +01:00
Emil Ernerfeldt
5d513eb9ec
Fix publishing (renamed font files)
2020-12-13 21:21:35 +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
Emil Ernerfeldt
a7ae15871c
Use std::borrow::Cow for the font data.
...
This saves some memory usage and copies in the common case.
It also fixes a weird 10x performance regression in the web demo.
2020-12-13 21:04:02 +01:00
Emil Ernerfeldt
357f62e136
Small improvements to the demo app
2020-12-13 20:37:44 +01:00
Emil Ernerfeldt
f387b097cd
Add ui.drag_angle_tau
2020-12-13 20:19:45 +01:00
Emil Ernerfeldt
41e4acfd4f
Add helper Layout::top_down_justified(align)
2020-12-13 19:45:30 +01:00
Emil Ernerfeldt
b7d1584f44
Simplify how fonts are defined in FontDefinitions
2020-12-13 19:29:02 +01:00
Emil Ernerfeldt
5880c95158
ui.horizontal_for_text: Size and spacing made for text
2020-12-13 18:14:18 +01:00
Emil Ernerfeldt
b15bd76596
Pick default multiline on Labels based on layout and if text contains \n
2020-12-13 13:57:17 +01:00
Emil Ernerfeldt
273212a63c
on_hover_text/ui many times will stack tooltips beneath the previous
2020-12-13 13:14:58 +01:00
Emil Ernerfeldt
5b0da17d91
Merge pull request #65 from emoon/support-space-key
...
Allow user to check for Key::Space
2020-12-13 12:29:05 +01:00
Daniel Collin
69dc13ed2d
Allow user to check for Key::Space
2020-12-13 10:00:20 +01:00
Emil Ernerfeldt
bd192a0374
Handle different item_spacings when doing hover detection
2020-12-13 00:40:19 +01:00
Emil Ernerfeldt
6ff39d88bf
Demo App: Add ability to close the Backend window
2020-12-13 00:30:54 +01:00
Emil Ernerfeldt
72544b3690
Add a font book to the demo app
2020-12-12 19:53:04 +01:00
Emil Ernerfeldt
48a8553661
Sprinkle demo app with emojis
2020-12-12 19:43:12 +01:00
Emil Ernerfeldt
4db9b82435
[button] Implement paint culling for buttons
2020-12-12 19:34:18 +01:00
Emil Ernerfeldt
02b1e82a6e
[button] Add ability to turn off button frame
2020-12-12 19:33:26 +01:00
Emil Ernerfeldt
84f06ed09a
[button] Use singleline in horizontal layouts, else multiline
2020-12-12 19:32:58 +01:00
Emil Ernerfeldt
b0d0d5dd55
[button] Remove minimum button width
2020-12-12 19:31:32 +01:00
Emil Ernerfeldt
8b9d58d753
Add variable width font as fallback to monospace
2020-12-12 19:30:01 +01:00
Emil Ernerfeldt
891c5d84d7
Add a second emoji font: emoji-icon-font
2020-12-12 15:03:12 +01:00
Emil Ernerfeldt
cb310676af
Add Emoji support with NotoEmoji-Regular
2020-12-12 00:53:54 +01:00
Emil Ernerfeldt
a9df510a01
Move replacement glyph info into Font
2020-12-12 00:53:54 +01:00
Emil Ernerfeldt
c82186e196
Fix Galley test
2020-12-12 00:53:54 +01:00
Emil Ernerfeldt
6a4a03ce9d
Make struct Font a wrapper around FontImpl
2020-12-11 23:39:32 +01:00
Emil Ernerfeldt
2075cb4676
Add ui.colored_label(color, text) helper function
2020-12-11 12:25:28 +01:00
Emil Ernerfeldt
2bb99213c8
Use extremely explicit names like available_rect_before_wrap
2020-12-10 23:25:23 +01:00
Emil Ernerfeldt
81a9bdd5b0
Add ui.small_button: a smaller button that looks good embedded in text
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
383ef94b4a
Label: correct y offset when sharing a row with another bigger widget
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
d137ea0443
Label text will now intelligently continue and then wrap in wrap-layout
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
a6ffe83349
Fix wrong cursor advancement for allocate_ui
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
8b097d014b
Improve alginment of text with e.g. buttons
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
9b72a14883
Correctly align checkboxes and radiobuttons within justified layouts
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
807dafe91b
Add ui.horizontal_wrapped and ui.horizontal_wrapped_for_text
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
98bb0f4110
Fix combo box width
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
5cd07db96a
fix cursor advancement after wrapping
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
ea9133a92d
wrapping
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
7fb3c66d0b
advance_after_rect
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
a97141fe06
Correctly align buttons and labels in justified layouts
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
c520f2e9cc
Direction enum now one of LeftToRight, RightToLeft, TopDown, BottomUp
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
ed6739867d
Simplify Layout interface
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
b0ba66b90d
Refactor: move min_rect/max_rect/cursor into struct Region
2020-12-10 23:23:35 +01:00
Emil Ernerfeldt
6e8d5c87a0
Add Resize::id_source and ScrollArea::id_source
2020-12-10 10:28:30 +01:00
Emil Ernerfeldt
6de93cb0ec
Remove the label! macro
2020-12-10 10:15:25 +01:00
Emil Ernerfeldt
5fcc64dc85
Always start off painting two frames to allow things to settle
2020-12-08 22:38:20 +01:00
Emil Ernerfeldt
428e2373e5
Change default font to Ubuntu-Light
2020-11-30 07:55:00 +01:00
Emil Ernerfeldt
4ecb7d14ca
New widget: SelectableLabel
: a text-button that can be selected
...
Also available via `ui.selectable_label` and `ui.selectable_value`
2020-11-30 07:17:03 +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
861573c497
Text editing: improve double-click to select word
2020-11-28 12:50:18 +01:00
Emil Ernerfeldt
ab61f98a13
Bug fix: make sure child Ui:s have own Id
2020-11-28 12:50:18 +01:00
Emil Ernerfeldt
8163f912d3
Bug fix: stop using AHasher for Id:s
...
AHasher does not produce same hashes efter e.g. restarting an app
2020-11-28 12:50:18 +01:00
Emil Ernerfeldt
8e6c8ce50e
Update ahash to 0.6
2020-11-28 11:05:55 +01:00
Emil Ernerfeldt
aec97c74b9
[egui] Enable a bunch of clippy warnings
2020-11-28 10:58:08 +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
b1b34de4ee
[style] Tweak clip_rect_margin to allow frames around ScrollArea:s
2020-11-27 15:46:16 +01:00
Emil Ernerfeldt
201586d512
REVERT: clip frame contents to frame border
...
can't do that quite as simply as I tried to :'(
2020-11-27 15:42:24 +01:00
Emil Ernerfeldt
d8aeaa4b49
Clip frame contents to frame border
2020-11-27 15:33:14 +01:00
Patrik Höglund
c7e199c8ac
Fix the accessor for desired rows.
2020-11-26 13:52:06 +01:00
Emil Ernerfeldt
aab1b351ab
Fixed incorrect text wrapping width on radio buttons
2020-11-23 20:01:13 +01:00
Emil Ernerfeldt
56715a1dcd
Improve ability to inspect why a widget is as wide as it is
2020-11-23 17:08:55 +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
15b0214dff
clippy fixes
2020-11-20 12:29:23 +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
552104429d
Remove accidentally commited test code
2020-11-18 19:02:29 +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
7e9b5de250
Fix: id clash for TextEdit
2020-11-17 10:57:14 +01:00
Emil Ernerfeldt
e7fd11f1aa
Move focus between text fields with tab and shift-tab
2020-11-15 18:10:38 +01:00
Emil Ernerfeldt
b17e6b3260
Implement undo for TextEdit
2020-11-15 17:36:15 +01:00
Emil Ernerfeldt
83444af862
Create mod util
2020-11-15 16:20:51 +01:00
Emil Ernerfeldt
fe0d159324
Support Cmd+A ^W ^U ^K and shift-click
2020-11-15 14:21:21 +01:00
Emil Ernerfeldt
b920822b6b
fix: text selection when mouse goes out of the TextEdit area
2020-11-15 11:48:41 +01:00
Emil Ernerfeldt
13666755e1
Implement text selection
2020-11-15 04:44:55 +01:00
Emil Ernerfeldt
96befb0736
Galley: Return Rect when asking for cursor position
2020-11-14 23:07:16 +01:00
Emil Ernerfeldt
220f48a159
Remove unused cursor_blink_hz
2020-11-14 22:38:55 +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
7494026139
Fix some edge cases for the cursor movement
2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
c84431e473
Rename "row" to "line"
...
We now have "paragraphs" separated by \n,
which are word-wrapped onto one or more rows.
2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
9ab00b8e50
Introduce meticulous cursors for text galleys
2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
e1077c98b7
Refactor, clarify and improve text layout
2020-11-14 18:21:06 +01:00
Emil Ernerfeldt
03eb9151c4
Improve automatic Id generation to make Id clashes less likely
2020-11-14 18:20:56 +01:00
Emil Ernerfeldt
ee3f269d93
Fix numeric underflow when text editing
2020-11-13 12:51:52 +01:00
Emil Ernerfeldt
9057eaec7e
Fix: you can again click slider values to edit them
2020-11-13 12:50:05 +01:00
Emil Ernerfeldt
b3fa533ac5
Fix doctest
2020-11-13 11:31:01 +01:00
Emil Ernerfeldt
0340e2e6de
TextEdit: You must explicitly choose singleline or multiline.
...
Multiline TextEdit now has a default height of 4 rows.
Added `ui.text_edit_singleline` and `ui.text_edit_multiline`.
2020-11-13 11:22:00 +01:00
Alexandre Rousseau
08bdbd3cb7
Rename menues to menus ( #41 )
...
Co-authored-by: Alexandre Rousseau <alexandre.rousseau@quebecormedia.com>
2020-11-10 22:56:35 +01:00
Emil Ernerfeldt
d2b5730784
Check if TextEdit lost keyboard focus with response.lost_kb_focus
2020-11-09 18:42:54 +01:00
Emil Ernerfeldt
c999ed038a
Hexadecimal Debug format of Id
2020-11-09 18:41:19 +01:00
Emil Ernerfeldt
e55b59256e
Press enter in single line TextEdit
to surrender keyboard focus
2020-11-09 18:40:23 +01:00
Emil Ernerfeldt
796def4bcb
Fixed bug where a lost widget could still retain keyboard focus.
2020-11-09 13:19:22 +01:00
Emil Ernerfeldt
7cc5218630
[refactor] Move used_ids
from Context
to Memory
2020-11-09 13:04:05 +01:00
Emil Ernerfeldt
b6dcae4651
Update versions to 0.3.0
2020-11-07 14:47:22 +01:00
Emil Ernerfeldt
f46aa92eba
Revert to aHash 0.4 again to allow Egui to be used inside of wasmtime
2020-11-07 14:35:42 +01:00
Emil Ernerfeldt
4b8a65268c
Turn off anti-aliasing in debug builds by default
2020-11-07 14:06:14 +01:00
Emil Ernerfeldt
af11d766fc
Split out tesselation from Context::end_frame()
2020-11-07 11:44:32 +01:00
Emil Ernerfeldt
8393d1df47
Upgrade ahash from 0.4 to 0.5
2020-11-06 09:33:36 +01:00
Emil Ernerfeldt
94db5bb3a1
build fix
2020-11-03 22:14:21 +01:00
Emil Ernerfeldt
7abb9a2814
Improve Id generation, with more aggressive name clash warnings
2020-11-03 22:00:56 +01:00
Emil Ernerfeldt
8d365200ad
Bug fix: accidental reuse of Id:s for columns
...
Fixes https://github.com/emilk/egui/issues/37
2020-11-02 22:50:47 +01:00
Emil Ernerfeldt
d4d59d94b9
[demos] Add drag-and-drop demo (+ dancing strings demo)
2020-11-02 17:53:28 +01:00
Emil Ernerfeldt
4c25465e57
[window] Fix: no hover effect when already dragging something
2020-11-02 17:45:46 +01:00
Emil Ernerfeldt
9833ca57a6
[drag-and-drop] Add ability to translate layers and PaintCmd:s
2020-11-02 17:41:52 +01:00
Emil Ernerfeldt
ed8a69ab2f
[drag-and-drop] Add Grab and Grabbing CursorIcon:s
2020-11-02 17:40:05 +01:00
Emil Ernerfeldt
c9c12f2d79
[drag-and-drop] Disable interactions with Tooltip layer
2020-11-02 17:39:01 +01:00
Emil Ernerfeldt
63c0379082
[refactor] Add helpful constructors to PaintCmd
2020-11-02 17:35:16 +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
82d55cb67e
[demo] Add helper macros for linking to the source code on GitHub
2020-10-31 09:17:15 +01:00
Emil Ernerfeldt
496fdb52b4
[demo] add [DEBUG BUILD] warning text
2020-10-31 09:15:20 +01:00
Emil Ernerfeldt
8b2bcb29a0
Add Small
TextStyle
2020-10-31 09:09:40 +01:00
Sam Samai
a79aaa76a4
Downgrade ahash for wasm build ( #35 )
...
Seems like getrandom doesn't see wasm32-unknown-unknown as a valid target.
Dropping ahash, which has the getrandom dependency, to version 0.4.6 fixes this for now.
2020-10-29 11:48:39 +01:00
Hizoul
fe585e48e9
Make from_get_set
public ( #34 )
...
This allows the slider value to be obtained from anywhere that can be accessed from a closure and not just a `&'a mut` reference. An example would be a state that is shared via an Arc<Rw<T>> or Atomic value with a background thread
2020-10-28 16:56:33 +01:00
Emil Ernerfeldt
07a32793d6
Forbid creating a panel from within another panel
2020-10-27 15:37:30 +01:00
Emil Ernerfeldt
a4ce2afcd8
Update dependencies
2020-10-27 14:40:48 +01:00
Emil Ernerfeldt
cbdfc03378
Improve and expand documentation tests
2020-10-26 08:34:49 +01:00
Emil Ernerfeldt
060ce6b49f
Improve docs
2020-10-24 19:46:38 +02:00
Emil Ernerfeldt
72285e7954
[slider] Add Slider::u32
2020-10-24 19:26:13 +02: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
ba7f3572a0
Give TextEdit a default width
2020-10-24 18:44:25 +02:00
Emil Ernerfeldt
4b549a773e
Replace ctx.background_ui with CentralPanel
2020-10-24 18:37:20 +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
f86cb4a923
[demo] Improve introspection UI of areas
2020-10-24 10:31:57 +02:00
Emil Ernerfeldt
3416f3b91f
[style] Wrap tooltip text earlier
2020-10-24 10:10:08 +02:00
Emil Ernerfeldt
c96a929713
Improve GraphicLayers: always paint all layers
2020-10-24 10:06:11 +02:00
Emil Ernerfeldt
211d70b4f3
[window] Remove ability to throw windows
2020-10-23 15:16:04 +02:00
Emil Ernerfeldt
fa831a2b55
Fix throwing areas around
2020-10-23 15:07:19 +02:00
Emil Ernerfeldt
46e39d3dd9
Add high-prio TODO to refactor layer system
2020-10-21 22:20:30 +02:00
Emil Ernerfeldt
35b949a2d8
Refactor panels into proper containers
2020-10-21 22:10:55 +02:00
Emil Ernerfeldt
8b51ae5dea
Panels: Added Context::panel_left and panel_top
...
Context will keep track of the avilable space left after panels.
Windows will be constrained to that available space.
So add panels first, THEN add windows.
2020-10-21 18:26:28 +02:00
Emil Ernerfeldt
15c5e0b04d
[menu] Fix minor size issue of menu bars
2020-10-21 17:46:57 +02:00
Emil Ernerfeldt
46ce9a4f3d
[windows] Constrain windows to screen
2020-10-21 16:24:36 +02:00
Emil Ernerfeldt
39431afd03
[refactor] Rename Layer to LayerId for clarity
2020-10-21 14:39:31 +02:00
Emil Ernerfeldt
9b01c75e16
tesselator: produce fewer paint jobs with PaintCmd::Triangles
2020-10-21 11:09:42 +02:00
Emil Ernerfeldt
7fbb11481b
Try to protect against invalid Triangles
2020-10-21 11:04:22 +02:00
Emil Ernerfeldt
bc5dbd718e
Fix: Context::wants_mouse_input() now returns false if a mouse drag started outside of Egui
2020-10-20 14:52:18 +02:00
Emil Ernerfeldt
6bbdf08482
[refactor] Split DemoWindows out of demos::DemoApp
2020-10-19 23:06:11 +02:00
Emil Ernerfeldt
8ccc36937f
[egui_glium] Add option not to persist app to file
2020-10-19 20:25:05 +02:00
Emil Ernerfeldt
43813a71eb
[app] Add egui::app::DummyStorage
2020-10-19 20:12:14 +02:00
Emil Ernerfeldt
12d387d7f5
Replace term "backend" with "integration"
2020-10-18 15:41:52 +02:00
Emil Ernerfeldt
92cfbe643c
Add #![forbid(unsafe_code)] and safety badge
2020-10-18 15:40:23 +02:00
Emil Ernerfeldt
b8642b4db4
Do less rounding of positions to pixel boundaries
...
Fixes https://github.com/emilk/egui/issues/27
2020-10-18 14:47:12 +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
4e0ea32d99
fix clippy issues
2020-10-17 11:02:51 +02:00
Emil Ernerfeldt
4fc34cca45
[demo] Show detailed memory usage statistics of paint lists
2020-10-17 10:57:25 +02:00
Emil Ernerfeldt
570860ec5f
[refactor] Create helper struct Mutex (with double-lock detection)
2020-10-17 10:38:22 +02:00
Emil Ernerfeldt
c2a0705c6f
Add ability to override text color with visuals.override_text_color
...
This is kind of hacky; I may redesign this later
2020-10-14 16:32:29 +02:00
Emil Ernerfeldt
1bd45c35eb
Collapsing header returns header and body responses
2020-10-14 15:26:31 +02:00
Emil Ernerfeldt
7561ccc189
ui.horizontal(...) etc returns Response
...
This is much more ergonomic than just returning a Rect (like previously).
The Response only contains `hover` checks.
2020-10-14 14:42:40 +02:00
Emil Ernerfeldt
7db71eb875
Use positional ids for sliders
...
This means two sliders now can use the same label
2020-10-14 12:39:46 +02:00
Emil Ernerfeldt
a35fe7da12
Export egui::demos::app::DemoApp
...
Closes https://github.com/emilk/egui/issues/26
2020-10-12 12:35:55 +02:00
Emil Ernerfeldt
73dc3484ae
[refactor] Separate space allocation from cursor advancement
2020-10-12 08:50:06 +02:00
Emil Ernerfeldt
f0a45f5055
[refactor] Simplify Context with new struct Options
2020-10-12 08:49:01 +02:00
Emil Ernerfeldt
ad4f87831b
[refactor] Make Ui
lighter by using a clone-on-write Arc<Style>
2020-10-12 03:22:41 +02:00
Emil Ernerfeldt
42b433a204
[release] bump version numbers to 0.2.0
2020-10-10 14:00:07 +02:00
Emil Ernerfeldt
12afc356ee
Misc code cleanup: use more ui.checkbox, ui.label, ui.button etc
2020-10-10 13:04:40 +02:00
Emil Ernerfeldt
5c469551df
Switch argument order of ui.checkbox
and ui.radio
...
`bool, text` is the more logical order, as it
* matches the visuals: `[x] text`
* puts the important part first
* more natually allows us to extend to checkboxes without a text
2020-10-10 12:49:02 +02:00
Emil Ernerfeldt
a2e8d1d32c
[demo] Add compact version of the toggle_switch demo code
2020-10-10 12:33:48 +02:00
Emil Ernerfeldt
343648b94c
[refactor] remove Ui::canvas (use Ui::allocate_space instead)
2020-10-10 12:25:01 +02:00
Emil Ernerfeldt
b01690c7b8
[culling] coarse culling of text lines, circles and boxes
2020-10-10 12:25:01 +02:00
Emil Ernerfeldt
9874921d06
[bench] benchmark demo app when everything is open
2020-10-10 12:19:36 +02:00
Emil Ernerfeldt
f30b354f77
[culling] Add debug option to ignore clip rectangles
2020-10-10 11:39:39 +02:00
Emil Ernerfeldt
2615d1bce1
Remove Rect::default() since there is no sensible default rectangle
2020-10-10 08:03:38 +02:00
Emil Ernerfeldt
adec27a7dd
fix: clip_rect of combo box popup
2020-10-10 07:54:59 +02:00
Emil Ernerfeldt
8c17b45439
[demo] shorter toggle_switch code
2020-10-10 07:54:54 +02:00
Emil Ernerfeldt
c6fd30ea13
fix clippy issue
2020-10-08 22:24:55 +02:00
Emil Ernerfeldt
3f345b5963
Ui: clean up min_rect/max_rect related functions
2020-10-08 22:24:27 +02:00
Emil Ernerfeldt
ba98ea715f
fix ui.expand_... functions to also expand max_rect
2020-10-08 17:58:28 +02:00
Emil Ernerfeldt
8ff0bed259
[slider] Logarithmic sliders with support for zero and infinity
...
Logarithmic sliders will intelligently help you pick a good range
even if you inlcude zero or infinity. They also support crossing
the zero value, so you can have a slider span -INF to +INF.
The sliders now also supports reversed sliders (large -> small).
2020-10-07 09:59:49 +02:00
Emil Ernerfeldt
d5d8eeb172
[slider] use f64 internally for increased precision
2020-10-06 21:03:47 +02:00
Emil Ernerfeldt
a49cba54ac
[math] make lerp, remap and remap_clamp work for both f32 and f64
2020-10-06 20:51:59 +02:00
Emil Ernerfeldt
7a71ac1a95
Rename tooltip_text to on_hover_text
2020-10-01 22:53:11 +02:00
Emil Ernerfeldt
5cba44eaa8
Clean up various small TODOs
2020-10-01 22:40:49 +02:00
Emil Ernerfeldt
6fcfb52aa0
[demo] add frame time graph to demo app
2020-10-01 22:25:44 +02:00
Emil Ernerfeldt
1156525ce9
[clippy] fixes
2020-10-01 16:56:40 +02:00
Emil Ernerfeldt
a2a4eafd0e
fix compilation of test and benchmark
2020-10-01 16:54:05 +02:00
Emil Ernerfeldt
908d1d0c08
[refactor] Ui: rename child_bounds to min_rect, desired_rect to max_rect
2020-09-27 11:43:44 +02:00
Emil Ernerfeldt
43bb670c0c
[layout] correct handling of cursor position w.r.t. reversed layouts
2020-09-26 10:06:06 +02:00
Emil Ernerfeldt
8cbf90442b
remove ui.vertical_centered
2020-09-26 07:52:24 +02:00
Emil Ernerfeldt
aad0391fef
remove Ui::set_layout
2020-09-26 07:52:24 +02:00
Emil Ernerfeldt
d8021843f8
[menu] simplify menu interactions, fixing an annoying bug
2020-09-25 15:31:27 +02:00
Emil Ernerfeldt
22fffc1793
[widgets] combo box (drop down menu)
2020-09-25 15:30:16 +02:00
Emil Ernerfeldt
b081be11d1
[spacing] simplify and tweak spacing
2020-09-25 11:41:47 +02:00
Emil Ernerfeldt
2164e37e39
[refactor] make sure we show all input members in introspection window
2020-09-23 09:03:18 +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
deb1c33760
[style] visual tweaks
2020-09-20 09:24:09 +02:00
Emil Ernerfeldt
2c611292ff
[style] more spacious, more alignmnet, more readable
2020-09-19 09:55:20 +02:00
Emil Ernerfeldt
05316b7045
[refactor] move DragValue to own file drag_value.rs
2020-09-18 23:59:35 +02:00
Emil Ernerfeldt
dd8c298cb5
refactor space allocation code
2020-09-18 23:48:08 +02:00
Emil Ernerfeldt
283b4ab63d
[layout] remove ui.horizontal_centered and make centering the default
2020-09-18 23:41:49 +02:00
Emil Ernerfeldt
4df8def9e2
[layout] change clickable_diameter: f32
to interact_size: Vec2
2020-09-18 23:41:34 +02:00
Emil Ernerfeldt
85a67ab15e
[refactor] introduce NumExt with at_least and at_most
...
`x.min(maxumim)` can be confusing but `x.at_most(maximum)` is very clear
2020-09-18 17:49:39 +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
e30a9c1196
[window/resize] add Resize::max_width and fix bug with fixed_size
2020-09-13 22:07:55 +02:00
Emil Ernerfeldt
f8bc4d38e8
[refactor] break up demo code into smaller files
2020-09-13 21:54:31 +02:00
Emil Ernerfeldt
8b4f96ffb2
[refactor] move math.rs to math/mod.rs, and same for all other egui mods
2020-09-13 21:23:35 +02:00
Emil Ernerfeldt
adc6a225e3
[frame] bug fix: move cursor after a Frame
2020-09-13 19:02:25 +02:00
Emil Ernerfeldt
6904938594
Compilation fix
2020-09-13 15:41:16 +02:00
Emil Ernerfeldt
814121903a
remove Label::auto_shrink and replace with ui.shrink_width_to_current()
2020-09-13 09:30:52 +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
02ef0cd9d5
[user textures] Add custom texture/image support
...
* Each Traingles mesh comes with a TextureId
* ui.image(...) to show an image/texture
* Up to backend what to do with user textures
2020-09-11 18:54:57 +02:00
Emil Ernerfeldt
5ba420988f
[docs] improve toggle_switch.rs demo with better comments
2020-09-11 17:17:43 +02:00
Emil Ernerfeldt
10574c34d6
make it easy to combine Response:s with | and |= overloads
2020-09-11 10:19:04 +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
0ea3a53d97
[font] texture atlas: add one pixel of padding for old GPUs
2020-09-09 15:24:44 +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
Emil Ernerfeldt
0e870dae3e
[refactor] rename Texture::id to version
2020-09-09 13:32:40 +02:00
Emil Ernerfeldt
d959f71d12
[text] add benchmark for text layout
2020-09-09 12:41:59 +02:00
Emil Ernerfeldt
672ffb6cd6
[test] add e2e egui test
2020-09-09 12:14:53 +02:00
Emil Ernerfeldt
23d99b07c8
[bug fix] assume pixels_per_point=1 if nothing is ever set
2020-09-09 12:14:21 +02:00
Emil Ernerfeldt
bc0d6baefb
[color-picker] edit your own (s)RGBA arrays
...
Both with and without premultiplied alpha
2020-09-09 11:24:37 +02:00
Emil Ernerfeldt
b9a3240ca3
Bump Egui version to 0.1.4
2020-09-08 09:47:42 +02:00
Emil Ernerfeldt
278268768d
fix web/wasm build
2020-09-08 09:44:40 +02:00
Emil Ernerfeldt
9578773613
[style] tweak style, and refactor struct Style
2020-09-08 09:17:08 +02:00
Emil Ernerfeldt
a76d57480d
fix: menu bar should have a background
2020-09-07 20:54:29 +02:00
Emil Ernerfeldt
d8e0b3bff6
[color] add HSV-based color picker for struct Srgba
2020-09-06 21:30:52 +02:00
Emil Ernerfeldt
fc3582fbe1
[color] add HSVA conversion
2020-09-06 21:21:53 +02:00
Emil Ernerfeldt
847f18248f
clippy fix
2020-09-06 07:49:49 +02:00
Emil Ernerfeldt
a9fd7537c2
[DragValue] add optional range
2020-09-06 07:07:02 +02:00
Emil Ernerfeldt
938c847c6e
[math] bug fix: allow inverted range in remap_clamp
2020-09-06 07:04:47 +02:00
Emil Ernerfeldt
c26b3069e0
Fix a clippy nit
2020-09-06 06:58:40 +02:00
Markus Webel
6b30e21f4e
Kinetic scrolling ( #20 )
...
* Fixed typo in function description
* Added vertical kinetic scrolling
* Checked off kinetic scrolling from TODO
Co-authored-by: Markus Webel <m@rkus.online>
2020-09-06 06:57:29 +02:00
Emil Ernerfeldt
6ca11aff8c
[refactor] use "fg_" prefix in WidgetStyle
2020-09-05 13:30:04 +02:00
Emil Ernerfeldt
8b93135fe4
[style] you can override the default body text style
2020-09-04 10:15:35 +02:00
Emil Ernerfeldt
2c96cbfa9c
[dependencies] turn off optional ahash features to reduce dependencies
2020-09-03 23:04:19 +02:00
Emil Ernerfeldt
dc40a5d31d
[refactor] represent colors with arrays
2020-09-02 22:04:10 +02:00
Emil Ernerfeldt
9823e4d63c
[refactor] Add Triangles::colored_vertex helper
2020-09-02 21:52:43 +02:00
Emil Ernerfeldt
e8713bbb71
[widgets] DragValue can now be used with some integers
2020-09-02 06:05:48 +02:00
Emil Ernerfeldt
ecd68f4faa
[refactor] combine stroke_color and stroke_width in WidgetStyle
2020-09-02 01:36:52 +02:00
Emil Ernerfeldt
9d4021d703
[refactor] rename LineStyle to Stroke
2020-09-01 23:54:21 +02:00
Emil Ernerfeldt
e7b098ac56
[style] make the default style a lot more compact and sleek
2020-09-01 20:40:54 +02:00