1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ 2 /* 3 * Copyright (C) 2000-2003 Marco Pesenti Gritti 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2, or (at your option) 8 * any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * 19 */ 20 21 #if !defined (__EV_ATRIL_DOCUMENT_H_INSIDE__) && !defined (ATRIL_COMPILATION) 22 #error "Only <atril-document.h> can be included directly." 23 #endif 24 25 #ifndef EV_ASYNC_RENDERER_H 26 #define EV_ASYNC_RENDERER_H 27 28 #include <glib-object.h> 29 #include <glib.h> 30 #include <gdk/gdk.h> 31 32 G_BEGIN_DECLS 33 34 #define EV_TYPE_ASYNC_RENDERER (ev_async_renderer_get_type ()) 35 #define EV_ASYNC_RENDERER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_ASYNC_RENDERER, EvAsyncRenderer)) 36 #define EV_ASYNC_RENDERER_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_ASYNC_RENDERER, EvAsyncRendererInterface)) 37 #define EV_IS_ASYNC_RENDERER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_ASYNC_RENDERER)) 38 #define EV_IS_ASYNC_RENDERER_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_ASYNC_RENDERER)) 39 #define EV_ASYNC_RENDERER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_ASYNC_RENDERER, EvAsyncRendererInterface)) 40 41 typedef struct _EvAsyncRenderer EvAsyncRenderer; 42 typedef struct _EvAsyncRendererInterface EvAsyncRendererInterface; 43 44 struct _EvAsyncRendererInterface 45 { 46 GTypeInterface base_iface; 47 48 void (* render_finished) (EvAsyncRenderer *renderer, 49 GdkPixbuf *pixbuf); 50 51 void (* render_pixbuf) (EvAsyncRenderer *renderer, 52 int page, 53 double scale, 54 int rotation); 55 }; 56 57 GType ev_async_renderer_get_type (void); 58 void ev_async_renderer_render_pixbuf (EvAsyncRenderer *renderer, 59 int page, 60 double scale, 61 int rotation); 62 63 G_END_DECLS 64 65 #endif 66