## AtkHyperlink AtkHyperlink — An ATK object which encapsulates a link or set of links in a hypertext document. |

## Synopsis

    struct              AtkHyperlink;
    enum                AtkHyperlinkStateFlags;
    gchar *             atk_hyperlink_get_uri               (AtkHyperlink *link_,
                                                             gint i);
    AtkObject *         atk_hyperlink_get_object            (AtkHyperlink *link_,
                                                             gint i);
    gint                atk_hyperlink_get_end_index         (AtkHyperlink *link_);
    gint                atk_hyperlink_get_start_index       (AtkHyperlink *link_);
    gboolean            atk_hyperlink_is_valid              (AtkHyperlink *link_);
    gboolean            atk_hyperlink_is_inline             (AtkHyperlink *link_);
    gint                atk_hyperlink_get_n_anchors         (AtkHyperlink *link_);
    gboolean            atk_hyperlink_is_selected_link      (AtkHyperlink *link_);

## Object Hierarchy

      GObject
       +----AtkHyperlink

## Implemented Interfaces

AtkHyperlink implements AtkAction.

## Properties

      "end-index"                gint                  : Read
      "number-of-anchors"        gint                  : Read
      "selected-link"            gboolean              : Read
      "start-index"              gint                  : Read

## Signals

      "link-activated"                                 : Run Last

## Description

An ATK object which encapsulates a link or set of links (for instance in the case of client-side image maps) in a hypertext document. It may implement the AtkAction interface. AtkHyperlink may also be used to refer to inline embedded content, since it allows specification of a start and end offset within the host AtkHypertext object.

## Details

### struct AtkHyperlink

    struct AtkHyperlink;

The AtkHyperlink structure should not be accessed directly.

### enum AtkHyperlinkStateFlags

    typedef enum
    {
      ATK_HYPERLINK_IS_INLINE = 1 << 0
    } AtkHyperlinkStateFlags;

Describes the type of link

`ATK_HYPERLINK_IS_INLINE` | Link is inline

### atk_hyperlink_get_uri ()

    gchar *             atk_hyperlink_get_uri               (AtkHyperlink *link_,
                                                             gint i);

Get a the URI associated with the anchor specified by `i` of `link_`.

Multiple anchors are primarily used by client-side image maps.

`link_` : | an AtkHyperlink
`i` : | a (zero-index) integer specifying the desired anchor
Returns : | a string specifying the URI

### atk_hyperlink_get_object ()

    AtkObject *         atk_hyperlink_get_object            (AtkHyperlink *link_,
                                                             gint i);

Returns the item associated with this hyperlinks nth anchor. For instance, the returned AtkObject will implement AtkText if `link_` is a text hyperlink, AtkImage if `link_` is an image hyperlink etc.

Multiple anchors are primarily used by client-side image maps.

`link_` : | an AtkHyperlink
`i` : | a (zero-index) integer specifying the desired anchor
Returns : | an AtkObject associated with this hyperlinks i-th anchor. [transfer none]

### atk_hyperlink_get_end_index ()

    gint                atk_hyperlink_get_end_index         (AtkHyperlink *link_);

Gets the index with the hypertext document at which this link ends.

`link_` : | an AtkHyperlink
Returns : | the index with the hypertext document at which this link ends

### atk_hyperlink_get_start_index ()

    gint                atk_hyperlink_get_start_index       (AtkHyperlink *link_);

Gets the index with the hypertext document at which this link begins.

`link_` : | an AtkHyperlink
Returns : | the index with the hypertext document at which this link begins

### atk_hyperlink_is_valid ()

    gboolean            atk_hyperlink_is_valid              (AtkHyperlink *link_);

Since the document that a link is associated with may have changed this method returns `TRUE` if the link is still valid (with respect to the document it references) and `FALSE` otherwise.

`link_` : | an AtkHyperlink
Returns : | whether or not this link is still valid

### atk_hyperlink_is_inline ()

    gboolean            atk_hyperlink_is_inline             (AtkHyperlink *link_);

Indicates whether the link currently displays some or all of its content inline. Ordinary HTML links will usually return `FALSE`, but an inline &lt;src&gt; HTML element will return `TRUE`. a *

`link_` : | an AtkHyperlink
Returns : | whether or not this link displays its content inline.

### atk_hyperlink_get_n_anchors ()

    gint                atk_hyperlink_get_n_anchors         (AtkHyperlink *link_);

Gets the number of anchors associated with this hyperlink.

`link_` : | an AtkHyperlink
Returns : | the number of anchors associated with this hyperlink

### atk_hyperlink_is_selected_link ()

    gboolean            atk_hyperlink_is_selected_link      (AtkHyperlink *link_);

### Warning

`atk_hyperlink_is_selected_link` is deprecated and should not be used in newly-written code. Please use ATK_STATE_SELECTED to indicate when a hyperlink within a Hypertext container is selected.

Determines whether this AtkHyperlink is selected

`link_` : | an AtkHyperlink
Returns : | True is the AtkHyperlink is selected, False otherwise

Since 1.4

## Property Details

### The `"end-index"` property

      "end-index"                gint                  : Read

The end index of the AtkHyperlink object.

Allowed values: >= 0

Default value: 0

### The `"number-of-anchors"` property

      "number-of-anchors"        gint                  : Read

The number of anchors associated with the AtkHyperlink object.

Allowed values: >= 0

Default value: 0

### The `"selected-link"` property

      "selected-link"            gboolean              : Read

Specifies whether the AtkHyperlink object is selected.

Default value: FALSE

### The `"start-index"` property

      "start-index"              gint                  : Read

The start index of the AtkHyperlink object.

Allowed values: >= 0

Default value: 0

## Signal Details

### The `"link-activated"` signal

    void                user_function                      (AtkHyperlink *atkhyperlink,
                                                            gpointer      user_data)         : Run Last

The signal link-activated is emitted when a link is activated.

`atkhyperlink` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.