Line data Source code
1 :
2 : /* Copyright (c) 2015-2017, Daniel Nachbaur <danielnachbaur@gmail.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_RESULTIMAGELISTENER_H
19 : #define EQ_RESULTIMAGELISTENER_H
20 :
21 : #include <eq/types.h>
22 :
23 : namespace eq
24 : {
25 : /**
26 : * The result image listener gets notified on new images produced by
27 : * destination channels.
28 : *
29 : * @sa Channel::addResultImageListener
30 : * @version 1.9
31 : */
32 : class ResultImageListener
33 : {
34 : public:
35 : /** Construct a new result image listener. @version 1.9 */
36 3 : ResultImageListener() {}
37 : /** Destruct the result image listener. @version 1.9 */
38 3 : virtual ~ResultImageListener() {}
39 : /**
40 : * Notify on new image, called from rendering thread in
41 : * Channel::frameViewFinish().
42 : *
43 : * @param channel the destination channel
44 : * @param image the new image, valid only in the current frame
45 : * @version 1.9
46 : */
47 : virtual void notifyNewImage(Channel& channel, const Image& image) = 0;
48 :
49 : /** Notify on completion of a frame. */
50 0 : virtual void notifyFinishFrame() { /*nop*/}
51 :
52 : private:
53 : ResultImageListener(const ResultImageListener&) = delete;
54 : ResultImageListener& operator=(const ResultImageListener&) = delete;
55 : };
56 : }
57 :
58 : #endif // EQ_RESULTIMAGELISTENER_H
|