1 | /* viewer-cairo.h: Common headers for Cairo-based viewers |
2 | * |
3 | * Copyright (C) 1999,2004,2005 Red Hat, Inc. |
4 | * Copyright (C) 2001 Sun Microsystems |
5 | * |
6 | * This library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Library General Public |
8 | * License as published by the Free Software Foundation; either |
9 | * version 2 of the License, or (at your option) any later version. |
10 | * |
11 | * This library is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Library General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Library General Public |
17 | * License along with this library; if not, write to the |
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 | * Boston, MA 02111-1307, USA. |
20 | */ |
21 | #ifndef VIEWER_CAIRO_H |
22 | #define VIEWER_CAIRO_H |
23 | |
24 | #include <cairo.h> |
25 | |
26 | #include "viewer.h" |
27 | |
28 | typedef struct _CairoViewerIface CairoViewerIface; |
29 | |
30 | struct _CairoViewerIface |
31 | { |
32 | const PangoViewer *backend_class; |
33 | |
34 | cairo_surface_t * (*create_surface) (gpointer instance, |
35 | gpointer surface, |
36 | int width, |
37 | int height); |
38 | |
39 | void (*paint_background) (gpointer instance, |
40 | cairo_t *cr); |
41 | }; |
42 | |
43 | gpointer cairo_viewer_iface_create (const CairoViewerIface **iface_out); |
44 | |
45 | void cairo_viewer_add_options (GOptionGroup *group); |
46 | |
47 | #endif /* VIEWER_CAIRO_H */ |
48 | |