/* Blinker
Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org>
Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
a blinkenarea.org project */
#include <string>
#include <BlinkenLib/BlinkenFrame.h>
#include "Canvas.h"
#include "CanvasInput.h"
#include "Directory.h"
#include "File.h"
#include "Position.h"
#include "SettingFile.h"
#include "Size.h"
#include "StreamMgr.h"
#include "StreamRecv.h"
namespace Blinker {
/**
* @brief constructor
* @param[in] canvas owning canvas
* @param[in] dirBase base directory
*/
Canvas::Input::Input(Canvas &canvas, const Directory &dirBase):
m_canvas(canvas),
m_fileInStream(dirBase.getFile("instream")),
m_fileSrcPos(dirBase.getFile("srcpos")),
m_fileSize(dirBase.getFile("size")),
m_fileDestPos(dirBase.getFile("destpos")),
m_pInStream(NULL),
m_haveSrcPos(false),
m_haveSize(false),
m_haveDestPos(false)
{
// get settings and attach to input stream
getSrcPos();
getSize();
getDestPos();
getInStream();
}
/// virtual destructor
Canvas::Input::~Input()
{
// detach from input stream and release it
releaseInStream();
}