X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=inline;f=libdocument%2Fev-selection.h;h=0b2f41be7999cbcc8328182c33aac7e37ac56d6c;hb=f343927df4325959193353c52cff1ea4b20b2286;hp=d0816040b16380c0f81bdae5b300dcdf6127dfbc;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-selection.h b/libdocument/ev-selection.h index d0816040..0b2f41be 100644 --- a/libdocument/ev-selection.h +++ b/libdocument/ev-selection.h @@ -36,6 +36,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 +51,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); 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); GdkRegion *ev_selection_get_selection_region (EvSelection *selection, EvRenderContext *rc, + EvSelectionStyle style, EvRectangle *points); G_END_DECLS