X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fxo-print.h;h=498be84f0053b5d0a45404ec2effcf75af8fc5d2;hb=69037d6ddbe7e90d13d8a7a088d8c209a926190e;hp=1ad42d4b3ccd2b7e62aa1ace010c667eb8e5a371;hpb=59df9eb838b273295a6b86ce9f522dc4ad71dc4d;p=xournal.git diff --git a/src/xo-print.h b/src/xo-print.h index 1ad42d4..498be84 100644 --- a/src/xo-print.h +++ b/src/xo-print.h @@ -1,3 +1,18 @@ +/* + * 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 . + */ + typedef struct XrefTable { int *data; int last; @@ -26,6 +41,34 @@ typedef struct PdfObj { 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 @@ -48,4 +91,6 @@ gboolean pdf_parse_info(GString *pdfbuf, struct PdfInfo *pdfinfo, struct XrefTab 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