Line data Source code
1 :
2 : /* Copyright (c) 2006-2015, Stefan Eilemann <eile@equalizergraphics.com>
3 : *
4 : * This library is free software; you can redistribute it and/or modify it under
5 : * the terms of the GNU Lesser General Public License version 2.1 as published
6 : * by the Free Software Foundation.
7 : *
8 : * This library is distributed in the hope that it will be useful, but WITHOUT
9 : * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10 : * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11 : * details.
12 : *
13 : * You should have received a copy of the GNU Lesser General Public License
14 : * along with this library; if not, write to the Free Software Foundation, Inc.,
15 : * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16 : */
17 :
18 : #ifndef EQ_CONFIGEVENT_H
19 : #define EQ_CONFIGEVENT_H
20 :
21 : #include <eq/fabric/event.h> // member
22 : #include <eq/api.h>
23 : #include <eq/types.h>
24 :
25 : namespace eq
26 : {
27 : /**
28 : * @deprecated
29 : * A config event.
30 : *
31 : * Config events are generated by the event processing functions on the render
32 : * nodes and send to the config thread in the application process using
33 : * Config::sendEvent(). The config processes events at the end of the frame,
34 : * either non-blocking or blocking (event-driven). Config events are typically
35 : * application-specific. The events defined below are for the default
36 : * implementation, which sends the window system events mostly unprocessed to
37 : * the application.
38 : *
39 : * The eqPixelBench example provides a sample implementation on how to
40 : * create application-specific events.
41 : *
42 : * When subclassing, make sure to set the packet size to the total size of
43 : * the event structure.
44 : */
45 0 : struct ConfigEvent
46 : {
47 : public:
48 0 : ConfigEvent() : size( sizeof( ConfigEvent )) {}
49 0 : explicit ConfigEvent( const Event& d )
50 0 : : data( d ), size( sizeof( ConfigEvent )) {}
51 :
52 : Event data; //!< the Event @version 1.0
53 : uint64_t size;
54 : };
55 :
56 : /** Print the config event to the given output stream. @version 1.0 */
57 : EQ_API std::ostream& operator << ( std::ostream& os,
58 : const ConfigEvent* event );
59 : }
60 :
61 : #endif // EQ_CONFIGEVENT_H
|