Emil Ernerfeldt
d807451348
Release 0.13.0 - Better panels, plots and new visual style
2021-06-24 20:00:06 +02:00
Emil Ernerfeldt
1363ac4a24
demo: in font book, ask font what characters are supported
...
This replaces manual lists with a call to ab_glypgh::Font::codepoint_ids
plus names from the unicode_names2 crate.
2021-06-24 17:35:56 +02:00
Benjamin Bouvier
e22c242d17
Use ab_glyph instead of rusttype for font rendering ( #490 )
...
* Use ab_glyph instead of rusttype for font rendering
* address review feedback
2021-06-24 12:13:57 +02:00
Emil Ernerfeldt
6e7e88ba80
Use old 1.51 toolchain instead of bleeding edge ( #505 )
...
* Use old 1.51 toolchain instead of bleeding edge
1.52 and 1.53 has problems with incremental compilation,
so some people chose to stay on 1.51 for now.
So let's make sure egui supports 1.51 for a while!
* Update to cint 0.2.2 to get rust 1.51.0 compatability
2021-06-23 09:16:39 +02:00
Emil Ernerfeldt
269a4538d9
clippy fixes for rust 1.53
2021-06-22 23:38:34 +02:00
Emil Ernerfeldt
778bcc1ef7
Style tweaks ( #450 )
...
* Tweak style
More compact, less round, less noisy
* Button text is now same size as body text
* The rounder corners are now less rounded
* Collapsing headers no longer have a frame around them
* Combo-boxes looks better when opened
* Slightly more muted colors
* Remove extra line spacing after `\n` (i.e. between paragraphs)
* Thinner scrollbars
* Tweak light mode
* Tweak shadows
* Fix broken doc link
* Add style tweak to CHANGELOG
2021-06-12 15:53:56 +02:00
Emil Ernerfeldt
e6fe6a6f6a
Fix occasional jittery vertical positioning of glyphs
2021-05-28 19:51:10 +02:00
Violeta Hernández
66095b69a7
Disable default features of ord-float
( #440 )
...
* Might fix #439
* `cargo update`
If the page builds, then this did fix it.
2021-05-27 20:25:30 +02:00
Emil Ernerfeldt
3b807e1ad6
Add Context::set_debug_on_hover and egui::trace!(ui)
2021-05-27 19:30:08 +02:00
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
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
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
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
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
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
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
Luis Wirth
87bc26fb5a
implement mint conversions ( #352 )
...
* Implement mint conversions
Implement conversions for [mint](https://docs.rs/mint ) (math interoperability standard types).
- `impl {From, Into}<mint::Point2> for Pos2`
- `impl {From, Into}<mint::Vector2> for Vec2`
* Forward `mint` feature: egui -> epaint -> emath
2021-05-08 08:17:01 +02:00
Emil Ernerfeldt
66122e4c9a
Decrease indentation with shift-tab
2021-05-02 20:09:11 +02:00
Emil Ernerfeldt
bf8ce774cc
Don't draw bidi control characters
...
Closes https://github.com/emilk/egui/issues/336
2021-05-02 19:50:06 +02:00
Emil Ernerfeldt
7da9928548
Clean up new code editor code
2021-05-02 19:28:02 +02:00
Cristian Dinu
35c7b09285
Tab identation for multiline text edit ( #246 )
...
Lock focus on multiline text edit, and insert tabs on tab char
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2021-05-02 18:56:28 +02:00
David Pedersen
02a62d1986
Replace impl Into<String>
with impl ToString
( #302 )
...
* Replace `impl Into<String>` with `impl ToString`
This is something I ran into today. Types that implement
`std::fmt::Display` cannot be passed to functions that take `impl
Into<String>`. You have to call `display_thing.to_string()`. Its a small
thing but would be fixed by instead taking `impl ToString`.
Afaik `impl ToString` is a superset of `impl Into<String>`, unless users
manually implement `Into<String> for T` (or `From<T> for String`) for
their own types. However I think its more common to implement `Display`
as that works with `println` and friends. The main difference is that
`Display::fmt` can return errors but thats also quite rare in my
experience.
I did some testing in a [playground] and seems to work.
[playground]: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=1111e071f6ae416ae2688d58d2e9b575
* Silence warnings
2021-04-29 19:49:49 +02:00
Emil Ernerfeldt
58ebb217dc
Tesselator: ignore zero-sized clip rects
...
Improves https://github.com/emilk/egui/issues/328
2021-04-20 10:05:47 +02:00
Emil Ernerfeldt
0f1df90d90
Tesselator: ignore non-positive clip rectangles
...
Closes https://github.com/emilk/egui/issues/328
2021-04-19 23:00:30 +02:00
Emil Ernerfeldt
76d5229821
CI: run cargo doc ( #309 )
...
* Deny doc errors
* Add intentional bad intradoc link to test CI
* Add cargo doc to CI
* Fix carg doc web (add wasm32 target)
* Fix intentionally broken doc-link
2021-04-15 10:35:15 +02:00
Emil Ernerfeldt
d544c3dd8b
Release 0.11.0 - Optimization, screen reader & new layout logic
2021-04-05 14:49:06 +02:00
Emil Ernerfeldt
d848b2a664
Add TextEdit::password to hide input characters
2021-04-02 09:58:55 +02:00
Emil Ernerfeldt
fe0d31204e
Small optimization of tesselate_text
2021-04-01 23:07:15 +02:00
Emil Ernerfeldt
d7f9e2246c
Add a bunch on inline annotations
2021-04-01 23:07:15 +02:00
Emil Ernerfeldt
0a21b01c31
Fix nightly build: remove deprecated missing_crate_level_docs lint
...
Closes https://github.com/emilk/egui/issues/250 and
https://github.com/emilk/egui/pull/251
2021-03-31 20:00:22 +02:00
Emil Ernerfeldt
4808da44a2
Optimize: more inlining and more use of AHashMap
...
No real gains, but it didn't hurt either
2021-03-31 17:06:12 +02:00
Emil Ernerfeldt
17983e1bbc
Optimize tessellator by around 9%
2021-03-30 22:36:45 +02:00
Emil Ernerfeldt
8c4bb0d1d9
refactor: no need to pass Fonts structure to tessellator
...
This makes the tesselator take only data as argument,
which is a lot nicer.
2021-03-30 21:41:39 +02:00
Emil Ernerfeldt
0802a9d9c0
Optimize: get glyph uv rects during layouts instead of in tesselation
...
This allows them to be cached, saving around 20% total CPU.
It also makes the code more nicely structured
2021-03-30 21:07:19 +02:00
Emil Ernerfeldt
1c60dc8d66
Pass around Arc<Galley> to avoid copying a lot of data
2021-03-29 22:49:54 +02:00
Emil Ernerfeldt
94baf98eab
Add a galley cache to Fonts to avoid doing the same layout each frame
2021-03-29 22:49:48 +02:00
Emil Ernerfeldt
d4e5133da2
refactor fonts: put TextStyle in Galley instead of in Shape::Text
2021-03-29 21:24:09 +02:00
Emil Ernerfeldt
ade41403b5
refactor fonts: do all text layout via the Fonts struct
2021-03-29 21:12:11 +02:00
Emil Ernerfeldt
46425f1e38
Optimize: add #[inline(always)] to various low-level things
...
saves up to 20% (text tesselation), and at least 5% overall
2021-03-28 23:16:19 +02:00
Emil Ernerfeldt
cbe6faa83b
Render tab character (\t) as four spaces
2021-03-23 20:06:52 +01:00
Emil Ernerfeldt
fd3444473f
Add some clippy lints
2021-03-23 19:53:31 +01:00
Emil Ernerfeldt
f5c372910c
Replace emath::clamp with f32::clamp (new in rustc 1.50)
2021-03-21 17:47:03 +01:00
Emil Ernerfeldt
e20e3baa98
Bug-fixes related to recent layout rewrite
2021-03-21 14:48:12 +01:00
Emil Ernerfeldt
ec9f374d8c
Fix: centered horizontal layouts should never overflow upwards
2021-03-21 10:31:18 +01:00
Emil Ernerfeldt
36d9f8a7c7
Add sanity check on pixels_per_point range
2021-03-17 08:44:00 +01:00
Emil Ernerfeldt
30885b85f9
Derive PartialEq for Vertex, Mesh, Row, Galley and Shape
2021-03-13 12:58:17 +01:00