X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fev-link.h;h=6ab2811be1621ceb16d8e0ec58eb7f29574042b1;hb=32b5a68cb6949a383556284c528d686bb666e0c9;hp=d92d428e186223a94dbf6c319c30e3eed9f17dff;hpb=1c0d19bd22598eca159c3febdcdaf4168891cb8f;p=evince.git diff --git a/backend/ev-link.h b/backend/ev-link.h index d92d428e..6ab2811b 100644 --- a/backend/ev-link.h +++ b/backend/ev-link.h @@ -37,11 +37,19 @@ 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_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; @@ -52,21 +60,59 @@ 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 */