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)42inline 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