## GOArrow GOArrow |

## Functions

void | go_arrow_clear ()
void | go_arrow_draw ()
GOArrow * | go_arrow_dup ()
gboolean | go_arrow_equal ()
void | go_arrow_init ()
void | go_arrow_init_kite ()
void | go_arrow_init_oval ()
char const * | go_arrow_type_as_str ()
GOArrowType | go_arrow_type_from_str ()
GOArrow const * | go_arrow_sel_get_arrow ()
GType | go_arrow_sel_get_type ()
GtkWidget * | go_arrow_sel_new ()
void | go_arrow_sel_set_arrow ()

## Properties

GOArrow * | arrow | Read / Write

## Types and Values

| GOArrow
enum | GOArrowType
| GOArrowSel

## Object Hierarchy

        GBoxed
        ╰── GOArrow
        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── GOArrowSel

## Implemented Interfaces

GOArrowSel implements AtkImplementorIface and GtkBuildable.

## Description

## Functions

### go_arrow_clear ()

    void
    go_arrow_clear (GOArrow *dst);

### go_arrow_draw ()

    void
    go_arrow_draw (const GOArrow *arrow,
                   cairo_t *cr,
                   double *dx,
                   double *dy,
                   double phi);

#### Parameters

arrow | arrow to draw |
cr | cairo surface to draw on |
dx | suggested change of line end-point. | [out]
dy | suggested change of line end-point. | [out]
phi | angle to draw at |

### go_arrow_dup ()

    GOArrow *
    go_arrow_dup (GOArrow *src);

### go_arrow_equal ()

    gboolean
    go_arrow_equal (const GOArrow *a,
                    const GOArrow *b);

### go_arrow_init ()

    void
    go_arrow_init (GOArrow *res,
                   GOArrowType typ,
                   double a,
                   double b,
                   double c);

### go_arrow_init_kite ()

    void
    go_arrow_init_kite (GOArrow *dst,
                        double a,
                        double b,
                        double c);

### go_arrow_init_oval ()

    void
    go_arrow_init_oval (GOArrow *dst,
                        double ra,
                        double rb);

### go_arrow_type_as_str ()

    char const *
    go_arrow_type_as_str (GOArrowType typ);

### go_arrow_type_from_str ()

    GOArrowType
    go_arrow_type_from_str (const char *name);

### go_arrow_sel_get_arrow ()

    GOArrow const *
    go_arrow_sel_get_arrow (GOArrowSel const *as);

### go_arrow_sel_get_type ()

    GType
    go_arrow_sel_get_type (void);

### go_arrow_sel_new ()

    GtkWidget *
    go_arrow_sel_new (void);

### go_arrow_sel_set_arrow ()

    void
    go_arrow_sel_set_arrow (GOArrowSel *as,
                            GOArrow const *arrow);

## Types and Values

### GOArrow

    typedef struct {
    	GOArrowType typ;
    	double a, b, c;
    } GOArrow;

#### Members

GOArrowType `typ`; | GOArrowType. |
double `a`; | first arrow head size parameter. |
double `b`; | second arrow head size parameter. |
double `c`; | third arrow head size parameter. |

### enum GOArrowType

#### Members

GO_ARROW_NONE | no arrow head. |
GO_ARROW_KITE | kite head. |
GO_ARROW_OVAL | oval head. |

### GOArrowSel

    typedef struct _GOArrowSel GOArrowSel;

## Property Details

### The `“arrow”` property

      “arrow”                    GOArrow *

The currently selected arrow.

Flags: Read / Write