]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-link.h
Comics mime types are added to shared-mime-info CVS. Now we don't need to
[evince.git] / backend / ev-link.h
index 00d97c43bcb640d2eb0b78be6011b40381b55f24..6ab2811be1621ceb16d8e0ec58eb7f29574042b1 100644 (file)
@@ -37,43 +37,82 @@ typedef struct _EvLinkPrivate EvLinkPrivate;
 
 #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,
+       EV_LINK_TYPE_LAUNCH
+       /* 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);
+EvLink        *ev_link_new_launch      (const char     *title,
+                                        const char     *filename,
+                                        const char     *params);
+
 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);
+const char     *ev_link_get_filename    (EvLink     *link);
+const char     *ev_link_get_params      (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 */