GNU Radio's TEST Package
glfw_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_GLFW_SINK_C_IMPL_H
23
#define INCLUDED_GR_FOSPHOR_GLFW_SINK_C_IMPL_H
24
25
#include <
gnuradio/fosphor/glfw_sink_c.h
>
26
27
#include "
base_sink_c_impl.h
"
28
29
struct
GLFWwindow;
30
31
namespace
gr
{
32
namespace
fosphor
{
33
34
/*!
35
* \brief GLFW version of fosphor sink (implementation)
36
* \ingroup fosphor
37
*/
38
class
glfw_sink_c_impl
:
public
glfw_sink_c
,
public
base_sink_c_impl
39
{
40
private
:
41
/* GLFW stuff */
42
GLFWwindow *d_window;
43
44
void
glfw_render(
void
);
45
void
glfw_cb_reshape(
int
w,
int
h);
46
void
glfw_cb_key(
int
key,
int
scancode,
int
action,
int
mods);
47
void
glfw_cb_mouse(
int
btn,
int
action,
int
mods);
48
49
static
void
_glfw_cb_reshape(GLFWwindow *wnd,
int
w,
int
h);
50
static
void
_glfw_cb_key(GLFWwindow *wnd,
int
key,
int
scancode,
int
action,
int
mods);
51
static
void
_glfw_cb_mouse(GLFWwindow *wnd,
int
btn,
int
action,
int
mods);
52
53
protected
:
54
/* Delegated implementation of GL context management */
55
void
glctx_init
();
56
void
glctx_swap
();
57
void
glctx_poll
();
58
void
glctx_fini
();
59
void
glctx_update
();
60
61
public
:
62
glfw_sink_c_impl
();
63
};
64
65
}
// namespace fosphor
66
}
// namespace gr
67
68
#endif
/* INCLUDED_GR_FOSPHOR_GLFW_SINK_C_IMPL_H */
69
base_sink_c_impl.h
gr::fosphor::base_sink_c_impl::base_sink_c_impl
base_sink_c_impl()
gr::fosphor::glfw_sink_c_impl::glctx_update
void glctx_update()
gr::fosphor::glfw_sink_c_impl::glctx_swap
void glctx_swap()
gr::fosphor::glfw_sink_c_impl::glfw_sink_c_impl
glfw_sink_c_impl()
gr::fosphor::glfw_sink_c_impl::glctx_init
void glctx_init()
gr::fosphor::glfw_sink_c_impl::glctx_fini
void glctx_fini()
gr::fosphor::glfw_sink_c_impl::glctx_poll
void glctx_poll()
gr::fosphor::glfw_sink_c
GLFW version of fosphor sink.
Definition
glfw_sink_c.h:38
glfw_sink_c.h
gr::fosphor
Definition
base_sink_c.h:31
gr
Definition
base_sink_c.h:30
gr-fosphor-defdd4aca6cd157ccc3b10ea16b5b4f552f34b96
lib
glfw_sink_c_impl.h
Generated by
1.14.0