[librsvg] Created tag 2.47.0



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]