[librsvg] Created tag 2.45.6
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Created tag 2.45.6
- Date: Tue, 14 May 2019 19:45:56 +0000 (UTC)
The signed tag '2.45.6' was created.
Tagger: Federico Mena Quintero <federico gnome org>
Date: 1557852295 -0500
Tag for the 2.45.6 release
Changes since the last tag '2.45.5':
Chun-wei Fan (3):
config.h.win32.in: Include i18n items and cleanup
Visual Studio builds: Link to cairo-gobject
Visual Studio builds: Link to gettext-runtime for rsvg-view-3
Federico Mena Quintero (299):
LengthUnit: reorder enum variants a bit
Rename LengthUnit::Default to LengthUnit::Px
Rename LengthUnit::FontEm, FontEx to Em and Ex
Rename LengthUnit::Inch to LengthUnit::In
Briefly document each LengthUnit
LengthUnit: Add Cm, Mm, Pt, Pc per the CSS spec
length.rs: Add normalization tests for the new LengthUnit types
Cargo added a comment to Cargo.lock
RsvgUnit/RsvgLength - New public types
Svg::get_intrinsic_dimensions(): New method
rsvg_handle_get_intrinsic_dimensions(): New API
AspectRatio.compute() - Take a ViewBox instead of an object_width/object_height
AspectRatio.compute(): take the destination viewport as a cairo::Rectangle
Don't use deprecated str.trim_left() and trim_right()
draw_in_viewport(): Take the viewport as a Rectangle, not as separate values
draw_in_viewport(): represent do_clip/clip_mode with an Option<ClipMode>
draw_in_viewport(): Remove unneccessary call to set_matrix()
draw_in_viewport(): Don't take an affine argument; use the DrawingCtx's current affine
Abstract the "establish a new viewport" construct from SVG into DrawingCtx
image.rs: Use DrawingCtx.push_new_viewport() instead of doing things by hand
Post release version bump
Makefile.am: Call "cargo --locked" so it won't try to update the lockfile inadvertently
librsvg_crate: New crate; this will be the public Rust API for Rust programs
Provide a minimal loading API in librsvg_crate
Handle: don't take &mut self where &self will do
Add a CairoRenderer and an SvgHandle::get_cairo_renderer() method
CairoRenderer: add get_dimensions() method
librsvg_crate/examples/render.rs - Basic rendering example with the Rust API
librsvg_crate: Add a build.rs to find libcroco via pkg-config
rsvg_error_quark(): Port to Rust
Turn most g_warnings into panics, and don't use g_warning() when built as a standalone Rust crate
Don't use str.trim_left/right, use trim_start/end, bump Rust to 1.30
Don't use str.trim_left/right, use trim_start/end, bump Rust to 1.30
LoadOptions: add an unimplemented read() method
LoadOptions: add a read_file() method
LoadOptions: add a read_stream() method
CairoRenderer: add a get_geometry_for_element() method
CairoRenderer: add a render_element() method
LoadOptions: remove the base_url option
First pass at the librsvg crate's documentation
Add toplevel docs for librsvg_crate
Merge branch 'rust-api'
Remove unused imports
Fix comment
NodeSvg: extract the operation of getting the viewport to its own function
NodeSvg: store Option<> for the x/y/w/h viewport, per the spec
Derive some traits for IntrinsicDimensions
Merge branch 'master' into dimensions-api
CairoRenderer: implement get_intrinsic_dimensions()
Add test for computing the root element's dimensions
Add test for computing the geometry of a specific element
Add tests for computing geometries of invalid/nonexistent elements
Don't recurse into get_dimensions() from get_node_geometry()
font_size_from_values(): Inline the Em/Ex cases where it would call hand_normalize()
wip: pass the SVG's ComputedValues to svg.get_size()
Svg.get_size() - use length.normalize(), not hand_normalize()
Remove hand_normalize(); it is unused now. Yay!
DrawingCtx::new() - take full rectangles for viewport and viewbox
Handle.get_geometry_for_element() - new fundamental method without the "no size" magic
Extract function to check the status of a Cairo context
create_drawing_ctx_for_node() - Take in the viewport and vbox, don't construct them here
render_element_to_viewport() - new primitive, doesn't quite work yet
render_element_to_viewport(): Fix the origin of the initial vbox
DrawingCtx::new() - set up the initial coordinate system per the spec
Let aspect.viewport_to_viewbox_transform() deal with whether the vbox exists or not
Replace if Some(...) for and_then()
Refactor push_new_viewport() a bit
push_new_viewport(): avoid a temporary variable
Makefile.am: add the rest of the librsvg_crate sources
(#417) - Make the "cargo fmt" lint step in CI a manual process
cargo fmt now, for good measure :)
Revert "Revert the subclass branch temporarily"
Require Rust 1.31, per gtk-rs's new release
Merge branch 'syslang' into 'master'
Merge branch 'pborelli/librsvg-api'
render_to_pixbuf_at_size(): Handle a zero size by returning an empty pixbuf
Handle.get_pixbuf_sub() - return an empty pixbuf if the dimensions are zero
Merge branch 'zero-sized-callback'
NodeSvg.draw() - Use a few temporary variables
librsvg_crate/tests/compare_surfaces.rs: New file, port of test_utils_compare_surfaces() to Rust
Merge branch 'c_api' into 'master'
Move the viewport-is-zero-sized check to viewport_to_viewbox_transform()
Inline draw_in_viewport() in its two only callers
ClipMode: move to drawing_ctx.rs; remove viewport.rs
Add test for extracting dimensions of an element when the SVG is fully specified
Handle.get_node_geometry() - Don't use RsvgDimensionData anymore
librsvg_crate: geometry_for_element() now takes a viewport
Handle.close() - Use Svg::load_from_stream instead of lower-level functions
Handle.close() - use read_stream_sync() instead of duplicating that code
tests/api.c: Try to simulate how the gdk-pixbuf loader calls librsvg
librsvg_crate/tests/render_to_viewport.rs - New test for the render_to_viewport() API
(#433): Use the old logic when measuring geometries
(#11): Respect the "direction" property for bidirectional text
Use cairo::Context::tag_begin(); require Cairo 1.16.0
svg.rs: Destructure the BinaryData from io::acquire_data()
SharedImageSurface::from_pixbuf(): Call surf.set_mime_data() here, not in the single caller
Merge branch 'jsparber/librsvg-new_cairo'
Merge branch 'jsparber/librsvg-remove_clone'
Loader: remove the unimplemented read() method
CairoRenderer::render() - Removed; render_element_to_viewport() is the preferred way
CairoRenderer: Make dimensions() and render_cairo_sub() test functions only
Makefile.am: oops, remove render.rs
Merge branch 'alatiera/rust-2018' into 'master'
Don't use "extern crate" for the xml crate
Convert a bunch of "extern crate" to "use"
Add test for render_element_to_viewport() with a viewport not at 0,0
DrawingCtx: don't use the base offsets at all
NodeSvg: Use the initial viewport when rendering the toplevel SVG
rsvg-test: Try a 0 offset for the frame; this makes all tests pass
DrawingCtx.with_discrete_layer(): Add a few missing map_err to restore the original context
DrawingCtx.get_offset() - removed, since it always returned (0, 0)
DrawingCtx::new() - No need to calculate a specific affine now
DrawingCtx::set_affine_on_cr() - Removed, since it wasn't changing the affine anymore
wip: test render_to_viewport_with_transform()
DrawingCtx: Centralize the place where a viewport-sized surface gets created
DrawingCtx: extract function to get the clipping node
DrawingCtx: extract function to do the actual clipping to the clip path
DrawingCtx: clarify the mask vs. no-mask case a bit
DrawingCtx: Remove the original_cr confusion; it's always the self.cr now
Don't mutate the DrawingCtx's bbox in the clipping code
Pass the current bbox as immutable to the masking code
Convince myself that the bbox in the FilterContext is always the same
Pass the bbox of the node being filtered to the filters; don't extract it from the DrawingCtx
Pass the current node_bbox to the filters from the toplevel with_discrete_layer()
Replace the explicit bbox_stack by an implicit one
Split with_discrete_layer() into two cases
Don't get the temporary surface in a roundabout way
DrawingCtx::is_cairo_context_nested(): Removed; now the offsets are always 0
DrawingCtx.initial_cr: removed field, it is no longer used
DrawingCtx.initial_affine - store the initial affine of the Cairo context
with_discrete_layer(): Restore the state completely if a filter returns an error
clip_path.rs: Remove superfluous rebinding of the cr
(#426): Make rsvg_rust_handle_new_from_file() work on Windows and the latest glib
PathBuilder::to_cairo() - Check the cr.status after completing the path
(#438): Only create a temporary ImageSurface if we'll need filtering
Oops, we just need the cairo::prelude for SurfaceExt
NodeClipPath.to_cairo_context() - reorder code a bit
NodeClipPath.to_cairo_context() - Simplify the way in which the affine is set
DrawingCtx.with_saved_matrix() - new function
clip_path.rs: use DrawingCtx.with_saved_matrix()
node.rs: use DrawingCtx.with_saved_matrix()
DrawingCtx.with_saved_cr() - new function
image.rs: use DrawingCtx.with_saved_cr()
text.rs: use DrawingCtx.with_saved_cr()
marker.rs: use DrawingCtx.with_saved_cr()
with_discrete_layer(): use DrawingCtx.with_saved_cr()
with_discrete_layer(): avoid a temporary result
PathBuilder::to_cairo() - Check the cr.status after completing the path
(#438): Only create a temporary ImageSurface if we'll need filtering
Oops, we just need the cairo::prelude for SurfaceExt
NodeClipPath.to_cairo_context(): Don't take an affine; use the cr's
DrawingCtx::mask_surface(): inline into its only caller
NodeClipPath::to_cairo_context(): Move the short-circuit if there's no bounding box to the beginning
Rename variable
NodeMask::generate_cairo_mask(): Move the short-circuit if there's no bounding box to the beginning
Clarify just when we are measuring the toplevel SVG
Use a single conditional to figure out the SVG's viewport/viewBox
Rename variable
compute_luminance_to_alpha(): Take a SharedImageSurface, not an ImageSurface
(#445): Initialize libxml2 so multithreaded tests don't deadlock
Reset back to the initial_affine before clipping
Reset back to the initial_affine before masking
start breakage: restore the offset in rsvg-test
When using a temporary surface, un-transform by the initial_affine
clip_to_node() - don't consume the node reference
New test for clipping to a viewport offsetted by a transformation
New test for masking to a viewport offsetted by a transformation
Only use an untransformed affine if the cr_stack is empty
tests/render_to_viewport.rs: Extract function to do the rendering
tests/render_to_viewport.rs: Extract function to compare the test results
Make a librsvg_crate/tests/utils module
Rename test_file to compare_to_file
librsvg_crate/tests/primitives.rs - New tests for drawing primitives
Offset the initial_affine by the original viewport
opacity_inside_transformed_group(): New test for what caused Adwaita to fail
Nested temporary surfaces should not be offset with respect to each other
Print where the test suite is outputting test artifacts
Extract function to copy a surface to a SharedImageSurface
Initialize the DrawingCtx's bbox with the initial affine, for good measure
Don't rebind "affine", since we need the original value
Compute all of the affines in the same place
Rename variable
Compute the initial_inverse only once
Extract computation of affines to a separate function
Rename CompositingAffines.temporary to .for_temporary_surface
Pass the whole CompositingAffines to the masking code
Pass the intial offsetted affine as part of CompositingAffines
Oops, use the compositing affine when setting the mask
Move the decision about the topmost temporary surface to CompositingAffines::new
Rename "node" to "mask_node" when appropriate
CompositingAffines.outside_temporary_surface - renamed from .affine
Obviate the need for reusing a previous result
Push/pop the cairo_t while drawing a mask's contents
Fix the affines used in get_snapshot()
Extract function to compute the size of the temporary surface
(#295): Ensure the initial viewport fits into temporary surfaces for compositing
Handle.render_cairo_sub() - implement in terms of render_element_to_viewport()
librsvg_crate/tests: Broken try at explicitly loading fixtures relative to CARGO_MANIFEST_DIR
Merge branch 'viewport-with-offsets'
compare_to_surface(): Print how many pixels were different, and add a tolerance
render_to_viewport_with_different_size(): Convert to reftest
render_to_offsetted_viewport(): Convert to reftest
render_to_viewport_with_transform(): Convert to reftest
clip_on_transformed_viewport(): Convert to reftest
mask_on_transformed_viewport(): Convert to reftest
Remove unused imports
Makefile.am: Remove unused directory now that we have reftests
rsvg_handle_get_geometry_for_element(): New public API
Remove rsvg_handle_get_geometry_sub()
Add API test for rsvg_handle_get_geometry_for_element()
Document RsvgLength, RsvgUnit, rsvg_handle_get_intrinsic_dimensions()
Test for rsvg_handle_get_intrinsic_dimensions() and fix a bug, damnit
Mention which function replaces get_dimensions_sub/get_position_sub
Fix annotations for rsvg_handle_get_intrinsic_dimensions
(#430): Use the dpi value in CairoRenderer
Handle.get_svg() - encapsulate the RefCell borrowing nonsense
DrawingCtx::new() - take a node argument
Handle: add a setter/getter for load_flags so it isn't public
Condense Handle::new() and ::new_with_flags() into one
pixbuf_from_file_with_size_mode(): Use Handle directly
c_api.rs: Use a CHandle that just contains a Handle for the gobject's private data
Handle.construct_new_from_gfile_sync() - removed; use the stream version everywhere
librsvg_crate: remove unused functions
CHandle: move the dpi value from Handle to here
CHandle: move the load_flags value from Handle to here
LoadOptions.locale: make this field private and add a getter
LoadOptions::new() - Don't take a Locale; compute it internally
Make read_stream_sync() take a LoadOptions, not just a LoadFlags
get_node_geometry(): Inline into the only caller
XmlState::parse_from_stream(): make this a method
XmlState::load_from_possibly_compressed_stream(): turn into a method
Move the size_callback to CHandle
Move in_loop to CHandle
Handle: remove construct_read_stream_sync()
Move the mutable LoadState into CHandle
Merge branch 'pborelli/librsvg-handle'
Handle.get_svg() - removed; we can just access the svg field directly now
Handle.get_root() - Removed; use self.svg.root() directly
Merge branch 'normalize_angle-rounding-error' into 'master'
CHandle: restore the check for only setting the base_url before loading
Update to cssparser 0.25.5
Use cssparser.try_parse() instead of r#try
Remove unused 'mut'
Merge branch 'cssparser-update'
Start the css-renaming branch
Rename CssStyles to CssRules
Comment what a function does
Make Selector a type alias for String, to clarify what goes into CssRules
Node.set_atts() - Extract function to set the transform attribute
Use AttributeResultExt.attribute() to shorten a function
Use and_then instead of a match
Shorten Node.set_atts() with a chain of .and_then()
Set the presentation attributes in set_atts(), not in set_style()
Merge branch 'css-renaming'
Start sketching a ParsedProperty enum
Replace another .map_err() with .attribute() from AttributeResultExt
Move the xml:lang and xml:space parsing to parse_presentation_attributes()
Parse style properties into a ParsedProperty
parse_property(): Implement in terms of a parse_input() that uses cssparser
Store an Attribute as the key in DeclarationList, not a String
Store a ParsedProperty in a Declaration, not a String value
Remove parse_style_pair(); use set_style_pair_from_parsed_property() directly
Store the corresponding attribute in the Declaration
CssRules.add_declaration(): Renamed from define(); take a Declaration
Move Declaration to properties.rs
set_style_pair_from_parsed_property() - rename to set_property_from_declaration()
Use ValueErrorKind::UnknownProperty instead of a funny Result<Option<ParsedProperty>>
parse_attribute_value_into_parsed_property(): Take a cssparser::Parser, not a string
DeclParser: Basic implentation of cssparser::DeclarationParser
parse_style_declarations(): Use a cssparser::DeclarationListParser, woohooo!
Merge branch 'dont-reparse-style'
Make DeclarationList a real type, so we can change it later
Add a DeclarationList.iter() method
CssRules.lookup() - extract method
try_apply_by_selector(): move function from CssRules::lookup_apply()
parse_input() does not need to be public
Move all the cssparser-related impls to css.rs
property_defs.rs - Move all the property definitions to here
Merge branch 'css-refactor'
Save the value of the "style" attribute, and use it instead of poking at the pbag
Remove OwnedPropertyBag; it is unused now
(#403): Apply the CSS and "style" attribute at the end of loading
Merge branch 'set-styles-after-loading'
Selector: turn into a more concrete type
CssRules.get_matches() - Move CSS matching logic to here
Merge branch 'css-matching-not-in-node'
Merge branch 'pborelli/librsvg-acquired'
Merge branch 'malureau/librsvg-get_geometry_for_element'
Merge branch 'pborelli/librsvg-tree'
Fix obsolete comment
node.rs: Move related types closer to each other
Turn RsvgNode into a newtype on Rc<Node<NodeData>>
Merge branch 'rsvgnode-newtype'
(#443): Fix blurry output when enable-background is used without filters
Merge branch 'nodedisplay' into 'master'
rsvg-handle.c: Add a missing "Since:" annotation
Update NEWS
Use cargo-features=["edition"] to be able to vendor with the 2018 edition
Revert "Use cargo-features=["edition"] to be able to vendor with the 2018 edition"
Jordan Petridis (5):
cargo fmt
CI: Allow failure for rawhide and debian testing
(440): Port rsvg_internals to Rust 2018
(446): Accept IsA<InputStream> instead of plain InputStream wherever possible
crate: add an example that renders an svg to a file
Julian Sparber (2):
use tag_begin and tag_end of cairo v1.16, fix #435
remove useless clone
Kornel Lesiński (3):
Use libxml's structured error callback instead of vararg one
Use libxml's structured error callback instead of vararg one
Update dependencies
Marc-André Lureau (1):
rsvg-handle: take viewport as pointer for get_geometry_for_element()
Olivier Tilloy (1):
Fix rounding error on i386 (#455).
Paolo Angelo Borelli (1):
(#425): systemLanguage: do not fail parsing if the env is broken
Paolo Borelli (22):
systemLanguage: parse the env only once
(#425): set LANGUAGE for the tests
(#425) Use the test font map for the dimensions unit test
crate: rename LoadOptions to Loader
crate: add CairoRenderer::new
librsvg_crate: rename get_ from getters
librsvg_crate: remove bool arguments from loader
crate: rename LoadOptions to Loader
crate: add CairoRenderer::new
librsvg_crate: rename get_ from getters
librsvg_crate: remove bool arguments from loader
handle: remove handle_new/free
handle: impl Default for SizeCallback
c_api: move C api functions in the c_api module
c_api: use the From conversion trait for the flags
Handle: move LoadFlags to c_api
drawing_ctx: split AcquiredNodes in its own type
drawing_ctx: use NodeStack for AcquiredNodes
node: simplify node_new
tree_utils: rework API
xml: use last_child() to check for Chars
node: impl fmt::Display for RsvgNode
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]