[librsvg] (248 commits) ...Merge branch 'rustification'



Summary of changes:

  f27a8c9... Start a branch to port bits of librsvg to Rust (*)
  fcdac76... marker.rs: Use variables whose purpose is more clear (*)
  30f6d8f... marker.rs: Add test for path_to_segments() for open paths (*)
  7559ba4... marker.rs: Rename p1x/p1y, etc. to x1/y1, etc. (*)
  755e526... marker.rs: Turn Segment from a struct into an enum (*)
  e503b9f... marker.rs: Factor out replacement/creation of segments (*)
  eb0c099... marker.rs: Separate segment setup from the state machine lo (*)
  b52c851... marker.rs: In tests, factor out creation of helper cairo::C (*)
  237dd6c... marker.rs: Test for multiple open subpaths (*)
  7effbe1... marker.rs: Add utility functions to create segments for tes (*)
  cdc5b59... marker.rs: Utility function to test path_to_segments() (*)
  9fcf534... marker.rs: Use helper functions to create Segments everywhe (*)
  c0c7be4... marker.rs: Fix curve tangents in make_curve(), not in the c (*)
  b518bba... Update the README (*)
  4b2273a... marker.rs: Make the test assertion be (expected, computed) (*)
  d252215... marker.rs: Test for a closed subpath.  We found a bug! (*)
  80fc5f5... marker.rs: ClosePath *does* need to generate a line at the  (*)
  9c93a2a... marker.rs: rename SegmentState states to something more mea (*)
  e5d861e... marker.rs: Handle Cairo's artificial moveto after a closepa (*)
  983a67f... marker.rs: Test for multiple closed subpaths (*)
  971ee41... marker.rs: Test for not having a moveto after a closepath (*)
  f9c447f... marker.rs: Comments to explain what each test does (*)
  fbf7eed... marker.rs: Add a disabled test for a sequence of moveto com (*)
  a0693ea... marker.rs: Remove temporary variables in tests (*)
  20fae80... marker.rs: Create segments without an auxiliary variable (*)
  646d565... marker.rs: In tests, use the global helper functions; don't (*)
  d4247fc... First cut at building the Rust library from Automake (*)
  5a76a7d... Disable building the Rust parts for now (*)
  c0263bd... rsvg-marker: Move the RsvgMarker declarations inside the pr (*)
  ae1f5a5... rsvg-shapes: Move the RsvgNodePath declarations inside the  (*)
  2123dbf... rsvg-path: Update some obsolete comments (*)
  ddd77f6... rsvg_path_builder_init(): Remove n_elements argument (*)
  a761759... rsvg-base: New function rsvg_acquire_node_of_type() (*)
  d8978c3... Use rsvg_acquire_node_of_type() where type checks are neces (*)
  7e69e92... marker.rs: port points_equal() and is_zero_length_segment() (*)
  1543bde... marker.rs: port find_incoming_directionality_backwards() (*)
  456d3ed... marker.rs: Remove auxiliary variables (*)
  3ea3f3f... marker.rs: Port find_outgoing_directionality_forwards() (*)
  5c8cf44... marker.rs: Compute directionalities, not whether segments a (*)
  82f53f9... marker.rs: Test the values of tangent vectors, not just the (*)
  32f2115... rsvg-path: Make RsvgPathBuilder a heap object (*)
  00baf53... rsvg-path: New function rsvg_path_builder_add_to_cairo_cont (*)
  13e535b... Render everything in terms of RsvgPathBuilder, not cairo_pa (*)
  035d6c2... marker.rs: Port rsvg_rust_render_markers() to Rust (*)
  0287b49... marker.rs: Remove superfluous checks (*)
  2d21ba6... rsvg-path: Make RsvgPathBuilder an opaque struct (*)
  028634f... rsvg-path: remove no-op function (*)
  1d39ddd... marker.rs: Combine 'derive' attributes into a single one (*)
  6eb8d23... Cargo.toml: Use my git repo of gtk-rs/cairo for now (*)
  e354165... path_builder.rs: Start porting RsvgPathBuilder (*)
  078a6ad... marker.rs: Use cairo_sys::cairo_path_t correctly (*)
  3c8c6a4... path_builder.rs: Compress declarations a bit (*)
  a6b9f74... path_builder.rs: Rename path_data to path_segments to refle (*)
  720f378... path_builder.rs: Move to Rust versions of _add_to_cairo_con (*)
  a9fde1f... path_builder.rs: Make RsvgPathBuilder's methods public (*)
  7f5c09b... marker.rs: Use RsvgPathBuilder entirely; don't use Cairo pa (*)
  379dea0... path_builder.rs: Actually put a ClosePath in our array of c (*)
  5c7a8ba... path_builder.rs: Port rsvg_path_builder_arc() to Rust. (*)
  a412839... tests: Add a README.md; make rsvg-test.c's test names more  (*)
  1327245... tests/fixtures/reftests/svg1.1: Add the first batch of test (*)
  f88130d... tests/README.md: Improve the markup; describe 'crash' and ' (*)
  c465af1... rsvg-shapes: Remove unused struct field (*)
  b7768db... RsvgLength: replace the 'char factor' field with a 'unit' e (*)
  cb166d9... _rsvg_css_normalize_length(): Use a LengthDir enum instead  (*)
  186418e... rsvg-path: Make the path parser stop when there is an inval (*)
  be7cfed... path_parser.rs: Start a parser for path data in Rust (*)
  19d94f3... path_parser.rs: Start implementing a recursive descent pars (*)
  130ec0a... path_parser.rs: rename object to PathParser and make it pub (*)
  5d07d93... path_parser.rs: Test and fix handling of numbers with decim (*)
  21a00ea... path_parser.rs: Tests for various representations of number (*)
  6668404... path_parser.rs: tests for commas between numbers, and multi (*)
  d491d8e... path_parser.rs: Comment on peculiarities and test for speci (*)
  955ebac... path_parser.rs: test for relative moveto-lineto-moveto (*)
  1490d99... path_parser.rs: Simplify optional_comma_whitespace() (*)
  a4fb81c... path_parser.rs: Put unimplemented stubs for the all the rem (*)
  fc37e1e... path_parser.rs: Implement lineto commands 'L' and 'l' (*)
  147d69e... path_parser.rs: Implement horizontal lineto commands 'H' an (*)
  57c1b63... path_parser.rs: Implement vertical lineto commands 'V' and  (*)
  ae3ca6f... path_parser.rs: Implement curveto commands 'C' and 'c' (*)
  aa71550... path_parser.rs: Implement smooth curveto commands 'S' and ' (*)
  19216f3... path_parser.rs: Don't process relative coordinates in emit_ (*)
  56b30a4... path_parser.rs: Place the emit_*() functions next to each o (*)
  7594e5c... path_parser.rs: Factor out function to set both current and (*)
  7c08df8... path_parser.rs: Implement quadratic curveto commands 'Q' an (*)
  f0d67ca... path_parser.rs: Factor out function to set the reflection a (*)
  403881c... path_parser.rs: Rename reflection_{x,y} to cubic_reflection (*)
  c4ed9b2... path_parser.rs: Maintain reflection points for quadratic cu (*)
  d494551... path_parser.rs: Implement smooth quadratic curveto commands (*)
  0d8d4b3... path_parser.rs: Implement closepath commands 'Z' and 'z' (*)
  90204bb... path_parser.rs: Shorten names of test functions (*)
  b8a5bff... path_parser.rs: Split part of number() into a helper nonneg (*)
  6d5788b... path_parser.c: Implement arc comamnds 'A' and 'a' (*)
  e670686... rsvg-path.h: Fully implemented in Rust now (*)
  2db4b52... Regenerate test image for elliptical arcs that now passes (*)
  7f7dfef... path_parser.rs: Remove debug println!() (*)
  aa54f11... rsvg-cairo-draw: Normalize stroke-width specified as percen (*)
  7abdac9... rsvg-styles: Use the viewport percentage computation specif (*)
  ad0ebab... rsvg_cairo_render_pango_layout(): Normalize stroke-width re (*)
  8e84816... rsvg-cairo-draw: Factor out function to set up a cairo_t fo (*)
  da4a2a7... Use new function rsvg_get_normalized_stroke_width() instead (*)
  e0dcaa2... rsvg-styles: New accessor functions for the state struct's  (*)
  a77084d... Move the get_*_marker functions to take an RsvgDrawingCtx,  (*)
  d81282c... Move rsvg_render_markers() completely into Rust (*)
  5a85e7c... Make RsvgLength carry its own direction for normalization (*)
  a2e975e... Remove unused function (*)
  fc13538... Remove unused field (*)
  35a7381... Inline a one-liner function that was only used in a single  (*)
  fcec5ea... Remove unused struct field (*)
  f6cbe39... path_builder.rs: No need to repr(C) for RsvgPathBuilder; it (*)
  142a599... rsvg-cairo-render: Remove obsolete comment; add some assert (*)
  28d00ad... Rename rsvg_filter_set_atts() for consistency (*)
  e478a29... Rename function to rsvg_defs_register_node_by_id() (*)
  c8b08f1... Register newly-created nodes in the defs as soon as possibl (*)
  f22b3cb... RsvgDefs: Keep track only of nodes that have an id, or are  (*)
  0a416d7... Remove unused global variable (*)
  a450f40... rsvg_state_finalize(): Clear freed fields (*)
  468f925... Make rsvg_state_new() / rsvg_state_free() the only way of g (*)
  68f0db9... Make rsvg_state_dominate() static (*)
  16d652c... Enable dimensions tests (*)
  57471e1... tests/dimensions.c: Assert that we got the sub-object; prin (*)
  714e3e3... Disable the "/dimensions/sub/rect with transform" test for  (*)
  9bbadeb... Make rsvg_state_override() static (*)
  77a40fe... marker.rs: Iterate on vector slices, instead of ranges, so  (*)
  e483065... marker.rs: Remove superfluous parentheses (*)
  806ec92... marker.rs: Take slices instead of &Vec<Segment> (*)
  fb723fa... strtod.rs: Shitty implementation of strtod(); we'll need it (*)
  57a48fd... strtod.rs: Move the last_pos housekeeping until the end (*)
  a043810... strtod.rs: Don't consume the 'e' in strtod("42em") (*)
  03d7716... length.rs: New file with RsvgLength and a public rsvg_lengt (*)
  b491f38... Gradients: Don't store "current color" for gradient nodes (*)
  4a37888... Start adding SVG tests for gradients (*)
  ece994a... length.rs: Remove debugging println!() (*)
  1088bea... rsvg-styles: Use g_message() instead of g_warning() for err (*)
  88a1fb4... Rename test-display.c to rsvg-view.c (*)
  38927a6... Add official test files for gradients.  Some do not pass. (*)
  4006aff... RsvgGradientStop: store whether the stop's values are valid (*)
  ac4ca7e... Radial gradients: fix the focus point so it lies within the (*)
  f3fb509... Ensure gradient stop offsets are in nondecreasing order. (*)
  e28afe4... Do not inherit gradient stop color and opacity from the gra (*)
  f3aac51... Test 21 for gradients also passes; regenerate ref image (*)
  825fed0... Remove test 20 for gradients; it is for animations (*)
  69789ce... Remove superfluous term (*)
  1e12b14... Make condition slightly easier to read (*)
  deb3e8e... Rename rsvg-path.h to rsvg-path-builder.h (*)
  822459f... RsvgLength: make ::parse() a constructor, not a standalone  (*)
  84af994... rsvg_length_hand_normalize(): Fully implemented now in Rust (*)
  932db35... Rename _rsvg_{push,pop}_view_box to rsvg_drawing_ctx_{push, (*)
  2376ac2... Use a new rsvg_drawing_ctx_get_view_box_size() throughout (*)
  11282a1... Use a new rsvg_drawing_ctx_get_dpi() accessor throughout (*)
  cba4105... rsvt-text: Don't pass an RsvgState around; get it from the  (*)
  b55970a... Use a new rsvg_drawing_ctx_get_normalized_font_size(); make (*)
  66f7394... Make viewport_percentage() internal to rsvg-css.c (*)
  4eca2e0... drawing_ctx.rs: Put the declaration of RsvgDrawingCtx here (*)
  4d19ded... Implement rsvg_length_normalize() fully in Rust (*)
  4daa2de... Remove unused RsvgLoadPolicy (*)
  b2c5f37... RsvgNode: don't keep the node's element name in this struct (*)
  b4d5be4... Make rsvg_node_set_atts() static (*)
  997c1a0... property_bag.rs: Bindings for RsvgPropertyBag (*)
  58a645c... node_set_atts(): Check here for the property bag being empt (*)
  4b22ec8... Dispatch creation of new nodes from an array of element nam (*)
  048bb00... NodeCreator: Add a supports_class_attribute field, and popu (*)
  54dc79f... node_set_atts(): Call rsvg_parse_style_attrs() here, not in (*)
  7bd590a... path_parser.rs: Make PathParser private, and only have a pu (*)
  7f696c5... node.rs / shapes.rs - Start a Rust implementation for nodes (*)
  ce4fc2c... rsvg-test: Ignore SVG fixtures that start with "ignore-" (*)
  ce69346... node_is_filter_primitive(): make a private function, not a  (*)
  9e57921... Use an accessor function rsvg_node_get_state() throughout (*)
  d1ef96e... Use an accessor function rsvg_node_get_parent() throughout (*)
  852a2a3... Use an iterator function rsvg_node_foreach_child() througho (*)
  4f1d58d... Rename rsvg_node_group_pack() to rsvg_node_add_child() (*)
  a49f8d3... Use a new rsvg_node_type() function throughout instead of a (*)
  f8fe835... rsvg-marker.c: Iterate through children with rsvg_node_fore (*)
  a2bf17d... add_color_stops_for_gradient(): Iterate through the stops w (*)
  2842469... gradient.rs: Start an implementation of gradient parameters (*)
  6e1986a... gradient.rs: Don't initialize RsvgLength by hand; actually  (*)
  0e9bda1... gradient.rs: Implementation of gradient fallbacks (*)
  bd32612... rsvg-cairo-draw.c: Factor out common code to set a cairo_pa (*)
  370634f... gradient.rs: Export functions to create Gradient objects an (*)
  0ca4455... bbox.rs: Implement RsvgBbox in Rust (*)
  3a8f076... New function rsvg_cairo_get_cairo_context() (*)
  efb5840... Wrap some more RsvgDrawingCtx functions in Rust (*)
  2592401... Reorder some struct fields for consistency (*)
  675922d... gradient.rs: Implement setting linear gradients on a Cairo  (*)
  4b084cd... gradient.rs: Implement gradient_radial_new() (*)
  6fa8e4f... Rename rsvg_acquire_node*() / rsvg_release_node() to rsvg_d (*)
  6ece187... fix: implement gradient_radial_new (*)
  9355820... drawing_ctx.rs: Wrappers for acquire_node() and release_nod (*)
  1c0b41d... gradient.rs: Finish porting gradients to Rust!  Yay! (*)
  30d12a9... rsvg-cairo-draw.c: Use the Rust implementation of the gradi (*)
  5e36266... gradient.rs: Destroy the gradient that we created with the  (*)
  6438cb7... gradient.rs: Avoid copying a gradient when resolving (*)
  e3f29e9... node.rs: Rename trait Node to NodeTrait (*)
  04ee0f2... Remove obsolete comment (*)
  d29eb93... Remove superfluous cairo_save()/cairo_restore() (*)
  ac48e50... Push/pop the state stack in rsvg_node_draw(), not everywher (*)
  2d5a23c... Don't push/pop a new state for nodes that wouldn't be drawn (*)
  3f685fe... Remove _rsvg_node_finalize(); leave only _rsvg_node_free() (*)
  126455c... Initialize the RsvgNode vtables in _rsvg_node_init() (*)
  f732406... Remove unused prototype (*)
  dc85a25... Use rsvg_node_foreach_child() instead of accessing children (*)
  1516c90... bbox.rs: Oops, return the correct dst.rect.height (*)
  99342d5... Fix obsolete comment (*)
  d37e275... rsvg_cairo_render_new(): Initialize ->bbox to the identity  (*)
  d136efe... feComponentTransferFunction: use the last feFuncX element f (*)
  f01f0a7... Add test files for markers (*)
  f52d96f... bgo#763386 - Handle curveto segments where only three contr (*)
  c24059c... Fix offsets in rsvg_filter_primitive_image_render() (*)
  5b83d78... Don't do our own compositing for feComposite; let Cairo han (*)
  eb76656... Add a feComposite test (*)
  29eddba... bgo#603550 - Compute the luminance correctly when generatin (*)
  68ae25b... Add test files for bug #761871 - maintain separate reflecti (*)
  6d199be... rsvg-filter: Don't use CLAMP(x, 0, max) on unsigned values (*)
  1a30e53... rsvg-shapes: Stylistic fix (*)
  8cb8489... io-svg: Propagate the result of rsvg_handle_close(), oops (*)
  218ae16... Tell automake to output an .xz archive, not a .bz2 (*)
  bbca5c9... Check for Rust/Cargo in configure.ac; make Makefile.am smar (*)
  5ea3754... Make this 2.41.0beta! yay! (*)
  cd7028e... rsvg-paint-server.c: Remove old gradient code; it is unused (*)
  c32694b... Be explicit about how stop-color and stop-opacity are inher (*)
  3090bec... tests/README.md: Mention the "ignore-" prefix for reftests (*)
  0525baf... Update NEWS for 2.41.0 (*)
  f0c1131... Special thanks to the Rust people (*)
  30a91d1... Make cargo run when srcdir != builddir (*)
  3b80bf9... rsvg-test: allow skipping directories that start with "igno (*)
  5a1b668... tests/Makefile.am: Fix typos that caused reftests/bugs/* no (*)
  7714dfe... bgo#763386: Handle missing case of coincident control point (*)
  917e7c8... Update AUTHORS (*)
  f6bf80e... More AUTHORS (*)
  6583d84... Visual Studio builds: Add NMake Makefile for the Rust bits (*)
  5a55771... Visual Studio builds: Use a default value for $(CARGO) (*)
  49ae87e... MSVC builds: Make MSVC 2013 the baseline MSVC Version (*)
  7ee8451... Visual Studio builds: Fix librsvg DLL linking (*)
  b502c8b... Visual Studio builds: Fix rsvg-view-3 projects (*)
  1deacfc... Visual Studio builds: Integrate Rust build process (*)
  1701dcb... Visual Studio builds: Tell about Rust (*)
  d11e469... Make some arguments immutable (*)
  77ea6a6... Switch to the official gtk-rs/cairo now that it supports ma (*)
  4cc1045... Update AUTHORS from the whole git log (*)
  c742926... configure.ac: Add a --enable-debug option for debug vs. rel (*)
  25457b7... Add a testing mode so reftests can use predictable text ren (*)
  9ec026c... Normalize test reference files so they don't dig into my pr (*)
  c8ba1f6... bgo#686953 - Support the "marker" shorthand attribute (*)
  f67c245... Update NEWS (*)
  605408a... marker.rs: Normalize negative angles into positive ones (*)
  6f270cf... bgo#776297 - Only render markers on path, line, polyline, p (*)
  43c8ae3... Update NEWS (*)
  5bc8c04... build/Makefile.msvcproj: Fix cleanup (*)
  ebcbfae... Merge branch 'rustification'

(*) This commit already existed in another branch; no separate mail sent


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]