// PixelsRead read pixel data from output's framebuffer. // If the geometry is out of bounds, it will be automatically clamped. // Potentially clamped geometry will be stored in out_geometry, to indicate // width / height of the returned data. // TODO: make more go friendly func PixelsRead(format PixelFormat, geometry Geometry, outGeometry *Geometry, outData unsafe.Pointer) { cgeometry := geometry.c() defer C.free(unsafe.Pointer(cgeometry)) var cgOut C.struct_wlc_geometry C.wlc_pixels_read(C.enum_wlc_pixel_format(format), cgeometry, &cgOut, outData) geometryCtoGo(outGeometry, &cgOut) }
// PixelsWrite write pixel data with the specific format to outputs // framebuffer. If geometry is out of bounds, it will be automatically clamped. // TODO: make more go friendly func PixelsWrite(format PixelFormat, geometry Geometry, data unsafe.Pointer) { cgeometry := geometry.c() defer C.free(unsafe.Pointer(cgeometry)) C.wlc_pixels_write(C.enum_wlc_pixel_format(format), cgeometry, data) }