GNU Radio's TEST Package
qt_sink_c_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2013-2021 Sylvain Munaut <tnt@246tNt.com>
4  *
5  * This file is part of gr-fosphor
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  */
9 
10 #pragma once
11 
13 
14 #include "base_sink_c_impl.h"
15 
16 namespace gr {
17  namespace fosphor {
18 
19  class QGLSurface;
20 
21  /*!
22  * \brief Qt version of fosphor sink (implementation)
23  * \ingroup fosphor
24  */
25  class qt_sink_c_impl : public qt_sink_c, public base_sink_c_impl
26  {
27  friend class QGLSurface;
28 
29  private:
30  QGLSurface *d_gui;
31 
32  protected:
33  /* Delegated implementation of GL context management */
34  void glctx_init();
35  void glctx_swap();
36  void glctx_poll();
37  void glctx_fini();
38  void glctx_update();
39 
40  public:
41  qt_sink_c_impl(QWidget *parent=NULL);
42 
43  void exec_();
44  QWidget* qwidget();
45 
46 #if defined(PY_VERSION)
47  PyObject* pyqwidget();
48 #else
49  void* pyqwidget();
50 #endif
51  };
52 
53  } // namespace fosphor
54 } // namespace gr
Definition: QGLSurface.h:22
Base class for fosphor sink implementation.
Definition: base_sink_c_impl.h:31
Qt version of fosphor sink (implementation)
Definition: qt_sink_c_impl.h:26
qt_sink_c_impl(QWidget *parent=NULL)
Qt version of fosphor sink.
Definition: qt_sink_c.h:28
Definition: base_sink_c.h:17
Definition: private.h:31