[librsvg] (95 commits) ...gitlab#201 - Overhaul attributes parsing with perfect hashing (merge phf-attributes)



Summary of changes:

  fe3297f... Generate a PHF of SVG attribute names
  0bcad36... New function rsvg_attribute_from_name()
  5912933... fix: modules in attributes.rs
  e75cd78... build.rs: We don't need the C names after all
  824d6c3... Add rsvg-attributes.h
  0c30cc4... rsvg_parse_style_pair(): Use rsvg_attribute_from_name() and
  db897db... Sigh, pass C strings properly
  c58fbcb... rsvg_parse_style_pairs() - Just iterate over all attributes
  1ff98de... Don't pass an allocated closure to g_hash_table_foreach()
  0d8dba0... Rename rsvg_parse_style_pairs() -> rsvg_parse_presentation_
  8f6fd87... rsvg_parse_style_pair(): Distinguish between styles and pre
  6732ab3... rsvg_state_inherit() - Rename to state_inherit(); make it a
  ca3c8f0... rsvg_state_reinherit() - Rename to state_reinherit(); make 
  22281aa... Port PropertyBag to Rust
  d5d5ecc... PropertyBag.iter() method
  f08c159... Process the d attribute of NodePath with the PHF
  e2603a3... Process points/verts of NodePoly with the PHF
  ccbe9ef... PropertyBagIter: remove an unused field
  82ac281... parsers::parse() - New function, to replace property_bag::p
  008646b... NodeLine: parse attributes with the PHF
  d0b454b... NodeRect: parse attributes with the PHF
  0642702... NodeCircle: parse attributes with the PHF
  79cef1d... NodeEllipse: parse attibutes with the PHF
  47889ec... NodeSvg: parse attributes with the PHF
  e21cb3d... Replace tabs with spaces
  92ebc4f... NodeUse: parse attributes with the PHF
  fa03dc0... NodeSymbol: parse attributes with the PHF
  fdc8e81... GradientCommon: put the defaults in impl Default, not in re
  8b1e515... Gradient: Move the GradientVariant defaults to functions in
  7a0f620... Gradient: parse attributes with the PHF
  a7c8219... Gradient: don't start set_atts() with default values; start
  62380f7... Gradient: Fix the distinction between default values and un
  72a5270... Pattern: put the defaults in impl Default, not in resolve_f
  cecc732... Pattern: start with an unresolved pattern, instead of a Def
  126abb3... Pattern: parse attributes with the PHF
  15c1d55... NodeStop: parse attributes with the PHF
  75fd6ec... NodeClipPath: parse attributes using the PHF
  a25331f... NodeImage: Parse attributes with the PHF
  10e260e... NodeImage: Parse atttributes with the PHF
  5595f35... NodeMarker: Parse attributes using the PHF
  6259ab2... property_bag.rs: Remove the parse_or_*() functions.  Yay!
  38e66eb... Remove unused prototypes
  3f8e1a6... gradient/pattern.rs: Don't export functions that are only u
  90c0930... pattern_resolve_fallbacks_and_set_pattern(): Use Rust types
  19396be... gradient_resolve_fallbacks_and_set_pattern(): Use Rust type
  cabd443... rsvg_parse_style_attrs(): Parse attributes with the PHF
  b6334cc... PropertyBag: Add an iter_cstr() that outputs &CStr, instead
  1baa427... PropertyBag: implement PropertyBagIter in terms of Property
  1b9946f... PropertyBag: Export rsvg_property_bag_iter_*() for use from
  862ffb9... rsvg_parse_style_attrs(): Use iteration instead of rsvg_pro
  cdb4156... rsvg_parse_presentation_attributes(): Use iteration instead
  73ea7e3... rsvg_metadata_handler_start(): Use iteration instead of rsv
  514ccd4... rsvg_property_bag_enumerate(): Removed.
  f3edcbd... node_set_atts(): Remove call to rsvg_property_bag_size()
  71bff49... rsvg_parse_style_attrs(): Don't call rsvg_property_bag_size
  dfacaee... rsvg_eval_switch_attributes(): Remove the last call to rsvg
  e27b314... rsvg_property_bag_size(): Removed.
  57f3d6b... rsvg_start_style(): Parse attributes with the PHF
  ce19118... PropertyBag: make iteration return (key, attr, value) tuple
  e8fc72e... rsvg_parse_style_pair(): Take an RsvgAttribute arg; don't c
  6e13ebd... rsvg_property_bag_iter_next(): Return the Attribute as well
  b11c50a... Thoroughly deprecate rsvg_handle_get_metadata().  Returns N
  eb4de7d... rsvg_cond.c: Parse attributes with the PHF
  8fc8575... rsvg-text.c: Parse attributes with the PHF
  f3656e3... node_set_atts(): Register the node in the defs here, not in
  08807b4... node_set_atts(): Inline register_node_in_defs() here
  cf5c322... node_set_atts(): Parse attributes with the PHF
  f71ef5e... filter_primitive_set_x_y_width_height_atts(): Parse attribu
  893e47e... rsvg_filter_set_atts(): Parse attributes with the PHF
  b51d179... rsvg_filter_primitive_blend_set_atts(): Parse attributes wi
  da822b0... rsvg_filter_primitive_convolve_matrix_set_atts(): Parse att
  36f1ee7... rsvg_filter_primitive_gaussian_blur_set_atts(): Parse attri
  b08533c... rsvg_filter_primitive_offset_set_atts(): Parse attributes w
  5bb0149... rsvg_filter_primitive_merge_set_atts(): Parse attributes wi
  de76452... rsvg_filter_primitive_merge_node_set_atts(): Parse attribut
  9052c2e... rsvg_filter_primitive_color_matrix_set_atts(): Parse attrib
  30949e1... rsvg_filter_primitive_component_transfer_set_atts(): Parse 
  45c7d43... rsvg_node_component_transfer_function_set_atts(): Parse att
  8a58d06... rsvg_filter_primitive_erode_set_atts(): Parse attributes wi
  554f773... rsvg_filter_primitive_composite_set_atts(): Parse attribute
  8d62c11... rsvg_filter_primitive_flood_set_atts(): Parse attributes wi
  2f7659f... rsvg_filter_primitive_displacement_map_set_atts(): Parse at
  6cc3b03... rsvg_filter_primitive_turbulence_set_atts(): Parse attribut
  154bccc... rsvg_filter_primitive_image_set_atts(): Parse attributes wi
  28586d0... rsvg_node_light_source_set_atts(): Parse attributes with th
  ae6308a... rsvg_filter_primitive_diffuse_lighting_set_atts(): Parse at
  c8ef228... rsvg_filter_primitive_specular_lighting_set_atts(): Parse a
  f76231c... rsvg_filter_primitive_tile_set_atts(): Parse attributes wit
  3b5ab6c... rsvg_processing_instruction(): Parse attributes with the PH
  7cb9116... rsvg_start_xinclude(): Parse attributes with the PHF
  6254e29... NodeSvg: Parse delayed attributes with the PHF
  68ed408... PropertyBag: Remove the lookup() stuff; we only use iterati
  af53968... PropertyBag: Don't do redundant UTF-8 validation when gener
  2445090... PropertyBag: Use a Vec, not a HashMap
  a802987... gitlab#201 - Overhaul attributes parsing with perfect hashi


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