[librsvg] Created tag 2.41.1
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Created tag 2.41.1
- Date: Fri, 1 Sep 2017 19:45:41 +0000 (UTC)
The signed tag '2.41.1' was created.
Tagger: Federico Mena Quintero <federico gnome org>
Date: Fri Sep 1 14:45:12 2017 -0500
Tag for version 2.41.1
Changes since the last tag '2.41.0':
Chun-wei Fan (10):
Visual Studio builds: Support Visual Studio 2017
Visual Studio builds: Move projects to win32/
Visual Studio builds: Fix Cargo output path
Visual Studio builds: Add facilities to build with FontConfig
Visual Studio builds: Include package version in property sheets
Visual Studio builds: Add scripts to generate .pc files
Visual Studio builds: Generate .pc files upon "install"
win32/replace.py: Fix replacing items in files with UTF-8 content
win32/rsvg-rust.mak: Streamline Rust build process
build: Check for PangoFT2/FontConfig availability
Federico Mena Quintero (357):
Post-release version bump to 2.41.1
Use a separate function to set PangoContext font options for testing
Use a hard-coded font file to render test images, for predictable font rendering
tests/render-crash: New test for things that crash the rendering code
bgo#777155 - Ignore patterns that have close-to-zero dimensions
Add Cargo.lock to git
rsvg-filter: Remove the 'upself' nonsense
rsvg-filter.c: Iterate the children of nodes with rsvg_node_foreach_child()
pattern_apply_fallback(): Don't access node->children->len directly
marker.rs: Factor out function to bisect the incoming/outgoing angles
Add RSVG_ASPECT_RATIO_DEFER even if it is not supported right now
aspect_ratio.rs: New module to parse preserveAspectRatio attributes
aspect_ratio.rs: Initial docs
Make aspect_ratio.rs's types public
aspect_ratio.rs: New function for the C code, rsvg_aspect_ratio_parse()
Removed rsvg_css_parse_aspect_ratio(); use the Rust rsvg_aspect_ratio_parse() instead
aspect_ratio.rs: New method AspectRatio.compute() to do the actual fitting
Use rsvg_aspect_ratio_compute() from Rust throughout; remove rsvg_preserve_aspect_ratio()
viewbox.rs: Rust equivalent to RsvgViewBox
util.rs: Move double_equals() and the renamed DBL_EPSILON here
draw_ctx.rs: New functions to get/set the current state's affine
util.rs: Move clone_fallback_name() here
Update Cargo.toml and Cargo.lock
Fix: cargo.lock
pattern.rs: Beginning of the Pattern code in Rust
AspectRatio: make to_u32() and from_u32() methods of AspectRatio
aspect_ratio.rs: Add test for parsing "none"
Cargo.toml: oops, don't point to files in my homedir...
Remove unused prototypes
marker.rs: Remove unused mut
Oops, update Cargo.lock
pattern.rs: New file; resolution of pattern fallbacks is now done in Rust
Add two tests of SVG patterns
rsvg_get_url_string(): Add argument to return the rest of the string after the IRI
Allow pattern specifications to have a fallback color, per the spec
Use the alternate solid color if a pattern cannot be acquired
Add more test files for patterns
Oops, actually allow recursive fallbacks for patterns and gradients.
More test files for patterns
Test pservers-pattern-09-f.svg from the official test suite
gradient.rs, pattern.rs: Do the fallbacks with a macro for less verbosity
New function rsvg_node_set_atts()
Rename rsvg_node_draw() to rsvg_node_draw_from_stack()
New function rsvg_node_draw() just to call the vmethod
node.rs: Start implementing the basic Node struct in Rust
cnode.rs: New stub for having a node implemented in C, accessible from Rust
The C-side representation of Nodes is a Box<Rc<Node>>
Implement more generic RsvgNode methods in Rust to replace the C functions
Remove RsvgNode's declaration from the C code
node.rs: Free the node.state in our Drop impl
cnode.rs: New function rsvg_rust_cnode_get_impl() to fetch the C-side implementation
pattern.rs: Remove unused imports
rsvg-filter.[ch]: Move over to rsvg_rust_cnode_new()
rsvg-paint-server.[ch]: Move over to rsvg_rust_cnode_new()
rsvg-image.[ch]: Move over to rsvg_rust_cnode_new()
Move the RsvgNodeChars implementation over to rsvg_rust_cnode_new()
rsvg-marker.[ch]: Move over to rsvg_rust_cnode_new()
rsvg-mask.[ch]: Move over to rsvg_rust_cnode_new()
rsvg-text.[ch]: Move over to rsvg_rust_cnode_new()
Audit casts in callers of rsvg_drawing_ctx_acquire_node_of_type()
Don't try to access a node->state directly, use rsvg_node_get_state() instead
Use rsvg_node_unref() to get rid of the nodes
node.rs: Implement rsvg_node_ref() and rsvg_node_unref()
node.rs: New function rsvg_node_is_same() to compare node pointers
Ref/unref the nodes at the toplevel rsvg-base
Unref the parent node after calling rsvg_node_get_parent()
fix: implement rsvg_node_add_child()
Don't use node1 == node2; use rsvg_node_is_same()
Disable tests/styles for now, as rsvg_node_get_state() is not exported
Oops, don't assert on null nodes
Ref the found node when iterating through children to find a specific node
Remove unused import.
rsvg_characters_impl(): Unref the chars node we just created
Don't leak the PangoFontMap we create only for tests
rsvg-test.c: Fix a couple of leaked strings
test-utils.c: Fix a string leak
find_last_chars_node(): Unref the last chars node we found if a tspan overrides it
shapes.rs: Render the path's markers
drawing_ctx.rs: Bring in rsvg_state_new()
cnode.rs: Factor out function to convert a *const RsvgNode into an Option<Weak<Node>>
shapes.rs: Fully implement NodePath in Rust. Yay!
shapes.rs: Factor out function to render a path builder
Remove an unused unsafe block
length.rs: Implement trait Default for RsvgLength
shapes.rs: NodeLine completely implemented in Rust. Yay!
node.rs: Remove unused mut
shapes.rs: NodeRect completely implemented in Rust!
shapes.rs: NodeCircle fully implemented in Rust!
shapes.rs: NodeEllipse fully implemented in Rust!
Update Cargo.toml for cairo-rs upstream
rust/src: Remove unused muts, modules, etc.
parsers.rs: New parser for the viewBox attribute
node.rs: New utility function boxed_node_new() for the node creators
viewbox.rs: Implement FromStr for RsvgViewBox based on the parsers
parsers.rs: Start a parser for SVG's list-of-points
rsvg-shapes.c is gone now; all the basic shapes are in shapes.rs now
viewbox.rs: Trim whitespace before parsing the viewBox string
shapes.rs: Trim whitespace from the list-of-points string before parsing it
Remove unused rsvg_render_markers()
parsers.rs: Add parser for angle_degrees()
Unfinished: Move the rest of rsvg-marker.c to Rust
New helper function rsvg_state_is_overflow()
Rename and export rsvg_drawing_ctx_add_clipping_rect() to Rust
drawing_ctx.rs: Import rsvg_drawing_ctx_acquire_node_of_type()
node.rs: Add a Node::with_impl() method, to access the NodeTrait impl out of band
marker.rs: Fully implement markers in Rust. rsvg-marker.c is gone!
property_bag.rs: New functions lookup_and_parse(), lookup_length()
length.rs: Be more explicit about what we match for default units
parsers.rs: make the angle() nom parser number_and_units() instead
RsvgLength::parse() - return a Result, not an RsvgLength
Make the get_c_impl() implementations unreachable for nodes implemented in Rust
pattern.rs: Remove rsvg_pattern_node_has_children(); implement in Rust
lib.rs: Don't include strtod.rs for now
marker.rs: Move declarations closer to their use
marker.rs: Rename the render_marker_*() functions to emit_marker_()
marker.rs: Add a type definition for a MarkerRenderFn
marker.rs: Extract marker positions from segments in separate functions
marker.rs: Pass around MarkerType values, not marker names
marker.rs: Implement render_markers_for_path_builder() in terms of an emitter
marker.rs: Inline a couple of functions that only get used once
marker.rs: Use a single emit_marker() function, not one for each endpoint
marker.rs: Split tests into modules for parser tests and directionality tests
marker.rs: Add initial tests for the generated markers and their angles
bgo#777834: Don't try to render text whose PangoLayout has zero extents
node.rs: Start defining node::Error type
node.rs: Implement fmt::Display and error::Error for node::Error
Make NodeTrait::set_atts() return a NodeResult
Node::draw(): Don't draw nodes that are in error
parsers.rs: Removed example code
Remove unused imports
Shuffle around node::Error and AttributeError
node.rs: Only drop the RsvgState if *not* in testing mode
error.rs: Move the NodeError machinery here, so other files can use it
ParseError: Remove the description field; only leave the display field
parsers.rs: New helper ParseError::new() which duplicates the description string itself
lib.rs: Remove exports that don't need to be exported
error.rs: Implement From<ParseError> for AttributeError
error.rs: Fix is_parse_error() and is_value_error()
property_bag.rs: New function parse_or_default()
error.rs: Remove unused argument
length.rs: Make Length::parse()'s Result have a ParseError
property_bag.rs: Make parse_or_default() know only about AttributeError, not ParseError
property_bag.rs: Turn lookup_length() into length_or_default(); return errors
marker.rs: Implement error handling for parsing MarkerUnits and MarkerOrient
property_bag.rs: Remove unused lookup_and_parse()
tests: Add the coords-trans-{01-08} tests from the SVG 1.1 test suite
rsvg_parse_style_attrs(): Take a full RsvgNode, not an RsvgState
NodeError: use a String for the attr_name, not a &'static str
node.rs: New function rsvg_node_set_attribute_parse_error()
Remove unused imports
rsvg-styles.c: Set a node's error when the transform can't be parsed
bgo#776932: Don't render nodes whose "transform" attribute is invalid
Rename rsvg_node_draw_from_stack() to rsvg_drawing_ctx_draw_node_from_stack()
rsvg_handle_render_cairo_sub(): Traverse and ref ancestors correctly
Factor out a function to add a node and its ancestors to the RsvgDrawingCtx's stack
drawing_ctx.rs: Wrap rsvg_drawing_ctx_draw_node_from_stack()
node.rs: new method Node::draw_children()
Wrap Node::draw_children() with rsvg_node_draw_children() and use that
marker.rs: Don't convert from *const RsvgNode to RsvgNode twice
Add struct-svg-03-f.svg from the SVG 1.1 test suite
Add a C getter for rsvg_state_get_cond_true()
structure.rs: Port NodeGroup, NodeDefs, NodeSwitch to Rust
Check the result on all uses of rsvg_parse_transform() and propagate errors
paint_server.rs: New file with a PaintServerUnits enum
Implement Default for PaintServerUnits, to yield ObjectBoundingBox
gradient.rs: Use PaintServerUnits instead of obj_bbox boolean values
pattern.rs: Define a PatternContentUnits newtype
pattern.rs: Use PaintServerUnits instead of obj_bbox boolean values
pattern.rs: Use PatternContentUnits instead of obj_cbbox boolean values
pattern.rs: Implement FromStr for PatternContentUnits
paint_server.rs: Fix errors
property_bag.rs: Implement parse_or_none(), length_or_none()
pattern.rs: Organize the used modules a bit
parse_transform.rs: Start a lalrpop parser for the "transform" attribute
parse_transform.lalrpop: Parse the "matrix" transform
parse_transform.lalrpop: Parse the "translate" transform
parse_transform.lalrpop: Parse the "scale" transform
parse_transform.lalrpop: Point to the correct section of the spec
parse_transform.lalrpop: Parse the "rotate" transform
parse_transform.lalrpop: Parse the "skewX" and "skewY" transforms
parse_transform.lalrpop: Parse chained transform lists
transform.rs: Move the transform parsing tests from parsers.rs to here
transform.rs: New public function parse_transform()
transform.rs: Implement rsvg_parse_transform() fully in Rust
rsvg_parse_style_pair(): remove unused "ctx" argument
rsvg_lookup_parse_style_pair(): remove unused "ctx" argument
rsvg_parse_style_pairs(): remove unused "ctx" argument
Oops, add the build file for lalrpop
rsvg-structure: Make RsvgNodeSvg an opaque structure
property_bag.rs: New functions length_or_value(), parse_or_value()
property_bag.rs: Wrap rsvg_property_bag_dup() and rsvg_property_bag_free() in Rust
Node.get_parent() - new method; returns a strong Rc<Node>
structure.rs: Finish moving NodeSvg over to Rust. Yay!
NodeSvg: Only access self.atts if it is non-null
NodeSvg: Don't inline the computation of the SVG's affine
Oops, list all the new Rust files in the toplevel Makefile.am
rsvg-filter.c: "azimuth", "elevation", "limitingConeAngle" are numbers, not angles
Remove unused rsvg_css_parse_angle() function.
Remove unused rsvg_css_parse_time() function.
Remove unused rsvg_css_parse_frequency() function.
parse_transform.lalrpop: Don't use "comma?" everywhere; use a helper production
Add struct-symbol-01-b.svg from the SVG 1.1 test suite
Add struct-use-01-t.svg from the SVG 1.1 test suite
Add struct-use-03-t.svg from the SVG 1.1 test suite
Add struct-use-04-b.svg from the SVG 1.1 test suite
Make NodeError::value_error() take two &str arguments, for convenience
NodeSvg: validate the width and height attributes
Node: new function Node::is_ancestor()
parse_transform.lalrpop: Use a maybe_comma construct instead of Num2
Update .gitignore
bgo#634324 - Gaussian blur with negative-scaling transformation matrix is not rendered
Add test files for the previous commit
Shorten filenames so tar can grok them, sigh
viewbox.rs: Use gboolean, not bool for field in a repr(C) struct
bbox.rs: Use glib_sys::gboolean, not bool for repr(C) structs
drawing_ctx.rs: Return values of gboolean map to glib_sys::gboolean, not bool
gradient.rs: bool -> glib_sys::gboolean
node.rs: bool -> glib_sys::gboolean
Remove a bunch of unused rsvg_path_builder_*() functions
pattern.rs: bool -> glib_sys::gboolean
transform.rs: bool -> glib_sys::gboolean
property_bag.rs: Remove unused function
Export rsvg_state_has_overflow() to Rust
structure.rs: Completely move NodeUse, NodeSymbol to Rust
Replace g_new() with g_new0() throughout
Sanitize the indentation specifiers for Emacs/Vim
color.rs: Start a parser for color specifications
RawColor: Add new_rgb() and new_argb() constructors to make callers nicer
Start using the servo/rust-cssparser crate to parse colors
color.rs: Declare ColorKind and ColorSpec that we can represent in C
color.rs: Convert directly from cssparser's Result to our ColorSpec
color.rs: Implement the new version of rsvg_css_parse_color() in Rust
Fully move rsvg_css_parse_color() to Rust. Yay!
Makefile.am: Oops, put the target directory under rust
Cargo.toml: Turn on link-time optimizations in release mode
property_bag.rs: New function transform_or_none() to parse transformation matrixes
structure.rs: Fix passing a dangling pointer (!)
pattern.rs: Fully implement NodePattern in Rust. Yay!
Make RsvgState.stop_color be an RsvgCssColorSpec; don't have an auxiliary StopColorMode anymore
rsvg_css_parse_vbox(): Remove unused function
StopColor: Remove unused enum
Remove redundant STOP_OPACITY_UNSPECIFIED
rsvg_state_get_stop_color(): New helper function to expose state->stop_color to Rust
rsvg_state_get_current_color(): Expose to Rust
StopOpacity: Turn into a struct; put both the "kind" enum and the actual opacity value here
opacity.rs: Implement an Opacity struct and a parser for it
StopOpacity: Rename to RsvgOpacitySpec
rsvg_css_parse_opacity(): Move entirely to Rust. Yay!
Remove unused prototype
rsvg_state_get_stop_opacity(): New function to expose this property to Rust
Color::from_color_spec() - Turn a ColorSpec from C back into a Result<Color>
drawing_ctx::state_get_stop_color(): Return a Result<Color>, not a ColorSpec
Opacity::from_opacity_spec(): New function, to deal only in Result<Opacity, ...>
drawing_ctx::state_get_stop_opacity() - Analogous to ::state_get_stop_color()
Length: make the length and unit fields public
opacity_to_u8(): Make public
drawing_ctx::state_free() - Bind rsvg_state_free() for Rust
drawing_ctx::state_get_current_color() - Promote the u32 result to a full Color value
stop.rs: Start porting the gradient stop element to Rust
NodeStop: add get_offset() and get_rgba() functions
Move NodeStop over to Rust. Yay!
rsvg_state_inherit_run(): When inheriting stop_color, mark the presence of the new color
pt.rs: Remove auxiliary file for parse_transform.lalrpop
*.rs - get rid of unused imports
PaintServerSpread: Use this instead of plain cairo::enums::Extend for gradients
gradient.rs: Fully move gradients to Rust. Yay!
Gradient: Factor out method to add color stops from a Node
parsers::number_optional_number(): New parser
transform.rs: Add missing 'extern'
rsvg_css_parse_number_optional_number(): Move to Rust
Handle parse errors in all calls to rsvg_css_parse_number_optional_number()
parsers::number_list() - New function to replace rsvg_css_parse_number_list()
parsers.rs: Add tests for garbage in number lists
Make rsvg_css_parse_number_list() correspond to the Rust version
Little update to NEWS
Move rsvg_css_parse_number_list() completely to Rust. Yay!
rsvg_css_parse_number_list(): Copy the array with copy_from_slice(), not manually
Merge remote-tracking branch 'origin/master'
rsvg-convert.1 - Remove references to Sourceforge
Add a CONTRIBUTING.md in preparation for gitlab.gnome.org
Move README to README.md and mark it up a bit
feConvolveMatrix: Use an enum for edgeMode, not ints
bgo#783835 - Don't divide by zero in box_blur_line() for gaussian blurs
feTile: don't divide by zero if the input surface has empty bounds
feGaussianBlur: Don't try to blur an invalid surface
rsvg-filter: Return NULL for invalid surfaces in rsvg_filter_get_{result,in}()
rsvg-filter: Deal with errors in all callers to rsvg_filter_get_result()
aspect_ratio.rs: Sigh, use the correct capitalization for xMinYMin et al
coords-viewattr-01-b.svg - New test for the preserveAspectRatio attribute
Makefile.am: Oops, add rust/build.rs to the sources
tests/README.md: Fix the markup a bit
parsers::list_of_points() - take a &str, not a &[u8]
parsers::number_and_units() - Deal in &str and plain Result, not &[u8] and nom::IResult
parsers::coordinate_pair() - This doesn't need to be public
parsers::view_box() - Deal in &str and Result, not in &[u8] and nom::IResult
parsers: Test that number_and_units() can parse percentages and units beginning with "e"
length.rs: Implement Length::parse() with rust-cssparser, not with nom
parsers::angle_degrees(): Implement with rust-cssparser instead of nom
property_bag::parse_or_none() doesn't need T to implement Default
RsvgViewBox::from_str(): Implement in terms of parsers::number_list()
parsers::list_of_points() - Implement with cssparser instead of nom
Remove the nom dependency. So long, and thanks for all the fish.
path_parser.rs: Use a shorter name for the declared lifetime of the chars_enumerator
Cargo.toml: Use the upstream cairo-rs now that Matrix::try_invert() is merged
Cargo.toml: make more compact; use crates.io
Cargo.toml: Move other crates to crates.io
aspect_ratio.rs: Update to the macro syntax in bitflags 0.9.1
Update to cairo-rs changes
Adjust to rust-cssparser API changes
Cargo.toml: Explicitly use the master branch of cairo-rs and friends
Adjust for rust-cssparser API changes
length.rs: Refactor parser to not have Ok() all over the place
opacity.rs: Refactor to not have Ok() all over the place
Refactor some more to avoid Ok() all over the place
Remove unused imports
De-reference Parser's tokens when matching, for legibility
bgo#779489 - Link to pangoft2 as well
Update Cargo.lock
rsvg-gobject.c: Tighten an assertion
rsvg-gobject.c: Use FALSE, not 0
rsvg_free_xml_parser_and_doc(): New function; we'll use it instead of freeing things by hand
rsvg-base.c: Use rsvg_free_xml_parser_and_doc() throughout
RsvgHandle: use a state field instead of finished/is_closed/first_write flags
rsvg_handle_dispose(): Free the libxml2 parser context
Update NEWS
rsvg_standard_element_start(): Remove unnecessary check
rsvg_handle_get_position_sub(): test for the presence of a toplevel node as soon as possible
bgo#786372 - In the style element, the type attribute should default to "text/css"
Update to the released cairo-rs 0.2.0
Require lalrpop 0.13.1 - now we can build on Rust nightly as well
path_builder.rs: Declare a PathCommand enum
Switch from cairo::PathSegment to our own PathCommand throughout
PathCommand: derive PartialEq so we can remove a custom comparison function
PathBuilder: use LargeArc and Sweep types instead of plain booleans
bgo#634514: Don't render unknown elements and their sub-elements
Add struct-cond-01-t.svg from the SVG test suite
bgo#785276: Don't crash on empty or single-byte files
Oops, sort the list of supported SVG features so <switch> works
Regenerate test reference files now that text rendering is fixed
Remove unnecessary includes
NodeUse: normalize to default values as early as possible
ViewBox: Represent unspecified view boxes as Option<ViewBox>
Add struct-use-09-b.svg and coords-viewattr-02-b.svg to the test suite
NodeUse: Unconditionally push a viewbox, to make this easier to refactor
Add coords-viewattr-03-b.svg to the test suite
marker.rs: Unconditionally push a viewbox, to make this easier to refactor
marker: Pop the things in the same order as NodeSvg and NodeUse, to make this easier to refactor
rsvg-cairo-draw: Comment on how we should be computing bounding boxes for viewports/clipping
Add a bunch of masking/clipping tests from the SVG test suite
Remove unused prototype
bgo#621088: rsvg_cairo_clip_render_new(): Don't leave uninitialized fields in the parent RsvgCairoRender
RsvgCairoClipRender: Implement the ::render_pango_layout() method, so we can clip text
pattern.rs: shorten the way we map option values
Makefile.am: Add "cargo vendor" to dist-hook
Don't pass --verbose to cargo build
Update NEWS
Oops, distribute the svg1.1/resources for the tests as well.
Jeremy Bicha (1):
bgo#778666 - Use our own thumbnailer specification file
Massimo (2):
marker.rs: New tests for angle bisection, and fix larger-than-half-turn angles
bgo#587721: Update the PangoLayout for the new matrix before rendering
Philip Withnall (2):
tools: Fix an incorrect g_new() call
tools: Fix a minor memory leak of command line arguments
Sebastian Dröge (1):
Add the start of a nom-based parser for floating-point numbers
Ting-Wei Lan (1):
bgo#782098 - Don't pass deprecated --nogtkinit to gtkdoc-scangobj
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]