1 //
2 // Copyright 2019 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 // OverlayImpl.h: Defines the abstract rx::OverlayImpl class.
8 
9 #ifndef LIBANGLE_RENDERER_OVERLAYIMPL_H_
10 #define LIBANGLE_RENDERER_OVERLAYIMPL_H_
11 
12 #include "common/PackedEnums.h"
13 #include "common/angleutils.h"
14 #include "common/mathutil.h"
15 #include "libANGLE/Error.h"
16 #include "libANGLE/Observer.h"
17 
18 #include <stdint.h>
19 
20 namespace gl
21 {
22 class Context;
23 class OverlayState;
24 }  // namespace gl
25 
26 namespace rx
27 {
28 class OverlayImpl : angle::NonCopyable
29 {
30   public:
OverlayImpl(const gl::OverlayState & state)31     OverlayImpl(const gl::OverlayState &state) : mState(state) {}
~OverlayImpl()32     virtual ~OverlayImpl() {}
33 
onDestroy(const gl::Context * context)34     virtual void onDestroy(const gl::Context *context) {}
35 
36     virtual angle::Result init(const gl::Context *context, bool *successOut);
37 
38   protected:
39     const gl::OverlayState &mState;
40 };
41 
init(const gl::Context * context,bool * successOut)42 inline angle::Result OverlayImpl::init(const gl::Context *context, bool *successOut)
43 {
44     return angle::Result::Continue;
45 }
46 
47 }  // namespace rx
48 
49 #endif  // LIBANGLE_RENDERER_OVERLAYIMPL_H_
50