## TumblerThumbnail

TumblerThumbnail

## Synopsis

    struct              TumblerImageData;
    struct              TumblerThumbnailIface;
    TumblerThumbnailFlavor * tumbler_thumbnail_get_flavor   (TumblerThumbnail *thumbnail);
    gboolean            tumbler_thumbnail_load              (TumblerThumbnail *thumbnail,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            tumbler_thumbnail_needs_update      (TumblerThumbnail *thumbnail,
                                                             const gchar *uri,
                                                             guint64 mtime);
    gboolean            tumbler_thumbnail_save_file         (TumblerThumbnail *thumbnail,
                                                             GFile *file,
                                                             guint64 mtime,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            tumbler_thumbnail_save_image_data   (TumblerThumbnail *thumbnail,
                                                             TumblerImageData *data,
                                                             guint64 mtime,
                                                             GCancellable *cancellable,
                                                             GError **error);

## Description

## Details

### struct TumblerImageData

    struct TumblerImageData {
      TumblerColorspace colorspace;
      const guchar     *data;
      gboolean          has_alpha;
      gint              bits_per_sample;
      gint              width;
      gint              height;
      gint              rowstride;
    };

### struct TumblerThumbnailIface

    struct TumblerThumbnailIface {
      GTypeInterface __parent__;

      /* signals */

      /* virtual methods */
      gboolean (*load)            (TumblerThumbnail *thumbnail,
                                   GCancellable     *cancellable,
                                   GError          **error);
      gboolean (*needs_update)    (TumblerThumbnail *thumbnail,
                                   const gchar      *uri,
                                   guint64           mtime);
      gboolean (*save_image_data) (TumblerThumbnail *thumbnail,
                                   TumblerImageData *data,
                                   guint64           mtime,
                                   GCancellable     *cancellable,
                                   GError          **error);
      gboolean (*save_file)       (TumblerThumbnail *thumbnail,
                                   GFile            *file,
                                   guint64           mtime,
                                   GCancellable     *cancellable,
                                   GError          **error);
    };

### tumbler_thumbnail_get_flavor ()

    TumblerThumbnailFlavor * tumbler_thumbnail_get_flavor   (TumblerThumbnail *thumbnail);

### tumbler_thumbnail_load ()

    gboolean            tumbler_thumbnail_load              (TumblerThumbnail *thumbnail,
                                                             GCancellable *cancellable,
                                                             GError **error);

### tumbler_thumbnail_needs_update ()

    gboolean            tumbler_thumbnail_needs_update      (TumblerThumbnail *thumbnail,
                                                             const gchar *uri,
                                                             guint64 mtime);

### tumbler_thumbnail_save_file ()

    gboolean            tumbler_thumbnail_save_file         (TumblerThumbnail *thumbnail,
                                                             GFile *file,
                                                             guint64 mtime,
                                                             GCancellable *cancellable,
                                                             GError **error);

### tumbler_thumbnail_save_image_data ()

    gboolean            tumbler_thumbnail_save_image_data   (TumblerThumbnail *thumbnail,
                                                             TumblerImageData *data,
                                                             guint64 mtime,
                                                             GCancellable *cancellable,
                                                             GError **error);