#define DALI_INTERNAL_BASE_GRAPHICS_IMPLEMENTATION_H
/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
*/
-// EXTERNAL INCLUDES
-
// INTERNAL INCLUDES
+#include <dali/integration-api/adaptor-framework/egl-interface.h>
+#include <dali/internal/graphics/common/egl-image-extensions.h>
#include <dali/internal/graphics/common/graphics-interface.h>
-#include <dali/internal/graphics/gles/gl-proxy-implementation.h>
#include <dali/internal/graphics/gles/gl-implementation.h>
-#include <dali/integration-api/egl-interface.h>
-
+#include <dali/internal/graphics/gles/gl-proxy-implementation.h>
+#include <dali/internal/graphics/gles/egl-context-helper-implementation.h>
#include <dali/internal/graphics/gles/egl-implementation.h>
-#include <dali/internal/graphics/common/egl-image-extensions.h>
#include <dali/internal/graphics/gles/egl-sync-implementation.h>
-
namespace Dali
{
void SetGlesVersion( const int32_t glesVersion );
/**
+ * Set whether the surfaceless context is supported
+ * @param[in] isSupported Whether the surfaceless context is supported
+ */
+ void SetIsSurfacelessContextSupported( const bool isSupported );
+
+ /**
* Gets the GL abstraction
* @return The GL abstraction
*/
EglSyncImplementation& GetSyncImplementation();
/**
+ * Gets the implementation of GlContextHelperAbstraction for EGL.
+ * @return The implementation of GlContextHelperAbstraction for EGL.
+ */
+ EglContextHelperImplementation& GetContextHelperImplementation();
+
+ /**
* @copydoc Dali::Internal::Adaptor::GraphicsInterface::GetDepthBufferRequired()
*/
Integration::DepthBufferAvailable& GetDepthBufferRequired();
std::unique_ptr< EglImplementation > mEglImplementation; ///< EGL implementation
std::unique_ptr< EglImageExtensions > mEglImageExtensions; ///< EGL image extension
std::unique_ptr< EglSyncImplementation > mEglSync; ///< GlSyncAbstraction implementation for EGL
+ std::unique_ptr< EglContextHelperImplementation > mEglContextHelper; ///< GlContextHelperAbstraction implementation for EGL
int mMultiSamplingLevel; ///< The multiple sampling level
};
} // namespace Dali
-#endif // __DALI_INTERNAL_BASE_GRAPHICS_IMPLEMENTATION_H__
+#endif // DALI_INTERNAL_BASE_GRAPHICS_IMPLEMENTATION_H