Phoc.SurfaceIterator
Description: Reference for Phoc.SurfaceIterator

### Function

# PhocSurfaceIterator

#### Declaration

    void
    (* PhocSurfaceIterator) (
      PhocOutput* self,
      wlr_surface* surface,
      wlr_box* box,
      float scale,
      void* user_data
    )

#### Description [src]

The iterator function that is invoked by the different iterators like `phoc_output_xdg_surface_for_each_surface()` or `phoc_output_layer_surface_for_each_surface()` if the iterated surface overlaps with the output.

#### Parameters

`self`

  Type: `PhocOutput`

  The output.

  The data is owned by the caller of the function.

`surface`

  Type: `wlr_surface*`

  The surface to iterate over.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`box`

  Type: `wlr_box*`

  The part of the surface that overlaps with the output.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`scale`

  Type: `float`

  The `scale-to-fit` scale.

`user_data`

  Type: `void*`

  User data passed to the iterator.

  The argument can be `NULL`.
  The data is owned by the caller of the function.