Exemplo n.º 1
0
func CreatePbufferSurface(
	disp Display, config Config, attribList *int32) Surface {
	return Surface(C.eglCreatePbufferSurface(
		C.EGLDisplay(unsafe.Pointer(disp)),
		C.EGLConfig(unsafe.Pointer(config)),
		(*C.EGLint)(attribList)))
}
Exemplo n.º 2
0
func CreateWindowSurface(disp Display, config Config,
	win NativeWindowType, attribList *int32) Surface {
	return Surface(C.eglCreateWindowSurface(C.EGLDisplay(unsafe.Pointer(disp)),
		C.EGLConfig(unsafe.Pointer(config)),
		C.EGLNativeWindowType(uintptr(win)),
		(*C.EGLint)(attribList)))
}
Exemplo n.º 3
0
func CreatePixmapSurface(disp Display, config Config,
	pixmap NativePixmapType, attribList *int32) Surface {

	return Surface(C.eglCreatePixmapSurface(C.EGLDisplay(unsafe.Pointer(disp)),
		C.EGLConfig(config),
		C.EGLNativePixmapType(uintptr(pixmap)),
		(*C.EGLint)(attribList)))
}
Exemplo n.º 4
0
func CreateContext(disp Display, config Config,
	shareContext Context, attribList *int32) Context {

	return Context(C.eglCreateContext(C.EGLDisplay(unsafe.Pointer(disp)),
		C.EGLConfig(unsafe.Pointer(config)),
		C.EGLContext(unsafe.Pointer(shareContext)),
		(*C.EGLint)(attribList)))
}
Exemplo n.º 5
0
func CreatePbufferFromClientBuffer(disp Display, buftype Enum, config Config,
	buffer ClientBuffer, attribList *int32) Surface {

	return Surface(C.eglCreatePbufferFromClientBuffer(C.EGLDisplay(unsafe.Pointer(disp)),
		C.EGLenum(buftype),
		C.EGLClientBuffer(buffer),
		C.EGLConfig(unsafe.Pointer(config)),
		(*C.EGLint)(attribList)))
}
Exemplo n.º 6
0
func GetConfigAttrib(
	disp Display, config Config,
	attribute int32, value *int32) bool {
	return goBoolean(C.eglGetConfigAttrib(
		C.EGLDisplay(unsafe.Pointer(disp)),
		C.EGLConfig(config),
		C.EGLint(attribute),
		(*C.EGLint)(unsafe.Pointer(value))))
}
Exemplo n.º 7
0
Arquivo: egl.go Projeto: remogatto/egl
func CreateWindowSurface(
	disp Display, config Config,
	win NativeWindowType, attribList *int32) Surface {
	return Surface(C.eglCreateWindowSurface(
		C.EGLDisplay(disp),
		C.EGLConfig(config),
		C.EGLNativeWindowType(win),
		(*C.EGLint)(attribList)))
}
Exemplo n.º 8
0
func (display *Display) GetConfigAttrib(config Config, name Attrib) (Attrib, error) {
	var value Attrib
	success := C.eglGetConfigAttrib(display.eglDisplay, C.EGLConfig(config), C.EGLint(name), (*C.EGLint)(&value))
	if success == C.EGL_FALSE {
		return None, getError()
	}

	return value, nil
}
Exemplo n.º 9
0
func (display *Display) CreatePbufferSurface(config Config, attribList []Attrib) (*Surface, error) {
	var eglAttribs *C.EGLint
	if attribList != nil {
		eglAttribs = (*C.EGLint)(&(attribList[0]))
	}

	eglSurface := C.eglCreatePbufferSurface(display.eglDisplay, C.EGLConfig(config), eglAttribs)
	if eglSurface == noSurface {
		return nil, getError()
	}

	surface := new(Surface)
	//runtime.SetFinalizer(surface, destroySurface)
	surface.Display = display
	surface.eglSurface = eglSurface
	return surface, nil
}
Exemplo n.º 10
0
func (display *Display) CreateContext(config Config, shareContext *Context, attribList []Attrib) (*Context, error) {
	var eglShareContext C.EGLContext
	if shareContext != nil {
		eglShareContext = shareContext.eglContext
	}

	var eglAttribs *C.EGLint
	if attribList != nil {
		eglAttribs = (*C.EGLint)(&(attribList[0]))
	}

	eglContext := C.eglCreateContext(display.eglDisplay, C.EGLConfig(config), eglShareContext, eglAttribs)
	if eglContext == noContext {
		return nil, getError()
	}

	context := new(Context)
	//runtime.SetFinalizer(context, destroyContext)
	context.eglContext = eglContext
	context.Display = display
	return context, nil
}