commit 2c822d08197b06d24f869dab8f04f65f3aa38bd0
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 14:53:32 2018 -0500

    Update NEWS

 NEWS | 6 ++++++
 1 file changed, 6 insertions(+)

commit 2a03a221b03265c42db1d55f53dce5c92b00e2e3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 14:29:37 2018 -0500

    rsvg-test.c: Don't leak the cwd

 tests/rsvg-test.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 2cccd100d1ebdd7b16dd4ec043fa6af7a4ea70de
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 14:17:54 2018 -0500

    sax_processing_instruction_cb(): Don't leak the pbag iterator

 librsvg/rsvg-load.c | 2 ++
 1 file changed, 2 insertions(+)

commit dca2e4f034be83f8ac293fb579cd936681307d2a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 13:49:00 2018 -0500

    draw_node_from_stack(): Ahem, make this work in the original way.
    
    What was I thinking?

 rsvg_internals/src/drawing_ctx.rs | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

commit b4283ff083e0105b5fc8a8bee5290e0d8ec2eb37
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 13:18:52 2018 -0500

    is_cairo_context_nested(): Oops, the condition was backwards.

 rsvg_internals/src/drawing_ctx.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a9ebc8c77c35811d77a252bda50dce9461e1cad8
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 13:13:07 2018 -0500

    drawing_ctx.rs: Restore the original behavior of the cr_stack

 rsvg_internals/src/drawing_ctx.rs | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit d35aa27992593e8074af3db5aea503784a6d96ce
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 12:39:21 2018 -0500

    rsvg_drawing_ctx_new() - fix the type of the cr argument

 rsvg_internals/src/drawing_ctx.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 347c83afdec06fb00fcf3516258e16d7e7b6ff47
Merge: b982ccc4 e915da09
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 22 12:33:54 2018 -0500

    Merge branch 'master' into drawing-ctx-wip
    
    Basically, this adds a draw_ctx argument to all the filter functions,
    instead of keeping it in FilterContext.

commit e915da0935c8351d28a479520621561e49924662
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Fri Jun 22 13:40:31 2018 +0300

    Remove {un,}linearization boilerplate

 rsvg_internals/src/filters/blend.rs                |  57 ++++--------------
 rsvg_internals/src/filters/bounds.rs               |  20 ++-----
 rsvg_internals/src/filters/component_transfer.rs   |  29 ++-------
 rsvg_internals/src/filters/composite.rs            |  62 +++++---------------
 rsvg_internals/src/filters/context.rs              |  61 ++++++++++++++++++-
 rsvg_internals/src/filters/ffi.rs                  |  65 +++++++++++++++++----
 rsvg_internals/src/filters/flood.rs                |   5 ++
 rsvg_internals/src/filters/image.rs                |   5 ++
 rsvg_internals/src/filters/merge.rs                |  59 +++++++------------
 rsvg_internals/src/filters/mod.rs                  |  15 +++--
 rsvg_internals/src/filters/offset.rs               |   5 ++
 rsvg_internals/src/surface_utils/shared_surface.rs |  22 +++++++
 ...r-composite-color-interpolation-filters-ref.png | Bin 7951 -> 7948 bytes
 .../reftests/svg1.1/filters-composite-02-b-ref.png | Bin 15918 -> 15917 bytes
 .../reftests/svg1.1/filters-image-04-f-ref.png     | Bin 12642 -> 12582 bytes
 15 files changed, 220 insertions(+), 185 deletions(-)

commit 2391a7444c19372c470ff12bb89f2e7dce92459b
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Fri Jun 22 00:31:46 2018 +0300

    Implement color-interpolation-filters

 librsvg/rsvg-attributes.h                          |   1 +
 rsvg_internals/build.rs                            |   1 +
 rsvg_internals/src/filters/blend.rs                |  53 +++++++++++++----
 rsvg_internals/src/filters/component_transfer.rs   |  24 ++++++--
 rsvg_internals/src/filters/composite.rs            |  58 ++++++++++++------
 rsvg_internals/src/filters/merge.rs                |  37 +++++++++---
 rsvg_internals/src/state.rs                        |  21 +++++++
 .../reftests/bugs/241-light-source-type-ref.png    | Bin 3983 -> 4044 bytes
 .../fixtures/reftests/bugs/282-drop-shadow-ref.png | Bin 1699 -> 1726 bytes
 ...r-composite-color-interpolation-filters-ref.png | Bin 0 -> 7951 bytes
 ...ilter-composite-color-interpolation-filters.svg |  65 +++++++++++++++++++++
 .../reftests/svg1.1/filters-composite-04-f-ref.png | Bin 114677 -> 114495 bytes
 .../reftests/svg1.1/filters-composite-05-f-ref.png | Bin 33559 -> 29869 bytes
 13 files changed, 216 insertions(+), 44 deletions(-)

commit 438abbef4cca5c6cfde930d92e6029e072f56d3c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 21 19:33:30 2018 +0300

    Remove an extra inline(always)

 rsvg_internals/src/surface_utils/shared_surface.rs | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit 7af338291d9ca1d364e040296bf36fc79f47bf33
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 21 17:27:28 2018 +0300

    Enable LTO in benchmarks

 Cargo.toml | 3 +++
 1 file changed, 3 insertions(+)

commit 6707da825b12b82ebce3072fbe60c2f4c100812c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 21 17:15:16 2018 +0300

    Add a comment on channelmap

 rsvg_internals/src/filters/context.rs | 1 +
 1 file changed, 1 insertion(+)

commit c84014cba2b3c13f0c505d45841c2a819600feba
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 21 16:56:31 2018 +0300

    Change ImageSurfaceDataShared to a safe version

 Makefile.am                                        | 124 ++++-----
 librsvg/filters/color_matrix.c                     |   1 -
 librsvg/filters/convolve_matrix.c                  |   1 -
 librsvg/filters/diffuse_lighting.c                 |   1 -
 librsvg/filters/displacement_map.c                 |   1 -
 librsvg/filters/erode.c                            |   1 -
 librsvg/filters/gaussian_blur.c                    |   1 -
 librsvg/filters/specular_lighting.c                |   1 -
 librsvg/filters/tile.c                             |   1 -
 librsvg/filters/turbulence.c                       |   1 -
 rsvg_internals/benches/pixel_iterators.rs          |  10 +-
 rsvg_internals/src/filters/blend.rs                |  30 ++-
 rsvg_internals/src/filters/component_transfer.rs   |  21 +-
 rsvg_internals/src/filters/composite.rs            |  28 +-
 rsvg_internals/src/filters/context.rs              |  79 +++---
 rsvg_internals/src/filters/ffi.rs                  |  19 +-
 rsvg_internals/src/filters/flood.rs                |   7 +-
 rsvg_internals/src/filters/image.rs                |  19 +-
 rsvg_internals/src/filters/iterators.rs            | 288 ---------------------
 rsvg_internals/src/filters/merge.rs                |   8 +-
 rsvg_internals/src/filters/mod.rs                  |   1 -
 rsvg_internals/src/filters/offset.rs               |  31 ++-
 rsvg_internals/src/lib.rs                          |   1 +
 rsvg_internals/src/srgb.rs                         |  26 +-
 rsvg_internals/src/surface_utils/iterators.rs      | 142 ++++++++++
 rsvg_internals/src/surface_utils/mod.rs            |  33 +++
 rsvg_internals/src/surface_utils/shared_surface.rs | 139 ++++++++++
 27 files changed, 532 insertions(+), 483 deletions(-)

commit b982ccc4b5cd7912b3d06767e61f345242760b3b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 19:22:40 2018 -0500

    draw_node_from_stack(): Don't use an anonymous function helper

 rsvg_internals/src/drawing_ctx.rs | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 8b464fb9cae3cd797ad0feb46958522d79700d2e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 19:18:37 2018 -0500

    impl Drop for AcquiredNode: Fix mutability

 rsvg_internals/src/drawing_ctx.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1e101c79b3a33bece95e08256c031b8fe3c851c7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 19:17:42 2018 -0500

    add_node_and_ancestors_to_stack(): Fix mutability

 rsvg_internals/src/drawing_ctx.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3e99ac5ad690a091121d6d40a82dac98ca36d884
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 19:15:51 2018 -0500

    link.rs: Remove the with_tag() convenience function; use the primitives
    
    This is to avoid funky closure and borrows.

 rsvg_internals/src/link.rs | 22 +++++-----------------
 1 file changed, 5 insertions(+), 17 deletions(-)

commit 1fe859986c0224ae36ac3f6db7686fad77e73842
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 19:10:53 2018 -0500

    Don't keep a &DrawingCtx in FilterContext; pass it around to filter render functions
    
    This changes a lot of code, because all filter rendering functions now
    take a &mut DrawingCtx as an argument.  This not only makes them
    consistent with the normal node rendering functions, but it lets us
    avoid double mutable borrows if the draw_ctx needed to be kept in the
    FilterContext.

 librsvg/filters/color_matrix.c                   |   9 +-
 librsvg/filters/common.c                         |  60 --------
 librsvg/filters/common.h                         |  42 ++----
 librsvg/filters/convolve_matrix.c                |   9 +-
 librsvg/filters/diffuse_lighting.c               |  15 +-
 librsvg/filters/displacement_map.c               |  12 +-
 librsvg/filters/erode.c                          |  10 +-
 librsvg/filters/gaussian_blur.c                  |  10 +-
 librsvg/filters/specular_lighting.c              |  15 +-
 librsvg/filters/tile.c                           |  10 +-
 librsvg/filters/turbulence.c                     |  10 +-
 rsvg_internals/src/drawing_ctx.rs                |  13 +-
 rsvg_internals/src/filters/blend.rs              |  14 +-
 rsvg_internals/src/filters/bounds.rs             |  15 +-
 rsvg_internals/src/filters/component_transfer.rs |  16 +-
 rsvg_internals/src/filters/composite.rs          |  14 +-
 rsvg_internals/src/filters/context.rs            | 178 +++++++----------------
 rsvg_internals/src/filters/ffi.rs                |   7 +-
 rsvg_internals/src/filters/flood.rs              |  10 +-
 rsvg_internals/src/filters/image.rs              |  30 ++--
 rsvg_internals/src/filters/merge.rs              |  22 ++-
 rsvg_internals/src/filters/mod.rs                |  12 +-
 rsvg_internals/src/filters/offset.rs             |  16 +-
 rsvg_internals/src/lib.rs                        |   6 -
 rsvg_internals/src/structure.rs                  |   6 +-
 25 files changed, 248 insertions(+), 313 deletions(-)

commit 90b3682b7bcde2bff774df1096dedd62536cf14b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:38:13 2018 -0500

    DrawingCtx.get_cr_stack() doesn't need a mutable ctx

 rsvg_internals/src/drawing_ctx.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ffabcab24af831da4dd2b856105094c51010e221
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:37:29 2018 -0500

    DrawCtx is always mutable in the filter context

 rsvg_internals/src/filters/context.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 62872747f027bd52622b8c150fa1e52f4f0023d9
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:35:12 2018 -0500

    Clone a bbox to avoid causing a borrow

 rsvg_internals/src/filters/context.rs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 8b37a31140a21c9104e2357b87deb1c16125adae
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:27:47 2018 -0500

    Use a RefCell for the vector of acquired nodes
    
    get_acquired_node() is essentially a "give me a reference to a node",
    with some runtime checking underneath.  Having AcquiredNode hold a
    mutable reference to its parent DrawingCtx is highly inconvenient.
    This calls for some interior mutability in DrawingCtx just for the
    vector of acquired_nodes, so we use a RefCell.
    
    Also, have AcquiredNode store a pointer to that RefCell, so that it
    doesn't cause a borrow on the whole DrawingCtx.  This is unsafe, so
    "impl Drop for AcquiredNode" has a little unsafe code.  Let's see if
    we can refactor this in the future.

 rsvg_internals/src/drawing_ctx.rs | 24 ++++++++++++++----------
 rsvg_internals/src/gradient.rs    |  2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

commit ffc59ceeeda38f0057b0e34f76b75ad619189bbc
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:21:16 2018 -0500

    Store RsvgNode in draw_ctx.acquired_nodes, not pointers to RsvgNode
    
    They are Rc<Node> anyway; we can just have extra refs there.

 rsvg_internals/src/drawing_ctx.rs | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

commit 10f51674c59d76590483fe9bedf638039f345a36
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:07:34 2018 -0500

    Compute effects region in a way to not cause a double mutable borrow

 rsvg_internals/src/filters/context.rs | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

commit 3156161bee3706496d387eaecd17940816487e9a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 17:05:12 2018 -0500

    Clone the draw_ctx's bbox so the ctx doesn't get borrowed

 rsvg_internals/src/filters/context.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f662bd13d00a2caadd8a9fa10b45768490bd90fc
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 08:51:36 2018 -0500

    CONTRIBUTING.md: Note on formatting commit messages

 CONTRIBUTING.md | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit 17f9a16736d5d4c4a40f2d4d47963c45b38be44e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 21 08:42:19 2018 -0500

    (#292): Don't panic if we try to clip with an empty bounding box
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/292

 rsvg_internals/src/clip_path.rs                      |  6 ++++++
 tests/fixtures/render-crash/292-clip-empty-group.svg | 11 +++++++++++
 2 files changed, 17 insertions(+)

commit 603b29f2ae110dcc9f3c02bc77aa58b0044236cf
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Wed Jun 20 22:50:12 2018 +0200

    drawing_ctx: pass the context to the draw callback

 rsvg_internals/src/drawing_ctx.rs | 15 ++++++---------
 rsvg_internals/src/image.rs       |  6 +++---
 rsvg_internals/src/link.rs        |  8 ++++----
 rsvg_internals/src/marker.rs      |  4 ++--
 rsvg_internals/src/mask.rs        |  4 ++--
 rsvg_internals/src/pattern.rs     |  4 ++--
 rsvg_internals/src/shapes.rs      |  4 ++--
 rsvg_internals/src/structure.rs   | 20 ++++++++++----------
 rsvg_internals/src/text.rs        |  4 ++--
 rsvg_internals/src/viewport.rs    | 22 +++++++++++-----------
 10 files changed, 44 insertions(+), 47 deletions(-)

commit b054df6f56da80fcdd23754ca5b0f9ec2d8f8745
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Tue Jun 19 00:31:37 2018 +0200

    bbox: remove the C export

 librsvg/rsvg-private.h     | 25 -------------
 rsvg_internals/src/bbox.rs | 90 ----------------------------------------------
 rsvg_internals/src/lib.rs  | 10 ------
 3 files changed, 125 deletions(-)

commit 0ccc1d872537c56cdca5815954b71099784c83e2
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Sat Jun 16 13:16:13 2018 +0200

    wip: try to port drawing_ctx to rust

 Makefile.am                           |   2 -
 doc/Makefile.am                       |   2 -
 librsvg/filters/color_matrix.c        |   1 -
 librsvg/filters/common.c              |   1 -
 librsvg/filters/convolve_matrix.c     |   1 -
 librsvg/filters/diffuse_lighting.c    |   1 -
 librsvg/filters/displacement_map.c    |   1 -
 librsvg/filters/erode.c               |   1 -
 librsvg/filters/gaussian_blur.c       |   1 -
 librsvg/filters/light_source.c        |   1 -
 librsvg/filters/specular_lighting.c   |   1 -
 librsvg/filters/tile.c                |   1 -
 librsvg/filters/turbulence.c          |   1 -
 librsvg/rsvg-drawing-ctx.c            | 405 ---------------
 librsvg/rsvg-drawing-ctx.h            | 170 -------
 librsvg/rsvg-handle.c                 |   1 -
 librsvg/rsvg-private.h                |  32 ++
 rsvg_internals/src/clip_path.rs       |  12 +-
 rsvg_internals/src/draw.rs            |  38 +-
 rsvg_internals/src/drawing_ctx.rs     | 917 +++++++++++++++-------------------
 rsvg_internals/src/filters/bounds.rs  |   2 +-
 rsvg_internals/src/filters/context.rs |  64 ++-
 rsvg_internals/src/filters/ffi.rs     |   7 +-
 rsvg_internals/src/filters/image.rs   |  23 +-
 rsvg_internals/src/gradient.rs        |  30 +-
 rsvg_internals/src/image.rs           |   6 +-
 rsvg_internals/src/length.rs          |  16 +-
 rsvg_internals/src/lib.rs             |   3 +-
 rsvg_internals/src/link.rs            |   8 +-
 rsvg_internals/src/marker.rs          |  23 +-
 rsvg_internals/src/mask.rs            |  40 +-
 rsvg_internals/src/node.rs            |  20 +-
 rsvg_internals/src/paint_server.rs    |  23 +-
 rsvg_internals/src/pattern.rs         |  33 +-
 rsvg_internals/src/shapes.rs          |  20 +-
 rsvg_internals/src/structure.rs       |  33 +-
 rsvg_internals/src/text.rs            |  53 +-
 rsvg_internals/src/viewport.rs        |  19 +-
 38 files changed, 680 insertions(+), 1333 deletions(-)

commit d8db0bc69a24da0c1b29e7ba112071571003d49a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 20 17:14:27 2018 -0500

    Update NEWS

 NEWS | 1 +
 1 file changed, 1 insertion(+)

commit 2305c86ce450f39b1b137d1ffc52ad29bb24aeed
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 20 17:12:17 2018 -0500

    (#259): Make test fonts work for installed tests
    
    Don't hardcode the font locations based on the SRCDIR; actually
    compute their locations with g_test_build_filename().
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/259

 librsvg/rsvg-base.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 70cba3fd95b07f96249f8a1991fd2ed281791dec
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Wed Jun 20 22:56:18 2018 +0200

    image: remove unneeded cairo_save/restore
    
    draw_surface already does it

 rsvg_internals/src/image.rs | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit 3541e1dcfaf4e31195a75cdea8183c68d0354fd0
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 20 16:53:42 2018 -0500

    Update NEWS

 NEWS | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit bba52cb0da052b0fc8c7ecb4ae6f0b10075be52d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 19:09:24 2018 -0500

    with_discrete_layer(): Use IRI::get() on the IRI fields for less verbosity

 rsvg_internals/src/drawing_ctx.rs | 65 +++++++++++++++------------------------
 1 file changed, 24 insertions(+), 41 deletions(-)

commit dde7ab49e95195de0f149fe28c4f0c89f9dbccd5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 19:04:58 2018 -0500

    IRI::get() - new method

 rsvg_internals/src/iri.rs | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 0c882eb6b9cf497a5a69fc4d2c52aa5546728a3a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 18:59:04 2018 -0500

    with_discrete_layer(): No need to restore the original_cr's matrix
    
    Since we are doing save()/restore() on that original_cr.

 rsvg_internals/src/drawing_ctx.rs | 2 --
 1 file changed, 2 deletions(-)

commit af2ccff4b903fe6ba0371e7ca7bba5567f342157
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 18:57:55 2018 -0500

    with_discrete_layer(): We know that we can go back to the original_cr; don't re-fetch it

 rsvg_internals/src/drawing_ctx.rs | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

commit 2eb7a75f8b9e90846f04bed73c26aab9f146d6e7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 18:52:51 2018 -0500

    with_discrete_layer(): Replace a chain of "else" with .or()

 rsvg_internals/src/drawing_ctx.rs | 79 ++++++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 38 deletions(-)

commit cc4f961e4d6c9477a3e2be50262926ed58130572
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 18:26:59 2018 -0500

    with_discrete_layer(): Better identify the intermediate surface and its cr

 rsvg_internals/src/drawing_ctx.rs | 72 +++++++++++++++++++++------------------
 1 file changed, 38 insertions(+), 34 deletions(-)

commit 28f70e671a4552f0ace70ff1156fe497fc2ec169
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 18:14:17 2018 -0500

    with_discrete_layer(): Factor out the needs_temporary_surface computation

 rsvg_internals/src/drawing_ctx.rs | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 4b85731c814d658202de03c5a9c265030a55b56f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 17:59:51 2018 -0500

    with_discrete_layer(): Refactor obtaining the clip node and clip units

 rsvg_internals/src/drawing_ctx.rs | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

commit 8d7030936c3d00030c7887839e56b6142f8e7d85
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 17:36:17 2018 -0500

    with_discrete_layer(): Don't acquire the clip_node more than once

 rsvg_internals/src/drawing_ctx.rs | 50 +++++++++++++--------------------------
 1 file changed, 16 insertions(+), 34 deletions(-)

commit 4e243cc78494eb83b01402de49e9d7935537d5fb
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 17:27:42 2018 -0500

    with_discrete_layer(): Rename clip_uri variable

 rsvg_internals/src/drawing_ctx.rs | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 2c0b979a18502ab9c30e78efe584897d6c9331bb
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 16:26:10 2018 -0500

    with_discrete_layer(): Don't bind the same variables twice

 rsvg_internals/src/drawing_ctx.rs | 21 ---------------------
 1 file changed, 21 deletions(-)

commit 578fda3b1d8ffe29608ee2f48b32a7b6f25a45c0
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 16:23:33 2018 -0500

    with_discrete_layer(): Reduce the number of times we re-get the original cr

 rsvg_internals/src/drawing_ctx.rs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit 5e2b5b09813afde7a501132ca79e195ea68a42a4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 16:19:25 2018 -0500

    with_discrete_layer(): Don't have two huge if's, just a single one

 rsvg_internals/src/drawing_ctx.rs | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit ea97d13c26c172ca7422c0c8b892183e941eb708
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 16:04:25 2018 -0500

    push/pop_render_stack(): Removed; inlined them in with_discrete_layer()
    
    Now we can begin to clean up this mess.

 rsvg_internals/src/drawing_ctx.rs | 435 +++++++++++++++++++-------------------
 1 file changed, 215 insertions(+), 220 deletions(-)

commit d6537fd609426d3fc452f5f2cb878a420d0d7be4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:51:29 2018 -0500

    pop_render_stack(): Get the child_cr closer to where it is used

 rsvg_internals/src/drawing_ctx.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 15b166da577288f71d0193f1f3a78e2a50c5eef6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:47:07 2018 -0500

    push/pop_discrete_layer(): Removed - inline them in with_discrete_layer()

 rsvg_internals/src/drawing_ctx.rs | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)

commit 85382b299a1a2ba07992da6503022ef4c6902b19
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:46:02 2018 -0500

    pattern.rs: Use with_discrete_layer()

 rsvg_internals/src/pattern.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 016778ab616ef46d42e21ed148732654e8b8d8ec
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:43:40 2018 -0500

    viewport.rs: use with_discrete_layer()

 rsvg_internals/src/structure.rs |  4 +--
 rsvg_internals/src/viewport.rs  | 63 ++++++++++++++++++++---------------------
 2 files changed, 33 insertions(+), 34 deletions(-)

commit 132fa2ee2147f619acf4db52f58e96c690a2cc0f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:41:54 2018 -0500

    draw_in_viewport(): Take a draw_fn: &mut FnMut, similar to with_discrete_layer()

 rsvg_internals/src/structure.rs | 4 ++--
 rsvg_internals/src/viewport.rs  | 8 +++-----
 2 files changed, 5 insertions(+), 7 deletions(-)

commit 81b118e915d319fbf1c5fe1b2b4a1b1dace8beb9
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:38:19 2018 -0500

    viewport.rs: Inline everything into draw_in_viewport(); remove the tests (!)
    
    The trait we used for mocking the RsvgDrawingCtx in the tests was
    playing badly with the efforts to replace push/pop_discrete_layer()
    with a single with_discrete_layer() function.
    
    In the end I want to move to a model where RsvgDrawingCtx isn't
    essentially a globally mutable mess, and intead functions pass around
    a current Viewport that knows how to expose a cairo::Context and
    things like the viewport size.
    
    The tests here are removed, but they were essentially testing that we
    call preserve_aspect_ratio() with the correct values.  I hope to have
    more fine-grained tests in the future.

 rsvg_internals/src/viewport.rs | 266 ++---------------------------------------
 1 file changed, 11 insertions(+), 255 deletions(-)

commit 857e65773a7516eb7c539dba754d9ddad8f117e7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 15:31:30 2018 -0500

    viewport.rs: Simplify setting the clip rectangle for ClipToViewport

 rsvg_internals/src/viewport.rs | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

commit 9a7ee576e2078d131d5b210f38f49d9c3df293a6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 19 11:56:13 2018 -0500

    with_discrete_layer(): take a &mut FnMut
    
    Thanks to Ivan Molodetskikh for the tip!

 rsvg_internals/src/drawing_ctx.rs | 8 +++-----
 rsvg_internals/src/image.rs       | 2 +-
 rsvg_internals/src/link.rs        | 2 +-
 rsvg_internals/src/marker.rs      | 2 +-
 rsvg_internals/src/mask.rs        | 2 +-
 rsvg_internals/src/shapes.rs      | 2 +-
 rsvg_internals/src/structure.rs   | 6 +++---
 rsvg_internals/src/text.rs        | 2 +-
 8 files changed, 12 insertions(+), 14 deletions(-)

commit 4176bd7e99b46bbe6e067cc88e33b41df87f4b41
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Tue Jun 19 00:19:40 2018 +0200

    drawing_ctx: add ink_rect getter
    
    This removes the last use of RsvgBbox outside drawing_ctx

 librsvg/rsvg-drawing-ctx.h        |  4 ++++
 librsvg/rsvg-handle.c             |  8 ++------
 rsvg_internals/src/drawing_ctx.rs | 17 +++++++++++++++++
 rsvg_internals/src/lib.rs         |  1 +
 4 files changed, 24 insertions(+), 6 deletions(-)

commit 01d789e6000a4dcde0d918607e34998d11367672
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Mon Jun 18 23:21:05 2018 +0200

    bbox: add with_extents method
    
    Similar to with_rect and removes the only place (from a quick look)
    where we assign bbox rect/ink_rect from outside

 rsvg_internals/src/bbox.rs | 19 +++++++++++++++++++
 rsvg_internals/src/draw.rs | 30 ++++--------------------------
 2 files changed, 23 insertions(+), 26 deletions(-)

commit d03a084b11f561c6fc038f73da2bad5f93876cdd
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 18:11:06 2018 -0500

    mask.rs: Use with_discrete_layer()

 rsvg_internals/src/mask.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 6673b9060b2da6189b574d2c7ca1b6f3b519c58d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 18:08:05 2018 -0500

    link.rs: Use with_discrete_layer()

 rsvg_internals/src/link.rs | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

commit 74e36e9e155028dd97a44debd3319fed6a19b558
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 18:06:08 2018 -0500

    text.rs: Use with_discrete_layer() - now it needs an FnMut

 rsvg_internals/src/drawing_ctx.rs |  4 ++--
 rsvg_internals/src/text.rs        | 12 +++++-------
 2 files changed, 7 insertions(+), 9 deletions(-)

commit 6ffef4b511041a93a95672f8aa28d58c56a40803
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 16:12:16 2018 -0500

    marker.rs: Use with_discrete_layer()

 rsvg_internals/src/marker.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7698863412f4f78fb0442c7c8177695697075810
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 09:34:02 2018 -0500

    structure.rs: Use with_discrete_layer()

 rsvg_internals/src/structure.rs | 46 +++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 25 deletions(-)

commit ef85b04dadcb938fa4aea40068850ff7ae63beec
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 09:30:14 2018 -0500

    shapes.rs: Use with_discrete_layer()

 rsvg_internals/src/shapes.rs | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit fd3258f9c757e66ea5ed691e162b69f9a6e1b717
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Jun 18 09:23:34 2018 -0500

    drawing_ctx::with_discrete_layer() - New function, will replace push/pop
    
    We will move to a model where instead of push/pop actions for
    different kinds of things, we have either do_something_with(lambda function),
    or a scope-based object.

 rsvg_internals/src/drawing_ctx.rs | 16 ++++++++++++++++
 rsvg_internals/src/image.rs       | 37 +++++++++++++++++--------------------
 2 files changed, 33 insertions(+), 20 deletions(-)

commit 162a702aa7fc9d2d96be388927404cab1388db88
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 21:36:36 2018 -0500

    draw_children(): Remove the node argument; it's unused now

 rsvg_internals/src/clip_path.rs | 2 +-
 rsvg_internals/src/link.rs      | 4 ++--
 rsvg_internals/src/marker.rs    | 2 +-
 rsvg_internals/src/mask.rs      | 2 +-
 rsvg_internals/src/node.rs      | 1 -
 rsvg_internals/src/pattern.rs   | 2 +-
 rsvg_internals/src/structure.rs | 5 ++---
 7 files changed, 8 insertions(+), 10 deletions(-)

commit a4c81cf76c88e8fa73a2a175d7f22917119d4d7e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 21:33:37 2018 -0500

    Remove the with_layer argument throughout
    
    Specifically, this was used in draw_children to decide whether to
    push/pop a layer or not.
    
    It was true everywhere, except in the two callers to
    draw_in_viewport(), as that function already pushes a layer by itself.
    
    So, to remove this exception and the with_layer argument, we now
    explicitly push a layer wherever we need it.

 rsvg_internals/src/clip_path.rs   |  3 ++-
 rsvg_internals/src/drawing_ctx.rs |  2 +-
 rsvg_internals/src/image.rs       |  1 -
 rsvg_internals/src/link.rs        | 24 +++++++++---------------
 rsvg_internals/src/marker.rs      |  4 +++-
 rsvg_internals/src/mask.rs        |  4 +++-
 rsvg_internals/src/node.rs        | 16 +---------------
 rsvg_internals/src/pattern.rs     |  6 +++++-
 rsvg_internals/src/shapes.rs      |  6 ------
 rsvg_internals/src/structure.rs   | 15 ++++++++-------
 rsvg_internals/src/text.rs        |  1 -
 11 files changed, 32 insertions(+), 50 deletions(-)

commit f2670e226df2ab967fab85f101e79dc3828efc14
Merge: 5adc2b80 5eea1087
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Mon Jun 18 13:27:49 2018 +0000

    Merge branch 'drawing-ctx' into 'master'
    
    drawing_ctx: move add_node_and_ancestors to rust
    
    See merge request GNOME/librsvg!83

commit 5eea10873969149857afed6bf27d5aeba2717f88
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Sat Jun 16 14:41:12 2018 +0200

    drawing_ctx: move add_node_and_ancestors to rust
    
    This might seem a little bit odd, since it adds more code than
    it removes, but I want to try to push toward the goals of having
    drawing ctx C functions called only by drawing_ctx.rs.
    Beside iterating the ancestors in rust is not as trivial as it
    sounds...

 librsvg/rsvg-drawing-ctx.c        | 11 ++---------
 librsvg/rsvg-drawing-ctx.h        |  7 ++++++-
 librsvg/rsvg-handle.c             |  4 +++-
 rsvg_internals/src/drawing_ctx.rs | 25 +++++++++++++++++++++++++
 rsvg_internals/src/lib.rs         |  1 +
 5 files changed, 37 insertions(+), 11 deletions(-)

commit 5adc2b80d6ef2358e20ea7c6ff57d3b56b1f38a2
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Mon Jun 18 15:52:10 2018 +0300

    Don't truncate offsets in feOffset

 rsvg_internals/src/filters/offset.rs | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 109ec2a99fac34e9cff9b7ab47562f8e5faba64c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Mon Jun 18 15:49:16 2018 +0300

    Remove two obsolete functions

 rsvg_internals/src/lib.rs   |  2 --
 rsvg_internals/src/state.rs | 19 -------------------
 2 files changed, 21 deletions(-)

commit e0dbe0ce0d1a6bca0f2a46f618ef6a33cac2bb1f
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Sat Jun 16 15:45:20 2018 +0300

    Port feComponentTransfer to Rust

 Makefile.am                                        |   2 +-
 librsvg/filters/component_transfer.c               | 416 ---------------------
 rsvg_internals/src/filters/component_transfer.rs   | 397 ++++++++++++++++++++
 rsvg_internals/src/filters/ffi.rs                  |   1 +
 rsvg_internals/src/filters/mod.rs                  |   1 +
 rsvg_internals/src/load.rs                         |  48 ++-
 ...-component-transfer-from-reference-page-ref.png | Bin 0 -> 6956 bytes
 ...lter-component-transfer-from-reference-page.svg |  63 ++++
 .../reftests/svg1.1/filters-color-02-b-ref.png     | Bin 6047 -> 6455 bytes
 9 files changed, 494 insertions(+), 434 deletions(-)

commit eb08f4eb44a9ca64a4b003263f66f2bc42ad4de6
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Sat Jun 16 15:44:43 2018 +0300

    Add unbounded list size to parsers::number_list()

 rsvg_internals/src/parsers.rs | 48 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 39 insertions(+), 9 deletions(-)

commit b0b8035fa64986b8528e4c849d9ee7e1b4a5aa68
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Sat Jun 16 15:44:26 2018 +0300

    Derive Clone on node::Children

 rsvg_internals/src/node.rs | 1 +
 1 file changed, 1 insertion(+)

commit cb37d0d4085375ee75023e19e39aca47112946f9
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Fri Jun 15 12:51:26 2018 +0300

    Port feBlend to Rust

 Makefile.am                                        |   2 +-
 librsvg/filters/blend.c                            | 285 ---------------------
 rsvg_internals/src/filters/blend.rs                | 146 +++++++++++
 rsvg_internals/src/filters/ffi.rs                  |   5 +-
 rsvg_internals/src/filters/mod.rs                  |   1 +
 rsvg_internals/src/load.rs                         |  10 +-
 .../reftests/svg1.1/filters-blend-01-b-ref.png     | Bin 0 -> 15246 bytes
 .../reftests/svg1.1/filters-blend-01-b.svg         | 108 ++++++++
 8 files changed, 262 insertions(+), 295 deletions(-)

commit 8ea9cdb53dfed57c0db93ef77e00b4535eddab1c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Fri Jun 15 12:35:42 2018 +0300

    Fix extends in draw_surface()

 rsvg_internals/src/draw.rs                         |  20 ++++++++++++++++++--
 .../reftests/svg1.1/filters-composite-04-f-ref.png | Bin 114631 -> 114677 bytes
 2 files changed, 18 insertions(+), 2 deletions(-)

commit 6ca08494520fc6387d9e4d22c37987fc6aaa251d
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 19:57:52 2018 +0300

    Remake feOffset in terms of cairo

 rsvg_internals/src/filters/offset.rs | 47 ++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 26 deletions(-)

commit 890ddedbe55731cec3528a2f359071aa47477d85
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 16:57:24 2018 +0300

    Refactor srgb::

 rsvg_internals/src/srgb.rs | 141 ++++++++++++++-------------------------------
 1 file changed, 42 insertions(+), 99 deletions(-)

commit 74240bc0b763a0dd5f29f16092cb78e683b33b4c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 16:56:46 2018 +0300

    Return cairo::Status error from ImgSurfDataShared

 rsvg_internals/src/filters/composite.rs | 10 ++++++++--
 rsvg_internals/src/filters/iterators.rs |  9 ++++-----
 rsvg_internals/src/filters/offset.rs    |  5 ++++-
 3 files changed, 16 insertions(+), 8 deletions(-)

commit 47e97965b185dfe414173cf390c0f98d9dacf59e
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 16:41:50 2018 +0300

    ImageSurfaceDataShared::new => new_unchecked

 rsvg_internals/src/filters/composite.rs |  4 +--
 rsvg_internals/src/filters/context.rs   |  6 ++---
 rsvg_internals/src/filters/iterators.rs | 48 ++++++++++++++++++++++++++++++---
 rsvg_internals/src/filters/offset.rs    |  2 +-
 4 files changed, 51 insertions(+), 9 deletions(-)

commit ee69f9180d259be3b192ce00b0009e2a10c58251
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 16:04:46 2018 +0300

    Remove leftover rsvg_filter_render definition

 librsvg/rsvg-filter.h | 27 ---------------------------
 1 file changed, 27 deletions(-)

commit 3375aec2d6a4607246e9982afefcc336b190927c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 16:01:45 2018 +0300

    Port feFlood

 Makefile.am                         |   2 +-
 librsvg/filters/flood.c             | 127 ------------------------------------
 librsvg/rsvg-filter.h               |   2 -
 rsvg_internals/src/filters/ffi.rs   |   1 +
 rsvg_internals/src/filters/flood.rs |  89 +++++++++++++++++++++++++
 rsvg_internals/src/filters/mod.rs   |   1 +
 rsvg_internals/src/load.rs          |  10 +--
 7 files changed, 95 insertions(+), 137 deletions(-)

commit 291fab0d5e8096f46ee88fbf452183fc86e95e1e
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 12:17:14 2018 +0300

    Make {get,set}_pixel() conformant to cairo specs

 rsvg_internals/src/filters/iterators.rs            |  23 +++---
 .../reftests/svg1.1/filters-composite-03-f-ref.png | Bin 0 -> 4325 bytes
 .../reftests/svg1.1/filters-composite-03-f.svg     |  91 +++++++++++++++++++++
 3 files changed, 103 insertions(+), 11 deletions(-)

commit 10151cbb80d7a71732f35969bfb98ec9f3632dfa
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 11:37:05 2018 +0300

    Implement FillPaint and StrokePaint

 rsvg_internals/src/filters/context.rs | 49 ++++++++++++++++++++++++++++++++---
 1 file changed, 46 insertions(+), 3 deletions(-)

commit 863d00439e57ae8052532ed8a7b83dc5b7c819a5
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Sat Jun 16 14:36:27 2018 +0200

    handle: factor out function

 librsvg/rsvg-handle.c | 42 ++++++++++++++++++++----------------------
 1 file changed, 20 insertions(+), 22 deletions(-)

commit a6a4b5d84d2caf45c8e595d8d137fc606bb5bc24
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Sat Jun 16 10:44:23 2018 +0200

    load: fix compiler warning

 librsvg/rsvg-load.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 953cd157c1af54d553276fef52253257e18f38cf
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:41:54 2018 -0500

    NodeUse: draw_in_viewport() already pushes a layer; no need to push another one

 rsvg_internals/src/structure.rs | 2 --
 1 file changed, 2 deletions(-)

commit 3aded2c4aa217657a50a6d16d4f176b996789e69
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:23:57 2018 -0500

    draw_node_from_stack(): Remove the with_layer argument; it was true in all callers.

 rsvg_internals/src/drawing_ctx.rs | 5 ++---
 rsvg_internals/src/node.rs        | 1 -
 rsvg_internals/src/structure.rs   | 2 --
 3 files changed, 2 insertions(+), 6 deletions(-)

commit bd1e1886503ccac47c692fe0480dc104d5124c17
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:17:28 2018 -0500

    Remove unused prototype

 librsvg/rsvg-private.h | 4 ----
 1 file changed, 4 deletions(-)

commit fd636d14b7864567dd5a1c9d8e84f42d33322e2c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:15:25 2018 -0500

    marker.rs: Don't use a secondary cr; the layer is not pushed here yet

 rsvg_internals/src/marker.rs | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

commit 2bdabe3075e25be6bcc33f8ed73db9f9fcbc38e4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:13:25 2018 -0500

    marker.rs: Let our call to node.draw_children() push a layer itself

 rsvg_internals/src/marker.rs | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit 4afbf889884d263b1c3a9a878ffdf613ce5183f8
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:09:42 2018 -0500

    clip_path.rs: Let our call do draw_children push a layer - it will be a no-op because we are clipping

 rsvg_internals/src/clip_path.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 921b6fef9592bf13cabe3b38db40711b46830b97
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 20:07:11 2018 -0500

    pattern.rs: Let our call pattern_node.draw_children() push the layer; don't do it ourselves

 rsvg_internals/src/pattern.rs | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

commit 89df567bd3a2f5f08589168e4629390bd4e7c96d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 19:36:19 2018 -0500

    get_acquired_node_of_type() - take an Option<&str> to simplify some callers
    
    Some callers keep a node_id: Option<String>, which they later verify
    and acquire with something like
    
        if let Some(id) = node_id {
            if let Some(acquired) = get_acquired_node_of_type(..., id, ...) {
                ...
            }
        }
    
    Taking an Option<&str> lets us do this instead:
    
        if let Some(acquired) = get_acquired_node_of_type(..., node_id.map(String::as_ref)) {
            ....
        }

 rsvg_internals/src/drawing_ctx.rs | 91 ++++++++++++++++++++-------------------
 rsvg_internals/src/marker.rs      |  3 +-
 rsvg_internals/src/pattern.rs     | 27 +++++-------
 3 files changed, 60 insertions(+), 61 deletions(-)

commit abe58904ab153ff4e60d2f0df192291acaa4012a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Jun 15 18:44:25 2018 -0500

    rsvg_drawing_ctx_pop_bounding_box(): Don't leak the old bbox

 librsvg/rsvg-drawing-ctx.c | 2 ++
 1 file changed, 2 insertions(+)

commit ac01a2e834506f2407ab0a8858da95507953f7ff
Merge: dea83940 5a59ebe9
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Fri Jun 15 02:35:45 2018 +0000

    Merge branch 'draw-ctx-rs' into 'master'
    
    Small draw ctx cleanup/rustification
    
    See merge request GNOME/librsvg!81

commit 5a59ebe9a3a795e71b508eb81fb573dc5693bda6
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Thu Jun 14 21:47:37 2018 +0200

    drawing_ctx: move get/remove_acquired_node to rust

 librsvg/rsvg-drawing-ctx.c        | 64 +++------------------------------------
 librsvg/rsvg-drawing-ctx.h        |  8 +++--
 rsvg_internals/src/defs.rs        | 12 ++++++++
 rsvg_internals/src/drawing_ctx.rs | 39 ++++++++++++++++++------
 4 files changed, 51 insertions(+), 72 deletions(-)

commit 1b9f3c9d56ad935ccdc6bb93727941196eb42dc1
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Thu Jun 14 21:04:22 2018 +0200

    drawing_ctx: refactor functions to manipulate list of acquired node

 librsvg/rsvg-drawing-ctx.c | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

commit dea839408c4ba1dab7b9684c6460504425cf9a3d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 14 21:04:07 2018 -0500

    tests/Makefile.am: Also distribute svg1.1/images/*

 tests/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 7689c4fbdbad2dd5d2616a0db7987e4938aeb4be
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 14 11:26:43 2018 -0500

    Update NEWS

 NEWS | 6 ++++++
 1 file changed, 6 insertions(+)

commit 8d1cc37d3d046e7bca7f3c545563548a7da4f90a
Merge: 148070ab 76d5fdf5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Jun 14 11:19:33 2018 -0500

    Merge branch 'YaLTeR/librsvg-filters-to-rust-4'

commit 76d5fdf50fe6f3d79be39114b1ac7249b845583a
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 14 09:51:27 2018 +0300

    Ensure width and height are >=0 in filters

 rsvg_internals/src/filters/mod.rs  | 12 +++++++-----
 rsvg_internals/src/filters/node.rs | 12 +++++++-----
 2 files changed, 14 insertions(+), 10 deletions(-)

commit 148070abe57d850a2afbda694db8dc9020234d73
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 20:06:34 2018 -0500

    Trait method Parse::parse() takes a cssparser now, not a &str
    
    We add a Parse::parse_str() default implementation, and use that
    where parse() was used previously.
    
    Removed make_property's newtype_from_str since I couldn't make it work
    by slicing a cssparser::Parser; instead, implement Parse for the inner
    type of the properties that were done that way, and use newtype_parse.

 rsvg_internals/src/aspect_ratio.rs      | 73 ++++++++++++++++-----------------
 rsvg_internals/src/color.rs             | 18 +++-----
 rsvg_internals/src/coord_units.rs       | 21 +++++-----
 rsvg_internals/src/filters/composite.rs |  6 +--
 rsvg_internals/src/filters/node.rs      |  8 ++--
 rsvg_internals/src/filters/offset.rs    |  4 +-
 rsvg_internals/src/gradient.rs          | 31 +++++++-------
 rsvg_internals/src/iri.rs               | 25 ++++++-----
 rsvg_internals/src/length.rs            | 58 ++++++++++++--------------
 rsvg_internals/src/marker.rs            | 44 ++++++++++----------
 rsvg_internals/src/mask.rs              |  4 +-
 rsvg_internals/src/node.rs              |  2 +-
 rsvg_internals/src/paint_server.rs      | 33 +++++++--------
 rsvg_internals/src/parsers.rs           | 42 ++++++++++++++++++-
 rsvg_internals/src/property_macros.rs   | 72 ++++----------------------------
 rsvg_internals/src/state.rs             | 66 +++++++++++++++--------------
 rsvg_internals/src/structure.rs         | 12 +++---
 rsvg_internals/src/transform.rs         | 11 ++---
 rsvg_internals/src/unitinterval.rs      | 32 +++++++--------
 rsvg_internals/src/viewbox.rs           | 23 +++++------
 rsvg_internals/src/viewport.rs          |  4 +-
 21 files changed, 272 insertions(+), 317 deletions(-)

commit 8c15c47d7368cb69c69b0d69191eb628b63a5486
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 18:57:26 2018 -0500

    cond.rs: Expose from_attribute() creators, not Parse implementations
    
    The conditional processing attributes are... attributes, not
    style properties.  So, don't implement the Parse trait for them, but
    expose them in another way instead.

 rsvg_internals/src/cond.rs | 57 +++++++++++++++++++---------------------------
 rsvg_internals/src/node.rs |  7 +++---
 2 files changed, 28 insertions(+), 36 deletions(-)

commit 24ce1f9dd5b33f2147d864aad4109e635c3dcab6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 18:48:27 2018 -0500

    Test the full parser of Dasharray, not just the inner parser

 rsvg_internals/src/length.rs | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

commit 07750841f627cd71f3b618fa5d001d036ca75047
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 18:43:05 2018 -0500

    parse_dash_array(): Take a cssparser, not a &str
    
    And make DashArray::parse() use cssparser as well.

 rsvg_internals/src/length.rs | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

commit 5b7fcfcb8664db39b6e7bbd2d443fc7be064ad88
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 18:38:56 2018 -0500

    parse_dash_array(): Use cssparser

 rsvg_internals/src/length.rs | 86 +++++++++++++++++---------------------------
 1 file changed, 33 insertions(+), 53 deletions(-)

commit e9eb899a98d404e9ec5bc00246bb17d8d1119889
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 15:17:34 2018 -0500

    TextDecoration: parse using cssparser

 rsvg_internals/src/state.rs | 83 ++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 79 insertions(+), 4 deletions(-)

commit 900b5ac1d82fbcfff24bb94a829bc7b09c6bd3f7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 15:01:28 2018 -0500

    BaselineShift: parse with cssparser

 rsvg_internals/src/length.rs |  5 ++++-
 rsvg_internals/src/state.rs  | 38 ++++++++++++++++++++++++++++++++------
 2 files changed, 36 insertions(+), 7 deletions(-)

commit f211316bece39cd8de41fa79ba1aaa3ecd42f8a7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 13:54:15 2018 -0500

    filters::Input::parse() - implement as a standalone method, not a trait impl
    
    We are parsing the "in" or "in2" attribute of filter primitive
    elements, not a property.  So, don't impl Parse for Input.  This lets
    us parse simply without cssparser.

 rsvg_internals/src/filters/composite.rs |  2 +-
 rsvg_internals/src/filters/input.rs     | 18 ++++++++++--------
 rsvg_internals/src/filters/merge.rs     |  3 +--
 rsvg_internals/src/filters/mod.rs       |  2 +-
 4 files changed, 13 insertions(+), 12 deletions(-)

commit 77c605fe55e57528911ef5b611cce19fb6ae60e4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 13:24:43 2018 -0500

    marker.rs: parse MarkerOrient completely with cssparser; don't parse bits of the string by hand

 rsvg_internals/src/marker.rs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit e228176ec46a0a2861bbd74fa4d4387ce76acebd
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 13:16:53 2018 -0500

    parsers::angle_degrees() - Take a cssparser, not a &str

 rsvg_internals/src/marker.rs  |  5 ++++-
 rsvg_internals/src/parsers.rs | 30 +++++++++++++++++-------------
 2 files changed, 21 insertions(+), 14 deletions(-)

commit 135db45682db232a42248c8b1a766f27de93f790
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 09:44:41 2018 -0500

    filters/composite.rs: Use a cssparser

 rsvg_internals/src/filters/composite.rs | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

commit e0a8e83d21bfc3961f2569b3e8cf7387362f4379
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 09:20:00 2018 -0500

    make_property!() - Use a cssparser

 rsvg_internals/src/property_macros.rs | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

commit 7d6441d04a7b1d782d09e5a1d6c28cc9085b5f0a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 09:13:50 2018 -0500

    parsers::number_list() - Take a Parser instead of a &str

 rsvg_internals/src/parsers.rs | 54 +++++++++++++++++++++++++------------------
 rsvg_internals/src/viewbox.rs |  6 ++++-
 2 files changed, 37 insertions(+), 23 deletions(-)

commit 700eda7c0df25f8a310f5dd62481731d2885d53d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 08:53:02 2018 -0500

    gradient.rs: Use a cssparser

 rsvg_internals/src/gradient.rs | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

commit 5f7e03a89d3f6cbc73ac0b106288f0e931cff801
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 08:46:55 2018 -0500

    transform.rs: Use a cssparser from the toplevel impl Parse

 rsvg_internals/src/transform.rs | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 8f55b50f5cf7e419e92fb782581110e57361118c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 08:43:55 2018 -0500

    color.rs: Don't inline the creation of a cssparser

 rsvg_internals/src/color.rs | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 853d040bf99b15c4c70d680602d20d177904afe8
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 12 18:48:22 2018 -0500

    MarkerUnits: use a cssparser

 rsvg_internals/src/marker.rs | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

commit a5ce7ee25c00f65d17b23458b755dcf4e8b716af
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 12 18:39:41 2018 -0500

    AspectRatio: don't inline the creation of the Parser

 rsvg_internals/src/aspect_ratio.rs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit ee38b6c6b3e8e49e21dd9befbe5e346f2c4e9877
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 12 18:12:20 2018 -0500

    CoordUnits: use a cssparser
    
    We'll refactor the Parse trait later.

 rsvg_internals/src/coord_units.rs | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

commit 4871bed5cbe6dd217db5eadbed6ca6ba95ec7b8c
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 22:18:45 2018 +0300

    Replace normalize_ignoring_units with get_unitless

 rsvg_internals/src/filters/context.rs | 20 ++++++--------------
 rsvg_internals/src/length.rs          | 23 +++++------------------
 2 files changed, 11 insertions(+), 32 deletions(-)

commit 7a5f661f8ab1a3ae79cf65eb46624c43f36dc548
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 22:13:38 2018 +0300

    Validate units in filter primitive attributes

 rsvg_internals/src/filters/mod.rs                  |  71 +++++++++++++++++----
 .../reftests/filter-effects-region-ref.png         | Bin 1640 -> 1659 bytes
 tests/fixtures/reftests/filter-effects-region.svg  |  11 ++++
 3 files changed, 68 insertions(+), 14 deletions(-)

commit 2f033a9be9534550817e8d61eda1b41aca9f9fac
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 21:54:34 2018 +0300

    Validate units in <filter> attributes

 rsvg_internals/src/filters/node.rs                 |  60 +++++++++++++++++----
 .../reftests/filter-effects-region-ref.png         | Bin 1636 -> 1640 bytes
 tests/fixtures/reftests/filter-effects-region.svg  |  14 ++++-
 3 files changed, 62 insertions(+), 12 deletions(-)

commit 66d4fd4283b6d605b0d84e2621cc96dd6d3b2c1e
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 21:53:52 2018 +0300

    Refactor parse to parse{,_and_validate}

 rsvg_internals/src/clip_path.rs         |  4 +--
 rsvg_internals/src/filters/composite.rs |  4 +--
 rsvg_internals/src/filters/image.rs     |  3 +-
 rsvg_internals/src/filters/merge.rs     |  2 +-
 rsvg_internals/src/filters/mod.rs       | 14 +++-----
 rsvg_internals/src/filters/node.rs      | 25 ++++++--------
 rsvg_internals/src/gradient.rs          | 26 +++++++--------
 rsvg_internals/src/image.rs             | 17 +++++-----
 rsvg_internals/src/marker.rs            | 28 +++++++---------
 rsvg_internals/src/mask.rs              | 18 +++++-----
 rsvg_internals/src/parsers.rs           | 28 +++++++++++-----
 rsvg_internals/src/pattern.rs           | 24 +++++++-------
 rsvg_internals/src/shapes.rs            | 58 ++++++++++++++-------------------
 rsvg_internals/src/stop.rs              |  5 +--
 rsvg_internals/src/structure.rs         | 34 +++++++++----------
 rsvg_internals/src/text.rs              | 20 +++++-------
 16 files changed, 145 insertions(+), 165 deletions(-)

commit 36279792cb34f91cebbc862d3c50ec365a493116
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 21:50:54 2018 +0300

    Don't render filters if they are in error

 rsvg_internals/src/drawing_ctx.rs | 20 ++++++++++++--------
 rsvg_internals/src/filters/ffi.rs |  1 +
 2 files changed, 13 insertions(+), 8 deletions(-)

commit 48d6009876dd1e0871f372ce4f204103cdb4a9bc
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Jun 13 11:07:49 2018 -0500

    rustfmt

 rsvg_internals/src/node.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f59801c24d44457c10b49262eec1b16bb52d967b
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 12:55:03 2018 +0300

    Remove leftover debug comment

 rsvg_internals/src/filters/bounds.rs | 2 --
 1 file changed, 2 deletions(-)

commit b28dc716c5359a1b3edb15af7356cb706b2924d8
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 12:21:36 2018 +0300

    Revert composite linearization fix

 rsvg_internals/src/filters/composite.rs            |  10 ++-
 .../reftests/bugs/241-light-source-type-ref.png    | Bin 4226 -> 3983 bytes
 .../reftests/svg1.1/filters-composite-04-f-ref.png | Bin 0 -> 114631 bytes
 .../reftests/svg1.1/filters-composite-04-f.svg     |  78 +++++++++++++++++++++
 .../reftests/svg1.1/filters-composite-05-f-ref.png | Bin 0 -> 33559 bytes
 .../reftests/svg1.1/filters-composite-05-f.svg     |  67 ++++++++++++++++++
 .../svg1.1/resources/stefan_252_tRNS_opti.png      | Bin 0 -> 12777 bytes
 tests/fixtures/reftests/svg1.1/resources/tree.jpg  | Bin 0 -> 66460 bytes
 8 files changed, 152 insertions(+), 3 deletions(-)

commit 89b3aad0f6a1db084e908fad78666aaa64278053
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 12:20:18 2018 +0300

    Fix bbox computation in draw_surface()

 rsvg_internals/src/draw.rs | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 1b524843dd559e00e132e8f524ec43c27e25a619
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 11:19:20 2018 +0300

    Rename new tests

 ...effects-region-ref.png => filter-effects-region-ref.png} | Bin
 ...-filter-effects-region.svg => filter-effects-region.svg} |   0
 ...age-ref.png => filter-image-from-reference-page-ref.png} | Bin
 ...erence-page.svg => filter-image-from-reference-page.svg} |   0
 .../{test-filter-offset-ref.png => filter-offset-ref.png}   | Bin
 .../reftests/{test-filter-offset.svg => filter-offset.svg}  |   0
 6 files changed, 0 insertions(+), 0 deletions(-)

commit 0a370f5a6d4d2390fbb500362a6dc2ab326a7939
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 11:14:43 2018 +0300

    Use correct CSS values in with_primitive_units()

 rsvg_internals/src/filters/context.rs                 |   5 ++---
 .../reftests/test-filter-effects-region-ref.png       | Bin 1624 -> 1636 bytes
 .../fixtures/reftests/test-filter-effects-region.svg  |  14 ++++++++++----
 3 files changed, 12 insertions(+), 7 deletions(-)

commit 62de56f91a43bad1f8e79169709aae373b294f72
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 11:06:44 2018 +0300

    Use correct CSS values in compute_effects_region()

 rsvg_internals/src/filters/context.rs                 |   7 ++++---
 .../reftests/test-filter-effects-region-ref.png       | Bin 1598 -> 1624 bytes
 .../fixtures/reftests/test-filter-effects-region.svg  |  14 ++++++++++++++
 3 files changed, 18 insertions(+), 3 deletions(-)

commit affd9d5966a33b7dd71ea649a1fd8cf68c2cd21d
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 10:40:20 2018 +0300

    Add comments into feMerge

 rsvg_internals/src/filters/merge.rs | 2 ++
 1 file changed, 2 insertions(+)

commit 90377faeaf11fcf5e3339a9304dbe96e99d123a8
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 10:38:59 2018 +0300

    Change feOffset attributes to be numbers
    
    Since they are simple numbers, not lengths.

 rsvg_internals/src/filters/offset.rs | 32 +++++++++++++-------------------
 1 file changed, 13 insertions(+), 19 deletions(-)

commit 004203427d45fd600461d486748d5a88e0ce09dc
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 10:34:44 2018 +0300

    Use a better name for test-bbox

 ...test-bbox-ref.png => test-filter-effects-region-ref.png} | Bin
 .../{test-bbox.svg => test-filter-effects-region.svg}       |   0
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 31960dfc9724d17924ca148bd97704bd79f32a38
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 10:32:59 2018 +0300

    Compute the filter effects region only once

 rsvg_internals/src/filters/bounds.rs  |   4 +-
 rsvg_internals/src/filters/context.rs | 182 ++++++++++++++++++----------------
 2 files changed, 101 insertions(+), 85 deletions(-)

commit 461009dd51d515d1e72b708976f0f25185117c0b
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Wed Jun 13 10:17:33 2018 +0300

    Add a missing dot

 rsvg_internals/src/filters/context.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9ac0692f8d4b5d572722cba31e21b3e524eebfd0
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Tue Jun 12 23:24:14 2018 +0200

    node: simplify code that deals with state
    
    Do not expose a get_state and instead expose get_specified_values;
    this is a step toward just having SpecifiedValues as an
    immutable field of node.

 rsvg_internals/src/node.rs      | 29 +++++++++++++++--------------
 rsvg_internals/src/state.rs     | 22 +++++++++++-----------
 rsvg_internals/src/structure.rs |  3 ++-
 3 files changed, 28 insertions(+), 26 deletions(-)

commit 294e01f5070000f02f03fe23177c16edb3c8d96c
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Tue Jun 12 23:03:20 2018 +0200

    state: remove unused method

 rsvg_internals/src/state.rs | 8 --------
 1 file changed, 8 deletions(-)

commit 464b2d4f68728608f25a96c48c5807cbc4faf3a2
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Mon Jun 11 23:30:59 2018 +0200

    node: move cond to the node itself
    
    There is no reason to have it in State since it is not related
    to styling

 rsvg_internals/src/node.rs      | 52 ++++++++++++++++++++++++++++++++++++++++-
 rsvg_internals/src/state.rs     | 47 -------------------------------------
 rsvg_internals/src/structure.rs |  2 +-
 3 files changed, 52 insertions(+), 49 deletions(-)

commit ecc02857b97733df97ea6b11da0a9248a569af9d
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Mon Jun 11 22:33:42 2018 +0200

    Fix typo (overriden -> overridden)

 librsvg/rsvg-load.c          |  2 +-
 librsvg/rsvg-private.h       |  2 +-
 rsvg_internals/src/lib.rs    |  2 +-
 rsvg_internals/src/marker.rs |  2 +-
 rsvg_internals/src/node.rs   | 10 +++++-----
 5 files changed, 9 insertions(+), 9 deletions(-)

commit b856dc6062795290eef1b9fda7323fe6a6b68e3e
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Tue Jun 12 21:53:40 2018 +0300

    Add notice about attributes into feOffset

 rsvg_internals/src/filters/offset.rs               |   5 +++++
 tests/fixtures/reftests/test-filter-offset-ref.png | Bin 0 -> 1040 bytes
 tests/fixtures/reftests/test-filter-offset.svg     |  14 ++++++++++++++
 3 files changed, 19 insertions(+)

commit e8c32d9d1653fcdce17118a703de9bf993f73668
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Tue Jun 12 21:33:10 2018 +0300

    Fix missing linearization in composite arithmetic
    
    I accidentally removed it earlier

 rsvg_internals/src/filters/composite.rs               |   5 +++--
 .../reftests/bugs/241-light-source-type-ref.png       | Bin 3983 -> 4226 bytes
 2 files changed, 3 insertions(+), 2 deletions(-)

commit b42de450d3446902992c272f0c8922b63baaad2d
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Tue Jun 12 21:29:24 2018 +0300

    Big filter bounds computation refactor
    
    Now we have two extra pixels in composite-02 ¯\_(ツ)_/¯

 Makefile.am                                        |   1 +
 rsvg_internals/src/bbox.rs                         |   2 +-
 rsvg_internals/src/filters/bounds.rs               | 151 ++++++++++++
 rsvg_internals/src/filters/composite.rs            |  21 +-
 rsvg_internals/src/filters/context.rs              | 268 ++++++++++++++-------
 rsvg_internals/src/filters/image.rs                |  21 +-
 rsvg_internals/src/filters/merge.rs                |  16 +-
 rsvg_internals/src/filters/mod.rs                  |  22 +-
 rsvg_internals/src/filters/offset.rs               |   8 +-
 rsvg_internals/src/length.rs                       |  20 ++
 .../reftests/svg1.1/filters-composite-02-b-ref.png | Bin 15917 -> 15918 bytes
 .../reftests/svg1.1/filters-image-03-f-ref.png     | Bin 0 -> 10815 bytes
 .../reftests/svg1.1/filters-image-03-f.svg         | 179 ++++++++++++++
 .../reftests/svg1.1/filters-image-04-f-ref.png     | Bin 0 -> 12642 bytes
 .../reftests/svg1.1/filters-image-04-f.svg         | 119 +++++++++
 tests/fixtures/reftests/test-bbox-ref.png          | Bin 0 -> 1598 bytes
 tests/fixtures/reftests/test-bbox.svg              |  40 +++
 .../test-filter-image-from-reference-page-ref.png  | Bin 0 -> 16648 bytes
 .../test-filter-image-from-reference-page.svg      |  35 +++
 19 files changed, 783 insertions(+), 120 deletions(-)

commit 06e8ef2d449fe714bc9554ce1928a54cdd38b9e7
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Jun 12 18:28:52 2018 +0000

    CI: remove some rustc jobs.
    
    6dd00f4f bumped the minimum rustc version to 1.24

 .gitlab-ci.yml | 21 ---------------------
 1 file changed, 21 deletions(-)

commit 6dd00f4fa4ae30e3cde66af5db611e6052a35159
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 12 13:19:02 2018 -0500

    Require Rust 1.24 or later, for RefCell::replace()

 .gitlab-ci.yml | 3 ---
 COMPILING.md   | 2 +-
 configure.ac   | 3 ++-
 3 files changed, 3 insertions(+), 5 deletions(-)

commit 13fe6ccb9e1a146ad49586fa5c9a4bbc81a70d9e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Jun 12 13:17:40 2018 -0500

    Post-release version bump to 2.43.1

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9f8d34b5fd06a40a3630f3affcfbb2f7e7fbda85
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Sun Jun 10 10:34:48 2018 +0300

    Don't render filter if bbox rect is empty
    
    Fixes #277.

 rsvg_internals/src/drawing_ctx.rs                  |  25 +-
 .../render-crash/277-filter-on-empty-group.svg     | 312 +++++++++++++++++++++
 2 files changed, 328 insertions(+), 9 deletions(-)

commit 404d5dcc764d99aa3155ea8fcc807ddc02ec2dd0
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 7 15:15:33 2018 +0300

    Port (more or less) the rest of feImage

 librsvg/filters/image.c             | 274 ------------------------------------
 rsvg_internals/src/filters/image.rs | 144 +++++++++++++------
 2 files changed, 104 insertions(+), 314 deletions(-)

commit 99f09ed9aec9bb3a73af047ef9e337be3d6b726b
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 7 15:14:35 2018 +0300

    Make FilterContext::drawing_context() return *mut

 rsvg_internals/src/filters/context.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 91ea6f3342f48f6e5ab59e95c2e4762182941878
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 7 15:14:06 2018 +0300

    Add drawing_ctx::draw_node_on_surface()

 rsvg_internals/src/drawing_ctx.rs | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit 18bc1cd17a7b3cd13f499493d0a49776b03e2d7f
Author: Ivan Molodetskikh <yalterz@gmail.com>
Date:   Thu Jun 7 12:28:54 2018 +0300

    WIP: partially port Image to Rust

 Makefile.am                                        |   2 +-
 librsvg/filters/image.c                            |   1 +
 librsvg/rsvg-filter.h                              |   2 -
 rsvg_internals/src/filters/ffi.rs                  |   1 +
 rsvg_internals/src/filters/image.rs                | 166 ++++++++++++++++++
 rsvg_internals/src/filters/mod.rs                  |   1 +
 rsvg_internals/src/load.rs                         |  10 +-
 .../reftests/svg1.1/filters-image-01-b-ref.png     | Bin 0 -> 91306 bytes
 .../reftests/svg1.1/filters-image-01-b.svg         |  59 +++++++
 .../reftests/svg1.1/filters-image-02-b-ref.png     | Bin 0 -> 24267 bytes
 .../reftests/svg1.1/filters-image-02-b.svg         |  83 +++++++++
 .../reftests/svg1.1/filters-image-05-f-ref.png     | Bin 0 -> 18840 bytes
 .../reftests/svg1.1/filters-image-05-f.svg         | 195 +++++++++++++++++++++
 tests/fixtures/reftests/svg1.1/images/image1.jpg   | Bin 0 -> 34183 bytes
 .../fixtures/reftests/svg1.1/images/pinksquidj.png | Bin 0 -> 31090 bytes
 tests/fixtures/reftests/svg1.1/images/smiley.png   | Bin 0 -> 2856 bytes
 16 files changed, 510 insertions(+), 10 deletions(-)