1 /* viewer.h: PangoViewer class
3 * Copyright (C) 1999,2004,2005 Red Hat, Inc.
4 * Copyright (C) 2001 Sun Microsystems
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.
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.
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.
25 #include <pango/pango.h>
27 typedef struct _PangoViewer PangoViewer;
35 const char *write_suffix;
37 gpointer (*create) (const PangoViewer *klass);
39 void (*destroy) (gpointer instance);
41 PangoContext * (*get_context) (gpointer instance);
43 gpointer (*create_surface) (gpointer instance,
47 void (*destroy_surface) (gpointer instance,
50 void (*render) (gpointer instance,
52 PangoContext *context,
57 /* The following can be NULL */
59 void (*write) (gpointer instance,
65 gpointer (*create_window) (gpointer instance,
70 void (*destroy_window) (gpointer instance,
73 gpointer (*display) (gpointer instance,
80 void (*load) (gpointer instance,
87 void (*save) (gpointer instance,
94 GOptionGroup * (*get_option_group) (const PangoViewer *klass);
97 extern const PangoViewer *viewers[];