GNU Radio's FOSPHOR Package
wx_core_sink_c_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2013-2014 Sylvain Munaut <tnt@246tNt.com>
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 
22 #ifndef INCLUDED_GR_FOSPHOR_WX_CORE_SINK_C_IMPL_H
23 #define INCLUDED_GR_FOSPHOR_WX_CORE_SINK_C_IMPL_H
24 
26 
27 #include "base_sink_c_impl.h"
28 
29 namespace gr {
30  namespace fosphor {
31 
32  /*!
33  * \brief WX version of fosphor sink (core implementation)
34  * \ingroup fosphor
35  */
37  {
38  private:
39  /* Delegation to python */
40  void pycall(PyObject *cb);
41 
42  PyObject *d_cb_init;
43  PyObject *d_cb_fini;
44  PyObject *d_cb_swap;
45  PyObject *d_cb_update;
46 
47  protected:
48  /* Delegated implementation of GL context management */
49  void glctx_init();
50  void glctx_swap();
51  void glctx_poll();
52  void glctx_fini();
53  void glctx_update();
54 
55  public:
56  wx_core_sink_c_impl(PyObject *cb_init, PyObject *cb_fini,
57  PyObject *cb_swap, PyObject *cb_update);
59 
60  void pycb_reshape(int width, int height);
61  };
62 
63  } // namespace fosphor
64 } // namespace gr
65 
66 #endif /* INCLUDED_GR_FOSPHOR_WX_CORE_SINK_C_IMPL_H */
67 
WX version of fosphor sink (core implementation)
Definition: wx_core_sink_c_impl.h:36
Definition: private.h:43
Base class for fosphor sink implementation.
Definition: base_sink_c_impl.h:43
void pycb_reshape(int width, int height)
WX version of fosphor sink (core)
Definition: wx_core_sink_c.h:37
Definition: base_sink_c.h:30
wx_core_sink_c_impl(PyObject *cb_init, PyObject *cb_fini, PyObject *cb_swap, PyObject *cb_update)