diff --git a/yg/pen_info.cpp b/yg/pen_info.cpp index 40a2c1a876..a201a146e9 100644 --- a/yg/pen_info.cpp +++ b/yg/pen_info.cpp @@ -18,12 +18,35 @@ namespace yg m_isSolid = true; else { +/* buffer_vector vec; + copy(pattern, pattern + patternSize, back_inserter(vec)); + double length = 0; + for (size_t i = 0; i < vec.size(); ++i) + { + if ((vec[i] < 2) && (vec[i] > 0)) + vec[i] = 2; + length += vec[i]; + } + + int periods = min(20, max(int(100 / length), 1)); + m_pat.reserve(periods * vec.size()); + for (int i = 0; i < periods; ++i) + copy(vec.begin(), vec.end(), back_inserter(m_pat)); + */ copy(pattern, pattern + patternSize, back_inserter(m_pat)); + double length = 0; for (size_t i = 0; i < m_pat.size(); ++i) { if ((m_pat[i] < 2) && (m_pat[i] > 0)) m_pat[i] = 2; +// length += m_pat[i]; } + +/* int periods = min(20, max(int(100 / length), 1)); + m_pat.reserve(periods * vec.size()); + for (int i = 0; i < periods; ++i) + copy(vec.begin(), vec.end(), back_inserter(m_pat)); +*/ } } diff --git a/yg/pen_info.hpp b/yg/pen_info.hpp index 0bd73ce1dc..daae16c034 100644 --- a/yg/pen_info.hpp +++ b/yg/pen_info.hpp @@ -3,12 +3,14 @@ #include "color.hpp" #include "../std/vector.hpp" +#include "../base/buffer_vector.hpp" namespace yg { /// definition of the line style pattern used as a texture-cache-key struct PenInfo { + //typedef buffer_vector TPattern; typedef vector TPattern; Color m_color; double m_w;