PLplot: wxPLplotstream.h Source File

PLplot 5.10.0

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
wxPLplotstream.h
Go to the documentation of this file.
1 // $Id: wxPLplotstream.h.in 12334 2013-05-04 16:43:33Z airwin $
2 //
3 // Copyright (C) 2005 Werner Smekal
4 //
5 // This file is part of PLplot.
6 //
7 // PLplot is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU Library General Public License as published
9 // by the Free Software Foundation; either version 2 of the License, or
10 // (at your option) any later version.
11 //
12 // PLplot 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 Library General Public License for more details.
16 //
17 // You should have received a copy of the GNU Library General Public License
18 // along with PLplot; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 //
21
22 #if !defined ( WXPLPLOTSTREAM_H__INCLUDED_ )
23 #define WXPLPLOTSTREAM_H__INCLUDED_
24
25 #include "plstream.h"
26
27 // forward declarations
28 class wxImage;
29 class wxDC;
30
31 // we define some macros, where the *name* of these depend on
32 // if freetype is available - in the code we have checks
33 // for the WX_TEMP_...._IS_ON macros (otherwise WX_TEMP_...._IS_OFF
34 // is defined)
35 #define WX_TEMP_PL_HAVE_FREETYPE_IS_ON
36
38 // wxPLPLOT_NONE: no option
39 // wxPLPLOT_FREETYPE: use freetype library instead of Hershey fonts
40 // wxPLPLOT_SMOOTHTEXT: antialiase font (if freetype library is used)
41 // wxPLPLOT_BACKEND_DC: use the standard wxDC backend (always available)
42 // wxPLPLOT_BACKEND_AGG: use the AGG backend (if available)
43 // wxPLPLOT_BACKEND_GC: use the wxGraphicsContext backend (if available)
44 // wxPLPLOT_DRAWTEXT: use wxWidgets routines to draw text
45 // wxPLPLOT_USE_HERSHEY_SYMBOLS: use hershey symbols to draw symbols instead of font symbols
46 //
47 enum
48 {
49 wxPLPLOT_NONE = 0,
50 #ifdef WX_TEMP_PL_HAVE_FREETYPE_IS_ON
51 wxPLPLOT_FREETYPE = 1 << 0,
52 wxPLPLOT_SMOOTH_TEXT = 1 << 1,
53 #endif
54 wxPLPLOT_BACKEND_DC = 1 << 2,
55 wxPLPLOT_BACKEND_AGG = 1 << 3,
56 wxPLPLOT_BACKEND_GC = 1 << 4,
57 wxPLPLOT_DRAW_TEXT = 1 << 5,
58 wxPLPLOT_USE_HERSHEY_SYMBOLS = 1 << 6
59 };
60
62 // to the plplot API. The documentation of this interface is described in
63 // the PLplot manual, not here.
64 //
65 class PLDLLIMPEXP_WX wxPLplotstream : public plstream
66 {
67 public:
68 wxPLplotstream();
69 wxPLplotstream( wxDC * dc, int width, int height, int style = wxPLPLOT_NONE );
70 void Create( wxDC *dc, int width, int height, int style );
71 ~wxPLplotstream();
72 //wxPLplotstream( wxImage *buffer, int width, int height, int style );
73 void set_stream();
74 void SetSize( int width, int height );
75 void RenewPlot();
76 void Update();
77
78 private:
79 void InitStream();
80
81 private:
82 wxDC * m_dc;
83 wxImage* m_image;
84 int m_width;
85 int m_height;
86 int m_style;
87 int m_backend;
88 };
89
90
91 #endif // !defined( WXPLPLOTSTREAM_H__INCLUDED_ )