| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Closes #950
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/822>
|
|\
| |
| |
| |
| | |
Remove the current viewport as mutable state from DrawingCtx
See merge request GNOME/librsvg!821
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/821>
|
| |
| |
| |
| |
| |
| | |
The actual viewport stack is now implied as arguments in the call stack.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/821>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- All the drawing functions get a new argument of type &Viewport. The
idea is that the caller computes a new Viewport and just passes a
reference to it. The viewport stack is implied by the call stack,
instead of being represented as mutable state in DrawingCtx. This
removes DrawingCtx::get_viewport() and ::get_top_viewport().
- Rename Svg::push_viewport() to make_svg_viewport().
- Remove DrawingCtx::get_viewport_for_units(); replace it with Viewport::from_units().
- Remove DrawingCtx::push_coord_units(), which was just being called
in generate_cairo_mask() - this takes care of the TODO that
mentioned exactly that goal.
- Remove DrawingCtx::push_view_box(); replace it with Viewport::with_view_box().
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/821>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ViewParams was the original set of values that we used since 2018 for
length normalization.
Viewport was my attempt to start unifying the "viewport" concept,
around 2020 and #298.
My current plan is to remove the current viewport from the mutable
part of DrawingCtx, and instead pass the current viewport as function
arguments to the draw() functions.
This commit basically moves the fields and methods from ViewParams
into Viewport, and makes everything use Viewport instead of
ViewParams. Things are a bit funky because of the viewport_stack
field, which is shared via an Option<Weak<>> to the viewport stack in
the DrawingCtx - but that will disappear when the current viewport is
passed as arguments instead of mutable state.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/821>
|
|\
| |
| |
| |
| | |
CI: bump the container image
See merge request GNOME/librsvg!817
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/817>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/817>
|
| |
| |
| |
| |
| |
| |
| | |
This is for #947. I am not sure if Cairo or Pixman changed their
rendering of gradients, or what.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/817>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was added during the port of the filters code to Rust, but it is
redundant with tests/fixtures/reftests/svg1.1/filters-morph-01-f.svg
Also this file produces frequent failures in the test suite whenever
the font rendering stack changes even just a bit. The point of the
test is to test the feMorphology, not text rendering - so remove it in
favor of the other test from the SVG1.1 test suite, which does erosion
and dilation filters on paths, not on text.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/817>
|
|/
|
|
|
|
| |
I want to get an updated font rendering stack for #948.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/817>
|
|\
| |
| |
| |
| | |
Remove unused chrono wasmbind feature
See merge request GNOME/librsvg!819
|
|/
|
|
|
|
|
| |
This helps with building librsvg on Fedora where the rust-chrono package
is built with the wasmbind feature disabled.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/819>
|
|\
| |
| |
| |
| | |
xml: Replace unmaitained encoding crate by encoding_rs
See merge request GNOME/librsvg!818
|
|/
|
|
|
|
|
|
| |
This replaces unmaintained encoding crate by encoding_rs. The indirect
reference through lopdf still remains, but this is a start.
This fixes the direct part of #949.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/818>
|
|\
| |
| |
| |
| | |
Proceed with the layer abstraction work from Michael Howell
See merge request GNOME/librsvg!816
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| | |
Yay!
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
for normalization
I want to remove the use of ComputedValues from
DrawingCtx::with_discrete_layer(), but it is needed for
NormalizeParams::new(). So, provide a temporary type NormalizeValues
that just extracts the information needed from ComputedValues - in
this case, just the font size.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| | |
That way we can pick up the current_color from there, thus reducing
the number of arguments.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| | |
Instead of in with_discrete_layer(). There, we only turn them to
user-space coordinates.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DrawingCtx
We used to have
struct StackingCtx {
filter: Filter
}
struct Filter {
filter: properties::Filter,
// other gunk
}
and there, Filter.filter can be properties::Filter::None or
properties::Filter::List(FilterValueList).
Resolve this early into an Option<Filter>, like this:
struct StackingCtx {
filter: Option<Filter>
}
struct Filter {
filter_list: FilterValueList,
// other gunk
}
This way, subsequent code in DrawingCtx doesn't have to tear apart the
Filter.filter to see whether there's actually a filter specification
there or just "none".
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Let's try to avoid passing so many arguments to the functions in
drawing_ctx.rs. In the end this will also encapsulate all the gunk needed for
resolving filters.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| | |
I want to remove the use of ComputedValues in with_discrete_layer;
this removes one of the uses.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| | |
This moves the information for drawing images into the Layer enum,
similar to basic shapes and text elements.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the only other place apart from text.rs that used the
transform passed in the draw_fn callback from with_discrete_layer().
It turns out that get_transform_for_stacking_ctx() needs to know
whether we are creating a clipping path; in that case, there's no need
to look at the stacking context.
This is getting convoluted; I kind of want to split the clipping stuff
away from the main draw() method.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes @notriddle's MR when rebased on top of the changes to have
a ValidTransform instead of just Transform in DrawingCtx.
The text code needs to know the actual transform that will be used on
the target surface, which could be the temporary surface for
compositing an isolated stacking context, or the "normal" surface
without isolation.
This is the transform that is passed to the draw_fn callback in with_discrete_layer().
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
|/
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/816>
|
|\
| |
| |
| |
| | |
CI: expire all documentation artifacts
See merge request GNOME/librsvg!815
|
|/
|
|
|
|
|
| |
I'm not sure if they were being kept around indefinitely after being
deployed to the web site.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/815>
|
|\
| |
| |
| |
| | |
Prepare 2.56.0
See merge request GNOME/librsvg!814
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/814>
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/814>
|
|/
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/814>
|
|\
| |
| |
| |
| | |
ci: Merge artifact keys for rsvg-full
See merge request GNOME/librsvg!813
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/813>
|
|/
|
|
|
|
| |
gitlab can't deal with multiple artifact keys, and the last one overrides it.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/813>
|
|\ |
|
| |
| |
| |
| | |
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/812>
|