]> git.donarmstrong.com Git - xournal.git/blobdiff - src/xo-print.h
Image patch
[xournal.git] / src / xo-print.h
index 1ad42d4b3ccd2b7e62aa1ace010c667eb8e5a371..498be84f0053b5d0a45404ec2effcf75af8fc5d2 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
+ */
+
 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