void Canvas::Draw() { if (_StyleModules.empty()) return; preDraw(); TimeStamp *timestamp = TimeStamp::instance(); for (unsigned int i = 0; i < _StyleModules.size(); ++i) { _current_sm = _StyleModules[i]; if (i < _Layers.size() && _Layers[i]) delete _Layers[i]; _Layers[i] = _StyleModules[i]->execute(); if (!_Layers[i]) continue; stroke_count += _Layers[i]->strokes_size(); timestamp->increment(); } postDraw(); }