Code

Bug 1527659 (Lack of canvas dimensions integrity from SVG to PDF)
authorulferikson <ulferikson@users.sourceforge.net>
Sat, 5 Aug 2006 21:06:29 +0000 (21:06 +0000)
committerulferikson <ulferikson@users.sourceforge.net>
Sat, 5 Aug 2006 21:06:29 +0000 (21:06 +0000)
MediaBox doesn't have to be limited to whole points.

src/extension/internal/pdf-mini.h
src/extension/internal/pdf.cpp

index d0b4ea1f1fbaf878e24a2112c475c25feeea3ae4..32f8e284ceb6dbeef4ef27ce0059cc61cd65edb9 100644 (file)
@@ -41,8 +41,8 @@ class PdfFile {
     \r
     PdfObject *begin_document(double version = 1.2);\r
     void end_document(PdfObject *doc_info);\r
-    PdfObject *begin_page(int x0, int y0, int x1, int y1);\r
-    PdfObject *begin_page(int w, int h) { return begin_page(0,0, w, h); }\r
+    PdfObject *begin_page(double x0, double y0, double x1, double y1);\r
+    PdfObject *begin_page(double w, double h) { return begin_page(0,0, w, h); }\r
     void end_page(PdfObject *page);\r
     PdfObject *begin_object();\r
     void end_object(PdfObject *object);\r
@@ -238,7 +238,7 @@ void PdfFile::end_document(PdfObject *doc_info) {
     delete obj_info;\r
 }\r
 \r
-PdfObject *PdfFile::begin_page(int x0, int y0, int x1, int y1) {\r
+PdfObject *PdfFile::begin_page(double x0, double y0, double x1, double y1) {\r
     Inkscape::SVGOStringStream os;\r
 \r
     resources = new PdfXref[11]();\r
index 2e8d8813b21394fc1677f20ff8f907d0ce37b3d9..50e98d00c2dee8e351c3b27d140e3f94e13678cb 100644 (file)
@@ -361,8 +361,8 @@ PrintPDF::begin(Inkscape::Extension::Print *mod, SPDocument *doc)
     // printf("Page Bounding Box: %s\n", pageBoundingBox ? "TRUE" : "FALSE");\r
     if (pageBoundingBox) {\r
         d.x0 = d.y0 = 0;\r
-        d.x1 = ceil(_width);\r
-        d.y1 = ceil(_height);\r
+        d.x1 = _width;\r
+        d.y1 = _height;\r
     } else {\r
         SPItem* doc_item = SP_ITEM(sp_document_root(doc));\r
         sp_item_invoke_bbox(doc_item, &d, sp_item_i2r_affine(doc_item), TRUE);\r
@@ -373,8 +373,7 @@ PrintPDF::begin(Inkscape::Extension::Print *mod, SPDocument *doc)
         d.y1 *= PT_PER_PX;\r
     }\r
 \r
-    page_stream = pdf_file->begin_page( (int) d.x0, (int) d.y0,\r
-                                        (int) d.x1, (int) d.y1 );\r
+    page_stream = pdf_file->begin_page( d.x0, d.y0, d.x1, d.y1 );\r
 \r
     if (!_bitmap) {\r
         Inkscape::SVGOStringStream os;\r