Commit graph

224 commits

Author SHA1 Message Date
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
Emil Ernerfeldt
2129a87575 [tesselator] handle paths with duplicated points better 2020-09-01 20:29:00 +02:00
Emil Ernerfeldt
62b1a2658f [tesselator] hide Path from view and improve thin rounded rectangles 2020-09-01 20:03:50 +02:00
Emil Ernerfeldt
96153a86e5 [refactor] Remove Option wrappers around colors and line styles
Just use transparency instead of None
2020-08-31 22:56:24 +02:00
Emil Ernerfeldt
413ed6999e [refactor] break up Style into Spacing, Interaction and Visuals
Also make sliders fixed-width
2020-08-31 22:27:31 +02:00
Emil Ernerfeldt
fe50f39590 [demo] toggle_switch.rs source demo for how to create your own widget 2020-08-31 07:55:31 +02:00
Emil Ernerfeldt
c0876eff90 [refactor] better names for widget style members 2020-08-31 07:55:28 +02:00
Emil Ernerfeldt
24003b17a3 [animation] add Context::animate_bool helper function 2020-08-30 10:26:16 +02:00
Emil Ernerfeldt
c23dfd155c [refactor] unify InteractInfo and GuiResponse to Response 2020-08-30 08:52:42 +02:00
Emil Ernerfeldt
3160c44a4b Move TODO-list to own TODO.md 2020-08-29 18:16:43 +02:00
Emil Ernerfeldt
8f1def11f1 [slider] remove ": " for sliders without text. still show value 2020-08-29 18:00:27 +02:00
Emil Ernerfeldt
f7122abc5d [slider] fix vertical alignment of text 2020-08-29 17:58:25 +02:00
Emil Ernerfeldt
1d350ad15b [painter] add helper functions for drawing lines, circles and rectangles 2020-08-29 17:30:06 +02:00
Emil Ernerfeldt
c27e53a7b2 [color] Rename Color to Srgba + sRGBA correct fading of thin lines
Also remove the extra large `aa_size` hack,
so everything now looks slightly crispier.

I also took the opportunity to tweak some colors.
2020-08-29 16:58:59 +02:00
Emil Ernerfeldt
2465e689fb [demo] additional window resize demo with embedded scroll 2020-08-29 15:32:17 +02:00
Emil Ernerfeldt
1a9618c524 spelling 2020-08-29 15:31:06 +02:00
Emil Ernerfeldt
3a3eb5ef5d Fix minor bug in mouse velocity tracking 2020-08-29 15:16:51 +02:00
Emil Ernerfeldt
f1989c39c6 input: keep using the latest known pixels_per_point 2020-08-29 15:15:50 +02:00
Emil Ernerfeldt
3d3b93da8b Force user to explicitly select a max height for a ScrollArea 2020-08-29 15:14:44 +02:00
Emil Ernerfeldt
5df9bfd514 Add ui.drag_angle helper 2020-08-29 15:10:59 +02:00
Emil Ernerfeldt
d4c0197752 add ui.horizontal_centered helper 2020-08-29 15:10:59 +02:00
Emil Ernerfeldt
7b75bd2d09 Use consistent order of width/color arguments for line style 2020-08-29 14:45:20 +02:00
Emil Ernerfeldt
b3b4fbc016 [slider] only show full precision if significant 2020-08-29 14:41:32 +02:00
Emil Ernerfeldt
cc22e2fbb4 [slider] when editing slider or drag-value, keep text edit box small 2020-08-29 12:17:49 +02:00
Emil Ernerfeldt
7cfa792a89 [interact] bug fix: fix drags sometimes being interpreted as clicks 2020-08-29 12:13:21 +02:00
Emil Ernerfeldt
d07132cc13 [demo] bug fix: add back clock in upper right corner 2020-08-29 12:12:16 +02:00
Emil Ernerfeldt
d5a1385870 [demo] disable name clash demo, since it is not working anyway 2020-08-28 16:43:24 +02:00
Emil Ernerfeldt
a2160a5e12 fix some corner cases for repaint requests 2020-08-28 16:41:37 +02:00
Emil Ernerfeldt
0755a95c76 Update README.md 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
b8938e01c4 [demo] add menu option to auto-reorganize windows 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
559b026b87 [demo] add windows that demonstrates auto-size, resize and scrolling 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
b02530b6fb [refactor] small cleanup and typo fixes 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
0bbf7edaee [window] increase default width of windows and resize areas 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
03bc4ea2e2 [window] make scroll bars in windows opt-in 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
5ed949bb32 deny warnings in egui lib (again. oops) 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
8c03f6a90f [window] prevent trying to shrink window smaller than title bar width 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
5f919e22a9 [ui] add ui.heading(text) helper function 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
056c0ad794 [window] round position to nearest physical pixel, not nearest point 2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
373b1c2911 Allow multithreaded use of egui
...but currently only in release build,
because in debug builds I want to be able to debug dead-locks from
locking the same resource from the same thread.
2020-08-28 16:24:20 +02:00
Emil Ernerfeldt
98bced7e62 [ui] bug fix: default size of horizontal/vertical regions 2020-08-28 15:43:00 +02:00