DGtal  0.9.3beta
Public Member Functions | Protected Attributes | Static Private Attributes
LibBoard::Rectangle Struct Reference

#include <Board/Shapes.h>

Inheritance diagram for LibBoard::Rectangle:
[legend]
Collaboration diagram for LibBoard::Rectangle:
[legend]

Public Member Functions

 Rectangle (double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
 
 Rectangle (const Rect &rect, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
 
const std::string & name () const
 
double x () const
 
double y () const
 
double width ()
 
double height ()
 
Point topLeft ()
 
Point topRight ()
 
Point bottomLeft ()
 
Point bottomRight ()
 
Rectangle rotated (double angle, const Point &center) const
 
Rectangle rotated (double angle) const
 
Rectangle translated (double dx, double dy) const
 
Rectangle scaled (double sx, double sy) const
 
Rectangle scaled (double s) const
 
void scaleAll (double s)
 
void flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< DGtal::Color, int > &colormap) const
 
void flushSVG (std::ostream &stream, const TransformSVG &transform) const
 
void flushCairo (cairo_t *cr, const TransformCairo &transform) const
 
void flushTikZ (std::ostream &stream, const TransformTikZ &transform) const
 
Rectangleclone () const
 
- Public Member Functions inherited from LibBoard::Polyline
 Polyline (const std::vector< Point > &points, bool closed, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
 
 Polyline (const Path &path, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
 
 Polyline (bool closed, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
 
Point center () const
 
Polylineoperator<< (const Point &p)
 
Pointoperator[] (const unsigned int n)
 
Polylinerotate (double angle, const Point &center)
 
Polyline rotated (double angle, const Point &center) const
 
Polylinerotate (double angle)
 
Polyline rotated (double angle) const
 
Polylinetranslate (double dx, double dy)
 
Polyline translated (double dx, double dy) const
 
Shapescale (double sx, double sy)
 
Shapescale (double s)
 
Polyline scaled (double sx, double sy) const
 
Polyline scaled (double s) const
 
void flushPostscript (std::ostream &stream, const TransformEPS &transform) const
 
Rect boundingBox () const
 
- Public Member Functions inherited from LibBoard::Shape
 Shape (DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, LineStyle style, const LineCap cap, const LineJoin join, int depth)
 
virtual ~Shape ()
 
bool filled () const
 
ShaperotateDeg (double angle, const Point &center)
 
ShaperotateDeg (double angle)
 
Rect bbox ()
 
Shapeoperator-- ()
 
Shapeoperator++ ()
 
int depth () const
 
virtual void depth (int)
 
virtual void shiftDepth (int shift)
 
const DGtal::ColorpenColor () const
 
const DGtal::ColorfillColor () const
 

Protected Attributes

bool _isRectangle
 
- Protected Attributes inherited from LibBoard::Polyline
Path _path
 
- Protected Attributes inherited from LibBoard::Shape
int _depth
 
DGtal::Color _penColor
 
DGtal::Color _fillColor
 
double _lineWidth
 
LineStyle _lineStyle
 
LineCap _lineCap
 
LineJoin _lineJoin
 

Static Private Attributes

static const std::string _name
 

Additional Inherited Members

- Public Types inherited from LibBoard::Shape
enum  LineCap { ButtCap = 0, RoundCap, SquareCap }
 
enum  LineJoin { MiterJoin = 0, RoundJoin, BevelJoin }
 
enum  LineStyle {
  SolidStyle = 0, DashStyle, DotStyle, DashDotStyle,
  DashDotDotStyle, DashDotDotDotStyle
}
 
- Protected Member Functions inherited from LibBoard::Shape
std::string svgProperties (const TransformSVG &transform) const
 
std::string postscriptProperties () const
 
void setCairoDashStyle (cairo_t *cr, LineStyle type) const
 
std::string tikzProperties (const TransformTikZ &transform) const
 

Detailed Description

A rectangle.

The rectangle structure.

Definition at line 912 of file Board/Shapes.h.

Constructor & Destructor Documentation

LibBoard::Rectangle::Rectangle ( double  x,
double  y,
double  width,
double  height,
DGtal::Color  penColor,
DGtal::Color  fillColor,
double  lineWidth,
const LineStyle  style = SolidStyle,
const LineCap  cap = ButtCap,
const LineJoin  join = MiterJoin,
int  depth = -1 
)
inline

Referenced by clone(), rotated(), scaled(), and translated().

LibBoard::Rectangle::Rectangle ( const Rect rect,
DGtal::Color  penColor,
DGtal::Color  fillColor,
double  lineWidth,
const LineStyle  style = SolidStyle,
const LineCap  cap = ButtCap,
const LineJoin  join = MiterJoin,
int  depth = -1 
)
inline

Member Function Documentation

Point LibBoard::Rectangle::bottomLeft ( )
inline

Definition at line 943 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

943 { return Point( _path[3].x, _path[3].y ); }
Point LibBoard::Rectangle::bottomRight ( )
inline

Definition at line 944 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

944 { return Point( _path[2].x, _path[2].y ); }
Rectangle * LibBoard::Rectangle::clone ( ) const
virtual

Return a copy of the shape.

Returns
copye of the shape.

Reimplemented from LibBoard::Polyline.

Reimplemented in LibBoard::Image.

Definition at line 1922 of file Shapes.cpp.

References Rectangle().

1922  {
1923  return new Rectangle(*this);
1924 }
Rectangle(double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
void LibBoard::Rectangle::flushCairo ( cairo_t *  cr,
const TransformCairo transform 
) const
virtual

Writes the cairo code of the shape in a cairo drawing context according to a transform.

Parameters
crThe cairo drawing context.
transformA 2D transform to be applied.

Reimplemented from LibBoard::Polyline.

Reimplemented in LibBoard::Image.

Definition at line 2011 of file Shapes.cpp.

References LibBoard::Shape::_fillColor, LibBoard::Shape::_lineCap, LibBoard::Shape::_lineJoin, LibBoard::Shape::_lineStyle, LibBoard::Shape::_lineWidth, LibBoard::Polyline::_path, LibBoard::Shape::_penColor, DGtal::Color::blue(), LibBoard::Shape::filled(), LibBoard::Polyline::flushCairo(), DGtal::Color::green(), LibBoard::Transform::mapX(), LibBoard::TransformCairo::mapY(), DGtal::Color::None, LibBoard::Point::norm(), DGtal::Color::red(), LibBoard::Transform::scale(), and LibBoard::Shape::setCairoDashStyle().

Referenced by LibBoard::Board::saveCairo().

2013 {
2014  {
2015  double x1 = _path[1].x - _path[0].x;
2016  double y1 = _path[1].y - _path[0].y;
2017  double x2 = _path[3].x - _path[0].x;
2018  double y2 = _path[3].y - _path[0].y;
2019  if ( fabs(x1*x2 + y1*y2) > 0.01 ) {
2020  Polyline::flushCairo( cr, transform );
2021  return;
2022  }
2023  }
2024 
2025  cairo_save (cr);
2026 
2027  cairo_set_source_rgba (cr, _fillColor.red()/255.0, _fillColor.green()/255.0, _fillColor.blue()/255.0, 1.);
2028 
2029  if ( _path[0].y == _path[1].y )
2030  cairo_rectangle (cr, transform.mapX( _path[0].x ), transform.mapY( _path[0].y ), transform.scale( _path[1].x - _path[0].x ), transform.scale( _path[0].y - _path[3].y ));
2031  else
2032  {
2033  Point v = _path[1] - _path[0];
2034  v /= v.norm();
2035  double angle = ( _path[1].y > _path[0].y ) ? acos( v * Point(1,0) ) : -acos( v * Point( 1, 0 ) );
2036 
2037  // tr
2038  cairo_translate (cr, transform.mapX( _path[0].x )+transform.scale( _path[1].x - _path[0].x )/2., transform.mapY( _path[0].y )+transform.scale( _path[0].y - _path[3].y )/2.);
2039  cairo_rotate (cr, angle);
2040  // tr
2041 
2042  cairo_rectangle (cr, -transform.scale( _path[1].x - _path[0].x )/2., -transform.scale( _path[0].y - _path[3].y )/2., transform.scale( (_path[1] - _path[0]).norm() ), transform.scale( (_path[0] - _path[3]).norm() ));
2043  }
2044 
2045  if ( filled() )
2046  {
2047  if ( _penColor != DGtal::Color::None )
2048  cairo_fill_preserve (cr);
2049  else
2050  cairo_fill (cr);
2051  }
2052 
2053  //
2054 
2055  if ( _penColor != DGtal::Color::None )
2056  {
2057  cairo_set_source_rgba (cr, _penColor.red()/255.0, _penColor.green()/255.0, _penColor.blue()/255.0, 1.);
2058 
2059  cairo_set_line_width (cr, _lineWidth);
2060  cairo_set_line_cap (cr, cairoLineCap[_lineCap]);
2061  cairo_set_line_join (cr, cairoLineJoin[_lineJoin]);
2063 
2064  cairo_stroke (cr);
2065  }
2066 
2067  cairo_restore (cr);
2068 }
static const Color None
Definition: Color.h:387
LineJoin _lineJoin
Definition: Board/Shapes.h:301
void flushCairo(cairo_t *cr, const TransformCairo &transform) const
Definition: Shapes.cpp:1810
bool filled() const
Definition: Board/Shapes.h:111
void green(const unsigned char aGreenValue)
DGtal::Color _penColor
Definition: Board/Shapes.h:296
void red(const unsigned char aRedValue)
void setCairoDashStyle(cairo_t *cr, LineStyle type) const
Definition: Shapes.cpp:154
LineStyle _lineStyle
Definition: Board/Shapes.h:299
DGtal::Color _fillColor
Definition: Board/Shapes.h:297
void blue(const unsigned char aBlueValue)
void LibBoard::Rectangle::flushFIG ( std::ostream &  stream,
const TransformFIG transform,
std::map< DGtal::Color, int > &  colormap 
) const
virtual

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

Parameters
streamThe output stream.
transformA 2D transform to be applied.
colormapA colormap.

Reimplemented from LibBoard::Polyline.

Reimplemented in LibBoard::Image.

Definition at line 1927 of file Shapes.cpp.

References LibBoard::Shape::_depth, LibBoard::Shape::_fillColor, LibBoard::Shape::_lineCap, LibBoard::Shape::_lineJoin, LibBoard::Shape::_lineStyle, LibBoard::Shape::_lineWidth, LibBoard::Polyline::_path, LibBoard::Shape::_penColor, LibBoard::Shape::filled(), LibBoard::Path::flushFIG(), LibBoard::Polyline::flushFIG(), LibBoard::TransformFIG::mapDepth(), LibBoard::TransformFIG::mapWidth(), and DGtal::Color::valid().

Referenced by LibBoard::Board::saveFIG().

1930 {
1931  if ( _path[0].y != _path[1].y ) {
1932  Polyline::flushFIG( stream, transform, colormap );
1933  return;
1934  }
1935  if ( _path[0].x != _path[3].x ) {
1936  Polyline::flushFIG( stream, transform, colormap );
1937  return;
1938  }
1939  {
1940  double x1 = _path[1].x - _path[0].x;
1941  double y1 = _path[1].y - _path[0].y;
1942  double x2 = _path[3].x - _path[0].x;
1943  double y2 = _path[3].y - _path[0].y;
1944  if ( fabs(x1*x2 + y1*y2) > 0.01 ) {
1945  Polyline::flushFIG( stream, transform, colormap );
1946  return;
1947  }
1948  }
1949 
1950  stream << "2 2 " << _lineStyle << " ";
1951  // Thickness
1952  stream << ( _penColor.valid()?transform.mapWidth( _lineWidth ):0 ) << " ";
1953  // Pen color
1954  stream << colormap[ _penColor ] << " ";
1955  // Fill color
1956  stream << colormap[ _fillColor ] << " ";
1957  // Depth
1958  stream << transform.mapDepth( _depth ) << " ";
1959  // Pen style
1960  stream << "-1 ";
1961  // Area fill, style val, join style, cap style, radius, f_arrow, b_arrow, number of points
1962  if ( filled() )
1963  stream << "20 " << (_lineStyle?"4.000 ":"0.000 ") << _lineJoin << " " << _lineCap << " -1 0 0 5\n";
1964  else
1965  stream << "-1 " << (_lineStyle?"4.000 ":"0.000 ") << _lineJoin << " " << _lineCap << " -1 0 0 5\n";
1966  stream << " ";
1967  _path.flushFIG( stream, transform );
1968  stream << std::endl;
1969 }
bool valid() const
LineJoin _lineJoin
Definition: Board/Shapes.h:301
bool filled() const
Definition: Board/Shapes.h:111
DGtal::Color _penColor
Definition: Board/Shapes.h:296
void flushFIG(std::ostream &stream, const TransformFIG &transform, std::map< DGtal::Color, int > &colormap) const
Definition: Shapes.cpp:1761
LineStyle _lineStyle
Definition: Board/Shapes.h:299
DGtal::Color _fillColor
Definition: Board/Shapes.h:297
void flushFIG(std::ostream &stream, const TransformFIG &transform) const
Definition: Path.cpp:173
void LibBoard::Rectangle::flushSVG ( std::ostream &  stream,
const TransformSVG transform 
) const
virtual

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

Parameters
streamThe output stream.
transformA 2D transform to be applied.

Reimplemented from LibBoard::Polyline.

Reimplemented in LibBoard::Image.

Definition at line 1972 of file Shapes.cpp.

References LibBoard::Polyline::_path, LibBoard::Polyline::flushSVG(), LibBoard::Transform::mapX(), LibBoard::TransformSVG::mapY(), LibBoard::Point::norm(), LibBoard::Transform::scale(), and LibBoard::Shape::svgProperties().

Referenced by LibBoard::Board::saveSVG().

1974 {
1975  {
1976  double x1 = _path[1].x - _path[0].x;
1977  double y1 = _path[1].y - _path[0].y;
1978  double x2 = _path[3].x - _path[0].x;
1979  double y2 = _path[3].y - _path[0].y;
1980  if ( fabs(x1*x2 + y1*y2) > 0.01 ) {
1981  Polyline::flushSVG( stream, transform );
1982  return;
1983  }
1984  }
1985 
1986  if ( _path[0].y == _path[1].y ) {
1987  stream << "<rect x=\"" << transform.mapX( _path[0].x ) << '"'
1988  << " y=\"" << transform.mapY( _path[0].y ) << '"'
1989  << " width=\"" << transform.scale( _path[1].x - _path[0].x ) << '"'
1990  << " height=\"" << transform.scale( _path[0].y - _path[3].y ) << '"'
1991  << svgProperties( transform )
1992  << " />" << std::endl;
1993  } else {
1994  Point v = _path[1] - _path[0];
1995  v /= v.norm();
1996  double angle = ( _path[1].y > _path[0].y ) ? acos( v * Point(1,0) ) : -acos( v * Point( 1, 0 ) );
1997  angle = ( angle * 180 ) / M_PI;
1998  stream << "<rect x=\"" << transform.mapX( _path[0].x ) << '"'
1999  << " y=\"" << transform.mapY( _path[0].y ) << '"'
2000  << " width=\"" << transform.scale( (_path[1] - _path[0]).norm() ) << '"'
2001  << " height=\"" << transform.scale( (_path[0] - _path[3]).norm() ) << '"'
2002  << svgProperties( transform ) << ' '
2003  << " transform=\"rotate(" << -angle << ", "
2004  << transform.mapX( _path[0].x ) << ", " << transform.mapY( _path[0].y ) << ") \" "
2005  << " />" << std::endl;
2006  }
2007 }
Path & scale(double sx, double sy)
Definition: Path.cpp:108
void flushSVG(std::ostream &stream, const TransformSVG &transform) const
Definition: Shapes.cpp:1793
std::string svgProperties(const TransformSVG &transform) const
Definition: Shapes.cpp:110
void LibBoard::Rectangle::flushTikZ ( std::ostream &  stream,
const TransformTikZ transform 
) const
virtual

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

Parameters
streamThe output stream.
transformA 2D transform to be applied.

Reimplemented from LibBoard::Polyline.

Reimplemented in LibBoard::Image.

Definition at line 2072 of file Shapes.cpp.

References LibBoard::Polyline::_path, LibBoard::Polyline::flushTikZ(), and LibBoard::Shape::tikzProperties().

Referenced by LibBoard::Board::saveTikZ().

2074 {
2075  Polyline::flushTikZ( stream, transform );
2076  return;
2077 
2078  stream << "\\path[" << tikzProperties(transform) << "] ("
2079  << _path[0].x << ',' << _path[0].y << ')'
2080  << " rectangle ("
2081  << _path[1].x << ',' << _path[3].y << ");" << std::endl;
2082 /*
2083  if ( _path[0].y == _path[1].y ) {
2084  stream << "<rect x=\"" << transform.mapX( _path[0].x ) << '"'
2085  << " y=\"" << transform.mapY( _path[0].y ) << '"'
2086  << " width=\"" << transform.scale( _path[1].x - _path[0].x ) << '"'
2087  << " height=\"" << transform.scale( _path[0].y - _path[3].y ) << '"'
2088  << svgProperties( transform )
2089  << " />" << std::endl;
2090  } else {
2091  Point v = _path[1] - _path[0];
2092  v /= v.norm();
2093  double angle = ( _path[1].y > _path[0].y ) ? acos( v * Point(1,0) ) : -acos( v * Point( 1, 0 ) );
2094  angle = ( angle * 180 ) / M_PI;
2095  stream << "<rect x=\"" << transform.mapX( _path[0].x ) << '"'
2096  << " y=\"" << transform.mapY( _path[0].y ) << '"'
2097  << " width=\"" << transform.scale( (_path[1] - _path[0]).norm() ) << '"'
2098  << " height=\"" << transform.scale( (_path[0] - _path[3]).norm() ) << '"'
2099  << svgProperties( transform ) << ' '
2100  << " transform=\"rotate(" << -angle << ", "
2101  << transform.mapX( _path[0].x ) << ", " << transform.mapY( _path[0].y ) << ") \" "
2102  << " />" << std::endl;
2103  }
2104  */
2105 }
void flushTikZ(std::ostream &stream, const TransformTikZ &transform) const
Definition: Shapes.cpp:1851
std::string tikzProperties(const TransformTikZ &transform) const
Definition: Shapes.cpp:178
double LibBoard::Rectangle::height ( )
inline

Definition at line 940 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

940 { return (_path[0] - _path[3]).norm(); }
const std::string & LibBoard::Rectangle::name ( ) const
virtual

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

Returns
object name

Reimplemented from LibBoard::Polyline.

Reimplemented in LibBoard::Image.

Definition at line 1880 of file Shapes.cpp.

References _name.

1881 {
1882  return _name;
1883 }
static const std::string _name
Rectangle LibBoard::Rectangle::rotated ( double  angle,
const Point center 
) const

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

Parameters
angleThe rotation angle.
centerThe center of rotation.
Returns
The rotated copy of the line.

Definition at line 1886 of file Shapes.cpp.

References Rectangle().

1887 {
1888  return static_cast<Rectangle &>( Rectangle(*this).rotate( angle, rotCenter ) );
1889 }
Rectangle(double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
Rectangle LibBoard::Rectangle::rotated ( double  angle) const

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

Parameters
angleThe angle of rotation.
Returns
A copy of the lines, rotated around its center by the given angle.

Definition at line 1892 of file Shapes.cpp.

References LibBoard::Polyline::center(), and Rectangle().

1893 {
1894  return static_cast<Rectangle &>( Rectangle(*this).rotate( angle, center() ) );
1895 }
Rectangle(double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
Point center() const
Definition: Shapes.cpp:1656
void LibBoard::Rectangle::scaleAll ( double  s)
virtual

Scales all the values (positions, dimensions, etc.) associated with the shape.

Parameters
sThe scaling factor.

Reimplemented from LibBoard::Polyline.

Definition at line 1916 of file Shapes.cpp.

References LibBoard::Polyline::_path, and LibBoard::Path::scaleAll().

1917 {
1918  _path.scaleAll( s );
1919 }
void scaleAll(double s)
Definition: Path.cpp:143
Rectangle LibBoard::Rectangle::scaled ( double  sx,
double  sy 
) const

Returns a scaled copy of the arrow.

Parameters
sxScale factor along the x axis.
syScale factor along the y axis.
Returns
A scaled copy of the arrow.

Definition at line 1904 of file Shapes.cpp.

References Rectangle().

1905 {
1906  return static_cast<Rectangle &>( Rectangle(*this).scale( sx, sy ) );
1907 }
Rectangle(double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
Rectangle LibBoard::Rectangle::scaled ( double  s) const

Definition at line 1910 of file Shapes.cpp.

References Rectangle().

1911 {
1912  return static_cast<Rectangle &>( Rectangle(*this).scale( s, s ) );
1913 }
Rectangle(double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
Point LibBoard::Rectangle::topLeft ( )
inline

Definition at line 941 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

941 { return Point( _path[0].x, _path[0].y ); }
Point LibBoard::Rectangle::topRight ( )
inline

Definition at line 942 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

942 { return Point( _path[1].x, _path[1].y ); }
Rectangle LibBoard::Rectangle::translated ( double  dx,
double  dy 
) const

Returns a translated copy of the arrow.

Parameters
dxThe shift along the x axis.
dyThe shift along the y axis.
Returns
A translated copy of the line.

Definition at line 1898 of file Shapes.cpp.

References Rectangle().

1899 {
1900  return static_cast<Rectangle &>( Rectangle(*this).translate( dx, dy ) );
1901 }
Rectangle(double x, double y, double width, double height, DGtal::Color penColor, DGtal::Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
double LibBoard::Rectangle::width ( )
inline

Definition at line 939 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

939 { return (_path[1] - _path[0]).norm(); }
double LibBoard::Rectangle::x ( ) const
inline

Definition at line 937 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

937 { return _path[0].x; }
double LibBoard::Rectangle::y ( ) const
inline

Definition at line 938 of file Board/Shapes.h.

References LibBoard::Polyline::_path.

938 { return _path[0].y; }

Field Documentation

bool LibBoard::Rectangle::_isRectangle
protected

Definition at line 1017 of file Board/Shapes.h.

const std::string LibBoard::Rectangle::_name
staticprivate

The generic name of the shape.

Definition at line 1014 of file Board/Shapes.h.

Referenced by name().


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