[librsvg] Created tag 2.47.0
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Created tag 2.47.0
- Date: Tue, 29 Oct 2019 14:09:16 +0000 (UTC)
The signed tag '2.47.0' was created.
Tagger: Federico Mena Quintero <federico gnome org>
Date: 1572358140 -0600
Tag for version 2.47.0
Changes since the last tag '2.46.0':
Federico Mena Quintero (149):
(#506): Fix empty patterns which reference a fallback pattern with children
Start branch explicit-bboxes
Remove the 91-nonzero-translation.svg test
Make stroke_and_fill() return a Result<BoundingBox>
DrawingCtx: remove the bbox field; propagate it through Results
Merge branch 'explicit-bboxes'
Use or_else() to compute fallbacks in gradients/patterns
set_pattern_on_draw_context(): consume the pattern instead of borrowing it
CommonGradient: new struct, a resolved version of CommonGradientData
LinearGradient: resolved version of LinearGradientData
RadialGradient: resolved version of RadialGradientData
CommonGradientData::set_on_cairo_pattern(): rename from set_on_pattern()
Rename PaintSource's associated type Source to Resolved
Move set_pattern_on_draw_context() to a new ResolvedPaintSource trait
Add ResolvedLinearGradient and ResolvedRadialGradient
Implement to_resolved() for NodeFooGradient as a macro
Move the functions which set the gradient on the DrawingCtx to other impls
Specify the resolved gradient type to impl_paint_source!()
impl_paint_source! - use a type, not a token tree, for the gradient
gradient.rs: remove "pub" in a bunch of places
Move the fallback field from CommonGradientData to NodeLinearGradient/NodeRadialGradient
Replace the two gradient nodes with a single NodeGradient
Simplify the while loop in NodeGradient::resolve()
gradient.rs: Don't impl Resolve; do everything directly in the structs
gradient.rs: Rename all the things to make them more consistent and shorter
Add an UnresolvedGradient, and use that instead of temporary clones of NodeGradient
add_color_stops_from_node(): Borrow the child node only once
NodeGradient::resolve(): Rename temporary variables
Inline Common into Gradient
Inline Linear/Radial into Variant
Give a name to the (UnresolvedGradient, next_fallback) tuple
Make resolve_*() not mutate self
Remove NodeStop.get_offset(); access the field directly
Fix tests
Remove superfluous binding
gradient: check the validity of the bbox as late as possible
Remove the bbox argument from PaintSource::resolve()
PaintSource::resolve() - Return a PaintServerError, not a RenderingError
Refactor DrawingCtx::get_clip_in_user_and_object_space()
Make sure we always pass a Some() to get_node_of_type()
DrawingCtx::get_node_of_type(): Take a &Fragment, not Option<&Fragment>
Return Result<Resolved> from resolve(), not Result<Option<Resolved>>
Go back to having NodeLinearGradient and NodeRadialGradient
Add back a Common structure for NodeFooGradient fields
Split off a get_unresolved_variant() function from each gradient type
Compress get_unresolved() with a macro
Cache resolved gradients
Move the resolved field into Common
Document the structs in gradient.rs
Clone the stops directly; don't use a helper clone_stops()
Merge branch 'refactor-gradient'
pattern: set the weak ref on the result, not the long-lived node
Use a strong reference to the pattern's node that has the children to draw
gradient: Ahem, really make resolve_from_fallback() immutable
Comment out RsvgWeakNode; it is unused
gradient: remove the fallback_to! macro now that plain Option.or will do
NodePattern: move the fallback field to the end
gradient: really make resolve_from_defaults() immutable
Make resolve_from_*() take &self, not &mut self
Prepare trait Resolve for immutability later
NodePattern: make fields private
NodePattern: move common fields to a Common struct
pattern: split off an UnresolvedPattern, similar to the gradient code
NodePattern: cache the resolved Pattern
Introduce UnresolvedNodeWithChildren to finally keep track of pattern's children properly
Rename to UnresolvedChildren / Children
Rename PaintServerError to AcquireError
Make get_node_from_type() return a Result, not an Option
Make get_node() return a Result, not an Option
Make get_node_of_type() take a slice of valid types, instead of a single one
Remove the public AcquiredNodes::get_type(); use get_node_of_type() everywhere
Rename get_node_of_type() to just acquire()
Make AcquiredNodes private; use DrawingCtx::acquire_node() everywhere instead
Rename trait and method to AsPaintSource::set_as_paint_source()
Merge branch 'refactor-pattern'
Use the cr.path_extents() from gtk-rs, not an unsafe call.
Use plain Pixbuf::new() now that it detects out-of-memory properly
Move pixbuf_utils to the librsvg_c_api crate
limits.rs - New file; move the constant for maximum instanced nodes here
Rename num_elements_rendered_through_use to num_elements_acquired
AcquireError: Add a MaxReferencesExceeded variant
Do the limits check in acquire_node()
Propagate AcquireError::MaxReferencesExceeded quickly upstream
Add test for the billion-laughs equivalent from issue #515
xml.rs: Export a single xml_load_from_possibly_compressed_stream() function
XmlState: make a field private
Inline load_from_possibly_compressed_stream() into its single caller
Use a IsA<gio::InputStream> generic only in the toplevel librsvg_crate API
Rename ctx to user_data in the libxml2 callbacks
Use Xml2Parser for the user_data of libxml2 SAX callbacks instead of XmlState
Call xmlStopParser() when the start_element callback returns an error
Use the last error obtained in XmlState as the final result
(#515) - Add a limit for the number of loaded elements
Merge branch 'limits'
Update NEWS
Merge branch 'pborelli/librsvg-light-source'
Bump Rust version to 1.36, for string-cache and Option.copied()
Merge branch 'pborelli/librsvg-clippy'
configure.ac: Bump to 2.47.0
AcquiredNodes: reorder the type/acquisition checks
Turn AcquiredNode into a real struct, not a tuple struct
AcquiredNode: store the stack as an Option.
AcquiredNodes: Only push nodes which are accessed by reference
NodeUse: don't drop the acquired node immediately
AcquireError::CircularReference(n) now stores an RsvgNode, not a Fragment
Make <use> always acquire itself, to catch circular references
(#308): Don't exhaust the stack on recursive <use>
Merge branch 'recursive-use'
Add a test for recursive feImage
Use the LGPL 2.1 consistently
Merge branch 'pborelli/librsvg-node-biun'
Merge branch 'kleisauke/librsvg-simplify-la-generate'
Merge branch 'make' into 'master'
Store a QualName instead of a LocalName for a node's element_name
Initialize the xmlSAXHandler in a more legible way
xmlSAXHandler: add prototypes for the startElementNs and endElementNs
PropertyBag: allow storing two kinds of data internally
PropertyBag: Add constructor for namespaced attributes from startElementNsSAX2Func
PropertyBag: handle empty attribute values
xml2_load.rs: Switch to using the namespaced SAX2 callbacks
(#521): Compute geometries correctly if there is a viewBox attribute
DrawingCtx.draw_node_on_surface(): Pass the affine directly
generate_cairo_mask(): Return the mask surface instead of masking here
Merge branch 'mask' into 'master'
NodePath: store a plain PathBuilder, not Option<PathBuilder>
Convert everything from LocalName to QualName
338-zero-sized-image.svg: Add missing namespace declaration for xlink
Add release notes about namespace support and strictness
342-use-references-ancestor.svg: Add missing namespace declaration for xlink
497-path-with-all-invalid-commands.svg: Remove invalid namespace declaration
777155-zero-sized-pattern.svg: Fix invalid namespaces
PropertyBag::new_from_namespaced_attributes: rename to new_from_xml2_attributes
PropertyBag: take in the element's namespace to assign it to attributes
Assign the empty namespace to the "id" attribute
tests/fixtures/errors/*.svg - Add missing namespace declarations
NEWS - note on namespace for xi:include
tests/fixtures/infinite-loop/* - Fix missing namespaces
Merge branch 'namespaces'
Merge branch 'docbuilder' into 'master'
c_api.rs: Extract the BaseUri logic to its own struct
BaseUrl: use a single Option for both the url and the cstring
Merge branch 'base-url-single-field'
CHandle: set/get the dpi in a single set of functions
CHandle: add accessors for setting/getting flags
c_api.rs: Make a bunch of functions private
CHandle: move the configuration part to an inner structure
Merge branch 'chandle-mutability'
Merge branch 'alatiera/function_arg_mut' into 'master'
Update NEWS
Jordan Petridis (4):
Allow failures on anything non-opensuse :/
COMPILING.md: update fedora deps
rsvg_internals: remove update note from cargo.toml
space.rs: make function argument variable mutable
Kleis Auke Wolthuizen (2):
Simplify the generation of the libtool archive file
Add a dummy file, to make sure the library is non-empty
Paolo Borelli (52):
Rename light node types
Use separate structs for light source nodes
Lighting: move compute_factor in an impl method
path_builder: use is_empty
property_defs: take self in is_vertical
handle: use is_none
handle: cleanup calls to map()
marker: use the ..= syntax
marker: prefer "if let"
properties: prefer "if let"
style: remove uneeded into_iter call
transform: cleanup map_err calls
svg: cleanup map call
svg: use is_empty
text: code cleanup
xml2: use "cloned()"
pattern: prefer or_else
gradient: prefer or_else
rect: shorten code using iterator methods
rect: add conversion to cairo::Rectangle
shared_surface: use rect conversion to shorten code
filters: use rect conversion to shorten code
surface_utils: prefer explicit conversion
turbolence: remove identity conversion
xml: use "copied()"
xml: use () instead of return
xml: use is_empty and return early
xml: shorten code using a single match
xml: cleanup map_err
angle: pass by value
drawing_ctx: pass colors and opacity by value
length: pass by value
aspect_ratio: use unwrap_or_default
structure: marge "else if" in outer "if"
angle: prefer explicit conversion
color: cleanup map() call
cond: cleanup map() call
css: use is_empty
css: cleanup map() call
drawing_ctx: use is_empty
font_props: prefer "if let"
font_props: do not clone Copy values
path_parser: simplify if clause
allowed_url: use is_empty
component_transfer: split FuncA, FuncR, FuncG, FuncB nodes.
lighting: split DiffuseLighting and SpecularLighting
shapes: split polygon and polyline nodes
node_create: move the call to default() in the macro
Makefile.am: update comment
mask: move code to surface_utils
Rename struct Svg to Document
document: factor out a DocumentBuilder object
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]