/ src / MTKViewDelegate.cc
MTKViewDelegate.cc
 1  #include "MTKViewDelegate.hh"
 2  
 3  MTKViewDelegate::MTKViewDelegate(std::unique_ptr<Renderer> r)
 4      : renderer(std::move(r))
 5  {
 6  }
 7  
 8  std::expected<std::unique_ptr<MTKViewDelegate>, RendererError>
 9  MTKViewDelegate::init(MTL::Device* device)
10  {
11      return Renderer::init(device)
12          .transform([](std::unique_ptr<Renderer> r) {
13              return std::unique_ptr<MTKViewDelegate>(
14                  new MTKViewDelegate(std::move(r)));
15          });
16  }
17  
18  void MTKViewDelegate::drawInMTKView(MTK::View* view)
19  {
20      renderer->draw(view);
21  }