]> granicus.if.org Git - graphviz/commitdiff
tests: graphviz_edge: remove 'arrow' method and inline instead
authorMagnus Jacobsson <Magnus.Jacobsson@berotec.se>
Tue, 4 Oct 2022 13:08:15 +0000 (15:08 +0200)
committerMagnus Jacobsson <Magnus.Jacobsson@berotec.se>
Fri, 14 Oct 2022 13:59:16 +0000 (15:59 +0200)
Upcoming commits will introduce handling of primitive arrow shapes
other than 'normal' or 'inv' which cannot be represented by a single
SVG element.

tests/graphviz_edge.cpp
tests/graphviz_edge.h

index 602b90191731e89552d53b2aca275ecfc27b6bf1..8db2301b68e1e9e8e19681299175f0477f0040ec 100644 (file)
@@ -18,10 +18,6 @@ void GraphvizEdge::add_outline_overlap_bbox(const GraphvizNode &node,
   m_svg_g_element.add_outline_overlap_bbox(node.svg_g_element(), tolerance);
 }
 
-SVG::SVGElement &GraphvizEdge::arrow(const std::size_t index) const {
-  return m_svg_g_element.find_child(SVG::SVGElementType::Polygon, index);
-}
-
 static const std::unordered_set<std::string_view>
     supported_primitive_arrow_shapes = {
         "inv",    //
@@ -38,7 +34,9 @@ SVG::SVGRect GraphvizEdge::arrowhead_outline_bbox(
         fmt::format("primitive arrow shape {} is not yet supported",
                     primitive_arrow_shape)};
   }
-  auto edge_arrowhead = dir == "forward" ? arrow(0) : arrow(1);
+  const auto index = dir == "forward" ? 0 : 1;
+  auto edge_arrowhead =
+      m_svg_g_element.find_child(SVG::SVGElementType::Polygon, index);
   const auto edge_arrowhead_bbox = edge_arrowhead.outline_bbox();
 
   return edge_arrowhead_bbox;
@@ -53,7 +51,9 @@ SVG::SVGRect GraphvizEdge::arrowtail_outline_bbox(
         fmt::format("primitive arrow shape {} is not yet supported",
                     primitive_arrow_shape)};
   }
-  auto edge_arrowtail = arrow(0);
+  const auto index = 0;
+  auto edge_arrowtail =
+      m_svg_g_element.find_child(SVG::SVGElementType::Polygon, index);
   const auto edge_arrowtail_bbox = edge_arrowtail.outline_bbox();
 
   return edge_arrowtail_bbox;
index 36a0dd3272ceef03ac4b62967987c8722003bca3..d5d13f544ef2a3118606bcf951c4129acb756f1c 100644 (file)
@@ -32,9 +32,6 @@ public:
   /// both an arrowhead and an arrowtail, the arrowtail is at index 0 and the
   /// arrowhead is at index 1. If there's only one, it's at index 0. Throws an
   /// exception if there's no arrow at the specified index.
-  SVG::SVGElement &arrow(std::size_t index = 0) const;
-  /// Return the outline bounding box of the edge arrowhead. The outline
-  /// bounding box is the bounding box with penwidth taken into account.
   SVG::SVGRect
   arrowhead_outline_bbox(std::string_view dir,
                          std::string_view primitive_arrow_shape) const;