### Method

# Gsk Path foreach

since: 4.14

#### Declaration [src]

    gboolean
    gsk_path_foreach (
      GskPath* self,
      GskPathForeachFlags flags,
      GskPathForeachFunc func,
      gpointer user_data
    )

#### Description [src]

Calls `func` for every operation of the path.

Note that this may only approximate `self`, because paths can contain optimizations for various specialized contours, and depending on the `flags`, the path may be decomposed into simpler curves than the ones that it contained originally.

This function serves two purposes:

- When the `flags` allow everything, it provides access to the raw, unmodified data of the path.
- When the `flags` disallow certain operations, it provides an approximation of the path using just the allowed operations.

Available since: 4.14

#### Parameters

`flags`

  Type: `GskPathForeachFlags`

  Flags to pass to the foreach function. See `GskPathForeachFlags` for details about flags.

`func`

  Type: `GskPathForeachFunc`

  The function to call for operations.

`user_data`

  Type: `gpointer`

  User data passed to `func`.

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

#### Return value

Type: `gboolean`

`FALSE` if `func` returned FALSE`,`TRUE` otherwise.