# LibBoard::Arrow Struct Reference

A line between two points with an arrow at one extremity. More...

`#include <Shapes.h>`

Inheritance diagram for LibBoard::Arrow:

List of all members.

## Public Member Functions

| Arrow (double x1, double y1, double x2, double y2, Color penColor, Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
const std::string & | name () const
Arrow | rotated (double angle, const Point &center) const
Arrow | rotated (double angle) const
Arrow | translated (double dx, double dy) const
Arrow | scaled (double sx, double sy) const
Arrow | scaled (double s) const
void | flushPostscript (std::ostream &stream, const TransformEPS &transform) const
void | flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const
void | flushSVG (std::ostream &stream, const TransformSVG &transform) const
Arrow * | clone () const

## Detailed Description

A line between two points with an arrow at one extremity.

The arrow structure.

Examples:

  examples/graph.cpp.

## Constructor & Destructor Documentation

LibBoard::Arrow::Arrow | ( | double | x1,
|  | double | y1,
|  | double | x2,
|  | double | y2,
|  | Color | penColor,
|  | Color | fillColor,
|  | double | lineWidth,
|  | const LineStyle | style = `SolidStyle`,
|  | const LineCap | cap = `ButtCap`,
|  | const LineJoin | join = `MiterJoin`,
|  | int | depth = `-1` |
| ) |  |  | `[inline]`

Constructs an arrow.

Parameters:

  | x1 | First coordinate of the start point.
  | y1 | Second coordinate of the start point.
  | x2 | First coordinate of the end point.
  | y2 | Second coordinate of the end point.
  | penColor | The color of the line.
  | fillColor | The fill color of the sharp end.
  | lineWidth | The line thickness.
  | depth | The depth of the line.

Referenced by clone().

## Member Function Documentation

Arrow * LibBoard::Arrow::clone | ( |  | ) | const`[virtual]`

Return a copy of the shape.

Returns:

Reimplemented from LibBoard::Line.

References Arrow().

void LibBoard::Arrow::flushFIG | ( | std::ostream & | stream,
|  | const TransformFIG & | transform,
|  | std::map< Color, int > & | colormap |
| ) |  |  | const`[virtual]`

Writes the FIG code of the shape in a stream according to a transform.

Parameters:

  | stream | The output stream.
  | transform | A 2D transform to be applied.

Reimplemented from LibBoard::Line.

References LibBoard::Shape::_depth, LibBoard::Shape::_lineCap, LibBoard::Shape::_lineJoin, LibBoard::Shape::_lineStyle, LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, and LibBoard::Shape::filled().

void LibBoard::Arrow::flushPostscript | ( | std::ostream & | stream,
|  | const TransformEPS & | transform |
| ) |  |  | const`[virtual]`

Writes the EPS code of the shape in a stream according to a transform.

Parameters:

  | stream | The output stream.
  | transform | A 2D transform to be applied.

Reimplemented from LibBoard::Line.

References LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, LibBoard::Shape::filled(), and LibBoard::Shape::postscriptProperties().

void LibBoard::Arrow::flushSVG | ( | std::ostream & | stream,
|  | const TransformSVG & | transform |
| ) |  |  | const`[virtual]`

Writes the SVG code of the shape in a stream according to a transform.

Parameters:

  | stream | The output stream.
  | transform | A 2D transform to be applied.

Reimplemented from LibBoard::Line.

References LibBoard::Shape::_fillColor, LibBoard::Shape::_lineStyle, LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, and LibBoard::Color::svgAlpha().

const std::string & LibBoard::Arrow::name | ( |  | ) | const`[virtual]`

Returns the generic name of the shape (e.g., Circle, Rectangle, etc.)

Returns:

Reimplemented from LibBoard::Line.

Arrow LibBoard::Arrow::rotated | ( | double | angle | ) | const

Returns a copy of the arrow, rotated around its center.

Parameters:

  | angle | The angle of rotation.

Returns:
  A copy of the lines, rotated around its center by the given angle.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, and LibBoard::Line::center().

Arrow LibBoard::Arrow::rotated | ( | double | angle,
|  | const Point & | center |
| ) |  |  | const

Returns a copy of the arrow, rotated around a given rotation center.

Parameters:

  | angle | The rotation angle.
  | center | The center of rotation.

Returns:
  The rotated copy of the line.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, and LibBoard::Line::_y2.

Arrow LibBoard::Arrow::scaled | ( | double | sx,
|  | double | sy |
| ) |  |  | const

Returns a scaled copy of the arrow.

Parameters:

  | sx | Scale factor along the x axis.
  | sy | Scale factor along the y axis.

Returns:
  A scaled copy of the arrow.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, LibBoard::Line::_y2, LibBoard::Line::center(), LibBoard::Line::translate(), LibBoard::Point::x, and LibBoard::Point::y.

Arrow LibBoard::Arrow::translated | ( | double | dx,
|  | double | dy |
| ) |  |  | const

Returns a translated copy of the arrow.

Parameters:

  | dx | The shift along the x axis.
  | dy | The shift along the y axis.

Returns:
  A translated copy of the line.

Reimplemented from LibBoard::Line.

References LibBoard::Line::_x1, LibBoard::Line::_x2, LibBoard::Line::_y1, and LibBoard::Line::_y2.

The documentation for this struct was generated from the following files:

- include/board/Shapes.h
- src/Shapes.cpp