void Dasher::Line(const Pointf& p) { if(sum == 0) { PutLine(p); return; } Pointf v = p - p0; double len = Length(v); double pos = 0; while(pos + rem < len) { pos += rem; Put(pos / len * v + p0); flag = !flag; rem = (*pattern)[patterni]; patterni = (patterni + 1) % pattern->GetCount(); } rem -= len - pos; Put(p); p0 = p; }
Report message to a moderator