in main.go [455:496]
func convertSubscriptionPy(subscriptionPy *C.PyObject) (regions []gymvnc.Region, ok bool) {
ok = true
if subscriptionPy == nil {
return
}
// Iterate over all subscription
subscriptionIter := C.PyObject_GetIter(subscriptionPy)
if subscriptionIter == nil {
ok = false
return
}
for itemPy := C.PyIter_Next(subscriptionIter); ok && itemPy != nil; itemPy = C.PyIter_Next(subscriptionIter) {
var x, y, width, height int
if ok {
x, ok = getIntFromTuple(itemPy, 0)
}
if ok {
width, ok = getIntFromTuple(itemPy, 1)
}
if ok {
y, ok = getIntFromTuple(itemPy, 2)
}
if ok {
height, ok = getIntFromTuple(itemPy, 3)
}
C.go_vncdriver_decref(itemPy)
regions = append(regions, gymvnc.Region{
X: uint16(x),
Y: uint16(y),
Width: uint16(width),
Height: uint16(height),
})
}
C.go_vncdriver_decref(subscriptionIter)
return
}