-/* GtkPrintJob
- * Copyright (C) 2006 Red Hat,Inc.
+/* GtkPrintJob
+ * 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
* 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.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
+
#ifndef __GTK_PRINT_JOB_H__
#define __GTK_PRINT_JOB_H__
-#include <glib-object.h>
+#if !defined (__GTK_UNIX_PRINT_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtkunixprint.h> can be included directly."
+#endif
+
#include <cairo.h>
+#include <gtk/gtk.h>
#include <gtk/gtkprinter.h>
-#include <gtk/gtkprintoperation.h>
G_BEGIN_DECLS
#define GTK_IS_PRINT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_JOB))
#define GTK_PRINT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PRINT_JOB, GtkPrintJobClass))
-/* Note, this type is manually registered with GObject in gtkprintjob.c
- * If you add any flags, update the registration as well
- */
-typedef enum
-{
- GTK_PRINT_CAPABILITY_PAGE_SET = 1 << 0,
- GTK_PRINT_CAPABILITY_COPIES = 1 << 1,
- GTK_PRINT_CAPABILITY_COLLATE = 1 << 2,
- GTK_PRINT_CAPABILITY_REVERSE = 1 << 3,
- GTK_PRINT_CAPABILITY_SCALE = 1 << 4,
- GTK_PRINT_CAPABILITY_GENERATE_PDF = 1 << 5,
- GTK_PRINT_CAPABILITY_GENERATE_PS = 1 << 6,
- GTK_PRINT_CAPABILITY_PREVIEW = 1 << 7
-} GtkPrintCapabilities;
-
typedef struct _GtkPrintJob GtkPrintJob;
typedef struct _GtkPrintJobClass GtkPrintJobClass;
typedef struct _GtkPrintJobPrivate GtkPrintJobPrivate;
-typedef void (*GtkPrintJobCompleteFunc) (GtkPrintJob *print_job,
- gpointer user_data,
- GError *error);
+/**
+ * GtkPrintJobCompleteFunc:
+ * @print_job: the #GtkPrintJob
+ * @user_data: user data that has been passed to gtk_print_job_send()
+ * @error: a #GError that contains error information if the sending
+ * of the print job failed, otherwise %NULL
+ *
+ * The type of callback that is passed to gtk_print_job_send().
+ * It is called when the print job has been completely sent.
+ */
+typedef void (*GtkPrintJobCompleteFunc) (GtkPrintJob *print_job,
+ gpointer user_data,
+ const GError *error);
struct _GtkPrinter;
GObject parent_instance;
GtkPrintJobPrivate *priv;
-
- /* Settings the client has to implement:
- * (These are read-only, set at initialization)
- */
- GtkPrintPages print_pages;
- GtkPageRange *page_ranges;
- gint num_page_ranges;
- GtkPageSet page_set;
- gint num_copies;
- gdouble scale;
- guint rotate_to_orientation : 1;
- guint collate : 1;
- guint reverse : 1;
};
struct _GtkPrintJobClass
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_job_get_type (void) G_GNUC_CONST;
GtkPageSetup *page_setup);
GtkPrintSettings *gtk_print_job_get_settings (GtkPrintJob *job);
GtkPrinter *gtk_print_job_get_printer (GtkPrintJob *job);
-G_CONST_RETURN gchar *gtk_print_job_get_title (GtkPrintJob *job);
+const gchar * gtk_print_job_get_title (GtkPrintJob *job);
GtkPrintStatus gtk_print_job_get_status (GtkPrintJob *job);
gboolean gtk_print_job_set_source_file (GtkPrintJob *job,
const gchar *filename,
gpointer user_data,
GDestroyNotify dnotify);
-GType gtk_print_capabilities_get_type (void) G_GNUC_CONST;
+GtkPrintPages gtk_print_job_get_pages (GtkPrintJob *job);
+void gtk_print_job_set_pages (GtkPrintJob *job,
+ GtkPrintPages pages);
+GtkPageRange * gtk_print_job_get_page_ranges (GtkPrintJob *job,
+ gint *n_ranges);
+void gtk_print_job_set_page_ranges (GtkPrintJob *job,
+ GtkPageRange *ranges,
+ gint n_ranges);
+GtkPageSet gtk_print_job_get_page_set (GtkPrintJob *job);
+void gtk_print_job_set_page_set (GtkPrintJob *job,
+ GtkPageSet page_set);
+gint gtk_print_job_get_num_copies (GtkPrintJob *job);
+void gtk_print_job_set_num_copies (GtkPrintJob *job,
+ gint num_copies);
+gdouble gtk_print_job_get_scale (GtkPrintJob *job);
+void gtk_print_job_set_scale (GtkPrintJob *job,
+ gdouble scale);
+guint gtk_print_job_get_n_up (GtkPrintJob *job);
+void gtk_print_job_set_n_up (GtkPrintJob *job,
+ guint n_up);
+GtkNumberUpLayout gtk_print_job_get_n_up_layout (GtkPrintJob *job);
+void gtk_print_job_set_n_up_layout (GtkPrintJob *job,
+ GtkNumberUpLayout layout);
+gboolean gtk_print_job_get_rotate (GtkPrintJob *job);
+void gtk_print_job_set_rotate (GtkPrintJob *job,
+ gboolean rotate);
+gboolean gtk_print_job_get_collate (GtkPrintJob *job);
+void gtk_print_job_set_collate (GtkPrintJob *job,
+ gboolean collate);
+gboolean gtk_print_job_get_reverse (GtkPrintJob *job);
+void gtk_print_job_set_reverse (GtkPrintJob *job,
+ gboolean reverse);
G_END_DECLS