implemented scaler module
Stefan Schuermans authored 12 years ago
|
1) /* Blinker
2) Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org>
3) Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4) a blinkenarea.org project */
5)
6) #ifndef SCALER_H
7) #define SCALER_H
8)
9) #include <string>
10)
11) #include <BlinkenLib/BlinkenFrame.h>
12)
13) #include "CallMgr.h"
14) #include "Directory.h"
15) #include "File.h"
16) #include "Module.h"
17) #include "SettingFile.h"
18) #include "Size.h"
19) #include "StreamMgr.h"
20) #include "StreamRecv.h"
21)
22) namespace Blinker {
23)
24) /// a stream scaler
25) class Scaler: public Module, public StreamRecv
26) {
27) public:
28) /**
29) * @brief constructor
30) * @param[in] callMgr callback manager
31) * @param[in] streamMgr stream manager
32) * @param[in] dirBase base directory
33) */
34) Scaler(CallMgr &callMgr, StreamMgr &streamMgr, const Directory &dirBase);
35)
36) /// virtual destructor
37) virtual ~Scaler();
38)
39) private:
40) /// copy constructor disabled
41) Scaler(const Scaler &that);
42)
43) /// assignment operator disabled
44) const Scaler & operator=(const Scaler &that);
45)
46) public:
47) /// check for update of configuration
48) virtual void updateConfig();
49)
50) /**
51) * @brief set current frame
52) * @param[in] stream stream name
|
implemented scaler module
Stefan Schuermans authored 12 years ago
|
54) */
55) virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame);
56)
57) protected:
58) /// get input stream and attach to it
59) void getInStream();
60)
61) /// detach from input stream and release it
62) void releaseInStream();
63)
64) /// (re-)get size to scale to
65) void getSize();
66)
67) /// get output stream
68) void getOutStream();
69)
70) /// release output stream
71) void releaseOutStream();
72)
73) /// send current frame to output stream
74) void sendFrame();
75)
76) /**
77) * @brief process frame
|