Flutter Impeller
surface.cc
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
6 
7 #include "flutter/fml/logging.h"
8 
9 namespace impeller {
10 
12 
13 Surface::Surface(const RenderTarget& target_desc) : desc_(target_desc) {
14  if (auto size = desc_.GetColorAttachmentSize(0u); size.has_value()) {
15  size_ = size.value();
16  } else {
17  return;
18  }
19 
20  is_valid_ = true;
21 }
22 
23 Surface::~Surface() = default;
24 
25 const ISize& Surface::GetSize() const {
26  return size_;
27 }
28 
29 bool Surface::IsValid() const {
30  return is_valid_;
31 }
32 
34  return desc_;
35 }
36 
37 bool Surface::Present() const {
38  return false;
39 };
40 
41 } // namespace impeller
std::optional< ISize > GetColorAttachmentSize(size_t index) const
const ISize & GetSize() const
Definition: surface.cc:25
const RenderTarget & GetRenderTarget() const
Definition: surface.cc:33
bool IsValid() const
Definition: surface.cc:29
virtual bool Present() const
Definition: surface.cc:37
virtual ~Surface()
std::optional< PipelineDescriptor > desc_