summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/pdf-cairo.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2008-03-12 07:57:33 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2008-03-12 07:57:33 +0000
commit9a422c34a4e7f1c83379bc21b59150573cf61673 (patch)
treef675baa8427496bfb6ca35b5d326809b6ed5b7c3 /src/extension/internal/pdf-cairo.cpp
parentupdate (diff)
downloadinkscape-9a422c34a4e7f1c83379bc21b59150573cf61673.tar.gz
inkscape-9a422c34a4e7f1c83379bc21b59150573cf61673.zip
enable --export-id and --export-area-drawing for PDF export
(bzr r5063)
Diffstat (limited to 'src/extension/internal/pdf-cairo.cpp')
-rw-r--r--src/extension/internal/pdf-cairo.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/extension/internal/pdf-cairo.cpp b/src/extension/internal/pdf-cairo.cpp
index 620961d3b..f189d6b6b 100644
--- a/src/extension/internal/pdf-cairo.cpp
+++ b/src/extension/internal/pdf-cairo.cpp
@@ -329,8 +329,9 @@ PrintCairoPDF::begin(Inkscape::Extension::Print *mod, SPDocument *doc)
d.x1 = _width;
d.y1 = _height;
} else {
- SPItem* doc_item = SP_ITEM(sp_document_root(doc));
- sp_item_invoke_bbox(doc_item, &d, sp_item_i2r_affine(doc_item), TRUE);
+ // if not page, use our base, which is either root or the item we want to export
+ SPItem* doc_item = SP_ITEM(mod->base);
+ sp_item_invoke_bbox(doc_item, &d, sp_item_i2root_affine(doc_item), TRUE);
// convert from px to pt
d.x0 *= PT_PER_PX;
d.x1 *= PT_PER_PX;
@@ -340,6 +341,8 @@ PrintCairoPDF::begin(Inkscape::Extension::Print *mod, SPDocument *doc)
// printf("\n _width:%f _height:%f scale:%f\n", _width, _height, PT_PER_PX);
pdf_surface = cairo_pdf_surface_create_for_stream(Inkscape::Extension::Internal::_write_callback, _stream, d.x1-d.x0, d.y1-d.y0);
cr = cairo_create(pdf_surface);
+ // move to the origin
+ cairo_translate (cr, -d.x0, -d.y0);
if (!_bitmap) {
cairo_scale(cr, PT_PER_PX, PT_PER_PX);
@@ -1037,6 +1040,8 @@ PrintCairoPDF::init(void)
"<param name=\"destination\" type=\"string\">| lp</param>\n"
"<param name=\"pageBoundingBox\" type=\"boolean\">TRUE</param>\n"
"<param name=\"textToPath\" type=\"boolean\">TRUE</param>\n"
+ "<param name=\"exportDrawing\" type=\"boolean\">FALSE</param>\n"
+ "<param name=\"exportId\" type=\"string\"></param>\n"
"<print/>\n"
"</inkscape-extension>", new PrintCairoPDF());
}