From b8355ad7dac90e1c89a62374e5ffa63e30572824 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 8 Apr 2019 22:59:47 +0200 Subject: Move render_slides_to_pdf to slide_render_cairo --- libstorycode/slide_render_cairo.c | 51 +++++++++++++++++++++++++++++++++++++++ libstorycode/slide_render_cairo.h | 1 + src/pdfstorycode.c | 48 ------------------------------------ 3 files changed, 52 insertions(+), 48 deletions(-) diff --git a/libstorycode/slide_render_cairo.c b/libstorycode/slide_render_cairo.c index a812bd8..cd8d397 100644 --- a/libstorycode/slide_render_cairo.c +++ b/libstorycode/slide_render_cairo.c @@ -33,6 +33,9 @@ #include #include +#include +#define _(x) gettext(x) + #include "slide.h" #include "narrative.h" #include "stylesheet.h" @@ -352,3 +355,51 @@ int slide_render_cairo(Slide *s, cairo_t *cr, ImageStore *is, Stylesheet *styles return 0; } + + +int render_slides_to_pdf(Narrative *n, ImageStore *is, const char *filename) +{ + double w = 2048.0; + cairo_surface_t *surf; + cairo_t *cr; + int i; + PangoContext *pc; + struct slide_pos sel; + + surf = cairo_pdf_surface_create(filename, w, w); + if ( cairo_surface_status(surf) != CAIRO_STATUS_SUCCESS ) { + fprintf(stderr, _("Couldn't create Cairo surface\n")); + return 1; + } + + cr = cairo_create(surf); + pc = pango_cairo_create_context(cr); + + sel.para = 0; sel.pos = 0; sel.trail = 0; + + for ( i=0; i