Commit graph

349 commits

Author SHA1 Message Date
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
273d466f19 Nicer spacing in changelogs 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
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
f387b097cd Add ui.drag_angle_tau 2020-12-13 20:19:45 +01:00
Emil Ernerfeldt
517b34509b Clean up CHANGELOG.md 2020-12-13 20:00:46 +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
35e8a3b4ca Update CHANGELOG.md and TODO.md 2020-12-12 20:04:32 +01:00
Emil Ernerfeldt
b0d0d5dd55 [button] Remove minimum button width 2020-12-12 19:31:32 +01:00
Emil Ernerfeldt
8c82eb1970 Add CHANGELOG.md for egui_glium 2020-12-10 23:52:51 +01:00
Emil Ernerfeldt
042125c8e4 Update CHANGELOG.md 2020-12-10 23:24:48 +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
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
aab1b351ab Fixed incorrect text wrapping width on radio buttons 2020-11-23 20:01:13 +01:00
Emil Ernerfeldt
e2c3bd429f Update CHANGELOG.md 2020-11-15 18:14:41 +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
03eb9151c4 Improve automatic Id generation to make Id clashes less likely 2020-11-14 18:20:56 +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
Emil Ernerfeldt
d2b5730784 Check if TextEdit lost keyboard focus with response.lost_kb_focus 2020-11-09 18:42:54 +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
3af741e85a Update CHANGELOG.md with new 0.3.0 release 2020-11-07 14:58:40 +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
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
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
211d70b4f3 [window] Remove ability to throw windows 2020-10-23 15:16:04 +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
46ce9a4f3d [windows] Constrain windows to screen 2020-10-21 16:24:36 +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
42b433a204 [release] bump version numbers to 0.2.0 2020-10-10 14:00:07 +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
b01690c7b8 [culling] coarse culling of text lines, circles and boxes 2020-10-10 12:25:01 +02:00
Emil Ernerfeldt
9f6301e121 Add logarithmic sliders to CHANGELOG.md 2020-10-08 22:24:42 +02:00
Emil Ernerfeldt
22fffc1793 [widgets] combo box (drop down menu) 2020-09-25 15:30:16 +02:00
Emil Ernerfeldt
bb367752cf [text] support non-latin characters by dynamically adding them to atlas 2020-09-09 14:33:30 +02:00