1 #ifndef DALI_INTEGRATION_EGL_INTERFACE_H
2 #define DALI_INTEGRATION_EGL_INTERFACE_H
5 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/internal/graphics/common/egl-include.h>
33 * EglInterface provides an interface for managing EGL contexts
39 * Create the OpenGL context.
40 * @return true if successful
42 virtual bool CreateContext() = 0;
45 * Make the OpenGL context current
47 virtual void MakeContextCurrent(EGLSurface eglSurface, EGLContext eglContext) = 0;
52 virtual void TerminateGles() = 0;
55 * Performs an OpenGL swap buffers command
57 virtual void SwapBuffers(EGLSurface& eglSurface) = 0;
60 * Performs an OpenGL copy buffers command
62 virtual void CopyBuffers(EGLSurface& eglSurface) = 0;
65 * Performs an EGL wait GL command
67 virtual void WaitGL() = 0;
71 * Virtual protected destructor, no deletion through this interface
73 virtual ~EglInterface()
80 #endif // DALI_INTEGRATION_EGL_INTERFACE_H