Documentation ¶
Overview ¶
Package egl provides Go bindings for EGL API.
Index ¶
- Constants
- Variables
- func Error() error
- func GetError() int32
- func QueryString(dpy Display, name int32) string
- type Boolean
- func BindAPI(api Enum) Boolean
- func BindTexImage(dpy Display, surface Surface, buffer int32) Boolean
- func ChooseConfig(dpy Display, attribList []int32, configs []Config, configSize int32, ...) Boolean
- func CopyBuffers(dpy Display, surface Surface, target NativePixmapType) Boolean
- func DestroyContext(dpy Display, ctx Context) Boolean
- func DestroySurface(dpy Display, surface Surface) Boolean
- func GetConfigAttrib(dpy Display, config Config, attribute int32, value *int32) Boolean
- func GetConfigs(dpy Display, configs []Config, configSize int32, numConfig *int32) Boolean
- func Initialize(dpy Display, major *int32, minor *int32) Boolean
- func MakeCurrent(dpy Display, draw Surface, read Surface, ctx Context) Boolean
- func QueryContext(dpy Display, ctx Context, attribute int32, value *int32) Boolean
- func QuerySurface(dpy Display, surface Surface, attribute int32, value *int32) Boolean
- func ReleaseTexImage(dpy Display, surface Surface, buffer int32) Boolean
- func ReleaseThread() Boolean
- func SurfaceAttrib(dpy Display, surface Surface, attribute int32, value int32) Boolean
- func SwapBuffers(dpy Display, surface Surface) Boolean
- func SwapInterval(dpy Display, interval int32) Boolean
- func Terminate(dpy Display) Boolean
- func WaitClient() Boolean
- func WaitGL() Boolean
- func WaitNative(engine int32) Boolean
- type ClientBuffer
- type Config
- type Context
- type Display
- type DisplayHandle
- type Enum
- type Int
- type NativeDisplayType
- type NativePixmapType
- type NativeWindowType
- type RawString
- type Surface
- func CreatePbufferFromClientBuffer(dpy Display, buftype Enum, buffer ClientBuffer, config Config, ...) Surface
- func CreatePbufferSurface(dpy Display, config Config, attribList []int32) Surface
- func CreatePixmapSurface(dpy Display, config Config, pixmap NativePixmapType, attribList []int32) Surface
- func CreateWindowSurface(dpy Display, config Config, win NativeWindowType, attribList []int32) Surface
- func GetCurrentSurface(readdraw int32) Surface
Constants ¶
const ( // Version10 as defined in EGL/egl.h:53 Version10 = 1 // Version11 as defined in EGL/egl.h:54 Version11 = 1 // Version12 as defined in EGL/egl.h:55 Version12 = 1 // Version13 as defined in EGL/egl.h:56 Version13 = 1 // Version14 as defined in EGL/egl.h:57 Version14 = 1 // False as defined in EGL/egl.h:64 False = 0 // True as defined in EGL/egl.h:65 True = 1 // DontCare as defined in EGL/egl.h:74 DontCare = ((Int)(-1)) // Success as defined in EGL/egl.h:77 Success = 0x3000 // NotInitialized as defined in EGL/egl.h:78 NotInitialized = 0x3001 // BadAccess as defined in EGL/egl.h:79 BadAccess = 0x3002 // BadAlloc as defined in EGL/egl.h:80 BadAlloc = 0x3003 // BadAttribute as defined in EGL/egl.h:81 BadAttribute = 0x3004 // BadConfig as defined in EGL/egl.h:82 BadConfig = 0x3005 // BadContext as defined in EGL/egl.h:83 BadContext = 0x3006 // BadCurrentSurface as defined in EGL/egl.h:84 BadCurrentSurface = 0x3007 // BadDisplay as defined in EGL/egl.h:85 BadDisplay = 0x3008 // BadMatch as defined in EGL/egl.h:86 BadMatch = 0x3009 // BadNativePixmap as defined in EGL/egl.h:87 BadNativePixmap = 0x300A // BadNativeWindow as defined in EGL/egl.h:88 BadNativeWindow = 0x300B // BadParameter as defined in EGL/egl.h:89 BadParameter = 0x300C // BadSurface as defined in EGL/egl.h:90 BadSurface = 0x300D // ContextLost as defined in EGL/egl.h:91 ContextLost = 0x300E // BufferSize as defined in EGL/egl.h:96 BufferSize = 0x3020 // AlphaSize as defined in EGL/egl.h:97 AlphaSize = 0x3021 // BlueSize as defined in EGL/egl.h:98 BlueSize = 0x3022 // GreenSize as defined in EGL/egl.h:99 GreenSize = 0x3023 // RedSize as defined in EGL/egl.h:100 RedSize = 0x3024 // DepthSize as defined in EGL/egl.h:101 DepthSize = 0x3025 // StencilSize as defined in EGL/egl.h:102 StencilSize = 0x3026 // ConfigCaveat as defined in EGL/egl.h:103 ConfigCaveat = 0x3027 // ConfigId as defined in EGL/egl.h:104 ConfigId = 0x3028 // Level as defined in EGL/egl.h:105 Level = 0x3029 // MaxPbufferHeight as defined in EGL/egl.h:106 MaxPbufferHeight = 0x302A // MaxPbufferPixels as defined in EGL/egl.h:107 MaxPbufferPixels = 0x302B // MaxPbufferWidth as defined in EGL/egl.h:108 MaxPbufferWidth = 0x302C // NativeRenderable as defined in EGL/egl.h:109 NativeRenderable = 0x302D // NativeVisualId as defined in EGL/egl.h:110 NativeVisualId = 0x302E // NativeVisualType as defined in EGL/egl.h:111 NativeVisualType = 0x302F // Samples as defined in EGL/egl.h:112 Samples = 0x3031 // SampleBuffers as defined in EGL/egl.h:113 SampleBuffers = 0x3032 // SurfaceType as defined in EGL/egl.h:114 SurfaceType = 0x3033 // TransparentType as defined in EGL/egl.h:115 TransparentType = 0x3034 // TransparentBlueValue as defined in EGL/egl.h:116 TransparentBlueValue = 0x3035 // TransparentGreenValue as defined in EGL/egl.h:117 TransparentGreenValue = 0x3036 // TransparentRedValue as defined in EGL/egl.h:118 TransparentRedValue = 0x3037 // None as defined in EGL/egl.h:119 None = 0x3038 // BindToTextureRgb as defined in EGL/egl.h:120 BindToTextureRgb = 0x3039 // BindToTextureRgba as defined in EGL/egl.h:121 BindToTextureRgba = 0x303A // MinSwapInterval as defined in EGL/egl.h:122 MinSwapInterval = 0x303B // MaxSwapInterval as defined in EGL/egl.h:123 MaxSwapInterval = 0x303C // LuminanceSize as defined in EGL/egl.h:124 LuminanceSize = 0x303D // AlphaMaskSize as defined in EGL/egl.h:125 AlphaMaskSize = 0x303E // ColorBufferType as defined in EGL/egl.h:126 ColorBufferType = 0x303F // RenderableType as defined in EGL/egl.h:127 RenderableType = 0x3040 // MatchNativePixmap as defined in EGL/egl.h:128 MatchNativePixmap = 0x3041 // Conformant as defined in EGL/egl.h:129 Conformant = 0x3042 // SlowConfig as defined in EGL/egl.h:134 SlowConfig = 0x3050 // NonConformantConfig as defined in EGL/egl.h:135 NonConformantConfig = 0x3051 // TransparentRgb as defined in EGL/egl.h:136 TransparentRgb = 0x3052 // RgbBuffer as defined in EGL/egl.h:137 RgbBuffer = 0x308E // LuminanceBuffer as defined in EGL/egl.h:138 LuminanceBuffer = 0x308F // NoTexture as defined in EGL/egl.h:141 NoTexture = 0x305C // TextureRgb as defined in EGL/egl.h:142 TextureRgb = 0x305D // TextureRgba as defined in EGL/egl.h:143 TextureRgba = 0x305E // Texture2d as defined in EGL/egl.h:144 Texture2d = 0x305F // PbufferBit as defined in EGL/egl.h:147 PbufferBit = 0x0001 // PixmapBit as defined in EGL/egl.h:148 PixmapBit = 0x0002 // WindowBit as defined in EGL/egl.h:149 WindowBit = 0x0004 // VgColorspaceLinearBit as defined in EGL/egl.h:150 VgColorspaceLinearBit = 0x0020 // VgAlphaFormatPreBit as defined in EGL/egl.h:151 VgAlphaFormatPreBit = 0x0040 // MultisampleResolveBoxBit as defined in EGL/egl.h:152 MultisampleResolveBoxBit = 0x0200 // SwapBehaviorPreservedBit as defined in EGL/egl.h:153 SwapBehaviorPreservedBit = 0x0400 // OpenglEsBit as defined in EGL/egl.h:155 OpenglEsBit = 0x0001 // OpenvgBit as defined in EGL/egl.h:156 OpenvgBit = 0x0002 // OpenglEs2Bit as defined in EGL/egl.h:157 OpenglEs2Bit = 0x0004 // OpenglBit as defined in EGL/egl.h:158 OpenglBit = 0x0008 // Vendor as defined in EGL/egl.h:161 Vendor = 0x3053 // Version as defined in EGL/egl.h:162 Version = 0x3054 // Extensions as defined in EGL/egl.h:163 Extensions = 0x3055 // ClientApis as defined in EGL/egl.h:164 ClientApis = 0x308D // Height as defined in EGL/egl.h:167 Height = 0x3056 // Width as defined in EGL/egl.h:168 Width = 0x3057 // LargestPbuffer as defined in EGL/egl.h:169 LargestPbuffer = 0x3058 // TextureFormat as defined in EGL/egl.h:170 TextureFormat = 0x3080 // TextureTarget as defined in EGL/egl.h:171 TextureTarget = 0x3081 // MipmapTexture as defined in EGL/egl.h:172 MipmapTexture = 0x3082 // MipmapLevel as defined in EGL/egl.h:173 MipmapLevel = 0x3083 // RenderBuffer as defined in EGL/egl.h:174 RenderBuffer = 0x3086 // VgColorspace as defined in EGL/egl.h:175 VgColorspace = 0x3087 // VgAlphaFormat as defined in EGL/egl.h:176 VgAlphaFormat = 0x3088 // HorizontalResolution as defined in EGL/egl.h:177 HorizontalResolution = 0x3090 // VerticalResolution as defined in EGL/egl.h:178 VerticalResolution = 0x3091 // PixelAspectRatio as defined in EGL/egl.h:179 PixelAspectRatio = 0x3092 // SwapBehavior as defined in EGL/egl.h:180 SwapBehavior = 0x3093 // MultisampleResolve as defined in EGL/egl.h:181 MultisampleResolve = 0x3099 // BackBuffer as defined in EGL/egl.h:184 BackBuffer = 0x3084 // SingleBuffer as defined in EGL/egl.h:185 SingleBuffer = 0x3085 // VgColorspaceSrgb as defined in EGL/egl.h:188 VgColorspaceSrgb = 0x3089 // VgColorspaceLinear as defined in EGL/egl.h:189 VgColorspaceLinear = 0x308A // VgAlphaFormatNonpre as defined in EGL/egl.h:192 VgAlphaFormatNonpre = 0x308B // VgAlphaFormatPre as defined in EGL/egl.h:193 VgAlphaFormatPre = 0x308C // DisplayScaling as defined in EGL/egl.h:198 DisplayScaling = 10000 // Unknown as defined in EGL/egl.h:201 Unknown = ((Int)(-1)) // BufferPreserved as defined in EGL/egl.h:204 BufferPreserved = 0x3094 // BufferDestroyed as defined in EGL/egl.h:205 BufferDestroyed = 0x3095 // OpenvgImage as defined in EGL/egl.h:208 OpenvgImage = 0x3096 // ContextClientType as defined in EGL/egl.h:211 ContextClientType = 0x3097 // ContextClientVersion as defined in EGL/egl.h:214 ContextClientVersion = 0x3098 // MultisampleResolveDefault as defined in EGL/egl.h:217 MultisampleResolveDefault = 0x309A // MultisampleResolveBox as defined in EGL/egl.h:218 MultisampleResolveBox = 0x309B // OpenglEsApi as defined in EGL/egl.h:221 OpenglEsApi = 0x30A0 // OpenvgApi as defined in EGL/egl.h:222 OpenvgApi = 0x30A1 // OpenglApi as defined in EGL/egl.h:223 OpenglApi = 0x30A2 // Draw as defined in EGL/egl.h:226 Draw = 0x3059 // Read as defined in EGL/egl.h:227 Read = 0x305A // CoreNativeEngine as defined in EGL/egl.h:230 CoreNativeEngine = 0x305B // Colorspace as defined in EGL/egl.h:233 Colorspace = VgColorspace // AlphaFormat as defined in EGL/egl.h:234 AlphaFormat = VgAlphaFormat // ColorspaceSrgb as defined in EGL/egl.h:235 ColorspaceSrgb = VgColorspaceSrgb // ColorspaceLinear as defined in EGL/egl.h:236 ColorspaceLinear = VgColorspaceLinear // AlphaFormatNonpre as defined in EGL/egl.h:237 AlphaFormatNonpre = VgAlphaFormatNonpre // AlphaFormatPre as defined in EGL/egl.h:238 AlphaFormatPre = VgAlphaFormatPre )
Variables ¶
var ( // DefaultDisplay as defined in EGL/egl.h:68 DefaultDisplay = ((NativeDisplayType)(nil)) // NoContext as defined in EGL/egl.h:69 NoContext = ((Context)(nil)) // NoDisplay as defined in EGL/egl.h:70 NoDisplay = ((Display)(nil)) // NoSurface as defined in EGL/egl.h:71 NoSurface = ((Surface)(nil)) )
var ( ErrUnknown = errors.New("unknown error") ErrNotInitialized = errors.New("not initialized") ErrBadAccess = errors.New("bad access") ErrBadAlloc = errors.New("bad alloc") ErrBadAttribute = errors.New("bad attribute") ErrBadConfig = errors.New("bad config") ErrBadContext = errors.New("bad context") ErrBadCurrentSurface = errors.New("bad current surface") ErrBadDisplay = errors.New("bad display") ErrBadMatch = errors.New("bad match") ErrBadNativePixmap = errors.New("bad native pixmap") ErrBadNativeWindow = errors.New("bad native window") ErrBadParameter = errors.New("bad parameter") ErrBadSurface = errors.New("bad surface") ErrContextLost = errors.New("context lost") )
Functions ¶
func GetError ¶
func GetError() int32
GetError function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetError.xhtml
func QueryString ¶
QueryString function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglQueryString.xhtml
Types ¶
type Boolean ¶
type Boolean uint32
Boolean type as declared in EGL/egl.h:44
func BindAPI ¶
BindAPI function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglBindAPI.xhtml
func BindTexImage ¶
BindTexImage function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglBindTexImage.xhtml
func ChooseConfig ¶
func ChooseConfig(dpy Display, attribList []int32, configs []Config, configSize int32, numConfig *int32) Boolean
ChooseConfig function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglChooseConfig.xhtml
func CopyBuffers ¶
func CopyBuffers(dpy Display, surface Surface, target NativePixmapType) Boolean
CopyBuffers function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCopyBuffers.xhtml
func DestroyContext ¶
DestroyContext function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglDestroyContext.xhtml
func DestroySurface ¶
DestroySurface function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglDestroySurface.xhtml
func GetConfigAttrib ¶
GetConfigAttrib function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetConfigAttrib.xhtml
func GetConfigs ¶
GetConfigs function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetConfigs.xhtml
func Initialize ¶
Initialize function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglInitialize.xhtml
func MakeCurrent ¶
MakeCurrent function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglMakeCurrent.xhtml
func QueryContext ¶
QueryContext function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglQueryContext.xhtml
func QuerySurface ¶
QuerySurface function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglQuerySurface.xhtml
func ReleaseTexImage ¶
ReleaseTexImage function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglReleaseTexImage.xhtml
func ReleaseThread ¶
func ReleaseThread() Boolean
ReleaseThread function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglReleaseThread.xhtml
func SurfaceAttrib ¶
SurfaceAttrib function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglSurfaceAttrib.xhtml
func SwapBuffers ¶
SwapBuffers function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglSwapBuffers.xhtml
func SwapInterval ¶
SwapInterval function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglSwapInterval.xhtml
func Terminate ¶
Terminate function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglTerminate.xhtml
func WaitClient ¶
func WaitClient() Boolean
WaitClient function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglWaitClient.xhtml
func WaitGL ¶
func WaitGL() Boolean
WaitGL function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglWaitGL.xhtml
func WaitNative ¶
WaitNative function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglWaitNative.xhtml
type Context ¶
Context type as declared in EGL/egl.h:47
func CreateContext ¶
CreateContext function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCreateContext.xhtml
func GetCurrentContext ¶
func GetCurrentContext() Context
GetCurrentContext function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetCurrentContext.xhtml
type Display ¶
Display type as declared in EGL/egl.h:48
func GetCurrentDisplay ¶
func GetCurrentDisplay() Display
GetCurrentDisplay function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetCurrentDisplay.xhtml
func GetDisplay ¶
func GetDisplay(displayId NativeDisplayType) Display
GetDisplay function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetDisplay.xhtml
type DisplayHandle ¶
func NewDisplayHandle ¶
func NewDisplayHandle(window *android.NativeWindow, expectedConfig map[int32]int32) (*DisplayHandle, error)
NewDisplayHandle initializes EGL display/surface/context and returns a handle object or error. Use expectedConfig to specify the desired EGL config constraints like:
map[int32]int32{ egl.SurfaceType: egl.WindowBit, egl.RedSize: 8, egl.GreenSize: 8, egl.BlueSize: 8, egl.AlphaSize: 8, egl.DepthSize: 24, }
func (*DisplayHandle) Destroy ¶
func (d *DisplayHandle) Destroy()
func (*DisplayHandle) EGLContext ¶
func (d *DisplayHandle) EGLContext() Context
func (*DisplayHandle) EGLDisplay ¶
func (d *DisplayHandle) EGLDisplay() Display
func (*DisplayHandle) EGLSurface ¶
func (d *DisplayHandle) EGLSurface() Surface
func (*DisplayHandle) SwapBuffers ¶
func (d *DisplayHandle) SwapBuffers()
func (*DisplayHandle) UpdateDimensions ¶
func (d *DisplayHandle) UpdateDimensions()
type Enum ¶
type Enum uint32
Enum type as declared in EGL/egl.h:45
func QueryAPI ¶
func QueryAPI() Enum
QueryAPI function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglQueryAPI.xhtml
type NativeDisplayType ¶
NativeDisplayType type as declared in EGL/eglplatform.h:93
type NativePixmapType ¶
type NativePixmapType C.EGLNativePixmapType
NativePixmapType as declared in EGL/eglplatform.h:92
type NativeWindowType ¶
type NativeWindowType C.EGLNativeWindowType
NativeWindowType as declared in EGL/eglplatform.h:91
type Surface ¶
Surface type as declared in EGL/egl.h:49
func CreatePbufferFromClientBuffer ¶
func CreatePbufferFromClientBuffer(dpy Display, buftype Enum, buffer ClientBuffer, config Config, attribList []int32) Surface
CreatePbufferFromClientBuffer function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCreatePbufferFromClientBuffer.xhtml
func CreatePbufferSurface ¶
CreatePbufferSurface function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCreatePbufferSurface.xhtml
func CreatePixmapSurface ¶
func CreatePixmapSurface(dpy Display, config Config, pixmap NativePixmapType, attribList []int32) Surface
CreatePixmapSurface function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCreatePixmapSurface.xhtml
func CreateWindowSurface ¶
func CreateWindowSurface(dpy Display, config Config, win NativeWindowType, attribList []int32) Surface
CreateWindowSurface function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCreateWindowSurface.xhtml
func GetCurrentSurface ¶
GetCurrentSurface function as declared in https://www.khronos.org/registry/egl/sdk/docs/man/html/eglGetCurrentSurface.xhtml