• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 #ifndef EGL_PBUFFER_SURFACE_H
17 #define EGL_PBUFFER_SURFACE_H
18 
19 #include "EglSurface.h"
20 
21 class EglDisplay;
22 
23 class EglPbufferSurface:public EglSurface {
24 public:
EglPbufferSurface(EglDisplay * dpy,EglConfig * config)25     EglPbufferSurface(EglDisplay *dpy, EglConfig* config):
26                                          EglSurface(dpy,PBUFFER,config,0,0),
27                                          m_texFormat(EGL_NO_TEXTURE),
28                                          m_texTarget(EGL_NO_TEXTURE),
29                                          m_texMipmap(EGL_FALSE),
30                                          m_largest(EGL_FALSE){};
31 
setNativePbuffer(EglOS::Surface * srfc)32     void  setNativePbuffer(EglOS::Surface* srfc) { m_native = srfc; }
33     bool  setAttrib(EGLint attrib,EGLint val);
34     bool  getAttrib(EGLint attrib,EGLint* val);
getDim(EGLint * width,EGLint * height,EGLint * largest)35     void  getDim(EGLint* width,EGLint* height,EGLint* largest){
36                                                               *width = m_width;
37                                                               *height = m_height;
38                                                               *largest = m_largest;
39                                                              };
40 
getTexInfo(EGLint * format,EGLint * target)41     void getTexInfo(EGLint* format,EGLint* target){ *format = m_texFormat; *target = m_texTarget;}
42 
43 private:
44     EGLint               m_texFormat;
45     EGLint               m_texTarget;
46     EGLint               m_texMipmap;
47     EGLint               m_largest;
48 };
49 #endif
50