1 /* GTK - The GIMP Toolkit 2 * gtkprintoperationpreview.h: Abstract print preview interface 3 * Copyright (C) 2006, Red Hat, Inc. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library 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 GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the 17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 * Boston, MA 02111-1307, USA. 19 */ 20 21 #ifndef __GTK_PRINT_OPERATION_PREVIEW_H__ 22 #define __GTK_PRINT_OPERATION_PREVIEW_H__ 23 24 #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 25 #error "Only <gtk/gtk.h> can be included directly." 26 #endif 27 28 #include <cairo.h> 29 #include <gtk/gtkprintcontext.h> 30 31 G_BEGIN_DECLS 32 33 #define GTK_TYPE_PRINT_OPERATION_PREVIEW (gtk_print_operation_preview_get_type ()) 34 #define GTK_PRINT_OPERATION_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreview)) 35 #define GTK_IS_PRINT_OPERATION_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW)) 36 #define GTK_PRINT_OPERATION_PREVIEW_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreviewIface)) 37 38 typedef struct _GtkPrintOperationPreview GtkPrintOperationPreview; /*dummy typedef */ 39 typedef struct _GtkPrintOperationPreviewIface GtkPrintOperationPreviewIface; 40 41 42 struct _GtkPrintOperationPreviewIface 43 { 44 GTypeInterface g_iface; 45 46 /* signals */ 47 void (*ready) (GtkPrintOperationPreview *preview, 48 GtkPrintContext *context); 49 void (*got_page_size) (GtkPrintOperationPreview *preview, 50 GtkPrintContext *context, 51 GtkPageSetup *page_setup); 52 53 /* methods */ 54 void (*render_page) (GtkPrintOperationPreview *preview, 55 gint page_nr); 56 gboolean (*is_selected) (GtkPrintOperationPreview *preview, 57 gint page_nr); 58 void (*end_preview) (GtkPrintOperationPreview *preview); 59 60 /* Padding for future expansion */ 61 void (*_gtk_reserved1) (void); 62 void (*_gtk_reserved2) (void); 63 void (*_gtk_reserved3) (void); 64 void (*_gtk_reserved4) (void); 65 void (*_gtk_reserved5) (void); 66 void (*_gtk_reserved6) (void); 67 void (*_gtk_reserved7) (void); 68 }; 69 70 GType gtk_print_operation_preview_get_type (void) G_GNUC_CONST; 71 72 void gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview, 73 gint page_nr); 74 void gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview); 75 gboolean gtk_print_operation_preview_is_selected (GtkPrintOperationPreview *preview, 76 gint page_nr); 77 78 G_END_DECLS 79 80 #endif /* __GTK_PRINT_OPERATION_PREVIEW_H__ */ 81