func GoVNCDriver_VNCSession_render()

in main.go [382:421]


func GoVNCDriver_VNCSession_render(self, args, kwds *C.PyObject) *C.PyObject {
	batchLock.Lock()
	defer batchLock.Unlock()

	if !compiledWithGL {
		setError(errors.New("go_vncdriver was installed without OpenGL support. See https://github.com/openai/go-vncdriver for details on how debug."))
		return nil
	}

	// parse name argument
	nameC := new(*C.char)
	closeC := new(C.int)
	if C.PyArg_ParseTuple_render(args, kwds, nameC, closeC) == 0 {
		return nil
	}
	name := C.GoString(*nameC)
	close := *closeC != C.int(0)

	ptr := uintptr(unsafe.Pointer(self))
	info, ok := batchMgr[ptr]
	if !ok {
		setError(errors.New("VNCSession is already closed"))
		return nil
	}

	if err := info.initRenderer(name); err != nil {
		setError(err)
		return nil
	}

	err := info.batch.Render(name, close)
	if err != nil {
		// reportBestError(info.batch, err)
		setError(err)
		return nil
	}

	C.go_vncdriver_incref(Py_None)
	return Py_None
}