# AtkHyperlink

## Name

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_);

## Object Hierarchy

      GObject
       +----AtkHyperlink

## Implemented Interfaces

AtkHyperlink implements AtkAction.

## Description

An ATK object which encapsulates a link or set of links in a hypertext document. It implements the AtkAction interface.

## 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

### 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