diff options
author | Alexander Larsson <alexl@redhat.com> | 2006-06-02 15:16:13 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2006-06-02 15:16:13 +0000 |
commit | fad69ba06c957dfe192d6a38613fae58cf157be9 (patch) | |
tree | de7aca9f0f8f203d5a7ad2d93d35eba5964e1328 /gtk/gtkprintoperationpreview.h | |
parent | caf6c4196d0843a5112ea5a1e43677b68738a7a5 (diff) | |
download | gtk+-fad69ba06c957dfe192d6a38613fae58cf157be9.tar.gz |
Add gtkprintoperationpreview.[ch] Set default preview command. Hardcoded
2006-06-02 Alexander Larsson <alexl@redhat.com>
* 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.
Diffstat (limited to 'gtk/gtkprintoperationpreview.h')
-rw-r--r-- | gtk/gtkprintoperationpreview.h | 78 |
1 files changed, 78 insertions, 0 deletions
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 <glib-object.h> +#include <cairo.h> + +#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__ */ |