source: git/src/exportfilter.h @ bfdf561

stereo-2025 debian/1.4.10-2
Last change on this file since bfdf561 was 1854ba1, checked in by Olly Betts <olly@…>, 12 months ago

Remove Skencil export support

The last release of Skencil was in 2005. There was an attempt to
revive the project in 2010, but that didn't lead to another release
and seems to have petered out. No current Linux distro (or other
package system) seems to have packages for it. The current git
version still appears to require Python 2.

  • Property mode set to 100644
File size: 2.7 KB
Line 
1/* exportfilter.h
2 * Export to CAD-like formats (DXF, SVG, EPS, HPGL) and also Compass PLT.
3 */
4
5/* Copyright (C) 2005-2024 Olly Betts
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
20 */
21
22#ifndef SURVEX_EXPORTFILTER_H
23#define SURVEX_EXPORTFILTER_H
24
25#include <stdio.h>
26#include "wx.h"
27
28#include "img_hosted.h"
29
30class ExportFilter {
31  protected:
32    FILE * fh;
33  public:
34    ExportFilter() : fh(NULL) { }
35    // FIXME: deal with errors closing file... (safe_fclose?)
36    virtual ~ExportFilter() { if (fh) fclose(fh); }
37    virtual const int * passes() const;
38    virtual bool fopen(const wxString& fnm_out) {
39        fh = wxFopen(fnm_out.fn_str(), wxT("wb"));
40        return (fh != NULL);
41    }
42    virtual void header(const char* title,
43                        const char* datestamp_string,
44                        time_t datestamp,
45                        double min_x, double min_y, double min_z,
46                        double max_x, double max_y, double max_z);
47    virtual void start_pass(int);
48    virtual void line(const img_point *, const img_point *, unsigned, bool);
49    virtual void label(const img_point* p, const wxString& s,
50                       int sflags, int type) = 0;
51    virtual void cross(const img_point *, const wxString&, int sflags);
52    virtual void xsect(const img_point *, double, double, double);
53    virtual void wall(const img_point *, double, double);
54    virtual void passage(const img_point *, double, double, double);
55    virtual void tube_end();
56    virtual void footer();
57};
58
59inline void
60ExportFilter::header(const char*,
61                     const char*,
62                     time_t,
63                     double, double, double,
64                     double, double, double) { }
65
66inline void
67ExportFilter::start_pass(int) { }
68
69inline void
70ExportFilter::line(const img_point *, const img_point *, unsigned, bool) { }
71
72inline void
73ExportFilter::cross(const img_point *, const wxString&, int) { }
74
75inline void
76ExportFilter::xsect(const img_point *, double, double, double) { }
77
78inline void
79ExportFilter::wall(const img_point *, double, double) { }
80
81inline void
82ExportFilter::passage(const img_point *, double, double, double) { }
83
84inline void
85ExportFilter::tube_end() { }
86
87inline void
88ExportFilter::footer() { }
89
90#endif
Note: See TracBrowser for help on using the repository browser.