All notable changes to this project will be documented in this file.
0.11.3 - 2024-12-26
- WGPU renderer: Fix crash when rendering without always calling
set_size()
. (#226)
0.11.1 - 2024-11-17
- No code changes, just a release for docs.rs.
0.11.0 - 2024-11-17
- Added WGPU renderer, behind
wgpu
feature flag. - Fixed rendering of glyphs with overlaps (#183). Thanks to Richard Hozák.
- Bumped MSRV to 1.76.
0.10.1 - 2024-10-24
- Fix accidental breakage with scissor clipping.
0.10.0 - 2024-10-23
- breaking: Removed the mutable reference of self in
new
constructor for Transform2D - Implemented arithmetic operations for
Transform2D
- Completed and improved documentation
- breaking: Removed methods
multipy
fromTransform2D
, since arithmetic operations are defined forTransform2D
now. - breaking: Renamed
Transform2D
methodsinversed
toinverse
andinverse
toinvert
. - breaking: Renamed
Transform2D
constructornew_translation
totranslation
and added new constructorsrotation
andscaling
. - Reimplemented
Transform2D
transformation functions (translate
,rotate
,scale
,skew_x
,skew_y
) to do what they are supposed to. - breaking: glow dependency bumped.
0.9.2 - 2024-06-27
- Fix path rendering where the default path solidity would interfere with the path's own winding direction (femtovg#124)
- Fix blurry text rendering when drawing on non-integer coordinates
- Bumped MSRV to 1.68.
0.9.1 - 2024-04-12
- Fixed inability to introspect
Path
verbs by makingPathIter
andVerb
public. - Fixed rendering of text strokes with large font sizes.
0.9.0 - 2024-02-27
- breaking: Removed pub key field in ImageId. This accidentally exposed the implementation detail of the image store (generational-arena), which has been replaced with slotmap.
- For WASM builds, require WebGL 2. This is supported by all major browsers
and needed to make
ImageFlags::REPEAT_X/Y
work. - Bumped MSRV to 1.66.
0.8.2 - 2024-01-20
- Improved performance when rendering large texts.
- Replace error logging to stderr with use of log crate.
0.8.1 - 2023-12-18
- Fix documentation build on docs.rs.
0.8.0 - 2023-11-02
- Re-release 0.7.2 with major version bump. 0.7.2 was yanked because glow is a re-exported public dependency, that was bumped.
0.7.2 - 2023-11-02
- Bump internal dependencies.
0.7.1 - 2023-06-14
- Fix performance regression when drawing unclipped image path fills.
0.7.0 - 2023-05-26
- Path drawing functions now take a
&Path
instead of a&mut Path
and use interior mutability for caching.
0.6.0 - 2023-02-06
- Changed
linear_gradient_stops
andradial_gradient_stops
to take anIntoIterator
instead of a slice slice for the color stops.
0.5.0 - 2023-02-06
- added a new
Size
struct, having awidth
and aheight
. - added
size
function toImage
type, which returns both,width
andheight
as aSize
- Renamed
draw_glyph_cmds
todraw_glyph_commands
. - Renamed
DrawCmd
toDrawCommand
. set_transform
takes a value of typeTransform2D
now instead of a parameter list.dimensions
ofImageSource
returns a newSize
type now.
0.4.0 - 2023-01-27
OpenGl::new_from_function_cstr
to create the renderer from a GL loading function that takes an&std::ffi::CStr
.
- Fixed erroneously multiply applied global alpha when mixing color glyphs with regular glyphs.
- MRSV was bumped to Rust 1.63, the crate now uses Rust Edition 2021.
new_from_glutin_context
can now be used with headless contexts.- All const-safe
Color
constructors are now const. Canvas
's text layout methods no longer require a mutable reference.- Removed the copy trait from
Paint
to avoid accidental copies. Paint
is always supplied by reference now.TextContext
'sresize_shaping_run_cache
andresize_shaped_words_cache
functions now take astd::num::NonZeroUsize
for the capacity value.- As part of the glutin update,
OpenGL::new_from_glutin_context
was renamed tonew_from_glutin_display
and takes a glutin display now. - Removed
glutin
from the default features.
0.3.7 - 2022-10-24
- Fix build with latest rustybuzz release after 0.5.2 breakage. 0.5.3 doesn't re-export the ttf_parser module anymore.
0.3.6 - 2022-10-23
- Fix build with latest rustybuzz release.
0.3.5 - 2022-05-23
- Optimized the OpenGL renderer to perform better on older GPUs by splitting the large fragment shader into smaller programs.
0.3.4 - 2022-04-07
- Added support for importing backend-specific textures into the rendering of a scene with
Canvas::create_image_from_native_texture
. - Added functions to
TextContext
to configure the text shaping caches:resize_shaping_run_cache
andresize_shaped_words_cache
.
- Added optimized rendering code path for the common case of filling a rectangular path with an image and anti-aliasing on the paint disabled.
- Fixed line breaking to permit a break in the middle of a word if it is the first word in the paragraph and it doesn't fit otherwise.
0.3.3 - 2022-02-21
- Bumped rustybuzz and ttf-parser dependencies.
0.3.2 - 2022-02-09
- Correctly detect when WebGL is disabled in a web browser in the
renderer::OpenGL::new_from_html_canvas
function.
0.3.1 - 2022-02-08
- Don't require default features of glutin. We don't need any and this way other users of glutin have the ability to opt out.
0.3.0 - 2022-02-04
- Breaking: The dependency to the
image
crate was bumped from0.23
to0.24
. Since the types of this crate are used in public femtovg API, users need to upgrade their dependency to theimage
crate as well. - Breaking: Removed deprecated
renderer::OpenGL::new
function. Userenderer::OpenGl::new_from_function
orrenderer::OpenGl::new_from_glutin_context
.
- Use
Paint::image_tint
to create an image paint that not only applies an alpha but an entire color (tint).
- Improved performance of
fill_path
andstroke_path