Class VertexShape

java.lang.Object
ghidra.service.graph.VertexShape

public abstract class VertexShape extends Object
Class for defining shapes to use for rendering vertices in a graph
  • Field Details Link icon

  • Method Details Link icon

    • getName Link icon

      public String getName()
      Returns the name of the shape
      Returns:
      the name of the shape
    • getShape Link icon

      public Shape getShape()
      Returns the Shape for this VertexShape instance
      Returns:
      the Shape for this VertexShape instance
    • getLabelPosition Link icon

      public double getLabelPosition()
      Gets the relative amount of margin space to allocate above the label. The default is 0.5 which will center the label in the associated shape. A value closer to 0 will move the label closer to the top and a value closer to 1 will move the label closer to the bottom.
      Returns:
      the relative amount of margin space to allocate obove the label.s
    • getShapeToLabelRatio Link icon

      public double getShapeToLabelRatio()
      Returns the size factor for a shape relative to its label. Shapes are sized based on the label of a vertex so that the label can fit inside the shape (mostly). Some subclasses will need to override this value to some value > 1 to fit the label in the shape. For example, a rectangle shape does not need to be extended because text naturally fits. But for a shape like a triangle, its bounding box needs to be bigger so that text doesn't "stick out" in the narrow part of the triangle.
      Returns:
      the size factor for a shape relatvie to its label
    • getMaxWidthToHeightRatio Link icon

      public int getMaxWidthToHeightRatio()
      This is a factor to keep some shapes from being so distorted by very long labels that they effectively lose their shape when seen by the user
      Returns:
      the max width to height ratio
    • createShape Link icon

      protected abstract Shape createShape()
    • getShape Link icon

      public static VertexShape getShape(String shapeName)
      Returns the VertexShape for the given shape name
      Parameters:
      shapeName - the name of the shape for which to get the VertexShape
      Returns:
      the VertexShape for the given shape name
    • getShapeNames Link icon

      public static List<String> getShapeNames()
      Returns a list of names for all the supported VertexShapes
      Returns:
      a list of names for all the supported VertexShapes
    • hashCode Link icon

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals Link icon

      public boolean equals(Object obj)
      Overrides:
      equals in class Object