11 KiB
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_widthto implement shadows #4267 by @emilk - Overload operators for
Rect + Margin,Rect - Marginetc #4277 by @emilk - Added ability to define colors at UV coordinates along a path #4353 by @murl-digital
- Add a
Displayimpl forVec2,Pos2, andRect#4428 by @tgross35
🔧 Changed
- Move
epaint::util::OrderedFloattoemath::OrderedFloat#4389 by @emilk - Remove
extra_assertsandextra_debug_assertsfeature flags #4478 by @emilk - Make
epaint::mutex::RwLockallow?Sizedtypes #4485 by @crumblingstatue - Round text galley sizes to nearest UI point size #4578 by @emilk
🐛 Fixed
- Fix incorrect line breaks #4377 by @juancampa
- Fix
hex_color!macro by re-exportingcolor_hexcrate fromecolor#4372 by @dataphract - Don't panic when replacement glyph is not found #4542 by @RyanBluth
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
- Add
ColorImage::from_gray_iter#3536 (thanks @wangxiaochuTHU!) - Convenience const fn for
Margin,RoundingandShadow#4080 (thanks @0Qwel!) - Added
Shape::{scale,translate}wrappers #4090 (thanks @varphone!) - Add
EllipseShape#4122 (thanks @TheTacBanana!) - Add
Margintoepaint#4231 - CSS-like
Shadowwith offset, spread, and blur #4232
0.26.2 - 2024-02-14
- Nothing new
0.26.1 - 2024-02-11
- Nothing new
0.26.0 - 2024-02-05
- Add
Align2::anchor_size#3863 - Add opacity factor to
TextShape#3916 (thanks @StratusFearMe21!) - Parallel tessellation with opt-in
rayonfeature #3934
0.25.0 - 2024-01-08
- Replace a special
Color32::PLACEHOLDERwith widget fallback color #3727 - Add support for dashed lines with offset #3720 (thanks @oscargus!)
- Impl
CloneforFonts#3737 - Fix: allow using the full Private Use Area for custom fonts #3509 (thanks @varphone!)
- Add
Color32::from_hexandColor32::to_hex#3570 #3777 (thanks @YgorSouza!)
0.24.1 - 2023-11-30
- Optimize
FontImage::srgba_pixelsand 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
ViewportInPixelsuse 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()foregui::mutex::{Mutex, RwLock}#3110 (thanks @KmolYuan!) - Fix problems with tabs in text #3355
- Refactor: change
ClippedShapefrom struct-enum to a normal struct #3225 - Document when
Galleys get invalidated #3024 (thanks @e00E!)
0.22.0 - 2023-05-23
- Fix compiling
epaintwithoutbytemuckdependency #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 createColor32's from hex strings under thecolor-hexfeature (#1596). - Optimize tessellation of filled circles by 10x or more (#1616).
- Added opt-in feature
deadlock_detectionto detect double-lock of mutexes on the same thread (#1619). - Texture loading now takes a
TextureOptionswith minification and magnification filters (#2224).
0.18.1 - 2022-05-01
- Change
Shape::Callbackfrom&dyn Anyto&mut dyn Anyto support more backends.
0.18.0 - 2022-04-30
- MSRV (Minimum Supported Rust Version) is now
1.60.0(#1467). - Added
Shape::Callbackfor backend-specific painting (#1351). - Added more text wrapping options (#1291):
- Added
TextWrappingstruct containing all wrapping options. - Added
LayoutJob::wrapfield containing these options. - Moved
LayoutJob::wrap_widthtoTextWrapping::max_width. - Added
TextWrapping::max_rowsto limit amount of rows the text should have. - Added
TextWrapping::break_anywhereto control should the text break at appropriate places or not. - Added
TextWrapping::overflow_characterto specify what character should be used to represent clipped text.
- Added
- Removed the
single_threaded/multi_threadedflags - epaint is now always thread-safe (#1390). Tessellator::from_optionsis nowTessellator::new(#1408).- Renamed
TessellationOptions::anti_aliastofeathering(#1408). - Renamed
AlphaImagetoFontImageto discourage any other use for it (#1412). - Dark text is darker and more readable on bright backgrounds (#1412).
- Fixed panic when tessellating a
Shape::Veccontaining meshes with differingTextureIds (#1445). - Added
Shape::galley_with_colorwhich adds the functionality ofPainter::galley_with_colorinto the Shape enum (#1461). - Renamed the feature
convert_bytemucktobytemuck(#1467). - Renamed the feature
serializetoserde(#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
TextStylewithFontIdwhich lets you pick any font size and font family. - Replaced
Fonts::font_imagewithfont_image_deltafor partial font atlas updates.
- Replaced
- Made the v-align and scale of user fonts tweakable (#1241).
- Added
ImageDataandTextureManagerfor loading images into textures (#1110). - Added
Shape::dashed_line_many(#1027). - Replaced
corner_radius: f32withrounding: 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
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,RectShapeandTextShapeused inenum Shape. - Added support for rotated text (see
TextShape). - Added
"convert_bytemuck"feature.