From fad69ba06c957dfe192d6a38613fae58cf157be9 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 2 Jun 2006 15:16:13 +0000 Subject: Add gtkprintoperationpreview.[ch] Set default preview command. Hardcoded 2006-06-02 Alexander Larsson * gtk/Makefile.am: Add gtkprintoperationpreview.[ch] Set default preview command. Hardcoded for now. * gtk/gtkmarshalers.list: Add BOOLEAN:OBJECT,OBJECT,OBJECT * gtk/gtkprintbackend.c: Add preview command property. * gtk/gtkprintcontext.[ch]: Make less dependent on PrintOperation for output settings Externally set cairo_t and dpi. Resettable. Create fontmap without metrics hinting (so that print preview text layout doesn't depend on zoom level). * gtk/gtkprintoperation-private.h: * gtk/gtkprintoperation-unix.c: * gtk/gtkprintoperation.[ch]: Initial work on print preview API and default implementation using an external preview app. * gtk/gtkprintoperation-win32.c: Some needed updates. Not done, needs more work. * gtk/gtkprintoperationpreview.[ch]: New interface used in print preview api. * gtk/gtkprintunixdialog.c: Add print preview dialog. * tests/print-editor.c: Test using an custom print preview widget. --- gtk/gtkprintoperationpreview.h | 78 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 gtk/gtkprintoperationpreview.h (limited to 'gtk/gtkprintoperationpreview.h') diff --git a/gtk/gtkprintoperationpreview.h b/gtk/gtkprintoperationpreview.h new file mode 100644 index 0000000000..b4a776d08d --- /dev/null +++ b/gtk/gtkprintoperationpreview.h @@ -0,0 +1,78 @@ +/* GTK - The GIMP Toolkit + * gtkprintoperationpreview.h: Abstract print preview interface + * Copyright (C) 2006, Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_PRINT_OPERATION_PREVIEW_H__ +#define __GTK_PRINT_OPERATION_PREVIEW_H__ + +#include +#include + +#include "gtkprintcontext.h" + +G_BEGIN_DECLS + +#define GTK_TYPE_PRINT_OPERATION_PREVIEW (gtk_print_operation_preview_get_type ()) +#define GTK_PRINT_OPERATION_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreview)) +#define GTK_IS_PRINT_OPERATION_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW)) +#define GTK_PRINT_OPERATION_PREVIEW_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreviewIface)) + +typedef struct _GtkPrintOperationPreview GtkPrintOperationPreview; /*dummy typedef */ +typedef struct _GtkPrintOperationPreviewIface GtkPrintOperationPreviewIface; + + +struct _GtkPrintOperationPreviewIface +{ + GTypeInterface g_iface; + + /* signals */ + void (*ready) (GtkPrintOperationPreview *preview, + GtkPrintContext *context); + void (*got_page_size) (GtkPrintOperationPreview *preview, + GtkPrintContext *context, + GtkPageSetup *page_setup); + + + /* methods */ + void (*render_page) (GtkPrintOperationPreview *preview, + gint page_nr); + gboolean (*is_selected) (GtkPrintOperationPreview *preview, + gint page_nr); + void (*end_preview) (GtkPrintOperationPreview *preview); + + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); + void (*_gtk_reserved7) (void); +}; + +GType gtk_print_operation_preview_get_type (void) G_GNUC_CONST; + +void gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview, + gint page_nr); +void gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview); +gboolean gtk_print_operation_preview_is_selected (GtkPrintOperationPreview *preview, + gint page_nr); + +#endif /* __GTK_PRINT_OPERATION_PREVIEW_H__ */ -- cgit v1.2.1