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