Code

Node tool: special case node duplication for endnodes - select new endnode
[inkscape.git] / src / libcroco / cr-node-iface.h
1 #ifndef __CR_NODE_IFACE_H__
2 #define __CR_NODE_IFACE_H__
4 #include <glib/gmacros.h>
5 #include <glib/gtypes.h>
7 G_BEGIN_DECLS
9 typedef gconstpointer CRXMLNodePtr ;
10 typedef struct _CRNodeIface CRNodeIface ;
12 struct _CRNodeIface {
13         /* Names based on DOM. */
14         CRXMLNodePtr (*getParentNode)(CRXMLNodePtr);
15         CRXMLNodePtr (*getFirstChild)(CRXMLNodePtr);
16         CRXMLNodePtr (*getNextSibling)(CRXMLNodePtr);
17         CRXMLNodePtr (*getPrevSibling)(CRXMLNodePtr);
18         char const *(*getLocalName)(CRXMLNodePtr);
19         char *(*getProp)(CRXMLNodePtr, char const *);
21         /* Others. */
22         void (*freePropVal)(void *);
23         gboolean (*isElementNode)(CRXMLNodePtr);
25 #if 0
26         char const *getLang(CRXMLNodePtr);
27         /* todo: Make it easy to have the default xml rules for lang.  Maybe interpret NULL
28            like this.  Or provide a cr_get_xml_lang(CRNodeIface const *, CRXMLNodePtr) function. */
29 #endif
30 };
32 G_END_DECLS
35 #endif/*__CR_NODE_IFACE_H__*/