BlinkenArea - GitList
Repositories
Blog
Wiki
Blinker
Code
Commits
Branches
Tags
Search
Tree:
e35952b
Branches
Tags
master
Blinker
src
noarch
Format.cpp
fixed end of string check in string parser added method to string parser to parse on character of a set of characters fixed end of string check in size, position and format
Stefan Schuermans
commited
e35952b
at 2011-12-11 19:43:36
Format.cpp
Blame
History
Raw
/* Blinker Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org> Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html a blinkenarea.org project */ #include <sstream> #include <string> #include "Format.h" #include "StringParser.h" namespace Blinker { /// constructor Format::Format(): m_width(1), m_height(1), m_channels(1), m_maxval(1) { } /** * @brief parse from string format * @param[in] str string format * @return if parsing was successful */ bool Format::fromStr(const std::string &str) { StringParser parser(str); unsigned int width, height, channels, maxval1; if (!parser.uintMin(1, width) || !parser.fixChr('x') || !parser.uintMin(1, height) || !parser.fixChr('-') || !parser.uintMin(1, channels) || !parser.fixChr('/') || !parser.uintMin(2, maxval1) || !parser.isDone()) return false; m_width = width; m_height = height; m_channels = channels; m_maxval = maxval1 - 1; return true; } /** * @brief convert to string format * @return string format */ std::string Format::toStr() const { std::stringstream strm; strm << m_width << "x" << m_height << "-" << m_channels << "/" << (m_maxval + 1); return strm.str(); } } // namespace Blinker