code: func NewPatternForSurface(s *Surface) (*Pattern, error) {
  	c := C.cairo_pattern_create_for_surface(s.native())
  	return newPatternFromNative(c)
  }
docs: // NewPatternForSurface is a wrapper around cairo_pattern_create_for_surface().