| 36 | : backend_(backend), draw_frame_(std::move(draw_frame)) {} |
| 37 | |
| 38 | bool FrameLoop::tick() { |
| 39 | backend_.poll_events(); |
| 40 | if (backend_.should_close()) { |
| 41 | return false; |
| 42 | } |
| 43 | backend_.begin_frame(); |
| 44 | if (draw_frame_) { |
| 45 | draw_frame_(); |
| 46 | } |
| 47 | backend_.end_frame(); |
| 48 | ++frame_count_; |
| 49 | return true; |
| 50 | } |
| 51 | |
| 52 | void FrameLoop::run() { |
| 53 | oid::platform::run_main_loop(*this); |