| 436 | } |
| 437 | |
| 438 | static nonstd::observer_ptr<wf::grid::grid_animation_t> ensure_animation( |
| 439 | wayfire_toplevel_view view, wf::option_sptr_t<wf::animation_description_t> duration) |
| 440 | { |
| 441 | if (!view->has_data<wf::grid::grid_animation_t>()) |
| 442 | { |
| 443 | const auto type = wf::grid::grid_animation_t::CROSSFADE; |
| 444 | view->store_data<wf::grid::grid_animation_t>( |
| 445 | std::make_unique<tile_view_animation_t>(view, type, duration)); |
| 446 | } |
| 447 | |
| 448 | return view->get_data<wf::grid::grid_animation_t>(); |
| 449 | } |
| 450 | |
| 451 | void view_node_t::set_geometry(wf::geometry_t geometry, wf::txn::transaction_uptr& tx) |
| 452 | { |