Flutter Engine
 
Loading...
Searching...
No Matches
inline_pass_context.h
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
5#ifndef FLUTTER_IMPELLER_ENTITY_INLINE_PASS_CONTEXT_H_
6#define FLUTTER_IMPELLER_ENTITY_INLINE_PASS_CONTEXT_H_
7
8#include <cstdint>
9
14
15namespace impeller {
16
18 public:
19 InlinePassContext(const ContentContext& renderer,
20 EntityPassTarget& pass_target);
21
23
24 bool IsValid() const;
25
26 bool IsActive() const;
27
28 std::shared_ptr<Texture> GetTexture();
29
30 bool EndPass(bool is_onscreen = false);
31
33
34 uint32_t GetPassCount() const;
35
36 const std::shared_ptr<RenderPass>& GetRenderPass();
37
38 private:
39 const ContentContext& renderer_;
40 EntityPassTarget& pass_target_;
41 std::shared_ptr<CommandBuffer> command_buffer_;
42 std::shared_ptr<RenderPass> pass_;
43 uint32_t pass_count_ = 0;
44
45 InlinePassContext(const InlinePassContext&) = delete;
46
47 InlinePassContext& operator=(const InlinePassContext&) = delete;
48};
49
50} // namespace impeller
51
52#endif // FLUTTER_IMPELLER_ENTITY_INLINE_PASS_CONTEXT_H_
bool EndPass(bool is_onscreen=false)
EntityPassTarget & GetPassTarget() const
std::shared_ptr< Texture > GetTexture()
const std::shared_ptr< RenderPass > & GetRenderPass()