Commit graph

1352 commits

Author SHA1 Message Date
St John Giddy
e320ef6c64
Detect single-threaded mutex reentry in debug mode (#433)
* fix(plot): expose VLine and HLine

* feat(mutex): detect mutex lock reetry

* chore(mutex): fix lints in tests
2021-05-26 22:13:24 +02:00
Emil Ernerfeldt
c9766f8a7b
Resizable panels + right and bottom panels (#438)
* Side panel resizing and add right panels

* Add resizable top/bottom panels

* Deprecate TopPanel

* Final tweaks and update CHANGELOG.md
2021-05-26 22:06:10 +02:00
Emil Ernerfeldt
196ddff499 Rename Shape::polygon to Shape::convex_polygon
epaint only supports filling convex polygons (for now)
2021-05-20 22:14:08 +02:00
Emil Ernerfeldt
085233f907 Improve various documentation 2021-05-20 22:12:17 +02:00
Emil Ernerfeldt
5b462197fa Improve instructions in PR template 2021-05-20 22:07:02 +02:00
Emil Ernerfeldt
2dea4d8db2 Color picker: fix rare infinite loop in very weird situtations 2021-05-20 22:05:44 +02:00
Emil Ernerfeldt
f4ddc21740 Simplify IME cursor pos handling in TextEdit 2021-05-20 22:01:59 +02:00
Emil Ernerfeldt
6a576f4c34 Rename Output::text_cursor to text_cursor_pos 2021-05-20 21:58:44 +02:00
Emil Ernerfeldt
8cce09687f Expose text layout functions in Painter 2021-05-20 21:53:39 +02:00
Emil Ernerfeldt
53d5d32a80 GitHub issue templates: add reminder to check for duplicates 2021-05-20 21:47:17 +02:00
Emil Ernerfeldt
94479317b3 Add #[must_use] to container types: remind to call show() 2021-05-20 21:45:00 +02:00
Emil Ernerfeldt
a892519297 Add Style::override_text_style
Add Style::override_text_style to easily change the text style
of everything in a `Ui` (or globally).

You can now change `TextStyle` on checkboxes,
radio buttons and `SelectableLabel`.

Closes https://github.com/emilk/egui/issues/406
Closes https://github.com/emilk/egui/pull/407
2021-05-20 21:31:34 +02:00
Zenithsiz
57981d49ee
Add support for buffers other than a String in TextEdit (#399)
* Initial design for `TextBuffer` trait, to allow `TextEdit` to edit types other than `String`.

* Moved `insert_text` implementation into `TextBuffer`.
This allows the user to implement text inserting depedent on their type instead of using a `String` and converting back to `S`, which may be a lossless convertion.

* Moved part of `delete_selected_ccursor_range` implementation into `TextBuffer::delete_range`.

* `TextBuffer::insert_text` not returns how many characters were inserted into the buffer.
This allows implementations to "saturate" the buffer, only allowing for a limited length of characters to be inserted.

* Now using `byte_index_from_char_index` instead of custom implementation.

* `decrease_identation` impl now modified the string in-place.
Removed `From<String>` bound for `TextBuffer`.

* Added changes to changelog.

* Moved updated changelog to .

* Updated documentation on `TextBuffer`.

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Renamed `TextBuffer::delete_text_range` to `delete_char_range`.

Co-authored-by: Filipe Rodrigues <filipejacintorodrigues1@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2021-05-20 21:00:50 +02:00
Wojciech Kępka
d292b831a1
Add an option to overwrite frame of SidePanel and TopPanel (#418)
* Add an option to overwrite frame of SidePanel and TopPanel

* Update CHANGELOG
2021-05-20 20:10:30 +02:00
Gray Olson
c0929014bf
Add support for cint (conversions to and from color types) (#393)
* implement cint for color types under feature flag

* upgrade to cint 0.2, remove from default features

* upgrade to cint 0.2.1, add a couple more from/into implementations

* changelog entry

* fix typo in changelog

* sort dependency

* fmt
2021-05-20 20:09:52 +02:00
St John Giddy
ac82cc7be3
fix(plot): expose VLine and HLine (#422) 2021-05-20 19:56:45 +02:00
Ivo Vollrath
67c6002578
Fix mac scroll modifier (#402)
* fix modifier key for mouse wheel zoom

* update CHANGELOG

* fix zoom modifier for web backend

* improve instructions in plot demo window

* accept emilk's proposed change

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* update UI instructions for Plot demo

* improve UI instructions for plot demo

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2021-05-20 19:56:33 +02:00
Emil Ernerfeldt
5bc53ce069 Improve panel docs
Related to https://github.com/emilk/egui/issues/421
2021-05-20 19:48:34 +02:00
Violeta Hernández
de02f7d042
Value of DragValue correctly clamped (#405)
* Update drag_value.rs

* `value` → `old_value`
2021-05-18 20:03:04 +02:00
Emil Ernerfeldt
dd4ac43b13 Make sure egui can handle zero-sized screen rect
This would previously hit a debug assert

Fixes https://github.com/emilk/egui/issues/395
2021-05-17 22:53:52 +02:00
Emil Ernerfeldt
6e5b52e3bc Add features extra_asserts and extra_debug_asserts for more asserts
This replaces all debug_asserts with these opt-in asserts

Related: https://github.com/emilk/egui/issues/395
2021-05-17 22:38:39 +02:00
Emil Ernerfeldt
bd5a85808a egui_demo_lib: fix persistence feature flag 2021-05-17 22:37:36 +02:00
Sven Niederberger
bfabb70cba
Fix BottomUp layout (#386) 2021-05-15 09:37:33 +02:00
Emil Ernerfeldt
2f46c975a5 Fix wrong vertical align in default layout
Only seen when having unusually high buttons
2021-05-13 23:15:44 +02:00
Emil Ernerfeldt
442b953964 Tell docs.rs to use the --all-features flag when generating docs
Closes https://github.com/emilk/egui/issues/381
2021-05-12 20:02:25 +02:00
Emil Ernerfeldt
9c475204da Fix uneven text kerning for non-integral dpi scales
Closes https://github.com/emilk/egui/issues/382
2021-05-12 19:41:45 +02:00
Emil Ernerfeldt
50a2ed0a14 Update wasm-bindgen to 0.2.74 2021-05-12 19:40:15 +02:00
ilya sheprut
9dd23b44e0
readme: add nannou_egui (#379) 2021-05-12 13:29:37 +02:00
Emil Ernerfeldt
934bb7f5e9 egui_web: fix double-paste bug 2021-05-11 19:25:31 +02:00
Emil Ernerfeldt
7b0f991b20 Improve docs concerning custom fonts, themes and accessibility
Closes https://github.com/emilk/egui/pull/370
Closes https://github.com/emilk/egui/issues/372
2021-05-11 14:56:27 +02:00
Emil Ernerfeldt
8f8ba16696 Release 0.12.0 - Multitouch, user memory, window pivots, and improved plots 2021-05-10 18:27:39 +02:00
Emil Ernerfeldt
3e8723c8ac Publish new web demo 2021-05-10 18:16:50 +02:00
Emil Ernerfeldt
1423bac3aa Smooth fading of plot grid and tick labels 2021-05-10 18:13:22 +02:00
Emil Ernerfeldt
cf3d12669c Fix misc typos
Closes https://github.com/emilk/egui/pull/366
Closes https://github.com/emilk/egui/pull/365
2021-05-10 10:52:49 +02:00
Emil Ernerfeldt
7747a1f171 Update tts 0.15 -> 0.16 2021-05-09 14:42:14 +02:00
Emil Ernerfeldt
c476ddb57c cargo update 2021-05-09 14:37:56 +02:00
Emil Ernerfeldt
b1559963bf Enable a bunch more clippy lints 2021-05-09 14:13:09 +02:00
Emil Ernerfeldt
4022b84ae7 group rustdoc lints under rustdoc:: prefix 2021-05-09 14:01:57 +02:00
Emil Ernerfeldt
fb5176c133 #![allow(clippy::float_cmp)] everywhere
it has always been an annoyance, never a help
2021-05-09 14:00:53 +02:00
Emil Ernerfeldt
6ad6f56cb1 Move shell scripts into sh/ subfolder 2021-05-09 13:28:24 +02:00
Emil Ernerfeldt
38186fe23e Add a TODO 2021-05-09 13:20:27 +02:00
Emil Ernerfeldt
5a21bc78a6 minor code simplification 2021-05-09 13:19:09 +02:00
Emil Ernerfeldt
a8c3deaf08 Rename ui.wrap to ui.scope 2021-05-09 13:17:32 +02:00
Emil Ernerfeldt
9dc092b778 Clean up demos 2021-05-09 13:07:56 +02:00
Emil Ernerfeldt
aa3c40c49f bug fix: don't lock focus by default 2021-05-09 11:17:32 +02:00
Emil Ernerfeldt
0b52813f62 Sort demo windows (multi-touch demo was out of order) 2021-05-09 10:09:05 +02:00
Emil Ernerfeldt
4bb79a7047 Move normalize_angle to emath 2021-05-08 23:42:17 +02:00
Emil Ernerfeldt
dd6980bacb Implement non-proportional multitouch pinch zooming 2021-05-08 23:31:31 +02:00
Emil Ernerfeldt
04d9ce227b Tidy up multitouch code: remove double spaces after full stop
Weirdest thing I've seen in my life.
2021-05-08 22:49:40 +02:00
Emil Ernerfeldt
268ddca161 demo_app: Remove screen_reader from default features
closes https://github.com/emilk/egui/issues/338
2021-05-08 16:27:41 +02:00