void shapeAdded(MgShape* sp) { if (newids.empty()) { newids.push_back(sp->getID()); // 记下新图形的ID regenAppend(); // 通知视图获取快照并增量重绘 } else if (newids.back() != 0) { // 已经regenAppend,但视图还未重绘 newids.insert(newids.begin(), sp->getID()); // 记下更多的ID } else { // 已经regenAppend并增量重绘 regenAll(); } getCmdSubject()->onShapeAdded(&motion, sp); }
void MfcViewAdapter::regenAppend(int, long) { regenAll(true); }