+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This software 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
typedef struct XrefTable {
int *data;
int last;
char **names;
} PdfObj;
+typedef struct PdfFont {
+ int n_obj;
+ gboolean used_in_this_page;
+ char *filename;
+ int font_id;
+ gboolean is_truetype;
+ int glyph_page;
+ int glyphmap[256];
+ int advance[256];
+ char *glyphpsnames[256];
+ int num_glyphs_used;
+ // fields from the FT_Face
+ gdouble ft2ps;
+ int nglyphs;
+ int ascender, descender, xmin, xmax, ymin, ymax; // in PDF font units
+ gchar *fontname;
+ int flags;
+} PdfFont;
+
+typedef struct PdfImage {
+ int n_obj;
+ gboolean has_alpha;
+ int n_obj_smask; /* only if has_alpha */
+ GdkPixbuf *pixbuf;
+ gboolean used_in_this_page;
+} PdfImage;
+
+
#define PDFTYPE_CST 0 // intval: true=1, false=0, null=-1
#define PDFTYPE_INT 1 // intval
#define PDFTYPE_REAL 2 // realval
gboolean print_to_pdf(char *filename);
-void print_job_render(GnomePrintJob *gpj, int fromPage, int toPage);
+#if GTK_CHECK_VERSION(2, 10, 0)
+void print_job_render_page(GtkPrintOperation *print, GtkPrintContext *context, gint pageno, gpointer user_data);
+#endif