### Interface

# Gtk SymbolicPaintable

since: 4.6

#### Description [src]

    interface Gtk.SymbolicPaintable : Gdk.Paintable

An interface that supports symbolic colors in paintables.

`GdkPaintable`s implementing the interface will have the `Gtk.SymbolicPaintableInterface.snapshot_symbolic` function called and have the colors for drawing symbolic icons passed. At least 4 colors are guaranteed to be passed every time.

These 4 colors are the foreground color, and the colors to use for errors, warnings and success information in that order.

More colors may be added in the future.

Available since: 4.6

#### Prerequisite

In order to implement SymbolicPaintable, your type must inherit from`GdkPaintable`.

#### Implementations

- GtkIconPaintable

#### Instance methods

###### gtk_symbolic_paintable_snapshot_symbolic

Snapshots the paintable with the given colors.

since: 4.6

#### Interface structure

    struct GtkSymbolicPaintableInterface {
      void (* snapshot_symbolic) (
        GtkSymbolicPaintable* paintable,
        GdkSnapshot* snapshot,
        double width,
        double height,
        const GdkRGBA* colors,
        gsize n_colors
      );

    }

The list of virtual functions for the `GtkSymbolicPaintable` interface. No function must be implemented, default implementations exist for each one.

###### Interface members

`snapshot_symbolic` |
    void (* snapshot_symbolic) (
        GtkSymbolicPaintable* paintable,
        GdkSnapshot* snapshot,
        double width,
        double height,
        const GdkRGBA* colors,
        gsize n_colors
      )
| Snapshot the paintable using the given colors. See `GtkSymbolicPaintable::snapshot_symbolic()` for details. If this function is not implemented, `Gdk.PaintableInterface.snapshot` will be called.

#### Virtual methods

###### Gtk.SymbolicPaintable.snapshot_symbolic

Snapshots the paintable with the given colors.

since: 4.6