gccv::BezierArrow Class Reference

Curved arrows. More...

#include <bezier-arrow.h>

Inheritance diagram for gccv::BezierArrow:

gccv::LineItem gccv::Item

List of all members.

Public Member Functions

 BezierArrow (Canvas *canvas)
 BezierArrow (Group *parent, ItemClient *client=NULL)
virtual ~BezierArrow ()
double Distance (double x, double y, Item **item) const
void Draw (cairo_t *cr, bool is_vector) const
void Move (double x, double y)
void GetControlPoints (double &x0, double &y0, double &x1, double &y1, double &x2, double &y2, double &x3, double &y3)
void SetControlPoints (double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)
void SetHead (ArrowHeads val)
ArrowHeads GetHead (void) const
void SetA (double val)
double GetA (void) const
void SetB (double val)
double GetB (void) const
void SetC (double val)
double GetC (void) const
void SetShowControls (bool val)
bool GetShowControls (void) const

Protected Member Functions

void UpdateBounds ()


Detailed Description

Curved arrows.

Arrow composed of a Bezier cubic curve and an arrow head.

Definition at line 40 of file bezier-arrow.h.


Constructor & Destructor Documentation

gccv::BezierArrow::BezierArrow ( Canvas canvas  ) 

Parameters:
canvas a Canvas.
Creates a new BezierArrow with a full head and sets it as a child of the root Group of canvas.

gccv::BezierArrow::BezierArrow ( Group parent,
ItemClient client = NULL 
)

Parameters:
parent the Group to which the new BezierArrow will be added.
client the ItemClient for the new BezierArrow if any.
Creates a new BezierArrow with a full head inside parent and sets client as its associated ItemClient.

virtual gccv::BezierArrow::~BezierArrow (  )  [virtual]

The destructor.


Member Function Documentation

double gccv::BezierArrow::Distance ( double  x,
double  y,
Item **  item 
) const [virtual]

Parameters:
x horizontal position
y vertical position
item where to store the Item.
Implementation of Item::Distance() for the BezierArrow class. Sets item to this.

Reimplemented from gccv::Item.

void gccv::BezierArrow::Draw ( cairo_t *  cr,
bool  is_vector 
) const [virtual]

Parameters:
cr a cairo_t.
is_vector whether the cairo_t is a vectorial context.
Draws the BezierArrow to cr.

Reimplemented from gccv::Item.

gccv::BezierArrow::GetA ( void   )  const [inline]

Returns:
the distance from tip of arrowhead to center.

Definition at line 139 of file bezier-arrow.h.

gccv::BezierArrow::GetB ( void   )  const [inline]

Returns:
the distance from tip of arrowhead to trailing point, measured along shaft.

Definition at line 149 of file bezier-arrow.h.

gccv::BezierArrow::GetC ( void   )  const [inline]

Returns:
the distance of arrowhead trailing points from outside edge of shaft.

Definition at line 158 of file bezier-arrow.h.

void gccv::BezierArrow::GetControlPoints ( double &  x0,
double &  y0,
double &  x1,
double &  y1,
double &  x2,
double &  y2,
double &  x3,
double &  y3 
)

Parameters:
x0 where to store the horizontal coordinate of the first control point.
y0 where to store the horizontal coordinate of the first control point.
x1 where to store the horizontal coordinate of the second control point.
y1 where to store the horizontal coordinate of the second control point.
x2 where to store the horizontal coordinate of the third control point.
y2 where to store the horizontal coordinate of the third control point.
x3 where to store the horizontal coordinate of the fourth control point.
y3 where to store the horizontal coordinate of the fourth control point.
Retrieves the coordinates of the four control points used to build the Bezier cubic curve.

gccv::BezierArrow::GetHead ( void   )  const [inline]

Returns:
the ArrowHeads for the end position of the arrow.

Definition at line 130 of file bezier-arrow.h.

gccv::BezierArrow::GetShowControls ( void   )  const [inline]

Returns:
whether the controlpoints are currently displayed (if the arrow is visible, see Item::SetVisible()).

Definition at line 169 of file bezier-arrow.h.

void gccv::BezierArrow::Move ( double  x,
double  y 
) [virtual]

Parameters:
x the horizontal deplacement
y the vertical deplacement
Moves the BezierArrow.

Reimplemented from gccv::Item.

gccv::BezierArrow::SetA ( double  A  )  [inline]

Parameters:
A new arrow head size parameter.
Sets the distance from tip of arrowhead to center.

Definition at line 139 of file bezier-arrow.h.

gccv::BezierArrow::SetB ( double  B  )  [inline]

Parameters:
B new arrow head size parameter.
Sets the distance from tip of arrowhead to trailing point, measured along shaft.

Definition at line 149 of file bezier-arrow.h.

gccv::BezierArrow::SetC ( double  C  )  [inline]

Parameters:
C new arrow head size parameter.
Sets the distance of arrowhead trailing points from outside edge of shaft.

Definition at line 158 of file bezier-arrow.h.

void gccv::BezierArrow::SetControlPoints ( double  x0,
double  y0,
double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3 
)

Parameters:
x0 the new horizontal coordinate of the first control point.
y0 the new horizontal coordinate of the first control point.
x1 the new horizontal coordinate of the second control point.
y1 the new horizontal coordinate of the second control point.
x2 the new horizontal coordinate of the third control point.
y2 the new horizontal coordinate of the third control point.
x3 the new horizontal coordinate of the fourth control point.
y3 the new horizontal coordinate of the fourth control point.
Sets the coordinates of the four control points used to build the Bezier cubic curve.

gccv::BezierArrow::SetHead ( ArrowHeads  Head  )  [inline]

Parameters:
Head the ArrowHeads for the end position of the arrow.
Sets the arrow head type at the segment end position.

Definition at line 130 of file bezier-arrow.h.

gccv::BezierArrow::SetShowControls ( bool  ShowControls  )  [inline]

Parameters:
ShowControls whether to show control points.
If set to true, the control points will be displayed as squares. Lhe size of these squares is five times the line witdth.

Definition at line 169 of file bezier-arrow.h.

void gccv::BezierArrow::UpdateBounds (  )  [protected, virtual]

Evaluates the BezierArrow bounds.

Reimplemented from gccv::Item.


The documentation for this class was generated from the following file:

Generated on Fri Sep 24 15:58:42 2010 for The Gnome Chemistry Utils by  doxygen 1.5.9