-
Notifications
You must be signed in to change notification settings - Fork 0
/
class_open_g_p_1_1_event_provider.html
199 lines (193 loc) · 12 KB
/
class_open_g_p_1_1_event_provider.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>OpenGP: OpenGP::EventProvider Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OpenGP
 <span id="projectnumber">1.1</span>
</div>
<div id="projectbrief">Open Geometry Processing Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="tutorial.html"><span>Tutorial</span></a></li>
<li><a href="devel.html"><span>Development</span></a></li>
<li><a href="annotated.html"><span>Reference Manual</span></a></li>
<li><a href="https://github.com/OpenGP/OpenGP/issues"><span>Report Bug</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>OpenGP</b></li><li class="navelem"><a class="el" href="class_open_g_p_1_1_event_provider.html">EventProvider</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pro-methods">Protected Member Functions</a> |
<a href="class_open_g_p_1_1_event_provider-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">OpenGP::EventProvider Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Base class that provides derived classes the abillity to register callbacks and send events.
<a href="class_open_g_p_1_1_event_provider.html#details">More...</a></p>
<p><code>#include <<a class="el" href="_event_provider_8h_source.html">EventProvider.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for OpenGP::EventProvider:</div>
<div class="dyncontent">
<div class="center">
<img src="class_open_g_p_1_1_event_provider.png" usemap="#OpenGP::EventProvider_map" alt=""/>
<map id="OpenGP::EventProvider_map" name="OpenGP::EventProvider_map">
<area href="class_open_g_p_1_1_application.html" title="A framework class that manages windows and runs the main loop. " alt="OpenGP::Application" shape="rect" coords="0,56,192,80"/>
<area href="class_open_g_p_1_1_camera_component.html" title="A component representing a camera in the scene. " alt="OpenGP::CameraComponent" shape="rect" coords="202,56,394,80"/>
<area href="class_open_g_p_1_1_g_u_i_canvas_component.html" title="A component representing a GUI layer in a camera view. " alt="OpenGP::GUICanvasComponent" shape="rect" coords="404,56,596,80"/>
<area href="class_open_g_p_1_1_window.html" title="A wrapper object that manages a window. " alt="OpenGP::Window" shape="rect" coords="606,56,798,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a90903f76a739ba039fe88d1bff49c652"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90903f76a739ba039fe88d1bff49c652"></a>
using </td><td class="memItemRight" valign="bottom"><a class="el" href="class_open_g_p_1_1_event_provider.html#a90903f76a739ba039fe88d1bff49c652">ListenerHandle</a> = decltype(listeners)::mapped_type::iterator</td></tr>
<tr class="memdesc:a90903f76a739ba039fe88d1bff49c652"><td class="mdescLeft"> </td><td class="mdescRight">A handle that can be use to deregister a particular listener. <br /></td></tr>
<tr class="separator:a90903f76a739ba039fe88d1bff49c652"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2182fa1f9ca09ada8b0079d793dca96b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a2182fa1f9ca09ada8b0079d793dca96b"></a>
template<typename EventType , typename ListenerType > </td></tr>
<tr class="memitem:a2182fa1f9ca09ada8b0079d793dca96b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_open_g_p_1_1_event_provider.html#a90903f76a739ba039fe88d1bff49c652">ListenerHandle</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_open_g_p_1_1_event_provider.html#a2182fa1f9ca09ada8b0079d793dca96b">add_listener</a> (ListenerType listener)</td></tr>
<tr class="memdesc:a2182fa1f9ca09ada8b0079d793dca96b"><td class="mdescLeft"> </td><td class="mdescRight">Register a listener to be called for events of <code>EventType</code> <br /></td></tr>
<tr class="separator:a2182fa1f9ca09ada8b0079d793dca96b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afe8095ab1acf0e868a960cf896cb96e4"><td class="memTemplParams" colspan="2">template<typename EventType , typename ListenerType > </td></tr>
<tr class="memitem:afe8095ab1acf0e868a960cf896cb96e4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_open_g_p_1_1_event_provider.html#a90903f76a739ba039fe88d1bff49c652">ListenerHandle</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_open_g_p_1_1_event_provider.html#afe8095ab1acf0e868a960cf896cb96e4">add_listener</a> (ListenerType listener, const <a class="el" href="class_open_g_p_1_1_event_sentinel.html">EventSentinel</a> &sentinel)</td></tr>
<tr class="memdesc:afe8095ab1acf0e868a960cf896cb96e4"><td class="mdescLeft"> </td><td class="mdescRight">Register a listener to be called for events of <code>EventType</code> <a href="#afe8095ab1acf0e868a960cf896cb96e4">More...</a><br /></td></tr>
<tr class="separator:afe8095ab1acf0e868a960cf896cb96e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a88ecc1ad94b2a374ee6de0899b804cd7"><td class="memTemplParams" colspan="2"><a class="anchor" id="a88ecc1ad94b2a374ee6de0899b804cd7"></a>
template<typename EventType > </td></tr>
<tr class="memitem:a88ecc1ad94b2a374ee6de0899b804cd7"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_open_g_p_1_1_event_provider.html#a88ecc1ad94b2a374ee6de0899b804cd7">remove_listener</a> (const <a class="el" href="class_open_g_p_1_1_event_provider.html#a90903f76a739ba039fe88d1bff49c652">ListenerHandle</a> &handle)</td></tr>
<tr class="memdesc:a88ecc1ad94b2a374ee6de0899b804cd7"><td class="mdescLeft"> </td><td class="mdescRight">Manually deregister a particular listener. <br /></td></tr>
<tr class="separator:a88ecc1ad94b2a374ee6de0899b804cd7"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7fac2a2652ccbfeb05c67f7c8c95695b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7fac2a2652ccbfeb05c67f7c8c95695b"></a>
template<typename EventType > </td></tr>
<tr class="memitem:a7fac2a2652ccbfeb05c67f7c8c95695b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_open_g_p_1_1_event_provider.html#a7fac2a2652ccbfeb05c67f7c8c95695b">send_event</a> (const EventType &event)</td></tr>
<tr class="memdesc:a7fac2a2652ccbfeb05c67f7c8c95695b"><td class="mdescLeft"> </td><td class="mdescRight">A derived class can call this method to broadcast an event to all of its registered listeners. <br /></td></tr>
<tr class="separator:a7fac2a2652ccbfeb05c67f7c8c95695b"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class that provides derived classes the abillity to register callbacks and send events. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="afe8095ab1acf0e868a960cf896cb96e4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename EventType , typename ListenerType > </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_open_g_p_1_1_event_provider.html#a90903f76a739ba039fe88d1bff49c652">ListenerHandle</a> OpenGP::EventProvider::add_listener </td>
<td>(</td>
<td class="paramtype">ListenerType </td>
<td class="paramname"><em>listener</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_open_g_p_1_1_event_sentinel.html">EventSentinel</a> & </td>
<td class="paramname"><em>sentinel</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Register a listener to be called for events of <code>EventType</code> </p>
<p>If <code>sentinel</code> dies before the event provider, the listener will be deregistered </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/drebain/Workspace/research/OpenGPFork/src/OpenGP/GL/<a class="el" href="_event_provider_8h_source.html">EventProvider.h</a></li>
</ul>
</div><!-- contents -->
<div id="footer">
<!-- <address>
<small>
Copyright © 2013
</small>
</address> -->
</div>
</body>
</html>