| 580 | } |
| 581 | |
| 582 | void ms::SurfaceStack::remove_observer(std::weak_ptr<ms::Observer> const& observer) |
| 583 | { |
| 584 | auto o = observer.lock(); |
| 585 | if (!o) |
| 586 | BOOST_THROW_EXCEPTION(std::logic_error("Invalid observer (destroyed)")); |
| 587 | |
| 588 | o->end_observation(); |
| 589 | |
| 590 | observers.remove(o); |
| 591 | } |
| 592 | |
| 593 | auto ms::SurfaceStack::stacking_order_of(SurfaceSet const& surfaces) const -> SurfaceList |
| 594 | { |
no test coverage detected