| Line | Branch | Decision | Call | Exec | Source |
|---|---|---|---|---|---|
| 1 | #ifndef CHRYSALIS_BASEOBSERVABLERENDERERDATA_H | ||||
| 2 | #define CHRYSALIS_BASEOBSERVABLERENDERERDATA_H | ||||
| 3 | |||||
| 4 | #include "BaseRendererData.h" | ||||
| 5 | #include "BaseRendererObserver.h" | ||||
| 6 | |||||
| 7 | namespace Chrysalis { | ||||
| 8 | template<typename T> | ||||
| 9 | class BaseObservableRendererData: public BaseRendererData<T> { | ||||
| 10 | protected: | ||||
| 11 | ✗ | explicit BaseObservableRendererData(const std::vector<BaseRendererObserver*>& observers): observers_(observers) {} | |||
| 12 | public: | ||||
| 13 | ✗ | void updateVBO() override { | |||
| 14 | ✗ | BaseRendererData<T>::updateVBO(); | |||
| 15 | ✗ | for (const auto observer: observers_) { | |||
| 16 | ✗ | observer->vboChanged(); | |||
| 17 | } | ||||
| 18 | ✗ | } | |||
| 19 | private: | ||||
| 20 | const std::vector<BaseRendererObserver*>& observers_; | ||||
| 21 | }; | ||||
| 22 | } | ||||
| 23 | |||||
| 24 | #endif // CHRYSALIS_BASEOBSERVABLERENDERERDATA_H | ||||
| 25 |