BlinkenArea - GitList
Repositories
Blog
Wiki
libetherpix
Code
Commits
Branches
Tags
Search
Tree:
b636ea1
Branches
Tags
master
libetherpix
config_gen
src
distri.h
keep aspect ratio of simulator image
Stefan Schuermans
commited
b636ea1
at 2017-06-07 21:38:03
distri.h
Blame
History
Raw
/* * EtherPix config file generator * * Copyright 2010-2017 Stefan Schuermans <stefan schuermans info> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License. * * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef INC_DISTRI_H #define INC_DISTRI_H #include <iostream> #include <vector> #include "chain.h" #include "point.h" class Distri { public: Distri(unsigned int no, unsigned int chainCnt, unsigned int pixelCnt); unsigned int getNo() const; void addChain(Chain const &chain); Chain & accessLastChain(); /** * @brief compute coordinates of pixels and check them * @param[in] pix0 position of logical pixel origin * (top left corner of 0,0 of video frame) * @param[in] pixSz size of one logcal pixel (in video frame) * @param[in] width of video frame in pixels * @param[in] height of video frame in pixels */ int pixCoord(const Point &pix0, const Point &pixSz, unsigned int width, unsigned int height); void writeDistri(std::ostream & strm) const; void writeMapping(std::ostream & strm) const; void writePixels(std::ostream & strm) const; void writeSimPixels(std::ostream & strm, const Box & boundsVideoQuad) const; size_t countPixels() const; private: unsigned int mNo, mChainCnt, mPixelCnt; std::vector<Chain> mChains; }; #endif // #ifndef INC_DISTRI_H