You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

11 KiB

epaint changelog

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

This file is updated upon each release. Changes since the last release can be found at https://github.com/emilk/egui/compare/latest...HEAD or by running the scripts/generate_changelog.py script.

0.28.1 - 2024-07-05

Nothing new

0.28.0 - 2024-07-03

Added

  • Add RectShape::blur_width to implement shadows #4267 by @emilk
  • Overload operators for Rect + Margin, Rect - Margin etc #4277 by @emilk
  • Added ability to define colors at UV coordinates along a path #4353 by @murl-digital
  • Add a Display impl for Vec2, Pos2, and Rect #4428 by @tgross35

🔧 Changed

  • Move epaint::util::OrderedFloat to emath::OrderedFloat #4389 by @emilk
  • Remove extra_asserts and extra_debug_asserts feature flags #4478 by @emilk
  • Make epaint::mutex::RwLock allow ?Sized types #4485 by @crumblingstatue
  • Round text galley sizes to nearest UI point size #4578 by @emilk

🐛 Fixed

0.27.2 - 2024-04-02

  • Nothing new

0.27.1 - 2024-03-29

  • Fix visual glitch on the right side of highly rounded rectangles #4244
  • Prevent visual glitch when shadow blur width is very high #4245

0.27.0 - 2024-03-26

0.26.2 - 2024-02-14

  • Nothing new

0.26.1 - 2024-02-11

  • Nothing new

0.26.0 - 2024-02-05

0.25.0 - 2024-01-08

  • Replace a special Color32::PLACEHOLDER with widget fallback color #3727
  • Add support for dashed lines with offset #3720 (thanks @oscargus!)
  • Impl Clone for Fonts #3737
  • Fix: allow using the full Private Use Area for custom fonts #3509 (thanks @varphone!)
  • Add Color32::from_hex and Color32::to_hex #3570 #3777 (thanks @YgorSouza!)

0.24.1 - 2023-11-30

  • Optimize FontImage::srgba_pixels and reduce the initial font atlas texture size from 8MiB -> 1MiB #3666

0.24.0 - 2023-11-23

  • Use impl Into<Stroke> as argument in a few more places #3420 (thanks @Phen-Ro!)
  • Update MSRV to Rust 1.72 #3595
  • Make ViewportInPixels use integers, and clamp to bounds #3604 (thanks @Wumpf!)

0.23.0 - 2023-09-27

  • Update MSRV to Rust 1.70.0 #3310
  • Add option to truncate text at wrap width #3244 #3366
  • Add control of line height and letter spacing #3302
  • Support images with rounded corners #3257
  • Add ColorImage::from_gray #3166 (thanks @thomaseliot!)
  • Provide into_inner() for egui::mutex::{Mutex, RwLock} #3110 (thanks @KmolYuan!)
  • Fix problems with tabs in text #3355
  • Refactor: change ClippedShape from struct-enum to a normal struct #3225
  • Document when Galleys get invalidated #3024 (thanks @e00E!)

0.22.0 - 2023-05-23

  • Fix compiling epaint without bytemuck dependency #2913 (thanks @lunixbochs!)
  • Fix documentation for TextureId::Managed(0) #2998 (thanks @andersk!)

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.