|
The Gnome Chemistry Utils 0.12.8
|
Curved arrows. More...
#include <bezier-arrow.h>
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 () |
Curved arrows.
Arrow composed of a Bezier cubic curve and an arrow head.
Definition at line 40 of file bezier-arrow.h.
| gccv::BezierArrow::BezierArrow | ( | Canvas * | canvas | ) |
| 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 |
||
| ) |
| 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.
| double gccv::BezierArrow::Distance | ( | double | x, |
| double | y, | ||
| Item ** | item | ||
| ) | const [virtual] |
| 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] |
| 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] |
Definition at line 139 of file bezier-arrow.h.
| gccv::BezierArrow::GetB | ( | void | ) | const [inline] |
Definition at line 149 of file bezier-arrow.h.
| gccv::BezierArrow::GetC | ( | void | ) | const [inline] |
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 | ||
| ) |
| 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] |
Definition at line 130 of file bezier-arrow.h.
| gccv::BezierArrow::GetShowControls | ( | void | ) | const [inline] |
Definition at line 169 of file bezier-arrow.h.
| void gccv::BezierArrow::Move | ( | double | x, |
| double | y | ||
| ) | [virtual] |
| x | the horizontal deplacement |
| y | the vertical deplacement |
Moves the BezierArrow.
Reimplemented from gccv::Item.
| gccv::BezierArrow::SetA | ( | double | A | ) | [inline] |
| 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] |
| 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] |
| 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 | ||
| ) |
| 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] |
| 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] |
| 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.
1.7.4