code: func (v *OffscreenWindow) GetSurface() (*cairo.Surface, error) {
  	c := C.gtk_offscreen_window_get_surface(v.native())
  	if c == nil {
  		return nil, nilPtrErr
  	}
  	cairoPtr := (uintptr)(unsafe.Pointer(c))
  	s := cairo.NewSurface(cairoPtr, true)
  	return s, nil
  }
docs: // GetSurface is a wrapper around gtk_offscreen_window_get_surface().
  // The returned surface is safe to use over window resizes.