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 |
| LineItem (Canvas *canvas) |
| LineItem (Group *parent, ItemClient *client=NULL) |
virtual | ~LineItem () |
void | SetLineWidth (double val) |
double | GetLineWidth (void) const |
void | SetLineColor (GOColor val) |
GOColor | GetLineColor (void) const |
| Item (Canvas *canvas) |
| Item (Group *parent, ItemClient *client=NULL) |
virtual | ~Item () |
void | GetBounds (double &x0, double &y0, double &x1, double &y1) const |
void | Invalidate () const |
void | SetVisible (bool visible) |
virtual bool | Draw (cairo_t *cr, double x0, double y0, double x1, double y1, bool is_vector) const |
void | SetClient (ItemClient *val) |
ItemClient * | GetClient (void) |
Group const * | GetParent (void) const |
bool | GetVisible (void) const |
void | SetOperator (cairo_operator_t val) |
cairo_operator_t | GetOperator (void) const |
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
-
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
-
Creates a new BezierArrow with a full head inside parent and sets client as its associated ItemClient.
virtual gccv::BezierArrow::~BezierArrow |
( |
| ) |
|
|
virtual |
Member Function Documentation
double gccv::BezierArrow::Distance |
( |
double |
x, |
|
|
double |
y, |
|
|
Item ** |
item |
|
) |
| const |
|
virtual |
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 |
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.
- 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 |
( |
| ) |
|
|
protectedvirtual |
The documentation for this class was generated from the following file: