#ifndef DESIGNER_H_CCE34BEB #define DESIGNER_H_CCE34BEB #include #include #include #include class designer { public: designer(std::string fontsPath); Magick::Image generate( size_t width, size_t height, const std::string& text, std::mt19937& rng) const; private: const size_t MIN_FONT_SIZE = 48; const size_t MAX_FONT_SIZE = 96; const size_t V_PADDING = 5; const size_t H_PADDING = 5; size_t maxWordsInLine( std::vector::const_iterator first, std::vector::const_iterator last, Magick::Image& textimage) const; size_t minHeightRequired( std::vector::const_iterator first, std::vector::const_iterator last, Magick::Image& textimage) const; std::vector fonts; }; #endif /* end of include guard: DESIGNER_H_CCE34BEB */