X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atk%2Fatkhyperlinkimpl.c;h=7021bcf63cff55d1d319ea85abe78ebe79017c88;hb=1bed4dd0d7eb38405278154d4351045e9e341bb1;hp=22f47ca81e02d95d99643ce8852199f66f4b86ba;hpb=5b32dfd56cae1358e6382beeb3f99d9a590eef39;p=platform%2Fupstream%2Fatk.git diff --git a/atk/atkhyperlinkimpl.c b/atk/atkhyperlinkimpl.c index 22f47ca..7021bcf 100644 --- a/atk/atkhyperlinkimpl.c +++ b/atk/atkhyperlinkimpl.c @@ -17,9 +17,47 @@ * Boston, MA 02111-1307, USA. */ +#include "config.h" + #include #include "atkhyperlinkimpl.h" +/** + * SECTION:atkhyperlinkimpl + * @Short_description: An interface from which the AtkHyperlink + * associated with an AtkObject may be obtained. + * @Title:AtkHyperlinImpl + * + * AtkHyperlinkImpl allows AtkObjects to refer to their associated + * AtkHyperlink instance, if one exists. AtkHyperlinkImpl differs + * from AtkHyperlink in that AtkHyperlinkImpl is an interface, whereas + * AtkHyperlink is a object type. The AtkHyperlinkImpl interface + * allows a client to query an AtkObject for the availability of an + * associated AtkHyperlink instance, and obtain that instance. It is + * thus particularly useful in cases where embedded content or inline + * content within a text object is present, since the embedding text + * object implements AtkHypertext and the inline/embedded objects are + * exposed as children which implement AtkHyperlinkImpl, in addition + * to their being obtainable via AtkHypertext:getLink followed by + * AtkHyperlink:getObject. + * + * The AtkHyperlinkImpl interface should be supported by objects + * exposed within the hierarchy as children of an AtkHypertext + * container which correspond to "links" or embedded content within + * the text. HTML anchors are not, for instance, normally exposed + * this way, but embedded images and components which appear inline in + * the content of a text object are. The AtkHyperlinkIface interface + * allows a means of determining which children are hyperlinks in this + * sense of the word, and for obtaining their corresponding + * AtkHyperlink object, from which the embedding range, URI, etc. can + * be obtained. + * + * To some extent this interface exists because, for historical + * reasons, AtkHyperlink was defined as an object type, not an + * interface. Thus, in order to interact with AtkObjects via + * AtkHyperlink semantics, a new interface was required. + */ + GType atk_hyperlink_impl_get_type (void) { @@ -42,27 +80,28 @@ atk_hyperlink_impl_get_type (void) /** * atk_hyperlink_impl_get_hyperlink: - * @obj: a GObject instance that implements AtkHyperlinkImplIface + * @impl: a #GObject instance that implements AtkHyperlinkImplIface * * Gets the hyperlink associated with this object. * - * Returns an AtkHyperlink object which points to this implementing AtkObject. + * Returns: (transfer full): an AtkHyperlink object which points to this + * implementing AtkObject. * * Since: 1.12 **/ AtkHyperlink * -atk_hyperlink_impl_get_hyperlink (AtkHyperlinkImpl *obj) +atk_hyperlink_impl_get_hyperlink (AtkHyperlinkImpl *impl) { AtkHyperlinkImplIface *iface; - g_return_val_if_fail (obj != NULL, NULL); - g_return_val_if_fail (ATK_IS_HYPERLINK_IMPL (obj), NULL); + g_return_val_if_fail (impl != NULL, NULL); + g_return_val_if_fail (ATK_IS_HYPERLINK_IMPL (impl), NULL); - iface = ATK_HYPERLINK_IMPL_GET_IFACE (obj); + iface = ATK_HYPERLINK_IMPL_GET_IFACE (impl); if (iface->get_hyperlink) { - return (iface->get_hyperlink) (obj); + return (iface->get_hyperlink) (impl); } return NULL; }