Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Draws an arbitrary geometric path. Paths are described by a series of pathOperations. Xpath is different to path because it uses the Batik library for rendering and adds a new operation: xarcTo

Operation

Description

xmoveTo[x,y]

adds a point to the path by moving to the specified coordinates (x,y)

xlineTo[x,y]

adds a point to the path by drawing a straight line from the current coordinates to the new specified coordinates (x,y)

xcurveTo[x1,y1,x2,y2,x3,y3]

adds a curved segment, defined by three new points, to the path by drawing a Bézier curve that intersects both the current coordinates and the specified coordinates (x3,y3), using the specified points (x1,y1) and (x2,y2) as Bézier control points

xquadTo[x1,y1,x2,y2]

adds a curved segment, defined by two new points, to the path by drawing a Quadratic curve that intersects both the current coordinates and the specified coordinates (x2,y2), using the specified point (x1,y1) as a quadratic parametric control point

xhline[x]

adds a point to the path by drawing an horizontal line to the specified coordinates (x,current.y)

xvline[y]

adds a point to the path by drawing a vertical line to the specified coordinates (current.x,y)

xshapeTo[shape,connect]

appends the geometry of the specified Shape, shape operation or outline operation to the path, possibly connecting the new geometry to the existing path segments with a line segment

xclose

closes the current subpath by drawing a straight line back to the coordinates of the last moveTo

xarcTo[x,y,rx,ry,angle,sweep,largeArc]

adds an elliptical arc, defined by two radii (rx,ry), an angle from the x-axis, a flag to choose the large arc or not, a flag to indicate if we increase or decrease the angles and the final point of the arc (x,y)

The first operation must be a moveTo.

Example

Code Block
xpath( borderColor: 'darkRed', fill: 'red', borderWidth: 4 ){
   xmoveTo( x: 50, y: 10 )
   xhline( x: 200 )
   xvline( y: 60 )
   xarcTo( x: 50, y: 60, rx: 150, ry: 150, angle: 90, sweep: true, largeArc: false )
}