| |
| |
| #include "ext/CompositeStatus.h" |
| |
| #include "tgeometry.h" |
| #include "tvectorimage.h" |
| |
| #include "ext/Types.h" |
| #include "ext/StrokeParametricDeformer.h" |
| |
| #include <vector> |
| |
| namespace ToonzExt |
| { |
| |
| |
| |
| |
| |
| |
| CompositeStatus::CompositeStatus() |
| : dbImpl_(new std::map<std::string, CompositeStatus *>), db_(*dbImpl_) |
| { |
| } |
| |
| |
| |
| CompositeStatus::~CompositeStatus() |
| { |
| iterator |
| it = db_.begin(), |
| end = db_.end(); |
| |
| while (it != end) { |
| delete it->second; |
| ++it; |
| } |
| |
| delete dbImpl_; |
| } |
| |
| |
| |
| void CompositeStatus::add(CompositeStatus *status, |
| const std::string &name) |
| { |
| if (!status) |
| return; |
| |
| CompositeStatus |
| *tmp = this->find(name); |
| |
| if (tmp) |
| delete tmp; |
| |
| db_[name] = status; |
| } |
| |
| |
| |
| void CompositeStatus::remove(const std::string &name) |
| { |
| iterator |
| found = db_.find(name), |
| end = db_.end(); |
| |
| if (found != end) { |
| delete found->second; |
| db_.erase(found); |
| } |
| } |
| |
| |
| |
| CompositeStatus * |
| CompositeStatus::find(const std::string &name) const |
| { |
| const_iterator |
| found = db_.find(name), |
| end = db_.end(); |
| |
| if (found != end) |
| return found->second; |
| |
| return 0; |
| } |
| |
| |
| } |
| |