6a2a2adb655fec2807983b42ac67dbacb7b2f1b5
Stefan Schuermans first version of canvas mod...

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 CANVASINPUT_H
7) #define CANVASINPUT_H
8) 
9) #include <string>
10) 
11) #include <BlinkenLib/BlinkenFrame.h>
12) 
13) #include "Canvas.h"
14) #include "Directory.h"
15) #include "File.h"
16) #include "Position.h"
17) #include "SettingFile.h"
18) #include "Size.h"
19) #include "StreamMgr.h"
20) #include "StreamRecv.h"
21) 
22) namespace Blinker {
23) 
24) /// input to canvas
25) class Canvas::Input: public StreamRecv
26) {
27) public:
28)   /**
29)    * @brief constructor
30)    * @param[in] canvas owning canvas
31)    * @param[in] dirBase base directory
32)    */
33)   Input(Canvas &canvas, const Directory &dirBase);
34) 
35)   /// virtual destructor
36)   virtual ~Input();
37) 
38) private:
39)   /// copy constructor disabled
40)   Input(const Input &that);
41) 
42)   /// assignment operator disabled
43)   const Input & operator=(const Input &that);
44) 
45) public:
46)   /// check for update of configuration
47)   void updateConfig();
48) 
49)   /**
50)    * @brief set current frame
51)    * @param[in] stream stream name
52)    * @param[in] pFrame current frame
53)    */
54)   virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame);
55) 
56)   /**
57)    * @brief set current frame to none
58)    * @param[in] stream stream name
59)    */
60)   virtual void setNoFrame(const std::string &stream);
61) 
62)   /**
63)    * @brief draw current frame to canvas
64)    * @return if a frame was available and it was drawn
65)    */
66)   bool draw();
67) 
68) protected:
69)   /// get input stream and attach to it
70)   void getInStream();
71) 
72)   /// detach from input stream and release it
73)   void releaseInStream();
74) 
Stefan Schuermans changed canvas to be able t...

Stefan Schuermans authored 12 years ago

75)   /// (re-)get position of area to copy from stream
76)   void getSrcPos();
Stefan Schuermans first version of canvas mod...

Stefan Schuermans authored 12 years ago

77) 
Stefan Schuermans changed canvas to be able t...

Stefan Schuermans authored 12 years ago

78)   /// (re-)get size of area to copy from stream
Stefan Schuermans first version of canvas mod...

Stefan Schuermans authored 12 years ago

79)   void getSize();
80) 
Stefan Schuermans changed canvas to be able t...

Stefan Schuermans authored 12 years ago

81)   /// (re-)get destination position on canvas
82)   void getDestPos();
Stefan Schuermans first version of canvas mod...

Stefan Schuermans authored 12 years ago

83) 
84) protected:
85)   Canvas         &m_canvas;      ///< owning canvas
86)   SettingFile    m_fileInStream; ///< input stream name file
Stefan Schuermans changed canvas to be able t...

Stefan Schuermans authored 12 years ago

87)   SettingFile    m_fileSrcPos;   ///< source position file
Stefan Schuermans first version of canvas mod...

Stefan Schuermans authored 12 years ago

88)   SettingFile    m_fileSize;     ///< size file
Stefan Schuermans changed canvas to be able t...

Stefan Schuermans authored 12 years ago

89)   SettingFile    m_fileDestPos;  ///< destination position file
Stefan Schuermans first version of canvas mod...

Stefan Schuermans authored 12 years ago

90)   std::string    m_nameInStream; ///< name of input stream
91)   Stream         *m_pInStream;   ///< input stream
Stefan Schuermans changed canvas to be able t...

Stefan Schuermans authored 12 years ago

92)   bool           m_haveSrcPos;   ///< if copy-area src position is defined
93)   Position       m_srcPos;       ///< copy-area position in source
94)   bool           m_haveSize;     ///< if copy-area size is defined
95)   Size           m_size;         ///< copy-area size
96)   bool           m_haveDestPos;  ///< if copy-area dest position is defined
97)   Position       m_destPos;      ///< copy-area position on canvas (i.e. dest)