diff options
author | Vincent Sanders <vince@kyllikki.org> | 2018-08-29 21:10:51 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2020-12-11 16:20:57 +0000 |
commit | 5c0eca30a3cd711d87bd640af1422c074aeede48 (patch) | |
tree | c5e26a972d79a3112ce30f2e4b45dabd39209af1 | |
parent | eef5b5ef5aaffe0e3e9d3a3069e85699d6a4e300 (diff) | |
download | netsurf-5c0eca30a3cd711d87bd640af1422c074aeede48.tar.gz netsurf-5c0eca30a3cd711d87bd640af1422c074aeede48.tar.bz2 |
fix plot style float to fix path width
-rw-r--r-- | content/handlers/pdf/pdf.c | 21 | ||||
-rw-r--r-- | include/netsurf/plot_style.h | 3 |
2 files changed, 15 insertions, 9 deletions
diff --git a/content/handlers/pdf/pdf.c b/content/handlers/pdf/pdf.c index 89548cd46..ec283aa3a 100644 --- a/content/handlers/pdf/pdf.c +++ b/content/handlers/pdf/pdf.c @@ -1,6 +1,5 @@ /* - * Copyright 2004 James Bursa <bursa@users.sourceforge.net> - * Copyright 2004 John M Bell <jmb202@ecs.soton.ac.uk> + * Copyright 2018 Vincent Sanders <vince@netsurf-browser.org> * * This file is part of NetSurf, http://www.netsurf-browser.org/ * @@ -154,7 +153,7 @@ static bool pdf_convert(struct content *c) } /** \todo extract documents starting page number */ - pdfc->current_page = 16; + pdfc->current_page = 0; pdfres = nspdf_get_page_dimensions(pdfc->doc, pdfc->current_page, @@ -180,12 +179,16 @@ pdf_path(const struct nspdf_style *style, { const struct redraw_context *ctx = ctxin; - ctx->plot->path(ctx, - (const struct plot_style_s *)style, - path, - path_length, - style->stroke_width, - transform); + struct plot_style_s nsstyle; + + nsstyle.stroke_type = style->stroke_type; + nsstyle.stroke_width = plot_style_float_to_fixed(style->stroke_width); + nsstyle.stroke_colour = style->stroke_colour; + nsstyle.fill_type = style->fill_type; + nsstyle.fill_colour = style->fill_colour; + + ctx->plot->path(ctx, &nsstyle, path, path_length, transform); + return NSPDFERROR_OK; } diff --git a/include/netsurf/plot_style.h b/include/netsurf/plot_style.h index bfc0805ea..8ba79ae1b 100644 --- a/include/netsurf/plot_style.h +++ b/include/netsurf/plot_style.h @@ -50,6 +50,9 @@ typedef int32_t plot_style_fixed; /* Convert an int to fixed point */ #define plot_style_int_to_fixed(v) ((v) << PLOT_STYLE_RADIX) +/* Convert an float to fixed point */ +#define plot_style_float_to_fixed(v) ((v) * (1<<PLOT_STYLE_RADIX)) + /* Convert fixed point to int */ #define plot_style_fixed_to_int(v) ((v) >> PLOT_STYLE_RADIX) |