void
ev_selection_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)
{
EvSelectionIface *iface = EV_SELECTION_GET_IFACE (selection);
+ if (!iface->render_selection)
+ return;
+
iface->render_selection (selection, rc,
- pixbuf,
+ surface,
points, old_points,
+ style,
text, base);
}
+gchar *
+ev_selection_get_selected_text (EvSelection *selection,
+ EvRenderContext *rc,
+ EvSelectionStyle style,
+ EvRectangle *points)
+{
+ EvSelectionIface *iface = EV_SELECTION_GET_IFACE (selection);
+
+ return iface->get_selected_text (selection, rc, style, points);
+}
+
GdkRegion *
ev_selection_get_selection_region (EvSelection *selection,
EvRenderContext *rc,
+ EvSelectionStyle style,
EvRectangle *points)
{
EvSelectionIface *iface = EV_SELECTION_GET_IFACE (selection);
- return iface->get_selection_region (selection, rc, points);
+ if (!iface->get_selection_region)
+ return NULL;
+
+ return iface->get_selection_region (selection, rc, style, points);
}
GdkRegion *
{
EvSelectionIface *iface = EV_SELECTION_GET_IFACE (selection);
+ if (!iface->get_selection_map)
+ return NULL;
+
return iface->get_selection_map (selection, rc);
}