Flutter Impeller
shader_function_gles.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_RENDERER_BACKEND_GLES_SHADER_FUNCTION_GLES_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_SHADER_FUNCTION_GLES_H_
7 
8 #include <string>
9 
10 #include "flutter/fml/mapping.h"
13 
14 namespace impeller {
15 
16 class ShaderLibraryGLES;
17 
18 class ShaderFunctionGLES final
19  : public ShaderFunction,
20  public BackendCast<ShaderFunctionGLES, ShaderFunction> {
21  public:
22  // |ShaderFunction|
23  ~ShaderFunctionGLES() override;
24 
25  const std::shared_ptr<const fml::Mapping>& GetSourceMapping() const;
26 
27  private:
28  friend ShaderLibraryGLES;
29 
30  std::shared_ptr<const fml::Mapping> mapping_;
31 
32  ShaderFunctionGLES(UniqueID library_id,
33  ShaderStage stage,
34  std::string name,
35  std::shared_ptr<const fml::Mapping> mapping);
36 
37  ShaderFunctionGLES(const ShaderFunctionGLES&) = delete;
38 
39  ShaderFunctionGLES& operator=(const ShaderFunctionGLES&) = delete;
40 };
41 
42 } // namespace impeller
43 
44 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_SHADER_FUNCTION_GLES_H_
const std::shared_ptr< const fml::Mapping > & GetSourceMapping() const