Emil Ernerfeldt
17fdd3bb10
Label: draw underline and strikethrough on top of text
2021-01-31 00:42:00 +01:00
Emil Ernerfeldt
14e0963e50
Add Label::weak for fainter text
2021-01-30 18:49:21 +01:00
Emil Ernerfeldt
953a652c29
Add Hyperlink::from_label_and_url
2021-01-30 15:56:00 +01:00
Emil Ernerfeldt
c50190a7e8
Add fake italics (tilt text)
2021-01-30 15:55:40 +01:00
Emil Ernerfeldt
d249ed86ba
Add Label
methods for code, strong, strikethrough and underline
2021-01-30 15:51:19 +01:00
Emil Ernerfeldt
26d47eabf0
[style] Add code_bg_color
2021-01-30 15:48:17 +01:00
Emil Ernerfeldt
5b7fc51932
Bug fix: moving windows slightly when dragging slider
2021-01-27 20:58:49 +01:00
Emil Ernerfeldt
703592ae0c
Bug fix: always set interact_pointer_pos on active Responses
2021-01-27 20:52:42 +01:00
aakamenov
e30e999ef4
Use any_click() instead of any_pressed() in check ( #144 )
2021-01-27 20:22:14 +01:00
Emil Ernerfeldt
6029a438a2
Add a VERY experimental markdown viewer
2021-01-27 20:14:53 +01:00
Emil Ernerfeldt
7d8ebb4c8f
Add ui.code(text): like ui.monospace() but also adds a background
2021-01-26 22:05:14 +01:00
Emil Ernerfeldt
b8a4c9c8ce
Fix rare issue of accidentally hovering two things at once
...
Closes https://github.com/emilk/egui/issues/140
2021-01-26 18:56:30 +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
6d57a24f35
Add Slider::clamp_to_range(bool)
2021-01-25 19:55:08 +01:00
Emil Ernerfeldt
2219e135fa
Rename DragValue::range to clamp_range and also clamp incoming values
2021-01-25 19:45:59 +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
9f4c31c0e0
Add Frame::group for putting a frame around some widgets
...
Closes https://github.com/emilk/egui/issues/125
2021-01-20 23:26:46 +01:00
Emil Ernerfeldt
3bec7c4f68
add popup_below_widget to show a popup area below another widget
...
Closes https://github.com/emilk/egui/issues/122
2021-01-20 23:10:56 +01:00
Paul Shen
577aa2699f
kill velocity after overscroll ( #126 )
2021-01-20 22:25:52 +01:00
Emil Ernerfeldt
e2217ff63a
[style] Fade out windows on close
2021-01-20 00:31:43 +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
9dba63fa3f
Skip persisting style for now (so everyone gets the new default style)
2021-01-17 14:19:47 +01:00
Emil Ernerfeldt
1f2aebc25a
Improve documentation
2021-01-17 12:24:13 +01:00
Emil Ernerfeldt
67c0fbdd01
Move Response and Sense to own files
2021-01-17 10:15:25 +01:00
Emil Ernerfeldt
53d0114d3c
Rename MouseInput to CursorState
2021-01-17 02:34:21 +01:00
Emil Ernerfeldt
421e8bc91e
Don't glob-include eveything in mod layers
2021-01-17 02:27:58 +01:00
Emil Ernerfeldt
4203944892
doc fixes
2021-01-17 02:17:57 +01:00
Emil Ernerfeldt
8598c365a1
[epaint] Replace tuple (Rect, Shape) with tuple-struct ClippedShape
2021-01-17 01:40:14 +01:00
Emil Ernerfeldt
7b318887ee
Put input/output data types into mod egui::data
2021-01-17 00:21:58 +01:00
Emil Ernerfeldt
33545501f9
Simplified color picker
2021-01-16 20:55:02 +01:00
Emil Ernerfeldt
03c667149a
TextEdit: only show cursor preview when moving mouse
2021-01-16 18:52:01 +01:00
Emil Ernerfeldt
cc002763ed
Add border around color button
2021-01-16 18:48:37 +01:00
Emil Ernerfeldt
2b48f9723b
[grid] Fix the last corner cases and bugs
2021-01-16 18:37:11 +01:00
Emil Ernerfeldt
07f1b074ca
[grid] Allow putting a separator in a grid
2021-01-16 11:48:30 +01:00
Emil Ernerfeldt
a5ce1ba711
Don't highlight window titles when interacting with the window
...
It is very distracting.
2021-01-16 01:47:21 +01:00
Emil Ernerfeldt
60006cd9c6
Highlight window name when clicking a window
2021-01-16 01:33:41 +01:00
Emil Ernerfeldt
620e43d483
New sleeker visual style
...
Remove a lot of borders, remove transparency, simplify and unify.
2021-01-15 22:23:08 +01:00
Emil Ernerfeldt
6d5eaeeafa
[grid] Make striped slightly wider than contents
2021-01-15 21:21:17 +01:00
Emil Ernerfeldt
b1157ee642
[grid] Option to set spacing
2021-01-15 21:17:56 +01:00
Emil Ernerfeldt
480c6db37f
[grid] Set default row height to interact_size.y
...
It is what we use for horizontal layouts, and makes sense.
2021-01-15 21:17:56 +01:00
Emil Ernerfeldt
03c9cda89b
[grid] Ensure the contents of each grid cell is aligned left+center
2021-01-15 21:17:56 +01:00
Emil Ernerfeldt
db591bc56c
Fix minor alignment/size issue in TextEdit
2021-01-15 21:17:52 +01:00
Emil Ernerfeldt
17d88c8187
[grid] Make the stripes fairly sizes
2021-01-15 18:30:09 +01:00
Emil Ernerfeldt
8e1c7625f1
[refactor] Simplify how ui calls placer after adding a widget
2021-01-15 18:30:09 +01:00
Emil Ernerfeldt
641a302e0a
[grid] Add optional minimal row height
2021-01-15 18:30:09 +01:00
Emil Ernerfeldt
9ce59d747f
[style] Tweak collapsing header spacing
2021-01-15 18:30:09 +01:00
Emil Ernerfeldt
2b07a75753
[style] Tweak windows icon positioning
2021-01-15 18:30:05 +01:00
Emil Ernerfeldt
8e34cc50be
[grid] only save state once
2021-01-14 22:29:00 +01:00
Emil Ernerfeldt
795906bb24
Add Window::current_pos to position a winodw
2021-01-13 23:19:36 +01:00
Emil Ernerfeldt
99726decb6
Add option to remove the frame from a TextEdit
2021-01-13 23:15:41 +01:00
Emil Ernerfeldt
fb5bd801b8
Fix minor size and alignment issue in SelectedLabel
2021-01-13 23:11:52 +01:00
Emil Ernerfeldt
73d16eb771
Use Grid to add labels to the color picker sliders
...
Also improve the color preview in the color picker
2021-01-13 23:09:23 +01:00
Emil Ernerfeldt
63d3e9e70b
Auto-shrink grid
2021-01-13 23:09:23 +01:00
Emil Ernerfeldt
4ebaa53fea
Fix problem with having a grid in an infinitely sized ui
2021-01-13 22:08:35 +01:00
Emil Ernerfeldt
b10dcf5012
[style] Tweak vertical text alignment
2021-01-13 22:08:35 +01:00
Emil Ernerfeldt
6d8a766614
[style] Slightly expand buttons when hovering and interacting
2021-01-13 22:08:35 +01:00
Emil Ernerfeldt
1b40a5dda5
[style] combo box: use the same text style as for a button
2021-01-13 22:08:35 +01:00
Emil Ernerfeldt
08a4179e7e
Add #[must_use] to all widget builders
2021-01-13 11:24:49 +01:00
Michael Tang
90797f04f4
Implement InputState::key_down ( #107 )
2021-01-12 13:46:27 +01:00
Emil Ernerfeldt
b6ba98a40f
Adjust spacing between window buttons and the border
2021-01-12 00:01:57 +01:00
Emil Ernerfeldt
0b10fa5c29
Grid layout and widget gallery ( #106 )
...
* Wrap Layout and Region into a new struct Placer
* [egui] Add a simple grid layout
* Refactor CollapsingHeader code (simplify header painting)
* Fix: allow putting a CollapsingHeader inside of a grid layout
* [demo] Add a widget gallery
Closes https://github.com/emilk/egui/issues/88
* Add optional striped grid background
2021-01-11 20:58:36 +01:00
Emil Ernerfeldt
d344c9d9a3
Image and ImageButton will no longer stretch to fill a justified layout
2021-01-11 18:14:34 +01:00
Emil Ernerfeldt
26d576f510
Break out mod paint into new crate epaint
2021-01-10 15:42:46 +01:00
Emil Ernerfeldt
c0041d032a
Restructure mod paint
2021-01-10 14:49:11 +01:00
Emil Ernerfeldt
fb2317c993
Rename PaintCmd
to Shape
2021-01-10 11:43:01 +01:00
Emil Ernerfeldt
a0b0f36d29
Move egui/math into new crate emath
2021-01-10 11:37:47 +01:00
Emil Ernerfeldt
aee1474b6e
Move align.rs into mod math
2021-01-10 10:54:34 +01:00
Emil Ernerfeldt
72ed94fcb3
Add helper struct Align2
2021-01-10 10:51:16 +01:00
Emil Ernerfeldt
1b3a5e5b50
Add debug option to paint rectangles around text primitives
2021-01-10 10:43:49 +01:00
Emil Ernerfeldt
e079ac5b46
Center window titles
2021-01-10 10:43:47 +01:00
Emil Ernerfeldt
987c7ddf98
Make size and alignment of emoji-icon-font match the rest of the fonts
...
This is done via a hack (for now).
2021-01-10 10:43:27 +01:00
Emil Ernerfeldt
a30eef11bc
Remove extra entries in texture atlas for monospace characters
2021-01-10 10:13:16 +01:00
Emil Ernerfeldt
c969b8d9eb
Make Region and some Layout members private
2021-01-10 10:05:30 +01:00
Emil Ernerfeldt
e413e5e3e9
Fix precision issue in panel space allocation debug sanity check
...
Closes https://github.com/emilk/egui/issues/99
2021-01-07 18:31:19 +01:00
Emil Ernerfeldt
e8e53e9500
Optimize Color32::from_rgba_unmultiplied
2021-01-07 16:28:22 +01:00
Emil Ernerfeldt
752c321a61
Fix bug in ui.ui_contains_mouse
2021-01-07 16:27:45 +01:00
Emil Ernerfeldt
b4871e2aef
Add ui.allocate_at_least and ui.allocate_exact_size
2021-01-06 11:03:29 +01:00
Emil Ernerfeldt
d0d22ea09b
Release 0.7.0
2021-01-04 15:52:29 +01:00
Pascal Ernst
00269f96c0
Make style
module public ( #92 )
...
Allow access to types such as `Visual` to configure the Ui style.
2021-01-04 10:24:49 +01:00
Emil Ernerfeldt
10a23d18e1
Support additive colors in color picker
2021-01-03 18:16:12 +01:00
Emil Ernerfeldt
5c8df6925d
TextEdit widgets are now slightly larger to accommodate their frames
...
Fixes https://github.com/emilk/egui/issues/89
2021-01-03 16:22:10 +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
25b8a8ebfd
Add window.id(…) and area.id(…) for overriding the default Id
2021-01-03 00:12:15 +01:00
Emil Ernerfeldt
31930e25e3
[refactor] Split out widgets into different files
2021-01-02 23:34:51 +01:00
Emil Ernerfeldt
d2d9bf4bdd
Move struct Options into Memory so Style persists
2021-01-02 23:28:44 +01:00
Emil Ernerfeldt
a905c884e8
Add widget egui::reset_button
2021-01-02 23:28:10 +01:00
Emil Ernerfeldt
fffa5e7795
[egui] Derive Serialize/Deserialize for a bunch of things
2021-01-02 20:32:05 +01:00
Emil Ernerfeldt
83b75b117e
refactor: move used_ids and tooltip_rect from Memory to FrameState
2021-01-02 20:26:26 +01:00
Emil Ernerfeldt
029a85c1fc
Move Color32 constants from mod color
to struct Color32
2021-01-02 17:18:41 +01:00
Emil Ernerfeldt
64dd186daf
Deprecate color::srgba function. Use Color32::from_rgb etc instead.
2021-01-02 17:06:26 +01:00
Emil Ernerfeldt
73f3d8cf46
Rename Srgba to Color32
2021-01-02 17:02:18 +01:00
Emil Ernerfeldt
1bac357c8a
Add helpful script for listing contents of a .ttf file
2021-01-02 16:47:15 +01:00
lucaspoffo
212fd80b01
Scroll based on the mouse start position ( #84 )
...
Fixes #57
2021-01-02 16:41:20 +01:00
Emil Ernerfeldt
948d8ec6ed
clippy fixes
2021-01-02 16:31:45 +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
d8d761aac7
Fix: panels only allocate what they use, so native window can shrink
2021-01-02 13:12:29 +01:00
Emil Ernerfeldt
1690db0f0c
demo tweaks
2021-01-02 12:00:14 +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
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