Class SvgShape


  • public class SvgShape
    extends SvgGraphic
    An SvgShape is a graphical svg element which can be directly applied to a given graphics context.
    Shapes consist of:
    • circle
    • ellipse
    • line
    • polygon
    • polyline
    • rectangle
    • path

    See also: http://www.w3.org/TR/SVG/shapes.html

    • Field Detail

      • path

        private org.eclipse.swt.graphics.Path path
      • pathData

        org.eclipse.swt.graphics.PathData pathData
    • Constructor Detail

      • SvgShape

        SvgShape​(SvgContainer container,
                 java.lang.String id)
    • Method Detail

      • doApply

        private void doApply​(org.eclipse.swt.graphics.GC gc)
      • apply

        public void apply​(org.eclipse.swt.graphics.GC gc)
        Description copied from class: SvgGraphic
        Apply this svg graphic to the given graphics context.

        Note that to support the rather abstract structure of svg, each time this method is called all transformations and css properties to be calculated and applied. If this is a shape, it will be painted to the graphics context. Containers will recursively make this call on their children.

        Specified by:
        apply in class SvgGraphic
        Parameters:
        gc - the gc to use in all graphics operations
      • contains

        public boolean contains​(float x,
                                float y,
                                org.eclipse.swt.graphics.GC gc,
                                boolean outline)
        Returns whether or not the given point is contained by this shape.
        Parameters:
        x -
        y -
        gc -
        outline -
        Returns:
        true if the given point is contained, false otherwise
        See Also:
        Path.contains(float, float, GC, boolean)
      • doFill

        private void doFill​(org.eclipse.swt.graphics.GC gc)
      • doStroke

        private void doStroke​(org.eclipse.swt.graphics.GC gc)
      • getBounds

        float[] getBounds()
      • getRadiusX

        private int getRadiusX()
      • getRadiusY

        private int getRadiusY()