GNU Radio's TEST Package
glfw_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
12
#include <
gnuradio/fosphor/glfw_sink_c.h
>
13
14
#include "
base_sink_c_impl.h
"
15
16
struct
GLFWwindow;
17
18
namespace
gr
{
19
namespace
fosphor
{
20
21
/*!
22
* \brief GLFW version of fosphor sink (implementation)
23
* \ingroup fosphor
24
*/
25
class
glfw_sink_c_impl
:
public
glfw_sink_c
,
public
base_sink_c_impl
26
{
27
private
:
28
/* GLFW stuff */
29
GLFWwindow *d_window;
30
31
void
glfw_render(
void
);
32
void
glfw_cb_reshape(
int
w,
int
h);
33
void
glfw_cb_key(
int
key,
int
scancode,
int
action,
int
mods);
34
void
glfw_cb_mouse(
int
btn,
int
action,
int
mods);
35
36
static
void
_glfw_cb_reshape(GLFWwindow *wnd,
int
w,
int
h);
37
static
void
_glfw_cb_key(GLFWwindow *wnd,
int
key,
int
scancode,
int
action,
int
mods);
38
static
void
_glfw_cb_mouse(GLFWwindow *wnd,
int
btn,
int
action,
int
mods);
39
40
protected
:
41
/* Delegated implementation of GL context management */
42
void
glctx_init
();
43
void
glctx_swap
();
44
void
glctx_poll
();
45
void
glctx_fini
();
46
void
glctx_update
();
47
48
public
:
49
glfw_sink_c_impl
();
50
};
51
52
}
// namespace fosphor
53
}
// namespace gr
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:25
glfw_sink_c.h
gr::fosphor
Definition
base_sink_c.h:18
gr
Definition
base_sink_c.h:17
lib
glfw_sink_c_impl.h
Generated by
1.13.2