2021-10-10 13:35:13 +00:00
# epaint changelog
All notable changes to the epaint crate will be documented in this file.
2021-10-24 14:08:44 +00:00
2021-10-10 13:35:13 +00:00
## Unreleased
Fix text sizes being too small (#2069)
Closes https://github.com/emilk/egui/issues/2068
Before this PR, the default font, Ubuntu-Light, was ~11% smaller
than it should have been, and the default monospace font, Hack,
was ~14% smaller. This means that setting the font size `12` in egui
would yield smaller text than using that font size in any other app.
Ooops!
The change is that this PR now takes into account the ttf properties
`units_per_em` and `height_unscaled`.
If your egui application has specified you own font sizes or text styles
you will see the text in your application grow
larger, unless you go in and compensate by dividing all font sizes by
~1.21 for Ubuntu-Light/Proportional and ~1.16 for Hack/Monospace,
and with something else if you are using a custom font!
This effects any use of `FontId`, `RichText::size`, etc.
This PR changes the default `Style::text_styles` to compensate,
so the default egui style should look the same before and after this PR.
2022-09-21 19:31:08 +00:00
* ⚠️ BREAKING: Fix text being too small ([#2069](https://github.com/emilk/egui/pull/2069)).
2022-09-24 15:53:11 +00:00
* ⚠️ BREAKING: epaint now expects integrations to do all color blending in gamma space ([#2071](https://github.com/emilk/egui/pull/2071)).
2022-11-21 16:33:23 +00:00
* Added `Fonts::has_glyph(s)` for querying if a glyph is supported ([#2202](https://github.com/emilk/egui/pull/2202)).
* Added support for [thin space ](https://en.wikipedia.org/wiki/Thin_space ).
2022-08-20 14:44:05 +00:00
## 0.19.0 - 2022-08-20
* MSRV (Minimum Supported Rust Version) is now `1.61.0` ([#1846](https://github.com/emilk/egui/pull/1846)).
2022-05-16 14:44:29 +00:00
* Added `epaint::hex_color!` to create `Color32` 's from hex strings under the `color-hex` feature ([#1596](https://github.com/emilk/egui/pull/1596)).
2022-05-21 12:08:19 +00:00
* Optimize tessellation of filled circles by 10x or more ([#1616](https://github.com/emilk/egui/pull/1616)).
* Added opt-in feature `deadlock_detection` to detect double-lock of mutexes on the same thread ([#1619](https://github.com/emilk/egui/pull/1619)).
2022-11-02 16:54:06 +00:00
* Texture loading now takes a `TexureOptions` with minification and magnification filters ([#2224](https://github.com/emilk/egui/pull/2224)).
2022-05-16 14:44:29 +00:00
2022-04-30 18:27:27 +00:00
2022-05-01 09:35:29 +00:00
## 0.18.1 - 2022-05-01
* Change `Shape::Callback` from `&dyn Any` to `&mut dyn Any` to support more backends.
2022-04-30 18:27:27 +00:00
## 0.18.0 - 2022-04-30
2022-04-30 17:21:40 +00:00
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
2022-07-23 21:55:21 +00:00
* Added `Shape::Callback` for backend-specific painting ([#1351](https://github.com/emilk/egui/pull/1351)).
2022-04-03 18:28:47 +00:00
* Added more text wrapping options ([#1291](https://github.com/emilk/egui/pull/1291)):
* Added `TextWrapping` struct containing all wrapping options.
* Added `LayoutJob::wrap` field containing these options.
* Moved `LayoutJob::wrap_width` to `TextWrapping::max_width` .
* Added `TextWrapping::max_rows` to limit amount of rows the text should have.
* Added `TextWrapping::break_anywhere` to control should the text break at appropriate places or not.
* Added `TextWrapping::overflow_character` to specify what character should be used to represent clipped text.
2022-03-21 21:20:37 +00:00
* Removed the `single_threaded/multi_threaded` flags - epaint is now always thread-safe ([#1390](https://github.com/emilk/egui/pull/1390)).
2022-03-23 10:41:38 +00:00
* `Tessellator::from_options` is now `Tessellator::new` ([#1408](https://github.com/emilk/egui/pull/1408)).
* Renamed `TessellationOptions::anti_alias` to `feathering` ([#1408](https://github.com/emilk/egui/pull/1408)).
2022-03-23 15:49:49 +00:00
* Renamed `AlphaImage` to `FontImage` to discourage any other use for it ([#1412](https://github.com/emilk/egui/pull/1412)).
* Dark text is darker and more readable on bright backgrounds ([#1412](https://github.com/emilk/egui/pull/1412)).
2022-07-23 21:55:21 +00:00
* Fixed panic when tessellating a `Shape::Vec` containing meshes with differing `TextureId` s ([#1445](https://github.com/emilk/egui/pull/1445)).
2022-04-30 17:21:40 +00:00
* Added `Shape::galley_with_color` which adds the functionality of `Painter::galley_with_color` into the Shape enum ([#1461](https://github.com/emilk/egui/pull/1461)).
2022-04-09 11:54:47 +00:00
* Renamed the feature `convert_bytemuck` to `bytemuck` ([#1467](https://github.com/emilk/egui/pull/1467)).
* Renamed the feature `serialize` to `serde` ([#1467](https://github.com/emilk/egui/pull/1467)).
2022-07-23 21:55:21 +00:00
* Added line breaking rules for Japanese text ([#1498](https://github.com/emilk/egui/pull/1498)).
2022-04-30 11:14:33 +00:00
* Optimize tessellation of circles and boxes with rounded corners ([#1547](https://github.com/emilk/egui/pull/1547)).
2022-02-22 18:32:30 +00:00
## 0.17.0 - 2022-02-22
2022-01-24 13:32:36 +00:00
* Much improved font selection ([#1154](https://github.com/emilk/egui/pull/1154)):
* Replaced `TextStyle` with `FontId` which lets you pick any font size and font family.
* Replaced `Fonts::font_image` with `font_image_delta` for partial font atlas updates.
2022-02-21 15:10:05 +00:00
* Made the v-align and scale of user fonts tweakable ([#1241](https://github.com/emilk/egui/pull/1027)).
2022-01-24 13:32:36 +00:00
* Added `ImageData` and `TextureManager` for loading images into textures ([#1110](https://github.com/emilk/egui/pull/1110)).
2022-01-06 09:44:53 +00:00
* Added `Shape::dashed_line_many` ([#1027](https://github.com/emilk/egui/pull/1027)).
2022-02-05 17:13:46 +00:00
* Replaced `corner_radius: f32` with `rounding: Rounding` , allowing per-corner rounding settings ([#1206](https://github.com/emilk/egui/pull/1206)).
2022-07-23 21:55:21 +00:00
* Fixed anti-aliasing of filled paths with counter-clockwise winding order.
2022-02-19 19:42:42 +00:00
* Improve the anti-aliasing of filled paths with sharp corners, at the cost of these corners sometimes becoming badly extruded instead (see https://github.com/emilk/egui/issues/1226).
2022-01-15 12:59:52 +00:00
2021-12-29 11:07:05 +00:00
## 0.16.0 - 2021-12-29
2022-03-25 20:19:31 +00:00
* Anti-alias path ends ([#893](https://github.com/emilk/egui/pull/893)).
2021-12-29 11:07:05 +00:00
* `Rgba` now implements `Hash` ([#886](https://github.com/emilk/egui/pull/886)).
* Renamed `Texture` to `FontImage` .
2021-10-24 14:08:44 +00:00
## 0.15.0 - 2021-10-24
2021-10-10 13:35:13 +00:00
* `Fonts::layout_job` : New text layout engine allowing mixing fonts, colors and styles, with underlining and strikethrough.
* New `CircleShape` , `PathShape` , `RectShape` and `TextShape` used in `enum Shape` .
2022-01-24 13:32:36 +00:00
* Added support for rotated text (see `TextShape` ).
2021-10-10 13:35:13 +00:00
* Added `"convert_bytemuck"` feature.