#define EV_TYPE_LINK_TYPE (ev_link_type_get_type ())
+
+
typedef enum
{
EV_LINK_TYPE_TITLE,
EV_LINK_TYPE_PAGE,
- EV_LINK_TYPE_EXTERNAL_URI
+ EV_LINK_TYPE_PAGE_XYZ,
+ EV_LINK_TYPE_PAGE_FIT,
+ EV_LINK_TYPE_PAGE_FITH,
+ EV_LINK_TYPE_PAGE_FITV,
+ EV_LINK_TYPE_PAGE_FITR,
+ EV_LINK_TYPE_EXTERNAL_URI,
+ /* We'll probably fill this in more as we support the other types of
+ * links */
} EvLinkType;
-struct _EvLink {
- GObject base_instance;
- EvLinkPrivate *priv;
-};
-
-struct _EvLinkClass {
- GObjectClass base_class;
-};
-
GType ev_link_type_get_type (void);
GType ev_link_get_type (void);
EvLink *ev_link_new_title (const char *title);
EvLink *ev_link_new_page (const char *title,
int page);
+EvLink *ev_link_new_page_xyz (const char *title,
+ int page,
+ double top,
+ double left,
+ double zoom);
+EvLink *ev_link_new_page_fith (const char *title,
+ int page,
+ double top);
+EvLink *ev_link_new_page_fitv (const char *title,
+ int page,
+ double left);
+EvLink *ev_link_new_page_fitr (const char *title,
+ int page,
+ double left,
+ double bottom,
+ double right,
+ double top);
+EvLink *ev_link_new_page_fit (const char *title,
+ int page);
EvLink *ev_link_new_external (const char *title,
const char *uri);
+
const char *ev_link_get_title (EvLink *link);
-void ev_link_set_title (EvLink *link,
- const char *title);
const char *ev_link_get_uri (EvLink *link);
-void ev_link_set_uri (EvLink *link,
- const char *uri);
EvLinkType ev_link_get_link_type (EvLink *link);
-void ev_link_set_link_type (EvLink *link,
- EvLinkType type);
int ev_link_get_page (EvLink *link);
-void ev_link_set_page (EvLink *link,
- int page);
+double ev_link_get_top (EvLink *link);
+double ev_link_get_left (EvLink *link);
+double ev_link_get_bottom (EvLink *link);
+double ev_link_get_right (EvLink *link);
+double ev_link_get_zoom (EvLink *link);
+
+/* Link Mapping stuff */
+
+typedef struct _EvLinkMapping EvLinkMapping;
+struct _EvLinkMapping
+{
+ EvLink *link;
+ gdouble x1;
+ gdouble y1;
+ gdouble x2;
+ gdouble y2;
+};
+void ev_link_mapping_free (GList *link_mapping);
+EvLink *ev_link_mapping_find (GList *link_mapping,
+ gdouble x,
+ gdouble y);
G_END_DECLS
#endif /* !EV_LINK_H */