| Flutter Impeller |

sampler_library.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_SAMPLER_LIBRARY_H_
6 #define FLUTTER_IMPELLER_RENDERER_SAMPLER_LIBRARY_H_
7
8 #include "impeller/core/raw_ptr.h"
9 #include "impeller/core/sampler.h"
10 #include "impeller/core/sampler_descriptor.h"
11
12 namespace impeller {
13
14 class SamplerLibrary {
15 public:
16 virtual ~SamplerLibrary();
17
18 /// @brief Retrieve a backend specific sampler object for the given sampler
19 /// descriptor.
20 ///
21 /// If the descriptor is invalid or there is a loss of rendering
22 /// context, this method may return a nullptr.
23 ///
24 /// The sampler library implementations must cache this sampler object
25 /// and guarantee that the reference will continue to be valid
26 /// throughout the lifetime of the Impeller context.
27 virtual raw_ptr<const Sampler> GetSampler(
28 const SamplerDescriptor& descriptor) = 0;
29
30 protected:
31 SamplerLibrary();
32
33 private:
34 SamplerLibrary(const SamplerLibrary&) = delete;
35
36 SamplerLibrary& operator=(const SamplerLibrary&) = delete;
37 };
38
39 } // namespace impeller
40
41 #endif // FLUTTER_IMPELLER_RENDERER_SAMPLER_LIBRARY_H_
impeller::SamplerLibrary
Definition: sampler_library.h:14
impeller::SamplerLibrary::SamplerLibrary
SamplerLibrary()
impeller::SamplerLibrary::~SamplerLibrary
virtual ~SamplerLibrary()
impeller::SamplerLibrary::GetSampler
virtual raw_ptr< const Sampler > GetSampler(const SamplerDescriptor &descriptor)=0
Retrieve a backend specific sampler object for the given sampler descriptor.
impeller::raw_ptr
A wrapper around a raw ptr that adds additional unopt mode only checks.
Definition: raw_ptr.h:15
impeller
Definition: allocation.cc:12
raw_ptr.h
sampler.h
sampler_descriptor.h
impeller::SamplerDescriptor
Definition: sampler_descriptor.h:14