Home | History | Annotate | Download | only in EGL
      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:
     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 
     32     void  setNativePbuffer(EGLNativeSurfaceType srfc){ m_native = srfc;};
     33     bool  setAttrib(EGLint attrib,EGLint val);
     34     bool  getAttrib(EGLint attrib,EGLint* val);
     35     void  getDim(EGLint* width,EGLint* height,EGLint* largest){
     36                                                               *width = m_width;
     37                                                               *height = m_height;
     38                                                               *largest = m_largest;
     39                                                              };
     40 
     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