Line data Source code
1 :
2 : /* Copyright (c) 2006-2013, 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/client/event.h> // member
22 :
23 : namespace eq
24 : {
25 : /**
26 : * @deprecated
27 : * A config event.
28 : *
29 : * Config events are generated by the event processing functions on the
30 : * render nodes and send to the config thread in the application process
31 : * using Config::sendEvent(). The config processes events at the end of the
32 : * frame, either non-blocking or blocking (event-driven). Config events are
33 : * typically application-specific. The events defined below are for the
34 : * default implementation, which sends the window system events mostly
35 : * unprocessed to the application.
36 : *
37 : * The eqPixelBench example provides a sample implementation on how to
38 : * create application-specific events.
39 : *
40 : * When subclassing, make sure to set the packet size to the total size of
41 : * the event structure.
42 : */
43 120 : struct ConfigEvent
44 : {
45 : public:
46 118 : ConfigEvent() : size( sizeof( ConfigEvent )) {}
47 2 : ConfigEvent( const Event& d )
48 2 : : data( d ), size( sizeof( ConfigEvent )) {}
49 :
50 : Event data; //!< the Event @version 1.0
51 : uint64_t size;
52 : };
53 :
54 : /** Print the config event to the given output stream. @version 1.0 */
55 : EQ_API std::ostream& operator << ( std::ostream& os,
56 : const ConfigEvent* event );
57 : }
58 :
59 : #endif // EQ_CONFIGEVENT_H
|