Commit Graph

798 Commits

Author SHA1 Message Date
Emil Ernerfeldt 0c9b4858f0 refactor: simplify CollapsingHeader enable/disable code 2021-03-20 15:40:40 +01:00
Emil Ernerfeldt 7ac91970bd bug fix: false id clash error for wrapping text 2021-03-20 09:29:36 +01:00
Emil Ernerfeldt 6442d254a6 Fix hover-to-zoom of font texture in demo
Closes https://github.com/emilk/egui/issues/220
2021-03-13 12:55:29 +01:00
Emil Ernerfeldt 958aea922f Add a lot more CursorIcon's 2021-03-13 12:38:03 +01:00
Emil Ernerfeldt 017d602fe5 Rename "kb_focus" to just "focus" everywhere 2021-03-09 20:55:24 +01:00
Emil Ernerfeldt 3fbc07659c Labels can now be focused so they can be read by screen-reader 2021-03-09 19:58:41 +01:00
Emil Ernerfeldt 33d2f16041 Bug fix: you can now use text edits again 2021-03-09 19:51:23 +01:00
Bradley Smith bd34cfd43e
Configurable label text style for CollapsingHeader (#200)
CollapsingHeader: change label text style & enable options
2021-03-09 19:13:21 +01:00
Norbert Nemec 6fb4e19e9e
DragValue: fix crash for speed==0.0 (#216) 2021-03-09 19:06:04 +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 2428763756 Fix bug in Response::clicked_elsewhere
Fixes https://github.com/emilk/egui/issues/205
2021-03-08 22:22:44 +01:00
Emil Ernerfeldt 8f3a25d749 clippy fix 2021-03-08 22:16:35 +01:00
Ridan Vandenbergh f1c6d2b59c
feat: Derive (de)serialize for Key (#213) 2021-03-08 22:09:30 +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 cb7ef6faeb bug fix: open links in same tab by default 2021-03-08 20:25:43 +01:00
Emil Ernerfeldt ea248d66b5 Improve widget info output for potential screen readers
Part of https://github.com/emilk/egui/issues/167
2021-03-08 18:36:32 +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
aakamenov c1ef81628b
Add optional drag bounds to Area and Window
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2021-03-07 20:42:16 +01:00
Emil Ernerfeldt 25d4a7e11e Fix gained kb focus event on shift-tab 2021-03-07 19:45:28 +01:00
Emil Ernerfeldt eba4d3d7b1 refactor: move kb-focus logic to own struct 2021-03-07 19:45:28 +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
Emil Ernerfeldt a370339db7 Give focus to any clickable widget with tab/shift-tab
Use space or enter to click the selected widget.
Use arrow keys to adjust sliders and `DragValue`s.

Closes https://github.com/emilk/egui/issues/31
2021-03-07 18:15:57 +01:00
Emil Ernerfeldt 6fd7c422ab Refactor: remove has_kb_focus/lost_kb_focus bools from Reponse
Just forward the queries to Memory
2021-03-07 13:06:57 +01:00
Emil Ernerfeldt b72184dc7e clippy fix 2021-03-06 11:19:32 +01:00
Emil Ernerfeldt 5d0c71350d Add `fn Memory::gained_kb_focus() -> bool` query 2021-03-06 11:17:24 +01:00
Emil Ernerfeldt 007f9f3cb9 Fix secondary-click to open a menu
Fixes https://github.com/emilk/egui/issues/198
2021-03-06 11:11:07 +01:00
Emil Ernerfeldt 9c8439d053 Add some helper functions to Response 2021-03-06 10:48:39 +01:00
Emil Ernerfeldt fb2db4940e Release 0.10.0 - Plot and polish 2021-02-28 20:11:37 +01:00
Emil Ernerfeldt fdb1aa6bec improve documentation 2021-02-28 18:59:46 +01:00
Emil Ernerfeldt 8be37b3d6c Add Response::has_kb_focus()
Closes https://github.com/emilk/egui/issues/196
2021-02-28 18:19:33 +01:00
Emil Ernerfeldt 834078a476 Turn off the cursor preview when hovering a TextEdit 2021-02-28 17:27:39 +01:00
Emil Ernerfeldt d3fd51d6a4 Add Response::changed(): see if e.g. text was entered or slider dragged 2021-02-28 17:24:07 +01:00
Emil Ernerfeldt bdbc59455c Improve documentation for the most common widgets 2021-02-23 22:18:13 +01:00
Emil Ernerfeldt 814f8c0dd8 Add support for all integers in DragValue and Slider (except 128-bit) 2021-02-23 20:40:14 +01:00
Emil Ernerfeldt 049a7b0382 Make DragValue::from_get_set public
Closes https://github.com/emilk/egui/issues/188
2021-02-23 20:16:43 +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
Emil Ernerfeldt c601db5956 refactor: move tooltip state handling out of memory 2021-02-21 10:31:28 +01:00
Emil Ernerfeldt 67623919d7 refactor: move DragValue state 2021-02-21 10:30:31 +01:00
Emil Ernerfeldt 82350a2f1e Improve documentation 2021-02-21 10:12:08 +01:00
Emil Ernerfeldt ebc2486d22 Slider: use a DragValue for the value, and implement suffix/prefix 2021-02-20 18:29:09 +01:00
Emil Ernerfeldt 32f35c6251 Implement "Smart Aim" for DragValue 2021-02-20 17:43:35 +01:00
Emil Ernerfeldt 7ac26b84b1 DragValue: handle slowly dragging a value with limited precision 2021-02-20 17:27:55 +01:00
Emil Ernerfeldt 9a546ff97a SlidSlider will now show the value display by default.
Turn off with slider.show_value(false)

Closes https://github.com/emilk/egui/issues/183
2021-02-20 16:28:39 +01:00
Emil Ernerfeldt 4e041185f1 Add module special_emojis with apple, linux, windows & github logos 2021-02-20 16:09:00 +01:00
Emil Ernerfeldt 9b58d5d4d9 color picker: just copy the r,g,b,a values without a "rgba(…)" wrapper 2021-02-20 15:49:09 +01:00
Emil Ernerfeldt ac356e2bd8 Add a link from the crate-level docs to the online egui web demo 2021-02-20 12:43:53 +01:00
Emil Ernerfeldt 040553da78 impl<F> Widget for F where F: FnOnce(&mut Ui) -> Response
This enables functions that return `impl Widget`, so that you can
create a widget by just returning a lambda from a function.

For instance: `ui.add(toggle(bool))` (instead of `toggle(ui, bool)`)
2021-02-20 12:02:38 +01:00
Emil Ernerfeldt 6fe70e685b Simplify and unify colors of selectable widgets 2021-02-20 11:28:00 +01:00
Emil Ernerfeldt 741f0bfe8a Only show tooltips if mouse is still. 2021-02-20 10:45:19 +01:00
Emil Ernerfeldt 4354f7582f Improve the positioning of tooltips 2021-02-20 10:33:33 +01:00
Emil Ernerfeldt d5bb85b245 Add InputState::is_still to compliment InputState::is_moving 2021-02-20 09:26:58 +01:00
Emil Ernerfeldt 9c3b7d719b Bug fix: child painters now inherit color tint (e.g. grayed out) 2021-02-20 09:26:58 +01:00
Emil Ernerfeldt 21c99e1130 Add Ui::hyperlink_to 2021-02-20 09:26:58 +01:00
Emil Ernerfeldt 0f13fff24b Assign default colors to plot lines if not explicitly set 2021-02-18 18:59:59 +01:00
Emil Ernerfeldt a19140ec67 A simple 2D plot library 2021-02-17 22:54:10 +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 be8d7b4eef Slider: add largest_finite for log-sliders that include infinity 2021-02-12 17:45:27 +01:00
Emil Ernerfeldt 156d68d266 Refactor: move FrameState to own file 2021-02-08 23:03:41 +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 5ce681ef16 Improve documentation 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt a382fad1d0 Fix minor click detection bug 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt 6377a4231f [demo] Refactor and minor cleanup 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt e82fb81f07 Replace (ret, response) tuples with new struct InnerResponse 2021-02-07 14:09:44 +01:00
Emil Ernerfeldt df4c0257c0 Add Ui functions for doing manual layout ("put this widget here") 2021-02-07 13:48:55 +01:00
Emil Ernerfeldt bca722ddf8 Add ui.set_enabled(false) to disable all widgets in a Ui
Closes https://github.com/emilk/egui/issues/50
2021-02-07 10:55:45 +01:00
Emil Ernerfeldt d07a17ac6a Expose more color-related functions and types 2021-02-07 10:36:51 +01:00
Emil Ernerfeldt d6817b1b37 Fix doc errors 2021-02-07 00:13:45 +01:00
xue-blood ce14fa860b
Speed up fractal_clock painting (#152)
clip unwatchable line before drawing
2021-02-06 16:59:46 +01:00
Emil Ernerfeldt 26f966563a Add Grid::max_col_width 2021-02-06 16:54:38 +01:00
Emil Ernerfeldt 23581eee27 Add #[must_use] to ui.selectable_label and ui.radio 2021-02-06 16:03:27 +01:00
Emil Ernerfeldt b106d10202 [EasyMark] Fix incorrect handling of non-ASCII characters 2021-02-06 15:19:39 +01:00
Emil Ernerfeldt 91ce18d62f Widgets will now always line break at `\n` characters 2021-02-06 14:50:03 +01:00
Emil Ernerfeldt de204b5436 Improve documentation of style-related functions and types 2021-02-06 11:48:57 +01:00
Emil Ernerfeldt 2d9d06dbff [emath] Use const values for Vec2::ZERO, Rect::EVERYTHING etc 2021-02-05 10:11:39 +01:00
Emil Ernerfeldt 10e86b055d Stop SelectableLabel from wrapping text in horizontal layouts 2021-02-05 08:10:57 +01:00
Emil Ernerfeldt 0f37b009d6 Add TextEdit::hint_text for showing a weak hint text when empty 2021-02-03 21:06:50 +01:00
Emil Ernerfeldt af3195f086 Add ctx.set_visuals() 2021-02-03 19:38:50 +01:00
Emil Ernerfeldt a19fd7b780 Add light mode 2021-02-03 19:30:58 +01:00
Emil Ernerfeldt c536e1b0da Collaping header and indent: add a closing horizontal line 2021-02-03 00:55:53 +01:00
Emil Ernerfeldt 829455b347 Add `ui.group(|ui| { … })` to visually group some widgets within a frame 2021-02-03 00:25:07 +01:00
Emil Ernerfeldt ca886ea998 Add ui.visuals() as short for ui.style().visuals 2021-02-03 00:20:39 +01:00
Emil Ernerfeldt 2cbea02c8b refactor easy_mark_viewer.rs: break it up into logical parts 2021-02-01 17:00:42 +01:00
Emil Ernerfeldt 01fca2f31c Add Ui::spacing() and Ui::spacing_mut() as shortcuts 2021-02-01 16:56:29 +01:00
Emil Ernerfeldt 16d66bd22d Replace markdown editor with new 'EasyMark' markup language 2021-01-31 16:42:32 +01:00
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