PLplot  5.9.9
 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 {
50 #ifdef WX_TEMP_PL_HAVE_FREETYPE_IS_ON
53 #endif
59 };
60 
62 // to the plplot API. The documentation of this interface is described in
63 // the PLplot manual, not here.
64 //
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_ )
#define PLDLLIMPEXP_WX
Definition: pldll.h:98
wxPLplotstream is inherited from plstream, which is the C++ interface
int m_height
Height of dc/plot area.
int m_width
Width of dc/plot area.
int m_backend
driver backend used
wxImage * m_image
pointer to wxImage
int m_style
style of this plot
wxDC * m_dc
Pointer to wxDC to plot into.
virtual void set_stream(void)
Definition: plstream.h:100