The Gnome Chemistry Utils
0.14.0
|
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 |
Public Member Functions inherited from gccv::LineItem | |
LineItem (Canvas *canvas) | |
LineItem (Group *parent, ItemClient *client=NULL) | |
virtual | ~LineItem () |
GOColor | GetEffectiveLineColor () const |
void | ApplyLine (cairo_t *cr) const |
void | SetDashes (double const *dashes, int num_dashes, double offset) |
void | SetLineWidth (double val) |
double | GetLineWidth (void) const |
void | SetLineColor (GOColor val) |
GOColor | GetLineColor (void) const |
void | SetAutoColor (bool val) |
bool | GetAutoColor (void) const |
Public Member Functions inherited from gccv::Item | |
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 void | BuildPath (cairo_t *cr) const |
virtual bool | Draw (cairo_t *cr, double x0, double y0, double x1, double y1, bool is_vector) const |
bool | IsTopLevel () 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 |
Protected Member Functions | |
void | UpdateBounds () |
Additional Inherited Members | |
Protected Attributes inherited from gccv::Item | |
double | m_x0 |
double | m_y0 |
double | m_x1 |
double | m_y1 |
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 |
The destructor.
|
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.
|
virtual |
cr | a cairo_t. |
is_vector | whether the cairo_t is a vectorial context. |
Draws the BezierArrow to cr.
Reimplemented from gccv::Item.
|
inline |
Definition at line 139 of file bezier-arrow.h.
|
inline |
Definition at line 149 of file bezier-arrow.h.
|
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.
|
inline |
Definition at line 130 of file bezier-arrow.h.
|
inline |
Definition at line 169 of file bezier-arrow.h.
|
virtual |
x | the horizontal deplacement |
y | the vertical deplacement |
Moves the BezierArrow.
Reimplemented from gccv::Item.
|
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.
|
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.
|
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.
|
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.
|
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.
|
protectedvirtual |
Evaluates the BezierArrow bounds.
Reimplemented from gccv::Item.