Commit graph

1037 commits

Author SHA1 Message Date
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
Emil Ernerfeldt
48e42ff6a5 [drag-value] click on a DragValue to edit it 2020-08-28 14:35:39 +02:00
Emil Ernerfeldt
f3bbb210c0 [slider] click value to edit it with keyboard 2020-08-28 10:37:44 +02:00
Emil Ernerfeldt
1874f238eb [slider] show value with monospace font 2020-08-28 00:24:51 +02:00
Emil Ernerfeldt
ec1e8b9966 [drag-value] show full precision if needed 2020-08-28 00:22:58 +02:00
Emil Ernerfeldt
ecb703a696 [slider] show full precision of value if value is very precise 2020-08-28 00:14:57 +02:00
Emil Ernerfeldt
fd95f8a146 [slider] automatic slider precision display 2020-08-27 22:06:28 +02:00
Emil Ernerfeldt
f0287fb86d [slider] refactor to break up complex ui code 2020-08-27 21:38:07 +02:00
Emil Ernerfeldt
f2b23f1a0d [slider] smart aim for picking nice and round slider values 2020-08-27 20:58:41 +02:00
Emil Ernerfeldt
d0bfb0238d [refactor] break up math.rs into a mod of several files 2020-08-27 18:07:33 +02:00
Emil Ernerfeldt
98c9e9bb41 spelling fixes 2020-08-27 18:06:32 +02:00
Emil Ernerfeldt
d41b7a6234 [resize] remove Resize::handle_offset 2020-08-26 22:14:28 +02:00
Emil Ernerfeldt
a764b0d23f [window] visually indicate which windows can be resized 2020-08-26 20:55:23 +02:00
vkkoskie
9ed6a5f5ab
Allow mutable borrow of ui.style (#18) 2020-08-22 10:27:09 +02:00
Emil Ernerfeldt
73cea29f7d [docs] Improve README.md and documentation 2020-08-21 18:53:43 +02:00
Emil Ernerfeldt
ad9783a33d Update links to point to https://github.com/emilk/egui
because I renamed the github repository from "emigui" to "egui"
2020-08-10 19:38:46 +02:00
Emil Ernerfeldt
b06c9e94fb [egui] rename "with_serde" feature flag to just "serde" 2020-08-09 17:34:26 +02:00
Emil Ernerfeldt
b58142ba15 Update versions to 0.1.3 2020-08-09 17:30:12 +02:00
Emil Ernerfeldt
3facd5c587 [doc] improve docstrings in Egui 2020-08-09 17:24:32 +02:00
Tomas Sedovic
e26150e46f
Add collapsible to Window (#15)
This lets the user decide whether the Window can be collapsed or not.
The default is `true` (window is collapsible), but calling
`window.collapsible(false)` will hide the collapsing triangle icon and
prevent the window from being collapsed by clicking on the title.
2020-08-09 14:46:39 +02:00
Tomas Sedovic
40af177157
Add fixed_pos to Window (#16)
* Add fixed_pos to Window

This allows changing the position of a window by opening the window
with a different value.

* Add docstrings for `fixed_pos`
2020-08-09 14:31:46 +02:00
Emil Ernerfeldt
d4cb2fa62e [egui] Clean up Painter interface 2020-08-05 19:45:39 +02:00
Emil Ernerfeldt
efedb09b9f [text] show solid text cursor (less repainting) 2020-08-05 14:03:12 +02:00
Emil Ernerfeldt
81d642b1f1 [text] highlight the text edit widget being edited 2020-08-05 13:59:33 +02:00
Emil Ernerfeldt
2f161dd3d4 [text] surrender keyboard focus by clicking outside text edit area 2020-08-05 13:54:17 +02:00
Emil Ernerfeldt
2861bc956a [menu] click outside a menu to close it 2020-08-05 13:41:09 +02:00
Emil Ernerfeldt
56352c26a4 Expose egui::menu module 2020-08-05 10:21:15 +02:00
Emil Ernerfeldt
11df21e39e [refactor] extract paint code from Ui/Context to new struct Painter 2020-07-30 14:35:18 +02:00
Emil Ernerfeldt
42c94f9db9 [egui] fix build without "with_serde" feature 2020-07-30 12:40:05 +02:00
Emil Ernerfeldt
df2cba41ff [clippy] fix all clippy issues 2020-07-30 12:30:20 +02:00
Emil Ernerfeldt
f693a558c5 [web/glium] better text input filtering
CapsLock and function keys (F1, F2, ...) are now ignored on web.

All special keys are ignored on glium.
2020-07-30 11:58:24 +02:00
Emil Ernerfeldt
554e6e7120 [app] unify web and glium demo app 2020-07-23 19:04:23 +02:00
Emil Ernerfeldt
b79c76b9ce [doc] improve Egui documentation 2020-07-23 14:35:12 +02:00
Emil Ernerfeldt
61cdec8fca [refactor] rename 'example' to 'demo', and add simple example_glium 2020-07-23 12:18:19 +02:00
Emil Ernerfeldt
bf19eb2ec5 [refactor] minor code cleanup 2020-07-23 10:27:21 +02:00
Emil Ernerfeldt
9b9cd01c5c [glium] update to latest glium with EventLoop and vsync 2020-07-22 00:36:17 +02:00
Emil Ernerfeldt
6b6545958d [web] fix: repaint on pagehide, pageshow and resize 2020-07-20 15:08:39 +02:00
Emil Ernerfeldt
cb6b3bb58f Move web app contents to own window 2020-07-19 01:09:37 +02:00
Emil Ernerfeldt
57ae03f52d [web] minor fixes for reactive mode 2020-07-19 00:44:06 +02:00
Emil Ernerfeldt
900a758903 [resize] unify to one minimum size 2020-07-19 00:17:02 +02:00
Emil Ernerfeldt
07d2af885b [resize] improve default/min sizes of some resize areas 2020-07-19 00:16:04 +02:00
Emil Ernerfeldt
fccd135254 [refactor] rename 'PaintBatches' to 'PaintJobs' 2020-07-19 00:01:13 +02:00
Emil Ernerfeldt
3ecd6c0297 [web] implement reactive repainting
meaning: only repaint on new input
2020-07-18 19:54:42 +02:00
Emil Ernerfeldt
dfa4d52a94 [web] move all reusable web code into egui_web 2020-07-18 18:35:17 +02:00
Emil Ernerfeldt
0afad57d41 [web] port JS code to Rust 2020-07-18 13:30:23 +02:00
Emil Ernerfeldt
520e42c11c [backend] use hardware scissor rect in WebGL and glium 2020-07-17 10:29:21 +02:00
Emil Ernerfeldt
c204922a3a update some crates 2020-07-17 09:45:28 +02:00
Emil Ernerfeldt
67bafad8f9 [button] add ability to disable Button 2020-06-22 10:36:27 +02:00
Emil Ernerfeldt
10a9d48091 [scroll] animate scroll bar hide/show 2020-06-14 18:58:44 +02:00
Emil Ernerfeldt
bff7232e9d [paint] ignore negatively sized rectangles and circles 2020-06-14 18:58:44 +02:00
Emil Ernerfeldt
53dbbd0d53 [id] smarter id selection for collapsing header 2020-06-12 15:03:36 +02:00
Emil Ernerfeldt
5c2a0a59ac [collapsing header] add id_source to builder 2020-06-12 13:49:35 +02:00
Emil Ernerfeldt
916e667aa2 [style] tigher buttons and monospaced DragValue text 2020-06-11 18:07:42 +02:00
Emil Ernerfeldt
097730461d [input] add queries for if egui is interested in mouse/kb 2020-06-11 18:07:21 +02:00
Emil Ernerfeldt
94545409c6 [id] improve default Id generation
Base on child count instead of on screen position.
This is more robust against changing sizes of nearby widgets.
2020-06-11 18:06:23 +02:00
Emil Ernerfeldt
cc589c7bbc bump version to 0.1.2 2020-06-10 16:58:57 +02:00
Emil Ernerfeldt
acdc2b004f [widgets] new widget: DragValue 2020-06-10 16:23:49 +02:00
Emil Ernerfeldt
a90dda6162 [button] add sense so you can make drag buttons 2020-06-10 16:23:15 +02:00
Emil Ernerfeldt
2162ffff42 [slider] round so what you see is what you get 2020-06-10 16:22:31 +02:00
Emil Ernerfeldt
d0f5181197 [window] make resizing a bit smoother 2020-06-03 21:14:47 +02:00
Emil Ernerfeldt
1c9fdc3a48 bump egui version to 0.1.1 2020-06-03 11:03:02 +02:00
Emil Ernerfeldt
de95209676 [scroll] remember to expand clip region with the clip_rect_margin 2020-06-03 11:02:30 +02:00
Emil Ernerfeldt
2fa03f9a6c [window] improve automatic window positions 2020-06-03 11:02:30 +02:00
Emil Ernerfeldt
5bf8051be5 [style] rounded buttons and tweak some spacing and sizes 2020-06-03 11:02:30 +02:00
Emil Ernerfeldt
c35494e4ec [slider] bug fix: generate unique id for sliders 2020-06-03 11:02:30 +02:00
Emil Ernerfeldt
bea7e3a52e [egui] prepare for 0.1.0 release 2020-05-30 18:22:33 +02:00
Emil Ernerfeldt
2f4a3a1273 [window] auto-position windows in a column layout 2020-05-30 18:10:01 +02:00
Emil Ernerfeldt
347fdb97d6 [window] fix a bunch of resize-releated bugs 2020-05-30 17:51:01 +02:00
Emil Ernerfeldt
cde1e05853 [window] fix close button position on narrow windows 2020-05-30 16:31:43 +02:00
Emil Ernerfeldt
8b1f02f22c [egui] handle dynamic changes to pixels_per_point (dpi scaling)
Also: egui::Context::new() no longer takes any arguments
2020-05-30 14:56:38 +02:00
Emil Ernerfeldt
efe90c9326 [window] allow specifying pos/size with [f32; 2] 2020-05-30 11:48:33 +02:00
Emil Ernerfeldt
506dd11f73 [window] better mouse velocity tracking for throwing windows 2020-05-30 11:46:04 +02:00
Emil Ernerfeldt
598564cecc Fix some clippy issues 2020-05-30 11:16:31 +02:00
Emil Ernerfeldt
b80baf4039 [egui] make serde an optional dependency 2020-05-30 11:04:40 +02:00
Emil Ernerfeldt
fd5ab736bb Rename from "Emigui" to "Egui"
Shorter to type (especially in code).
2020-05-30 10:22:35 +02:00