X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=libdocument%2Fev-selection.h;h=4e896065dc530f4ec879cf8a637191c36965c343;hb=761de5f5ba44cc94c98adf2b68809ea453d6bdfa;hp=d0816040b16380c0f81bdae5b300dcdf6127dfbc;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-selection.h b/libdocument/ev-selection.h index d0816040..4e896065 100644 --- a/libdocument/ev-selection.h +++ b/libdocument/ev-selection.h @@ -18,12 +18,15 @@ * */ +#if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef EV_SELECTION_H #define EV_SELECTION_H #include #include -#include #include #include "ev-document.h" @@ -36,6 +39,12 @@ G_BEGIN_DECLS #define EV_IS_SELECTION_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_SELECTION)) #define EV_SELECTION_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_SELECTION, EvSelectionIface)) +typedef enum { + EV_SELECTION_STYLE_GLYPH, + EV_SELECTION_STYLE_WORD, + EV_SELECTION_STYLE_LINE +} EvSelectionStyle; + typedef struct _EvSelection EvSelection; typedef struct _EvSelectionIface EvSelectionIface; @@ -45,30 +54,42 @@ struct _EvSelectionIface void (* render_selection) (EvSelection *selection, EvRenderContext *rc, - GdkPixbuf **pixbuf, + cairo_surface_t **surface, EvRectangle *points, EvRectangle *old_points, - GdkColor *text, - GdkColor *base); + EvSelectionStyle style, + GdkColor *text, + GdkColor *base); + gchar * (* get_selected_text) (EvSelection *selection, + EvRenderContext *rc, + EvSelectionStyle style, + EvRectangle *points); GdkRegion * (* get_selection_map) (EvSelection *selection, - EvRenderContext *rc); + EvPage *page); GdkRegion * (* get_selection_region) (EvSelection *selection, EvRenderContext *rc, + EvSelectionStyle style, EvRectangle *points); }; GType ev_selection_get_type (void); void ev_selection_render_selection (EvSelection *selection, EvRenderContext *rc, - GdkPixbuf **pixbuf, + cairo_surface_t **surface, EvRectangle *points, EvRectangle *old_points, + EvSelectionStyle style, GdkColor *text, GdkColor *base); +gchar *ev_selection_get_selected_text (EvSelection *selection, + EvRenderContext *rc, + EvSelectionStyle style, + EvRectangle *points); GdkRegion *ev_selection_get_selection_map (EvSelection *selection, - EvRenderContext *rc); + EvPage *page); GdkRegion *ev_selection_get_selection_region (EvSelection *selection, EvRenderContext *rc, + EvSelectionStyle style, EvRectangle *points); G_END_DECLS