1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (C) 2005 Red Hat, Inc.
*/
#include "config.h"
#include "pps-selection.h"
G_DEFINE_INTERFACE (PpsSelection, pps_selection, 0)
static void
pps_selection_default_init (PpsSelectionInterface *klass)
{
}
void
pps_selection_render_selection (PpsSelection *selection,
PpsRenderContext *rc,
cairo_surface_t **surface,
PpsRectangle *points,
PpsRectangle *old_points,
PpsSelectionStyle style,
GdkRGBA *text,
GdkRGBA *base)
{
PpsSelectionInterface *iface = PPS_SELECTION_GET_IFACE (selection);
if (!iface->render_selection)
return;
iface->render_selection (selection, rc,
surface,
points, old_points,
style,
text, base);
}
gchar *
pps_selection_get_selected_text (PpsSelection *selection,
PpsPage *page,
PpsSelectionStyle style,
PpsRectangle *points)
{
PpsSelectionInterface *iface = PPS_SELECTION_GET_IFACE (selection);
return iface->get_selected_text (selection, page, style, points);
}
cairo_region_t *
pps_selection_get_selection_region (PpsSelection *selection,
PpsRenderContext *rc,
PpsSelectionStyle style,
PpsRectangle *points)
{
PpsSelectionInterface *iface = PPS_SELECTION_GET_IFACE (selection);
if (!iface->get_selection_region)
return NULL;
return iface->get_selection_region (selection, rc, style, points);
}
|