1 #ifndef __DALI_INTERNAL_ADAPTOR_EGL_FACTORY_IMPL_H__
2 #define __DALI_INTERNAL_ADAPTOR_EGL_FACTORY_IMPL_H__
5 * Copyright (c) 2014 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.
24 #include <base/interfaces/egl-factory-interface.h>
32 class EglImplementation;
33 class EglImageExtensions;
34 class EglSyncImplementation;
36 class EglFactory : public EglFactoryInterface
42 EglFactory( unsigned int multiSamplingLevel );
47 virtual ~EglFactory();
50 * Create an EGL Implementation
51 * @return[in] An implementation
53 EglInterface* Create();
56 * Destroy the EGL Implementation
61 * Get an implementation if one has been created.
62 * @return An implementation, or NULL if one has not yet been created.
64 EglInterface* GetImplementation();
67 * Get the image extension
69 EglImageExtensions* GetImageExtensions();
72 * Get the fence sync implementation
73 * @return An implementation of fence sync
75 EglSyncImplementation* GetSyncImplementation();
79 EglFactory(const EglFactory& rhs);
80 EglFactory& operator=(const EglFactory& rhs);
83 EglImplementation* mEglImplementation;
84 EglImageExtensions* mEglImageExtensions;
85 EglSyncImplementation* mEglSync;
87 unsigned int mMultiSamplingLevel;
94 #endif //__DALI_INTERNAL_ADAPTOR_EGL_FACTORY_IMPL_H__