c79592abb84c81618cb8c99941d8d8b6c400b559
[profile/ivi/layer-management.git] / LayerManagerPlugins / Renderers / Graphic / include / PlatformSurfaces / BeaglePlatformSurface.h
1 /***************************************************************************
2 *
3 * Copyright 2010 BMW Car IT GmbH
4 *
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *               http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 ****************************************************************************/
19
20 #ifndef _BEAGLEPLATFORMSURFACE_H_
21 #define _BEAGLEPLATFORMSURFACE_H_
22
23 #include "Surface.h"
24 #include "GLES2/gl2.h"
25 #include "EGL/egl.h"
26 #include "EGL/eglext.h"
27 #include "PlatformSurface.h"
28
29 typedef struct _NATIVE_PIXMAP_STRUCT
30 {
31     long ePixelFormat;
32     long eRotation;
33     long lWidth;
34     long lHeight;
35     long lStride;
36     long lSizeInBytes;
37     long pvAddress;
38     long lAddress;
39 }NATIVE_PIXMAP_STRUCT;
40
41 class BeaglePlatformSurface : public PlatformSurface {
42 public:
43         BeaglePlatformSurface (Surface* surface) : PlatformSurface(surface), eglImage(0){};
44         ~BeaglePlatformSurface(){};
45
46         EGLImageKHR eglImage;
47         NATIVE_PIXMAP_STRUCT* pixmap;
48         GLuint texture;
49 };
50
51 #endif /* _BEAGLEPLATFORMSURFACE_H_ */