netsurf/desktop/save_pdf/pdf_plotters.h
John Tytgat 403376e890 - desktop/save_pdf/pdf_plotters.c:
- Have a set of libharu gstate update related wrapper routines which minimizes the gstate updates in the PDF file 
resulting in smaller PDF file size.
  - Colour values were wrongly scaled (was dividing by 256 instead of by 255).
  - pdf_plot_polygon(): last (closing) lineto wasn't needed, a fill operation will do that automatically.
  - pdf_scale/pdf_set_scale(): moved to desktop/save_pdf/font_haru.c as pdf_text_scale/haru_nsfont_set_scale().
- desktop/save_pdf/pdf_plotters.c(pdf_set_scale): moved to desktop/save_pdf/font_haru.h as haru_nsfont_set_scale().
- desktop/save_pdf/font_haru.c:
  - moved pdf_scale variable from pdf_plotters.c to here.
  - haru_nsfont_set_scale(): was pdf_set_scale from pdf_plotters.c
  - haru_nsfont_apply_style(): always calculate font size and pass it on to caller when requested.
- desktop/save_pdf/font_haru.h:
  - haru_nsfont_set_scale(): declare.
  - haru_nsfont_apply_style(): add font size parameter
- gtk/gtk_scaffolding.c(MENUHANDLER(export_pdf)): call haru_nsfont_set_scale() instead of pdf_set_scale().

svn path=/trunk/netsurf/; revision=6363
2009-02-05 02:31:19 +00:00

42 lines
1.1 KiB
C

/*
* Copyright 2008 Adam Blokus <adamblokus@gmail.com>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
* NetSurf 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; version 2 of the License.
*
* NetSurf 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/>.
*/
/** \file
PDF Plotting
*/
#ifndef NETSURF_PDF_PLOTTERS_H
#define NETSURF_PDF_PLOTTERS_H
#include "desktop/print.h"
extern const struct printer pdf_printer;
/**Start plotting a pdf file*/
bool pdf_begin(struct print_settings *settings);
/**Finish the current page and start a new one*/
bool pdf_next_page(void);
/**Close pdf document and save changes to file*/
void pdf_end(void);
void save_pdf(const char *path);
#endif /*NETSURF_PDF_PLOTTERS_H*/