neveko/neveko-gui/crates/epaint/CHANGELOG.md

5.5 KiB

epaint changelog

All notable changes to the epaint crate will be documented in this file.

Unreleased

0.21.0 - 2023-02-08

  • Improve the look of thin white lines (#2437).
  • Don't render \r (Carriage Return) (#2452).
  • Fix bug in Mesh::split_to_u16 (#2459).
  • Improve rendering of very thin rectangles.

0.20.0 - 2022-12-08

  • ⚠️ BREAKING: Fix text being too small (#2069).
  • ⚠️ BREAKING: epaint now expects integrations to do all color blending in gamma space (#2071).
  • Improve mixed CJK/Latin line-breaking (#1986).
  • Added Fonts::has_glyph(s) for querying if a glyph is supported (#2202).
  • Added support for thin space.
  • Split out color into its own crate, ecolor (#2399).

0.19.0 - 2022-08-20

  • MSRV (Minimum Supported Rust Version) is now 1.61.0 (#1846).
  • Added epaint::hex_color! to create Color32's from hex strings under the color-hex feature (#1596).
  • Optimize tessellation of filled circles by 10x or more (#1616).
  • Added opt-in feature deadlock_detection to detect double-lock of mutexes on the same thread (#1619).
  • Texture loading now takes a TextureOptions with minification and magnification filters (#2224).

0.18.1 - 2022-05-01

  • Change Shape::Callback from &dyn Any to &mut dyn Any to support more backends.

0.18.0 - 2022-04-30

  • MSRV (Minimum Supported Rust Version) is now 1.60.0 (#1467).
  • Added Shape::Callback for backend-specific painting (#1351).
  • Added more text wrapping options (#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.
  • Removed the single_threaded/multi_threaded flags - epaint is now always thread-safe (#1390).
  • Tessellator::from_options is now Tessellator::new (#1408).
  • Renamed TessellationOptions::anti_alias to feathering (#1408).
  • Renamed AlphaImage to FontImage to discourage any other use for it (#1412).
  • Dark text is darker and more readable on bright backgrounds (#1412).
  • Fixed panic when tessellating a Shape::Vec containing meshes with differing TextureIds (#1445).
  • Added Shape::galley_with_color which adds the functionality of Painter::galley_with_color into the Shape enum (#1461).
  • Renamed the feature convert_bytemuck to bytemuck (#1467).
  • Renamed the feature serialize to serde (#1467).
  • Added line breaking rules for Japanese text (#1498).
  • Optimize tessellation of circles and boxes with rounded corners (#1547).

0.17.0 - 2022-02-22

  • Much improved font selection (#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.
  • Made the v-align and scale of user fonts tweakable (#1241).
  • Added ImageData and TextureManager for loading images into textures (#1110).
  • Added Shape::dashed_line_many (#1027).
  • Replaced corner_radius: f32 with rounding: Rounding, allowing per-corner rounding settings (#1206).
  • Fixed anti-aliasing of filled paths with counter-clockwise winding order.
  • 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).

0.16.0 - 2021-12-29

  • Anti-alias path ends (#893).
  • Rgba now implements Hash (#886).
  • Renamed Texture to FontImage.

0.15.0 - 2021-10-24

  • 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.
  • Added support for rotated text (see TextShape).
  • Added "convert_bytemuck" feature.