Code

No more NRMatrix or NRPoint.
[inkscape.git] / src / extension / internal / latex-pstricks.h
1 #ifndef __INKSCAPE_EXTENSION_INTERNAL_PRINT_LATEX_H__
2 #define __INKSCAPE_EXTENSION_INTERNAL_PRINT_LATEX_H__
4 /*
5  * LaTeX Printing
6  *
7  * Author:
8  *  Michael Forbes <miforbes@mbhs.edu>
9  * 
10  * Copyright (C) 2004 Authors
11  * 
12  * Released under GNU GPL, read the file 'COPYING' for more information
13  */
15 #include <config.h>
17 #include "extension/implementation/implementation.h"
18 #include "extension/extension.h"
20 #include "svg/stringstream.h"
22 #include <stack>
24 namespace Inkscape {
25 namespace Extension {
26 namespace Internal {
28 class PrintLatex : public Inkscape::Extension::Implementation::Implementation {
30     float  _width;
31     float  _height;
32     FILE * _stream;
33     
34     std::stack<NR::Matrix> m_tr_stack;
36     void print_bpath (SVGOStringStream &os, const NArtBpath *bp, const NR::Matrix *transform);
38 public:
39         PrintLatex (void);
40         virtual ~PrintLatex (void);
42         /* Print functions */
43         virtual unsigned int setup (Inkscape::Extension::Print * module);
45         virtual unsigned int begin (Inkscape::Extension::Print * module, SPDocument *doc);
46         virtual unsigned int finish (Inkscape::Extension::Print * module);
48         /* Rendering methods */
49         virtual unsigned int bind(Inkscape::Extension::Print *module, NR::Matrix const *transform, float opacity);
50         virtual unsigned int release(Inkscape::Extension::Print *module);
52         virtual unsigned int fill (Inkscape::Extension::Print * module, const NRBPath *bpath, const NR::Matrix *ctm, const SPStyle *style,
53                 const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
54         virtual unsigned int stroke (Inkscape::Extension::Print * module, const NRBPath *bpath, const NR::Matrix *transform, const SPStyle *style,
55                 const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
56         virtual unsigned int comment(Inkscape::Extension::Print *module, const char * comment);
57         bool textToPath (Inkscape::Extension::Print * ext);
59         static void init (void);
60 };
62 }  /* namespace Internal */
63 }  /* namespace Extension */
64 }  /* namespace Inkscape */
66 #endif /* __INKSCAPE_EXTENSION_INTERNAL_PRINT_LATEX */
68 /*
69   Local Variables:
70   mode:cpp
71   c-file-style:"stroustrup"
72   c-file-offsets:((innamespace . 0)(inline-open . 0))
73   indent-tabs-mode:nil
74   fill-column:99
75   End:
76 */
77 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :