[librsvg] Created tag 2.43.0
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Created tag 2.43.0
- Date: Tue, 12 Jun 2018 01:09:53 +0000 (UTC)
The signed tag '2.43.0' was created.
Tagger: Federico Mena Quintero <federico gnome org>
Date: 1528765675 -0500
Tag for 2.43.0
Changes since the last tag '2.42.2':
Brion Vibber (2):
Auto-detect -Bsymbolic, fixes configure on macOS
Add docs for installing dependencies and build on macOS
Chris Lamb (1):
Make PDF output reproducible if the SOURCE_DATE_EPOCH envvar is set
Chun-wei Fan (3):
rsvg-convert.c: Fix build Windows
Makefile.am: Fix MSVC header "installation"
win32/rsvg-rust.mak: Fix 'clean' target
Dmitry Kontsevoy (6):
port RsvgPaintServer to Rust
support <a> links for PDF output
aspect_ratio.rs: split AlignMode into (x,y)
aspect_ratio.rs: use cssparser
yield the identity transform for empty transform attribute
aspect_ratio.rs: move (x,y) parsing to AlignXY
Fabrice Fontaine (1):
Add RUST_TARGET variable
Federico Mena Quintero (616):
Post-release version bump to 2.42.3
Rename to code-of-conduct.md per upstream's version
Update code-of-conduct.md to 1.4.1
Remove tests/fixtures/reftests/bugs/548494.svg, add a parser test for it
rsvg-test: Render with a non-identity transformation matrix to test offsetting errors
Add reftests/bugs/91-nonzero-translation.svg
Remove RSVG_G_TYPE_INIT - we have required glib 2.52 for some time now
Start the tests of the whole public API
Test rsvg_pixbuf_from_file()
gitlab#198 - Fix rsvg_pixbuf_from_file_with_size_data()
Test rsvg_pixbuf_from_file_at_zoom()
Test rsvg_pixbuf_from_file_at_size()
Refactor the pixbuf tests to have common code
Use test sizes that we can divide evenly...
Use g_assert_cmpint() to get better logs
Test rsvg_pixbuf_from_file_at_max_size()
Test rsvg_pixbuf_from_file_at_zoom_with_max()
Test the noop functions rsvg_init(), rsvg_term(), rsvg_cleanup()
Let us pass a specific filename to get_test_filename()
Test rsvg_handle_set_dpi() / rsvg_handle_set_dpi_x_y()
Don't use rsvg_set_default_dpi*() in the utilities nor in the tests
Deprecate rsvg_set_default_dpi() and rsvg_set_default_dpi_x_y().
Test rsvg_error_quark()
Test the auto-generated RSVG_TYPE_ERROR / RSVG_TYPE_HANDLE_FLAGS.
Include the tests/fixture/api/*.svg in the distributed tests
Test rsvg_handle_write() / close() / free()
Test rsvg_handle_new_from_data()
Test rsvg_handle_new_from_gfile_sync()
Test rsvg_handle_new_from_stream_sync()
Test rsvg_handle_read_stream_sync()
Test rsvg_handle_get_pixbuf()
Test rsvg_handle_get_pixbuf_sub()
Test rsvg_handle_new_with_flags() in one of the existing tests
Test rsvg_handle_get_dimensions_sub() / rsvg_handle_get_position_sub()
Merge branch 'api-tests'
Fix rsvg_handle_new_from_file() so that it will load URIs again
Merge branch 'api-tests'
Use tar-ustar in AM_INIT_AUTOMAKE to remove filename length limitations
gitlab#161 - Fix marker angle when a path ends in closepath
gitlab#192 - Merge branch 'h3xby/librsvg-port-paint-server-to-rust'
path_builder.rs: Use safe calls to Cairo only
Remove unused argument from rsvg_parse_style()
Replace "RsvgHandle *ctx" for "RsvgHandle *handle" everywhere
How to test performance-related changes
Merge branch 'hospitality'
Document SOURCE_DATE_EPOCH in rsvg-convert's man page
Merge branch 'lamby/librsvg-reproducible-pdf-output'
Update NEWS
gitlab#197 - Regenerate reference tests with updated freetype
configure.ac: Increase freetype2 requirement to 2.9.0
Remove unused variable
No need to validate UTF-8 in rsvg_extra_handler_characters()
Generate a PHF of SVG attribute names
New function rsvg_attribute_from_name()
fix: modules in attributes.rs
build.rs: We don't need the C names after all
Add rsvg-attributes.h
rsvg_parse_style_pair(): Use rsvg_attribute_from_name() and a big switch statement
Sigh, pass C strings properly
rsvg_parse_style_pairs() - Just iterate over all attributes
Don't pass an allocated closure to g_hash_table_foreach()
Rename rsvg_parse_style_pairs() -> rsvg_parse_presentation_attributes()
rsvg_parse_style_pair(): Distinguish between styles and presentation attributes
rsvg_state_inherit() - Rename to state_inherit(); make it a static function
rsvg_state_reinherit() - Rename to state_reinherit(); make it a static function
Port PropertyBag to Rust
PropertyBag.iter() method
Process the d attribute of NodePath with the PHF
Process points/verts of NodePoly with the PHF
PropertyBagIter: remove an unused field
parsers::parse() - New function, to replace property_bag::parse_*()
NodeLine: parse attributes with the PHF
NodeRect: parse attributes with the PHF
NodeCircle: parse attributes with the PHF
NodeEllipse: parse attibutes with the PHF
NodeSvg: parse attributes with the PHF
Replace tabs with spaces
NodeUse: parse attributes with the PHF
NodeSymbol: parse attributes with the PHF
GradientCommon: put the defaults in impl Default, not in resolve_from_defaults()
Gradient: Move the GradientVariant defaults to functions instead of resolve_from_defaults()
Gradient: parse attributes with the PHF
Gradient: don't start set_atts() with default values; start with "not resolved" values.
Gradient: Fix the distinction between default values and unresolved values
Pattern: put the defaults in impl Default, not in resolve_from_defaults()
Pattern: start with an unresolved pattern, instead of a Default one
Pattern: parse attributes with the PHF
NodeStop: parse attributes with the PHF
NodeClipPath: parse attributes using the PHF
NodeImage: Parse attributes with the PHF
NodeImage: Parse atttributes with the PHF
NodeMarker: Parse attributes using the PHF
property_bag.rs: Remove the parse_or_*() functions. Yay!
Remove unused prototypes
gradient/pattern.rs: Don't export functions that are only used from Rust
pattern_resolve_fallbacks_and_set_pattern(): Use Rust types
gradient_resolve_fallbacks_and_set_pattern(): Use Rust types
rsvg_parse_style_attrs(): Parse attributes with the PHF
PropertyBag: Add an iter_cstr() that outputs &CStr, instead of &str
PropertyBag: implement PropertyBagIter in terms of PropertyBagCStrIter
PropertyBag: Export rsvg_property_bag_iter_*() for use from C
rsvg_parse_style_attrs(): Use iteration instead of rsvg_property_bag_enumerate()
rsvg_parse_presentation_attributes(): Use iteration instead of rsvg_property_bag_enumerate()
rsvg_metadata_handler_start(): Use iteration instead of rsvg_property_bag_enumerate()
rsvg_property_bag_enumerate(): Removed.
node_set_atts(): Remove call to rsvg_property_bag_size()
rsvg_parse_style_attrs(): Don't call rsvg_property_bag_size()
rsvg_eval_switch_attributes(): Remove the last call to rsvg_property_bag_size()
rsvg_property_bag_size(): Removed.
rsvg_start_style(): Parse attributes with the PHF
PropertyBag: make iteration return (key, attr, value) tuples
rsvg_parse_style_pair(): Take an RsvgAttribute arg; don't compute it here
rsvg_property_bag_iter_next(): Return the Attribute as well
Thoroughly deprecate rsvg_handle_get_metadata(). Returns NULL always.
rsvg_cond.c: Parse attributes with the PHF
rsvg-text.c: Parse attributes with the PHF
node_set_atts(): Register the node in the defs here, not in rsvg_standard_element_start()
node_set_atts(): Inline register_node_in_defs() here
node_set_atts(): Parse attributes with the PHF
filter_primitive_set_x_y_width_height_atts(): Parse attributes with the PHF
rsvg_filter_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_blend_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_convolve_matrix_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_gaussian_blur_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_offset_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_merge_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_merge_node_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_color_matrix_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_component_transfer_set_atts(): Parse attributes with the PHF
rsvg_node_component_transfer_function_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_erode_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_composite_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_flood_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_displacement_map_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_turbulence_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_image_set_atts(): Parse attributes with the PHF
rsvg_node_light_source_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_diffuse_lighting_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_specular_lighting_set_atts(): Parse attributes with the PHF
rsvg_filter_primitive_tile_set_atts(): Parse attributes with the PHF
rsvg_processing_instruction(): Parse attributes with the PHF
rsvg_start_xinclude(): Parse attributes with the PHF
NodeSvg: Parse delayed attributes with the PHF
PropertyBag: Remove the lookup() stuff; we only use iteration now.
PropertyBag: Don't do redundant UTF-8 validation when generating Rust strings
PropertyBag: Use a Vec, not a HashMap
gitlab#201 - Overhaul attributes parsing with perfect hashing (merge phf-attributes)
Merge branch 'alatiera/librsvg-gitlab-ci-extra'
COMPILING.md: Proofread; list out versions of dependencies
COMPILING.md: Basic compilation instructions
Merge branch 'alatiera/librsvg-env-setup'
cargo-clippy: use f64:from(foo) instead of "foo as f64"
cargo-clippy: Remove redundant closures in transform.rs
cargo-clippy: Remove redundant references
cargo-clippy: Pass references to RsvgBbox, don't move the values
cargo-clippy: derive(Copy) for Align1D
render_pango_layout(): Remove unused function
cargo-clippy: gradient.rs - prettier pattern matching
cargo-clippy: gradient.rs - remove redundant mask
cargo-clippy: parse_dash_array() - remove redundant conversion
cargo-clippy: Remove redundant reference
cargo-clippy: marker.rs: Copy some enums, don't move them
cargo-clippy: Remove redundant closures
cargo-clippy: Remove unnecessary parentheses
cargo-clippy: path_parser.rs: Collapse else/if blocks
cargo-clippy: path_builder.rs: Copy some enums instead of moving them
Move the C part of the library to a librsvg/ subdirectory
Move everything under rust/ one level up in the hierarchy
Makefile.am: fix include path in the generated librsvg-enum-types.c
Fix include paths in tests/
win32: tweak Rust path in rsvg-rust.mak
Fix paths in doc/Makefile.am
Update .gitignore
configure.ac: Print whether gtk-doc is enabled
Update Vala deprecation syntax
Merge branch 'librsvg-cargo-workspace'
Merge branch 'support-a-links-for-pdf' into 'master'
Update NEWS
Merge branch 'adjust-ci-workspace' into 'master'
Merge branch 'custom-registry' into 'master'
parses_stroke_dasharray() - Don't use discriminant checks; use PartialEq comparisons
tests/README.md: Rename rust/ to rsvg_internals/
gitlab#205 - configure.ac: Check the minimum version of rustc (1.20)
Merge branch 'check-rustc-version' into 'master'
gitlab#112 - Apply style attributes for SVG elements
Merge branch 'delayed-svg-attributes' into 'master'
rsvg-text: Remove old workaround for zero-sized text
gitlab#108 - Support font-size:larger and font-size:smaller
Merge branch 'font-size-relative' into 'master'
Update NEWS
Merge branch 'auto-Bsymbolic' into 'master'
Merge branch 'more-gitlab-ci' into 'master'
Merge branch 'macos-docs' into 'master'
Add a LIBRSVG_DEBUG=yes env var for configure; works like --enable-debug
Bump version to 2.43.0 - experimental, development
.gitlab-ci.yml: Put LIBRSVG_DEBUG in the variables: section, not before_script
Merge branch 'ci-merge-variables' into 'master'
viewport.rs: in tests, use numbers that can be represented exactly as f64
gitlab#178 - rsvg-test.c: On 32-bit, allow the maximum difference between color channels to be 10
Sigh, allow MAX_DIFF=1 on x86_64 as before. I shouldn't computer late at night.
Use the new amd64 image for the testing stage
.gitlab-ci.yml: Factor out names of the Docker images, to keep them in a single place
Merge branch 'alatiera/librsvg-i386-gitlab-ci'
Add back --enable-gtk-doc --enable-vala
gitlab#214 - Pass cargo flags to "cargo test"
Depend on float-cmp so we can get traits for approximate comparisons for floats
New trait FixedEqCairo with a fixed_eq_cairo() method
New trait ApproxEqCairo
path_builder.rs: Use approx_eq_cairo() instead of direct float comparisons
pattern.rs: Tighten division-by-zero guards; use approx_eq_cairo()
util.rs: Make DBL_EPSILON private; we'll remove it soon
RsvgBbox: use approx_eq_cairo() instead of double_equals()
marker.rs: Use approx_eq_cairo() and float_cmp::ApproxEq instead of double_equals()
structure.rs: Use approx_eq_cairo() instead of double_equals()
viewport.rs: Use approx_eq_cairo() instead of double_equals()
util.rs: Remove DBL_EPSILON and double_equals(). Yay!
Use ApproxEq again in ApproxEqCairo. This lets us compare big numbers, too.
CONTRIBUTING.md: Link to ARCHITECTURE.md
ARCHITECTURE.md: Document how to compare floating-point numbers
Merge branch 'float-comparison'
CI: Do all the distros at the same time
Remove unexported/unused rsvg_cairo_to_pixbuf()
Aaaaargh, remove parse_transform.lalrpop - it's been unused for ages
Merge branch 'pborelli/librsvg-system-lang'
gitlab#227 - Catch negative values in stroke-dasharray
gradient.rs: Release acquired nodes if they are not of the type we expect
NodeUse: release the acquired node as soon as possible; to refactor later
AcquiredNode: new wrapper over acquire_node()/release_node()
gradient.rs: Use AcquiredNode
marker.rs: Don't pass an extra c_node; we can get it from the node
marker.rs: use AcquiredNode
paint_server.rs: Use AcquiredNode
structure.rs: Use AcquiredNode
pattern.rs: Use AcquiredNode
drawing_ctx.rs: Removed unused acquire_node()/acquire_node_of_type()/release_node()
pattern.rs: Remove the FallbackSource stack
pattern.rs: Handle patterns with no children in a cleaner way
Prettify the rather horrible while() loop in resolve_pattern()
gradient.rs: Remove FallbackSource; use acquired nodes instead
gradient.rs: Refactor the resolution loop similarly to pattern.rs
Merge branch 'acquired-node'
AspectRatio.is_slice: new method, so image.rs can avoid peeking into the struct's innards
AspectRatio: make everything but the toplevel struct private
aspect_ratio.rs: Return AttributeError from the helper parsers
aspect_ratio.rs: Simplify parse_align()
aspect_ratio.rs: Inline the default of Align into AspectRatio::default
Merge branch 'alatiera/librsvg-aspect-state-machine'
Appease cargo fmt
Merge branch '228-empty-transform' into 'master'
Merge branch 'refactor-aspect-ratio' into 'master'
Merge branch 'node-iter-children' into 'master'
Merge branch 'node-iter-children-c' into 'master'
rsvg_cairo_render_set_affine(): Share this function between drawing and clipping
rsvg_cairo_render_path_builder(): Set the fill rule in the same place as the clipping code
rsvg_cairo_render_path_builder(): Move the functions that frob the cr
Set the fill_rule as late as possible
Rename rsvg_render_path_builder() and rsvg_render_surface()
Make the clipping and rendering code use a single rsvg_draw_path_builder()
rsvg_cairo_render_set_affine_on_cr(): Renamed; have callers pass the cr they wish to modify
Make set_affine_on_cr() a vfunc on RsvgRender
drawing_ctx::set_affine_on_cr(): Bind to Rust
state::get_clip_rule() / state::get_fill_rule() - bind to Rust
RsvgPathBuilder::to_cairo() - make public
Factor out function to compute bbox contributions from a path
rsvg_drawing_ctx_insert_bbox(): Turn this into a vmethod to enable Rustification
state::get_stroke_width() - Bind to Rust
drawing_ctx::insert_bbox() - bind to Rust
Bind to Rust: stroke_opacity, miter_limit, line_cap, line_join
StrokeDasharray.set_on_cairo(): New function; ported from the C code
fix: get_shape_rendering_type
Set the stroke_dasharray on the cairo::Context in the Rust code
wip: start draw.rs
Move all the method-like RsvgState functions from drawing_ctx.rs to state.rs
state::get_stroke_dasharray() / get_dash_offset(): Bind to Rust
Move rsvg_setup_cr_for_stroke() to Rust
state::get_affine() - Bind to Rust
RsvgBbox: new methods new(), insert(), clip()
RsvgBbox.set_rect() - new method
state::get_stroke() - Bind to Rust
rsvg_compute_bbox_from_stroke_and_fill(): Move to Rust
state::get_fill() / get_fill_opacity() - Bind to Rust
rsvg_set_source_rsvg_paint_server(): Rename in the Rust code; this will go away soon
rsvg_draw_path_builder(): Finally move to Rust. Yay!
cargo fmt
Start an rsvg_draw_pango_layout() with a clipping argument
rsvg_draw_pango_layout(): Fetch the cr from the RsvgDrawingContext, not from the Render
rsvg_draw_pango_layout(): Only insert the bbox once
compute_text_bbox(): Move this chunk to its own function
rsvg_draw_pango_layout(): Always set up the stroke parameters
rsvg_draw_pango_layout(): Do rotation outside the stroke/fill specifics
rsvg_draw_pango_layout(): Factor out the save/move/rotate/restore step
rsvg_draw_pango_layout(): Collapse the if's
rsvg_draw_pango_layout(): Generalize the drawing and clipping processes
rsvg_cairo_clip_render_pango_layout(): Just use rsvg_draw_pango_layout() in clipping mode
state::get_text_rendering_type() - Bind to Rust
text::gravity_is_vertical() - Make public
Cargo.toml: Bring in the pangocairo crate
Clean up the imports a bit
rsvg_draw_pango_layout(): Move to Rust. Yay!
Merge branch 'port-render-to-rust'
Merge branch 'master' into 'master'
Merge branch 'cond-rs' into 'master'
CONTRIBUTING.md: Document the CI infrastructure a bit and cargo fmt
ARCHITECTURE.md: Start describing our single-pass CSS cascade / rendering process
ARCHITECTURE.md: Finish documenting the CSS cascade process
RsvgHandle: Document the preferred way to load SVGs from memory
Port StrokeLinejoin parsing to Rust
Start a rust-side State struct. We'll port RsvgState bit by bit into it.
state::get_state_rust() - Bind to Rust, to get back our own struct
StrokeLinejoin::parse: return an AttributeError
Allow parsing of style pairs from the Rust code
Basic infrastructure to do style inheritance in Rust
Maintain the stroke-linejoin property completely in Rust. Yay!
Use gbooleans in all the property inheritance functions
Remove unused repr(C) code
Helper function to avoid so much conversion ugliness
Silence the compiler warnings about not having a repr(C) for opaque types
Remove unused functions
Move stroke-linecap entirely to Rust. Yay!
New make_ident_property!() macro to compress property definitions
Move the fill-rule property to Rust. Yay!
It's fine to derive(Default) for State
Merge branch 'pborelli/librsvg-text-rs'
Remove state->personal_affine; it was unused.
Add rsvg_state_set_affine(). Use that and rsvg_state_get_affine() throughout.
Go back to a State::new() instead of deriving Default
Move state->affine to Rust. Yay!
Merge branch 'pborelli/librsvg-text-rs'
Replace state.join/state.has_join with an Option
Replace state.cap/state.has_cap with an Option
Replace state.fill_rule/has_fill_rule with an Option
Replace state.xml_space/state.has_xml_space with an Option
Comment on how to get the default value for a property
Replace state.text_anchor/state.has_text_anchor with an Option
Let rsvg_state_rust_parse_style_pair() propagate errors upstream
Refactor State.parse_style_pair() now that we can propagate errors upstream
make_ident_property!(): Implement a trait with an inherits_automatically() method
Parse "inherit" for properties directly, instead of in the property parsers
Remove the "inherit" cases from property enum variants
state.rs: Minimize the size of an unsafe block
rsvg_state_rust_inherit_run(): Refactor using a helper function
Sort the lists of properties
make_ident_property(): Qualify the type names we use so the caller doesn't have to import them
Derive PartialEq for generated properties, so they can be compared easily
Add a test for generated properties
RsvgSaxHandler: this is private; move it to rsvg-base.c
Split the RsvgHandleState into a LoadState
Move all the loading state to an RsvgLoad structure
Return the treebase as a result of rsvg_load_destroy()
Pass the loading flags to the RsvgLoad
Factor out the common code to finish the loading process
Refactor rsvg_load_close() so it doesn't need to poke into the handle
Remove the title/desc processing
Rename add_node_to_handle() -> rsvg_add_node_to_handle()
Move all the loading code to rsvg-load.[ch]
Make the internal functions not have an rsvg_ prefix
Pass a 'clipping' argument to all the drawing methods, draw_pango_layout() and draw_path_builder()
state::get_comp_op() - bind to Rust
Port draw_surface() to Rust; remove it from RsvgRender. Yay!
Short-circuit to rsvg_cairo_get_pango_context() instead of the RsvgRender vtable
push_discrete_layer() / pop_discrete_layer() - add clipping argument; short-circuit from the RsvgRender
Rename rsvg_parse_style() -> rsvg_parse_style_attribute_contents()
Rename the "newtype:" part of the make_property macro to "newtype_from_str:"
Add back a "newtype:" variant of the make_property! macro, this time without an implicit impl Parse
Refactor a match on a Result with .map().map_err()
Inline rsvg_cairo_insert_bbox() into the toplevel rsvg_drawing_ctx_insert_bbox()
Move add_clipping_rect() to Rust; remove it from the render vtable
Call rsvg_cairo_get_surface_of_node(); remove it from the vtable
Remove unused field
rustfmt
Merge branch 'pborelli/librsvg-accumulate-baseline'
Remove unused vmethod
Inline rsvg_cairo_set_affine_on_cr into rsvg_drawing_ctx_set_affine_on_cr
Remove RsvgCairoClipRender; just use the current RsvgCairoRender
Merge remote-tracking branch 'origin/238-build-failure-on-ubuntu-debian'
Note in Cargo.toml about updating BuildStream/cargo-fetcher/Cargo.lock
Merge branch 'pborelli/librsvg-state-rs'
Merge branch 'state-rs' into 'master'
Merge branch 'state-rs' into 'master'
CONTRIBUTING.md: fix internal link
Merge branch 'pborelli/librsvg-state-rs'
cargo fmt
paint_server.rs: Test that invalid syntax is caught
paint_server.rs: Parse "none" for no paint; don't set the paint server on the draw_ctx in that case
RsvgCairoRender: maintain an ink_bbox and an ink_bb_stack in parallel with the bbox
drawing_ctx::insert_ink_bbox() - Bind to Rust
draw.rs: Compute the ink extents of paths as well as the objectBoundingBox extents
Compute the objectBoundingBox and ink extents of text separately
Regenerate pservers-grad-13-b-ref.png
Use the ink_rect in the public get_dimensions()/get_position() API
Merge branch 'state-rs' into 'master'
Remove unused RsvgState.styles field - the hash table is in Rust now
cargo fmt
Merge branch 'YaLTeR/librsvg-split-filters'
Makefile.am: Add Rust files that were missing, oops
Merge branch 'cleanup' into 'master'
Remove AllowInherit and AllowCurrentColor from color parsing
Use cssparser::Color instead of our own Color enum
Move stop_color to Rust
opacity.rs: Use UnitInterval instead of f64
Move stop_opacity directly to Rust
Don't pass a state to rsvg_rust_cnode_new(); create it right there instead
Remove superfluous "switch" statement
draw_path_builder: Take in an already-derived RsvgState; don't get it from the draw_ctx
draw_pango_layout(): Take in an RsvgState; don't obtain it from the draw_ctx
draw_surface(): Take in an RsvgState; don't obtain it from the draw_ctx
add_clipping_rect(): Take in an affine; don't get it from the draw_ctx directly
shapes.rs:render_path_builder() - Take in an already-inherited state
NodeTrait::draw() - take in an already-inherited RsvgState
NodeImage::draw(): Use the passed-in state
Merge branch 'cleanup' into 'master'
text.rs: Pass around the state from the draw() method
For now, ignore pservers-grad-18-b.svg
rsvg_state_new_with_parent(): Don't do reinheritance here; do it in the single caller
Remove rsvg_state_reinit()
Move state->parent to Rust. This is the last field!
Fix two leaks of states in the filters that need to reconstruct
Completely move RsvgState to Rust
Replicate the old rsvg_state_clone() behavior with a little hack
NodeUse: push discrete layer, *then* push a new state to frob the inner affine
Merge branch 'stop-color-and-opacity'
Fix outdated comment
Merge branch 'pborelli/librsvg-cleanup'
Run the stage_2 CI for the librsvg-2.42 branch.
CI: have a distcheck stage to build a tarball
Merge branch 'update-gtk-rs' into 'master'
Merge branch 'drawing-ctx' into 'master'
Merge branch 'rect' into 'master'
Remove unused include
rustfmt
rsvg_parse_style_attrs(): Stop if we find an error during parsing the transform attribute
rsvg-styles.c: prepare for better error handling
rsvg_lookup_apply_css_style(): Make public; we'll port the caller to Rust
util.rs: new function utf8_cstr_opt()
Attribute::to_str() - New function, hopefully only used for printing errors
Construct a NodeError from an Attribute, not from the attribute's string name
parse_style_pair/parse_presentation_attributes: return a full NodeError
parse_conditional_processing_attributes(): return a full NodeError
stop.rs: Use the error from state.parse_presentation_attributes() now that we have one
rsvg-load.c:node_set_atts(): Take in the real element's name instead of the one from the node creator
rsvg_parse_style_attrs() - Port to Rust. Yay!
rsvg_parse_style_attribute_contents() - Port to Rust as State::parse_style_declarations() - yay!
rsvg_parse_transform() - Remove; it's unused now and all in Rust.
Inline parse_transform() into its only caller
Add the Adwaita icon theme as reference tests
gitlab#263 - Ignore errors when parsing CSS values
rustfmt
rustfmt
Merge branch 'YaLTeR/librsvg-filters-to-rust'
rustfmt
Add a SpecifiedValue enum, plus SpecifiedValues and ComputedValues structs
State::get_computed_values() - function to prepare for using ComputedValues in callers
Stroke property: default to PaintServer::None
Node::draw() - Get a ComputedValues, not a State
Set overflow:hidden by default on elements that establish a new viewport
A few docs for SpecifiedValue
SpecifiedValues::to_computed_values() - Also inherit xml_lang and xml_space
State: store a SpecifiedValues, not each specific field
pattern.rs: Inline the special behavior of dominate==2
NodeUse: Inline the special behavior of dominate=1
rsvg_node_draw_children(): Handle dominate==0 specially here, since it's the only value used now
rsvg_node_draw_children(): Don't take a "dominate" argument
Node: Add a values field for ComputedValues and a set/get_computed_values() methods
Node.cascade() - New function; takes a ComputedValues and propagates it to children
RsvgHandle: do a cascade before running the rendering process
Node::draw(): use the cascaded computed values, not the reinherited ones
rsvg_defs_load_extern(): Cascade the newly-loaded RsvgHandle
State::to_computed_values() - compute the correct affine
wip: debug affines in Node::draw()
Wherever ComputedValues are passed, call the variable "values", not "state"
Extract the surface stack handling from push/pop_render_stack()
rsvg_cairo_clip(): Remove obsolete checks
rustfmt
Factor out the cr stack from rsvg_drawing_ctx_push/pop_render_stack()
Make rsvg_drawing_ctx_get_offset() return nested offsets
rsvg_drawing_ctx_push_render_stack() - Use accessors for the context's width/height
rsvg_drawing_ctx_push/pop_render_stack() - Don't access draw_ctx->cr directly
rsvg_drawing_ctx_pop_render_stack() - Don't access draw_ctx->bbox directly
rsvg-drawing-ctx.c: Make the push/pop_*() functions public
NodeClipPath.get_units(): New function
rsvg_cairo_clip() / rsvg_cairo_generate_mask() - make public
push_render_stack() / pop_render_stack() - Port to Rust
push/pop_discrete_layer(): Take a ComputedValues argument
Node::draw() - do not get passed a ComputedValues; obtain it from the node itself
text.rs: Obtain the computed values from the nodes; don't pass them down
Mask.generate_cairo_mask() - Get the computed values from the node, not the state
mask.rs: Iterate all the pixels in each row
rsvg_cairo_clip() - port to Rust as NodeClipPath::to_cairo_context()
rsvg_state_is_visible(): Replaced with rsvg_node_values_is_visible()
Remove unused prototype
rsvg_state_get_opacity(): Removed; it's unused now.
diffuse_lighting / specular_lighting: Get the lighting-color property from the computed styles
flood-color and flood-opacity should not inherit automatically, per the spec
flood-color / flood-opacity: Get them at rendering time from the node's computed values
Remove unused prototypes
Remove unused prototypes
rsvg_state_reconstruct(): Remove; it's no longer used in the C code
marker.rs: Don't reconstruct the state; use the computed values instead
Remove unused rsvg_state_parse_{presentation_attributes,style_declarations}
Resolve gradient stop-color and stop-opacity at rendering time.
State::reconstruct() / ::inherit() - Removed; they are unused now. Yay!
Fix default for stop-color, per the spec.
Node: add a "transform" field; we'll keep it here
Node::set_atts() - Parse the transform attribute here
Node::draw(): transform the cr with the node's transform
text.rs: Compose the transform on the cr for the nodes that don't draw themselves
wip: clip_path.rs: set the cr's transform when we are in objectBoundingBox mode
wip: debug transforms
wip: debug transforms
rsvg-test.c: for now, don't use a non-identity transformation to start the tests
Don't have the affine in ComputedValues
Remove unused import
marker.rs: Get ComputedValues from the caller
marker.rs: Also set the affine on the inner cr
Property: add an inherit_from() function. This will let us derive text properties.
Merge branch 'filter-get-bounds-to-rust' into 'master'
make_property!() - Let the caller fully implement Property for at least one of our variants
FontSize: Implement custom inheritance from the old get_normalized_font_size()
WIP: RsvgLength::normalize() now takes a ComputedValues, to get the current font size
Merge remote-tracking branch 'origin/master' into property-inheritance
FilterContext: store the filter node, and pass down the computed values for length normalization
pattern.rs: Get the affine from the current cairo context
Node::draw() / draw_children() - Take a ComputedValues argument
Make the C accessors for computed values take an RsvgComputedValues, not a node
text: Use each children's computed values, not our passed-down values
wip: try to fix clipping
push_render_stack(): Copy the current cr's matrix when creating a new surface
mask.rs: Fixed affines, hopefully, and fixed endianness of the luminance computation
clip_path: No need to push/pop_discrete_layer(); they do nothing when clipping, anyway
Don't inadvertently clear the clip path during Node::draw()
mask.rs: Remove unnecessary cr.save()/restore()
marker: Force display=inline for markers; not quite fixed yet
Merge branch 'property-inheritance' of gitlab.gnome.org:pborelli/librsvg into property-inheritance
baseline-shift should not inherit automatically, per the spec
Remove unused function
state_pop(): Removed.
feImage: set the affine on the cr, not the State
Remove calls to state_push() from nodes.
rsvg_drawing_ctx_push_bounding_box(): Use the cr's affine, not the state's
rsvg_drawing_ctx_new(): use the cr's affine as the starting affine, not the state's
draw_ctx->state - remove this field. W00t!
rsvg_node_get_state() - removed
NodeChars: don't set node.state.cond when creating the node
Remove calls to state_reinherit_top() which weren't doing anything
Node::draw() - Add a DrawCascade enum, to use the node's computed values or a new cascade
state_reinherit_top() - Remove, and also remove resulting unused functions
pservers-grad-13-b-ref.png - Regenerate; this is working correctly.
Regenerate tests that failed due to text rendering, after seeing what's going on
clip_path.rs: Remove debug println
Pass the filter primitive's computed values to its ::render() method, not the filter context's
rsvg_drawing_ctx_draw_node_on_surface(): Don't pass the parent's computed values; use the child's
implicitly
Use the correct affine for the temporary cairo_t when rendering a node to a surface
rsvg-test.c: Restore the frame offset; this exposes offsetting bugs
add_clipping_rect(): Don't take in an affine; assume the cr is already transformed
rsvg-test: Allow a difference of 2 for each channel on 64-bit
rsvg_drawing_ctx_draw_node_from_stack(): Factor out functions to preserve the stack
rsvg_drawing_ctx_draw_node_from_stack(): Port to Rust
node::CascadedValues - return this from get_computed_values()
A few docs for CascadedValues
Rename Node.get_computed_values() to get_cascaded_values() since that's what it produces
CascadedValues: provide a separate get() function to actually get the &ComputedValues
Node::draw() - Take a CascadedValues instead of a ComputedValues
NodeTrait::set_overriden_attributes() - new trait method
Merge branch 'property-inheritance' into 'property-inheritance'
State.affine - removed field; it's unused now
The "display" property shouldn't inherit by default, per the spec
The "overflow" property shouldn't inherit automatically, per the spec
The 'text-decoration' property shouldn't inherit by default, per the spec
The 'unicode-bidi' property shouldn't inherit by default, per the spec
For all properties, add comments linking to their spec definitions
NodeUse: don't save/restore the context for non-symbol references
rsvg_drawing_ctx_draw_node_from_stack(): Don't take a dominate argument; it was always passed as 0
Replace "dominate" argument with "with_layer: bool"
Use default implementations of NodeTrait::{draw, get_c_impl}
masking-path-07-b.svg - Add test; this fails right now
Merge branch 'saurvs/librsvg-test'
Merge remote-tracking branch 'origin/master' into property-inheritance
Preserve the cr's affine for clipping and masking before setting it to the identity matrix
Rename test to ignore-masking-path-07-b.svg - it fails; will file a bug
Merge branch 'property-inheritance' - MEGA REFACTORING
Add back pservers-grad-18-b.svg - it passes again
shapes::render_path_builder() - push/pop a layer here, not in the drawing function
NodeMarker::render() - push a discrete layer in a single place
viewport.rs: push a discrete layer in a single place
Remove superfluous cast
shapes::render_path_builder() - Remove duplicated checks for clipping
Merge branch 'YaLTeR/librsvg-composite-to-rust'
rsvg_filter_render() - rename to filter_render(); don't export it
COMPILING.md: Note on how to run `make distcheck` so it will work
(#276) - Guard against getting a cairo_t in an error state at the toplevel API
rustfmt
CONTRIBUTING.md: Note on how to install/update rustfmt
(#266) - Don't ignore the results of filters with errors in attributes
Remind people that github will delete their pull requests
Punctuation fix.
COMPILING.md: Update to mention the RUST_TARGET environment variable
Merge branch 'ffontaine/librsvg-master'
Tell rustfmt to skip the list of node creators
rustfmt
Merge branch 'saurvs/librsvg-load_rust'
Merge branch 'YaLTeR/librsvg-filters-to-rust-2'
Node: store the element's id, or None.
rsvg_drawing_ctx_draw_node_from_stack() - Pass an optional node to cascade from
rsvg_drawing_ctx_draw_node_on_surface() - Take an optional node to cascade from
(#273) - Pass the node being filtered down to the filter rendering functions
Merge branch 'YaLTeR/librsvg-filters-to-rust-3'
rustfmt
Merge branch 'pborelli/librsvg-draw-ctx'
rustfmt
Add tests for (#282), copied/regenerated from librsvg-2.42
(#241) rsvg_new_node_light_source() - Fix cut&paste error between feDistantLight and feSpotLight
Add test for the light source type
Oops, regenerate the last test file with linearization/unlinearization
Merge branch 'pborelli/librsvg-load'
rustfmt
Update NEWS for 2.43.0
Guillaume Gomez (1):
Add windows tests
GuillaumeGomez (1):
Fix build errors
Igor Gnatenko (1):
deps: update gtk-rs stack
Ivan Molodetskikh (74):
node.rs: Add an iterator over Node's children
Replace uses of node.foreach_child() with iteration
node.rs: Fix line being too long
node.rs: Impl DoubleEndedIterator for Children
node.rs: Add a test for Children
node.rs: Add C API for node.children() and tests
rsvg-private.h: Declare node children iter functions
rsvg-base.c: Replace rsvg_node_foreach_child() with iterators
rsvg-text.c: Replace rsvg_node_foreach_child() with iterators
rsvg-filter.c: Replace rsvg_node_foreach_child() with iterators
Remove Node::foreach_child()
Move common filter code to filters/common.{c,h}
Splits filters into their own files
Add some initial Rust filter infrastructure
Add Node::is_in_error()
Skip rendering filters if they are in error
Remove the Copy bound from parsers::parse()
Add the filters::Input enum
Add Deref from PrimitiveWithInput into Primitive
Add filters::IRect
Add FilterContext
Derive Eq, Ord, PartialOrd for NodeType
Add PrimitiveWithInput::get_input()
Add Primitive::get_bounds()
Add drawing_ctx::get_bbox()
WIP: impl rsvg_filter_render() in Rust
WIP: Port RsvgFilterOutput to Rust
Change how Rust filters are handled
Implement the Offset filter in Rust
Clean up some unused warnings
Add BoundingBox::with_rect()
Add FilterContext::compute_bounds()
Port rsvg_filter_primitive_get_bounds() to Rust
Get rid of offset.c
Fix rounding in FilterContext::compute_bounds()
Clean up unsafe in FilterContext::compute_bounds()
Extend Node::with_impl() to support return types
Add FilterError
Change Filter::render() to return a Result<>
Separate filters::Input into its own file
Move filter_context.rs to filters/context.rs
Move filters::IRect to filters::context::IRect
Move PrimitiveWithInput::get_input() to context
Add parsers::number()
Move path_bulder::clamp() to util
Port the composite filter effect
Add a Rust sRGB utility module
Use linear sRGB for feComposite
Fix srgb::{linearize,unlinearize}_surface()
Change InputSurfaceDataAccess error to assert
Get rid of some boilerplate with filter get_input
Make filters::input a private mod
Add filters::iterators
Add crate-type lib to Cargo.toml
Add some pixel iteration benchmarks
Remove unneeded pub from ImageSurfaceDataShared
Fix invalid assert conditions in srgb
Refactor feOffset to use the new iterator
Refactor feComposite to use the new iterator
Add Node::get_impl()
Port the filter node to Rust
Regenerate (TEMPORARY) test results
Add some missing attributes
Use camelCase filterUnits and primitiveUnits
Remove extra FilterContext::compute_bounds() arg
Return correct bounds from get_input()
Implement SourceAlpha in get_input()
Stub out FillPaint and StrokePaint
Fix find_light_source_in_children()
Implement BackgroundImage and BackgroundAlpha
Silence two warnings
Port rsvg_filter_get_{in,result} to Rust
Impl set_pixel() for cairo::ImageSurfaceData
Port feMerge to Rust
Jehan (2):
Makefile: fix VPATH (out-of-tree) builds.
tests: fix also VPATH build for unit tests.
Jordan Petridis (72):
Compiling.md: List dependancies for Fedora and Opensuse systems.
Fix the end of the line escaping.
List incoplete dependancies for ubuntu/debian.
Fix ubuntu dependancies.
Compiling: Add note about building on ubunut and using rustup.
gitlab-ci: Build test case for fedora.
Compiling.md: Add Debian testing dependancies.
gitlab-ci: Add manual build triggers for rustfmt and clippy.
gitlab-ci: Add a debian testing build test and a disable template for ubuntu 18.04.
gitlab-ci: Fix debian build.
gitlab-ci: Fix clippy build.
Initial switch to a cargo workspace.
Gitlab-ci: Adjust to the cargo workspace.
gitlab-ci: Test using a custom OCI registry and image to run tests.
Use custom OCI images instead of building a new enviroment from scratch each time.
Add a test for fedora rawhide.
Try caching rust artifacts.
Try to cache the cargo Home.
Gitlab-ci: Set a cache policy that isolates each job.
gitlab-ci: Add a build in release mode.
Enable ccache.
Fix indentation.
Gitlab-CI: Add a state to test cross-distro builds in release mode.
Gitlab-CI: Fix typo.
Gitlab-CI: Remove template duplication.
Gitlab-ci: Add an i386 build.
Gitlab-ci: Merge debug and release builds so they can be run in parallel.
Gitlab-ci: Add i386 release build.
Copy .rustmft.toml config from rsvg-bench.
Rustfmt.
gitlab-ci: Enable rustfmt.
Update rustfmt.
Normalize comments.
rustfmt: Skip the attribute slice in build.rs
rustfmt: Change the layout of 'import' and 'use'.
Rustfmt: Switch 'indent_style' to 'Block'.
Merge branch 'rustfmt' into 'master'
clippy: remove 'needless_borrow's
clippy: remove 'redundant_closure'
rustfmt
gitlab-ci: Do not share the case between branches.
gitlab-ci: Create .cargo_cache if it does not exist.
Merge remote-tracking branch 'gnome/master' into i386-gitlab-ci
gitlab-ci: Fix the cargo cache.
Fix typo.
aspect_ratio: Remove unnecessary enum.
aspect_ratio: Fix failling test.
gradient.rs: Refactor a for-loop to iterator combinators chain.
Bump the minimum rustc version to 1.21
Merge branch 'grad' into 'master'
Cargo fmt
aspect_ratio: Remove AlignXY struct.
aspect_ratio: Move impl Defualts under the struct declarations.
aspect_ratio: make tests more compact.
aspect_ratio: Use seperate types for Aling X and Align Y.
gitlabci: switch clippy image to a prebuilt one.
gitlabci: remove dead codde/template.
gitlabci: fix rawhide typo.
gitlabci: Limit cross-distos tests to only the GNOME/librsvg repo.
gitlabci: Document the different stage setup.
gitlabci: demote fedora_release to stgage 3.
cond.rs: Use AsciiExt to maintain backwards compatibility.
gitlabci: Add mutliple rustc builds.
gitlabci: Add ubuntu builds.
Update COMPILING.md. Fixes #213.
gitlabci: Add test for rustc v1.25
gitlabci: Remove most amd64 release builds.
CI: Change the images urls to point to the GNOME registry.
CI: Fix rustfmt job
Fix rustfmt config.
node.rs: Match on reference.
CI: Run rustc tests before cross-distro tests.
Juraj Fiala (1):
emit_markers_for_path_builder(): Consider closepath at ending markers
Massimo (1):
gitlab#91 - Initialize the intial Cairo context in the clipping context correctly
Paolo Borelli (182):
Simplify code in rsvg_cond_parse_system_language
Use g_get_language_names in rsvg_cond_parse_system_language
Compare with all the system languages
Add reftest for system language attribute
Implement svg switch conditions in rust
structure: small cleanup, use Iterator::find instead of for
text: move measure_text to rust
text: port text_render function to rust
text: push space normalization into text.rs
state: move xml_space to the rust state
chars: move text measure and render to chars.rs
text: remove unused param from tref functions
text: rename and export two functions
property macros: enums shoould have a C representation
state: add text_anchor getter
tate: move TextAnchor to rust
text: move tref node implementation to text.rs
text: move tspan node implementation to rust
text: move text node implementation to rust
state: remove the now unused C version of get_text_anchor
text: fold chars.rs back into text.rs
text: port recursive measure to rust
text: port recursive render to rust
macro: remove the repr C
macros: extend macro to deal with properties that are not enums
state: port the xmlang property to rust using the new macro
state: port letter spacing to rust
length: remove recently add FromStr impl
state: move get_normalized_font_size to rust.rs
state: add baseline shift getter
state: add get_baseline_shift to rust state
state: make state_parent available in rust
text: port accumulate_baseline_shift to rust
state: move baseline shift property to rust
state: check if name is null before using it for lookup
state: move font size to rust
state: parent() can take const
drawing_ctx: port normalize_font_size to rust
drawing_ctx: move get_accumulated_baseline_shift
state: move reconstruct method to rust
drawing_ctx: move reinherit_top to rust
state: fix constness of get_affine
state: factor out state_new_with_parent
state: rename rsvg_current_state
drawing_ctx: add a setter for the current state
text: mix mutability of the draw_ctx
drawing_ctx: move push/pop state to rust
drawing_ctx: remove get_current_state_affine
drawing_ctx: remove get_current_state_affine
state: move TextDecoration to rust
state: move overflow to rust
state: move font family to rust
state: move font style to rust
state: move font variant to rust
state: move unicode bidi to rust
state: remove comment decoration
state: rename cap and join properties
parsers: port parsing url to rust using cssparser
rsvg-load: include string.h
path-builder: remove C export and .h file
pathbuilder: rename RsvgPathBuilder to PathBuilder
state: port StrokeMiterlimit to rust
state: move CompOp to rust
state: add C getters for some of the fields
state: port enable-background to rust
property_macros: factor out duplicated code
state: move text-rendering to rust
state: move shape-rendering to rust
state: move stroke width to rust
state: move clip rule to rust
state: move display and visibility to rust
state: move font stretch to rust
state: move font weight to rust
Remove rsvg-css.c
state: cleanup markers code
cairo-draw: remove leftover declaration
headers: move node_new declarations to structure.h
state: move to rust the table of styles marked "important"
iri: split out an IRI enum and module
state: move markers to rust
property_macros: add variant for types implementing Parse
state: move filter property to rust
state: move mask property to rust
state: move clip path property to rust
iri: remove unused C parse url
state: move stroke-dashoffset to rust
tests: add a reftest for negative dashoffset
length: rename StrokeDasharray in Dasharray
state: move dash array to rust
state: important_styles does not need to be pub
state: sort properties
state: fix visibility check
state: move direction and writing mode to rust
state: move the parsing of conditional processing attributes
state: move conditional processing to rust
state: add getters for flood properties
state: move flood opacity to rust
state: move fill opacity to rust
state: move stroke opacity to rust
state: simply store the Attribute in the important_styles hashset
state: port flood color to rust
filter: use getter for the current color
paint_server: drop unused C function
iri: use cssparser to parse 'none'
paint_server: refactor to not use the Color struct
state: refactor get_current_color to return cssparser::RGBA
state: move color property to rust
paint_server: fix fallback parsing error handling
paint_server: cleanup parsing
unitinterval: add a small struct that holds [0-1] values
state: use UnitInterval for the opacity properties
state: move opacity property to rust
state: port fill and stroke to rust
Fix build, we do not have chars.rs anymore
Pass down opacity as a unit interval reference
rsvg-css.h: remove leftover prototype
Fold cairo-clip.c into cairo-draw.c
Remove RsvgRender base struct
DrawingCtx: remove unused pango_context field
gradient: move SpreadMethod parsing
paint_server: rename some methods
draw_ctx: avoid useless C wrapper
filters: remove unused include
draw: do not assign variable twice
drawing ctx: move the bbox to the ctx
drawin_ctx: move also the bounding box stacks
drawing_ctx: move the test font map
state: handle "important" styles in rust
state: move parse_presentation_attributes to rust
rsvg-css.h: remove leftovers
drawing_ctx: add a getter for the offset
draw: move set_affine_on_cr to rust
drawing_ctx: move offset fields out of render
drawing_ctx: move width and height fields out of render
drawing_ctx: completely remove the render object
drawing_ctx: move all drawing_ctx code in cairo-draw.[ch]
Rename rsvg-cairo-draw to rsvg-drawing-ctx
drawing_ctx: rename some methods to use the right naming convention
drawing_ctx: move push/pop_discrete_layer to rust
Fix unused variable warning
float_eq_cairo: add an assertion macro
bbox: factor out a rect module
drawing_ctx: move initial rect calculation to rust
rect: handle intersection of disjoint rects
rect: add an utility to get the closest outer rect
rect: refactor to a RectangleExt trait
bbox: do not access fields directly
bbox: make RsvgBbox opaque
drawing_ctx: add a getter for the bbox
draw: factor out an utility to get bbox from extents
bbox: use Option<> for the rect
rect: make is_empty handle approximations
bbox: rename the rust struct to BoundingBox
bbox: store ink_box in the BoundingBox struct
drawing_ctx: add getters for width and height
handle: move the test font map in the handle
drawing_ctx: move get_pango_context to rust
drawing_ctx: fix getters
drawing_ctx: pass in the cairo surface
drawing_ctx: port rsvg_drawing_ctx_insert_bbox to rust
mask: port generating the cairo mask to rust
drawing_ctx: avoid some conversions
styles: remove unused typedef
draw: remove unused C function
property_macros: pass in a parse_impl param
property_macros: use ":" also for the impl params
property: rename method to 'compute' and take all values as param
state: reimplement baseline_shift
state: we do not need to store parent anymore
state: remove C getter/setter for affine
node: avoid use of get_state_mut when overriding properties
handle: cleanup get_position_sub
drawing_ctx: do not pass in the handle
drawing_ctx: move get_acquired_node_of_type to rust
drawing_ctx: remove unused field
drawing_ctx: move useful comment to rust
structure: avoid C roundtrip
load: move all node creation function in load.rs
load: macroify node creation functions
node: add and use get_id method
load: rework handling of class attribute
defs: move node registration to rust
Saurav Sachidanand (3):
Make Node store pointers to immediate siblings, first/last child
Write test artifacts to tests/output
Move node creation to Rust
Tim Lunn (1):
Fix build failure on Ubuntu/Debian
Timm Bäder (1):
gitlab#143 - rsvg-filter: Optimize get_/put_column
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]