summaryrefslogtreecommitdiff
path: root/src/plugins/TransitionsInterfaces.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/TransitionsInterfaces.c')
-rw-r--r--src/plugins/TransitionsInterfaces.c1808
1 files changed, 1808 insertions, 0 deletions
diff --git a/src/plugins/TransitionsInterfaces.c b/src/plugins/TransitionsInterfaces.c
new file mode 100644
index 0000000..aedb555
--- /dev/null
+++ b/src/plugins/TransitionsInterfaces.c
@@ -0,0 +1,1808 @@
+/* TransitionsInterfaces.c generated by valac 0.32.1, the Vala compiler
+ * generated from TransitionsInterfaces.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gdk/gdk.h>
+#include <float.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gio/gio.h>
+#include <cairo.h>
+
+
+#define SPIT_TRANSITIONS_TYPE_DIRECTION (spit_transitions_direction_get_type ())
+
+#define SPIT_TRANSITIONS_TYPE_VISUALS (spit_transitions_visuals_get_type ())
+#define SPIT_TRANSITIONS_VISUALS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals))
+#define SPIT_TRANSITIONS_VISUALS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsClass))
+#define SPIT_TRANSITIONS_IS_VISUALS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_VISUALS))
+#define SPIT_TRANSITIONS_IS_VISUALS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_TRANSITIONS_TYPE_VISUALS))
+#define SPIT_TRANSITIONS_VISUALS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsClass))
+
+typedef struct _SpitTransitionsVisuals SpitTransitionsVisuals;
+typedef struct _SpitTransitionsVisualsClass SpitTransitionsVisualsClass;
+typedef struct _SpitTransitionsVisualsPrivate SpitTransitionsVisualsPrivate;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define SPIT_TRANSITIONS_TYPE_MOTION (spit_transitions_motion_get_type ())
+#define SPIT_TRANSITIONS_MOTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion))
+#define SPIT_TRANSITIONS_MOTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionClass))
+#define SPIT_TRANSITIONS_IS_MOTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_MOTION))
+#define SPIT_TRANSITIONS_IS_MOTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_TRANSITIONS_TYPE_MOTION))
+#define SPIT_TRANSITIONS_MOTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionClass))
+
+typedef struct _SpitTransitionsMotion SpitTransitionsMotion;
+typedef struct _SpitTransitionsMotionClass SpitTransitionsMotionClass;
+typedef struct _SpitTransitionsMotionPrivate SpitTransitionsMotionPrivate;
+
+#define SPIT_TYPE_PLUGGABLE (spit_pluggable_get_type ())
+#define SPIT_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggable))
+#define SPIT_IS_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_PLUGGABLE))
+#define SPIT_PLUGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggableIface))
+
+typedef struct _SpitPluggable SpitPluggable;
+typedef struct _SpitPluggableIface SpitPluggableIface;
+
+#define SPIT_TYPE_PLUGGABLE_INFO (spit_pluggable_info_get_type ())
+typedef struct _SpitPluggableInfo SpitPluggableInfo;
+
+#define SPIT_TRANSITIONS_TYPE_DESCRIPTOR (spit_transitions_descriptor_get_type ())
+#define SPIT_TRANSITIONS_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptor))
+#define SPIT_TRANSITIONS_IS_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR))
+#define SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptorIface))
+
+typedef struct _SpitTransitionsDescriptor SpitTransitionsDescriptor;
+typedef struct _SpitTransitionsDescriptorIface SpitTransitionsDescriptorIface;
+
+#define SPIT_TYPE_HOST_INTERFACE (spit_host_interface_get_type ())
+#define SPIT_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterface))
+#define SPIT_IS_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_HOST_INTERFACE))
+#define SPIT_HOST_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterfaceIface))
+
+typedef struct _SpitHostInterface SpitHostInterface;
+typedef struct _SpitHostInterfaceIface SpitHostInterfaceIface;
+
+#define SPIT_TRANSITIONS_TYPE_EFFECT (spit_transitions_effect_get_type ())
+#define SPIT_TRANSITIONS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect))
+#define SPIT_TRANSITIONS_IS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_EFFECT))
+#define SPIT_TRANSITIONS_EFFECT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffectIface))
+
+typedef struct _SpitTransitionsEffect SpitTransitionsEffect;
+typedef struct _SpitTransitionsEffectIface SpitTransitionsEffectIface;
+
+typedef enum {
+ SPIT_TRANSITIONS_DIRECTION_LEFT = 0,
+ SPIT_TRANSITIONS_DIRECTION_RIGHT = 1,
+ SPIT_TRANSITIONS_DIRECTION_FORWARD = SPIT_TRANSITIONS_DIRECTION_LEFT,
+ SPIT_TRANSITIONS_DIRECTION_BACKWARD = SPIT_TRANSITIONS_DIRECTION_RIGHT
+} SpitTransitionsDirection;
+
+struct _SpitTransitionsVisuals {
+ GObject parent_instance;
+ SpitTransitionsVisualsPrivate * priv;
+};
+
+struct _SpitTransitionsVisualsClass {
+ GObjectClass parent_class;
+ void (*reserved0) (SpitTransitionsVisuals* self);
+ void (*reserved1) (SpitTransitionsVisuals* self);
+ void (*reserved2) (SpitTransitionsVisuals* self);
+ void (*reserved3) (SpitTransitionsVisuals* self);
+ void (*reserved4) (SpitTransitionsVisuals* self);
+ void (*reserved5) (SpitTransitionsVisuals* self);
+ void (*reserved6) (SpitTransitionsVisuals* self);
+ void (*reserved7) (SpitTransitionsVisuals* self);
+};
+
+struct _SpitTransitionsVisualsPrivate {
+ GdkPixbuf* _from_pixbuf;
+ GdkRectangle _from_pos;
+ GdkPixbuf* _to_pixbuf;
+ GdkRectangle _to_pos;
+ GdkRGBA _bg_color;
+};
+
+struct _SpitTransitionsMotion {
+ GObject parent_instance;
+ SpitTransitionsMotionPrivate * priv;
+};
+
+struct _SpitTransitionsMotionClass {
+ GObjectClass parent_class;
+ void (*reserved0) (SpitTransitionsMotion* self);
+ void (*reserved1) (SpitTransitionsMotion* self);
+ void (*reserved2) (SpitTransitionsMotion* self);
+ void (*reserved3) (SpitTransitionsMotion* self);
+ void (*reserved4) (SpitTransitionsMotion* self);
+ void (*reserved5) (SpitTransitionsMotion* self);
+ void (*reserved6) (SpitTransitionsMotion* self);
+ void (*reserved7) (SpitTransitionsMotion* self);
+};
+
+struct _SpitTransitionsMotionPrivate {
+ SpitTransitionsDirection _direction;
+ gint _fps;
+ gint _duration_msec;
+};
+
+struct _SpitPluggableInfo {
+ gchar* version;
+ gchar* brief_description;
+ gchar* authors;
+ gchar* copyright;
+ gchar* license;
+ gboolean is_license_wordwrapped;
+ gchar* website_url;
+ gchar* website_name;
+ gchar* translators;
+ GdkPixbuf** icons;
+ gint icons_length1;
+};
+
+struct _SpitPluggableIface {
+ GTypeInterface parent_iface;
+ gint (*get_pluggable_interface) (SpitPluggable* self, gint min_host_interface, gint max_host_interface);
+ const gchar* (*get_id) (SpitPluggable* self);
+ const gchar* (*get_pluggable_name) (SpitPluggable* self);
+ void (*get_info) (SpitPluggable* self, SpitPluggableInfo* info);
+ void (*activation) (SpitPluggable* self, gboolean enabled);
+ void (*reserved0) (SpitPluggable* self);
+ void (*reserved1) (SpitPluggable* self);
+ void (*reserved2) (SpitPluggable* self);
+ void (*reserved3) (SpitPluggable* self);
+ void (*reserved4) (SpitPluggable* self);
+ void (*reserved5) (SpitPluggable* self);
+ void (*reserved6) (SpitPluggable* self);
+ void (*reserved7) (SpitPluggable* self);
+};
+
+struct _SpitHostInterfaceIface {
+ GTypeInterface parent_iface;
+ GFile* (*get_module_file) (SpitHostInterface* self);
+ gboolean (*get_config_bool) (SpitHostInterface* self, const gchar* key, gboolean def);
+ void (*set_config_bool) (SpitHostInterface* self, const gchar* key, gboolean val);
+ gint (*get_config_int) (SpitHostInterface* self, const gchar* key, gint def);
+ void (*set_config_int) (SpitHostInterface* self, const gchar* key, gint val);
+ gchar* (*get_config_string) (SpitHostInterface* self, const gchar* key, const gchar* def);
+ void (*set_config_string) (SpitHostInterface* self, const gchar* key, const gchar* val);
+ gdouble (*get_config_double) (SpitHostInterface* self, const gchar* key, gdouble def);
+ void (*set_config_double) (SpitHostInterface* self, const gchar* key, gdouble val);
+ void (*unset_config_key) (SpitHostInterface* self, const gchar* key);
+ void (*reserved0) (SpitHostInterface* self);
+ void (*reserved1) (SpitHostInterface* self);
+ void (*reserved2) (SpitHostInterface* self);
+ void (*reserved3) (SpitHostInterface* self);
+ void (*reserved4) (SpitHostInterface* self);
+ void (*reserved5) (SpitHostInterface* self);
+ void (*reserved6) (SpitHostInterface* self);
+ void (*reserved7) (SpitHostInterface* self);
+};
+
+struct _SpitTransitionsEffectIface {
+ GTypeInterface parent_iface;
+ void (*get_fps) (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps);
+ void (*start) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion);
+ gboolean (*needs_clear_background) (SpitTransitionsEffect* self);
+ void (*paint) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number);
+ void (*advance) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number);
+ void (*cancel) (SpitTransitionsEffect* self);
+ void (*reserved0) (SpitTransitionsEffect* self);
+ void (*reserved1) (SpitTransitionsEffect* self);
+ void (*reserved2) (SpitTransitionsEffect* self);
+ void (*reserved3) (SpitTransitionsEffect* self);
+ void (*reserved4) (SpitTransitionsEffect* self);
+ void (*reserved5) (SpitTransitionsEffect* self);
+ void (*reserved6) (SpitTransitionsEffect* self);
+ void (*reserved7) (SpitTransitionsEffect* self);
+};
+
+struct _SpitTransitionsDescriptorIface {
+ GTypeInterface parent_iface;
+ SpitTransitionsEffect* (*create) (SpitTransitionsDescriptor* self, SpitHostInterface* host);
+ void (*reserved0) (SpitTransitionsDescriptor* self);
+ void (*reserved1) (SpitTransitionsDescriptor* self);
+ void (*reserved2) (SpitTransitionsDescriptor* self);
+ void (*reserved3) (SpitTransitionsDescriptor* self);
+ void (*reserved4) (SpitTransitionsDescriptor* self);
+ void (*reserved5) (SpitTransitionsDescriptor* self);
+ void (*reserved6) (SpitTransitionsDescriptor* self);
+ void (*reserved7) (SpitTransitionsDescriptor* self);
+};
+
+
+static gpointer spit_transitions_visuals_parent_class = NULL;
+static gpointer spit_transitions_motion_parent_class = NULL;
+
+#define SPIT_TRANSITIONS_CURRENT_INTERFACE 0
+GType spit_transitions_direction_get_type (void) G_GNUC_CONST;
+GType spit_transitions_visuals_get_type (void) G_GNUC_CONST;
+#define SPIT_TRANSITIONS_VISUALS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsPrivate))
+enum {
+ SPIT_TRANSITIONS_VISUALS_DUMMY_PROPERTY,
+ SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF,
+ SPIT_TRANSITIONS_VISUALS_FROM_POS,
+ SPIT_TRANSITIONS_VISUALS_TO_PIXBUF,
+ SPIT_TRANSITIONS_VISUALS_TO_POS,
+ SPIT_TRANSITIONS_VISUALS_BG_COLOR
+};
+SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color);
+SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type, GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color);
+static void spit_transitions_visuals_set_from_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value);
+static void spit_transitions_visuals_set_from_pos (SpitTransitionsVisuals* self, GdkRectangle* value);
+static void spit_transitions_visuals_set_to_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value);
+static void spit_transitions_visuals_set_to_pos (SpitTransitionsVisuals* self, GdkRectangle* value);
+static void spit_transitions_visuals_set_bg_color (SpitTransitionsVisuals* self, GdkRGBA* value);
+void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved0 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved1 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved2 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved3 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved4 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved5 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved6 (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self);
+static void spit_transitions_visuals_real_reserved7 (SpitTransitionsVisuals* self);
+GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self, GdkRectangle* result);
+GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self);
+void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self, GdkRectangle* result);
+void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self, GdkRGBA* result);
+static void spit_transitions_visuals_finalize (GObject* obj);
+static void _vala_spit_transitions_visuals_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+static void _vala_spit_transitions_visuals_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
+GType spit_transitions_motion_get_type (void) G_GNUC_CONST;
+#define SPIT_TRANSITIONS_MOTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionPrivate))
+enum {
+ SPIT_TRANSITIONS_MOTION_DUMMY_PROPERTY,
+ SPIT_TRANSITIONS_MOTION_DIRECTION,
+ SPIT_TRANSITIONS_MOTION_FPS,
+ SPIT_TRANSITIONS_MOTION_DURATION_MSEC,
+ SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES,
+ SPIT_TRANSITIONS_MOTION_TICK_MSEC
+};
+SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction, gint fps, gint duration_msec);
+SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type, SpitTransitionsDirection direction, gint fps, gint duration_msec);
+static void spit_transitions_motion_set_direction (SpitTransitionsMotion* self, SpitTransitionsDirection value);
+static void spit_transitions_motion_set_fps (SpitTransitionsMotion* self, gint value);
+static void spit_transitions_motion_set_duration_msec (SpitTransitionsMotion* self, gint value);
+gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number);
+gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved0 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved1 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved2 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved3 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved4 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved5 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved6 (SpitTransitionsMotion* self);
+void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self);
+static void spit_transitions_motion_real_reserved7 (SpitTransitionsMotion* self);
+SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self);
+gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self);
+gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self);
+gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self);
+static void spit_transitions_motion_finalize (GObject* obj);
+static void _vala_spit_transitions_motion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+static void _vala_spit_transitions_motion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
+GType spit_pluggable_info_get_type (void) G_GNUC_CONST;
+SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self);
+void spit_pluggable_info_free (SpitPluggableInfo* self);
+void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest);
+void spit_pluggable_info_destroy (SpitPluggableInfo* self);
+GType spit_pluggable_get_type (void) G_GNUC_CONST;
+GType spit_host_interface_get_type (void) G_GNUC_CONST;
+GType spit_transitions_effect_get_type (void) G_GNUC_CONST;
+GType spit_transitions_descriptor_get_type (void) G_GNUC_CONST;
+SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self, SpitHostInterface* host);
+void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved0 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved1 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved2 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved3 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved4 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved5 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved6 (SpitTransitionsDescriptor* self);
+void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self);
+static void spit_transitions_descriptor_real_reserved7 (SpitTransitionsDescriptor* self);
+void spit_transitions_effect_get_fps (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps);
+void spit_transitions_effect_start (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion);
+gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self);
+void spit_transitions_effect_paint (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number);
+void spit_transitions_effect_advance (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number);
+void spit_transitions_effect_cancel (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved0 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved1 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved2 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved3 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved4 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved5 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved6 (SpitTransitionsEffect* self);
+void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self);
+static void spit_transitions_effect_real_reserved7 (SpitTransitionsEffect* self);
+
+
+/**
+ * Direction indicates what direction (animated motion) the {@link Effect} should simulate the
+ * images are moving, if appropriate.
+ *
+ * The direction indicates from what side or corner of the screen the new image should come in from.
+ * Thus, a LEFT slide means the current image exits via the left-hand edge of the screen and the
+ * new image moves into place from the right-hand edge.
+ *
+ * UP, DOWN, and diagonals may be added at some point.
+ */
+GType spit_transitions_direction_get_type (void) {
+ static volatile gsize spit_transitions_direction_type_id__volatile = 0;
+ if (g_once_init_enter (&spit_transitions_direction_type_id__volatile)) {
+ static const GEnumValue values[] = {{SPIT_TRANSITIONS_DIRECTION_LEFT, "SPIT_TRANSITIONS_DIRECTION_LEFT", "left"}, {SPIT_TRANSITIONS_DIRECTION_RIGHT, "SPIT_TRANSITIONS_DIRECTION_RIGHT", "right"}, {SPIT_TRANSITIONS_DIRECTION_FORWARD, "SPIT_TRANSITIONS_DIRECTION_FORWARD", "forward"}, {SPIT_TRANSITIONS_DIRECTION_BACKWARD, "SPIT_TRANSITIONS_DIRECTION_BACKWARD", "backward"}, {0, NULL, NULL}};
+ GType spit_transitions_direction_type_id;
+ spit_transitions_direction_type_id = g_enum_register_static ("SpitTransitionsDirection", values);
+ g_once_init_leave (&spit_transitions_direction_type_id__volatile, spit_transitions_direction_type_id);
+ }
+ return spit_transitions_direction_type_id__volatile;
+}
+
+
+SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type, GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color) {
+ SpitTransitionsVisuals * self = NULL;
+ GdkPixbuf* _tmp0_ = NULL;
+ GdkRectangle _tmp1_ = {0};
+ GdkPixbuf* _tmp2_ = NULL;
+ GdkRectangle _tmp3_ = {0};
+ GdkRGBA _tmp4_ = {0};
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail ((from_pixbuf == NULL) || GDK_IS_PIXBUF (from_pixbuf), NULL);
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (from_pos != NULL, NULL);
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail ((to_pixbuf == NULL) || GDK_IS_PIXBUF (to_pixbuf), NULL);
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (to_pos != NULL, NULL);
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (bg_color != NULL, NULL);
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self = (SpitTransitionsVisuals*) g_object_new (object_type, NULL);
+#line 96 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = from_pixbuf;
+#line 96 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_from_pixbuf (self, _tmp0_);
+#line 97 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp1_ = *from_pos;
+#line 97 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_from_pos (self, &_tmp1_);
+#line 98 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp2_ = to_pixbuf;
+#line 98 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_to_pixbuf (self, _tmp2_);
+#line 99 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp3_ = *to_pos;
+#line 99 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_to_pos (self, &_tmp3_);
+#line 100 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp4_ = *bg_color;
+#line 100 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_bg_color (self, &_tmp4_);
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return self;
+#line 422 "TransitionsInterfaces.c"
+}
+
+
+SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color) {
+#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return spit_transitions_visuals_construct (SPIT_TRANSITIONS_TYPE_VISUALS, from_pixbuf, from_pos, to_pixbuf, to_pos, bg_color);
+#line 429 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved0 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self) {
+#line 106 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 106 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved0 (self);
+#line 442 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved1 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self) {
+#line 107 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 107 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved1 (self);
+#line 455 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved2 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self) {
+#line 108 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 108 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved2 (self);
+#line 468 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved3 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self) {
+#line 109 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 109 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved3 (self);
+#line 481 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved4 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self) {
+#line 110 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 110 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved4 (self);
+#line 494 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved5 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self) {
+#line 111 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 111 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved5 (self);
+#line 507 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved6 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self) {
+#line 112 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 112 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved6 (self);
+#line 520 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_real_reserved7 (SpitTransitionsVisuals* self) {
+}
+
+
+void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self) {
+#line 113 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 113 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved7 (self);
+#line 533 "TransitionsInterfaces.c"
+}
+
+
+GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self) {
+ GdkPixbuf* result;
+ GdkPixbuf* _tmp0_ = NULL;
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self), NULL);
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_from_pixbuf;
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = _tmp0_;
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 548 "TransitionsInterfaces.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 555 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_set_from_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value) {
+ GdkPixbuf* _tmp0_ = NULL;
+ GdkPixbuf* _tmp1_ = NULL;
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = value;
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _g_object_unref0 (self->priv->_from_pixbuf);
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_from_pixbuf = _tmp1_;
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "from-pixbuf");
+#line 574 "TransitionsInterfaces.c"
+}
+
+
+void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self, GdkRectangle* result) {
+ GdkRectangle _tmp0_ = {0};
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_from_pos;
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ *result = _tmp0_;
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return;
+#line 588 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_set_from_pos (SpitTransitionsVisuals* self, GdkRectangle* value) {
+ GdkRectangle _tmp0_ = {0};
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = *value;
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_from_pos = _tmp0_;
+#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "from-pos");
+#line 602 "TransitionsInterfaces.c"
+}
+
+
+GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self) {
+ GdkPixbuf* result;
+ GdkPixbuf* _tmp0_ = NULL;
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self), NULL);
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_to_pixbuf;
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = _tmp0_;
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 617 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_set_to_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value) {
+ GdkPixbuf* _tmp0_ = NULL;
+ GdkPixbuf* _tmp1_ = NULL;
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = value;
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _g_object_unref0 (self->priv->_to_pixbuf);
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_to_pixbuf = _tmp1_;
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "to-pixbuf");
+#line 636 "TransitionsInterfaces.c"
+}
+
+
+void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self, GdkRectangle* result) {
+ GdkRectangle _tmp0_ = {0};
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_to_pos;
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ *result = _tmp0_;
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return;
+#line 650 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_set_to_pos (SpitTransitionsVisuals* self, GdkRectangle* value) {
+ GdkRectangle _tmp0_ = {0};
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = *value;
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_to_pos = _tmp0_;
+#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "to-pos");
+#line 664 "TransitionsInterfaces.c"
+}
+
+
+void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self, GdkRGBA* result) {
+ GdkRGBA _tmp0_ = {0};
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_bg_color;
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ *result = _tmp0_;
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return;
+#line 678 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_set_bg_color (SpitTransitionsVisuals* self, GdkRGBA* value) {
+ GdkRGBA _tmp0_ = {0};
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self));
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = *value;
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_bg_color = _tmp0_;
+#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "bg-color");
+#line 692 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_class_init (SpitTransitionsVisualsClass * klass) {
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_parent_class = g_type_class_peek_parent (klass);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_type_class_add_private (klass, sizeof (SpitTransitionsVisualsPrivate));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved0 = spit_transitions_visuals_real_reserved0;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved1 = spit_transitions_visuals_real_reserved1;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved2 = spit_transitions_visuals_real_reserved2;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved3 = spit_transitions_visuals_real_reserved3;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved4 = spit_transitions_visuals_real_reserved4;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved5 = spit_transitions_visuals_real_reserved5;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved6 = spit_transitions_visuals_real_reserved6;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsVisualsClass *) klass)->reserved7 = spit_transitions_visuals_real_reserved7;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_spit_transitions_visuals_get_property;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (klass)->set_property = _vala_spit_transitions_visuals_set_property;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (klass)->finalize = spit_transitions_visuals_finalize;
+#line 723 "TransitionsInterfaces.c"
+ /**
+ * Returns the starting pixbuf (the pixbuf currently on the display).
+ *
+ * If transitioning from a blank screen, this will return null.
+ */
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF, g_param_spec_object ("from-pixbuf", "from-pixbuf", "from-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 731 "TransitionsInterfaces.c"
+ /**
+ * Returns the position of the starting pixbuf on the display.
+ *
+ * If transitioning from a blank screen, this will be zeroed.
+ */
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_FROM_POS, g_param_spec_boxed ("from-pos", "from-pos", "from-pos", GDK_TYPE_RECTANGLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 739 "TransitionsInterfaces.c"
+ /**
+ * Returns the ending pixbuf (the pixbuf that the transition should result in).
+ *
+ * If transitioning to a blank screen, this will return null.
+ */
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_TO_PIXBUF, g_param_spec_object ("to-pixbuf", "to-pixbuf", "to-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 747 "TransitionsInterfaces.c"
+ /**
+ * Returns the position of the ending pixbuf on the display.
+ *
+ * If transitioning to a blank screen, this will be zeroed.
+ */
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_TO_POS, g_param_spec_boxed ("to-pos", "to-pos", "to-pos", GDK_TYPE_RECTANGLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 755 "TransitionsInterfaces.c"
+ /**
+ * Returns the background color of the viewport.
+ */
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_BG_COLOR, g_param_spec_boxed ("bg-color", "bg-color", "bg-color", gdk_rgba_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 761 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_instance_init (SpitTransitionsVisuals * self) {
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv = SPIT_TRANSITIONS_VISUALS_GET_PRIVATE (self);
+#line 768 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_visuals_finalize (GObject* obj) {
+ SpitTransitionsVisuals * self;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals);
+#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _g_object_unref0 (self->priv->_from_pixbuf);
+#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _g_object_unref0 (self->priv->_to_pixbuf);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (spit_transitions_visuals_parent_class)->finalize (obj);
+#line 782 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Visuals contains the pertinent drawing information for the transition that must occur.
+ *
+ * A Visuals object is supplied to {@link Effect} at the start of the transition and during each
+ * call to paint to the screen.
+ *
+ * Note that if starting with a blank screen, from_pixbuf will be null and from_pos will be
+ * zeroed. The transition should be considered to start from a blank screen of the supplied
+ * background color.
+ *
+ * Also note that if transitioning to a blank screen, to_pixbuf will be null and to_pos will be
+ * zeroed. Like the prior case, the transition should move toward a blank screen of the background
+ * color.
+ */
+GType spit_transitions_visuals_get_type (void) {
+ static volatile gsize spit_transitions_visuals_type_id__volatile = 0;
+ if (g_once_init_enter (&spit_transitions_visuals_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsVisualsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_transitions_visuals_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitTransitionsVisuals), 0, (GInstanceInitFunc) spit_transitions_visuals_instance_init, NULL };
+ GType spit_transitions_visuals_type_id;
+ spit_transitions_visuals_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitTransitionsVisuals", &g_define_type_info, 0);
+ g_once_init_leave (&spit_transitions_visuals_type_id__volatile, spit_transitions_visuals_type_id);
+ }
+ return spit_transitions_visuals_type_id__volatile;
+}
+
+
+static void _vala_spit_transitions_visuals_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ SpitTransitionsVisuals * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ switch (property_id) {
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_object (value, spit_transitions_visuals_get_from_pixbuf (self));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_FROM_POS:
+#line 825 "TransitionsInterfaces.c"
+ {
+ GdkRectangle boxed;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_get_from_pos (self, &boxed);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_boxed (value, &boxed);
+#line 832 "TransitionsInterfaces.c"
+ }
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_TO_PIXBUF:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_object (value, spit_transitions_visuals_get_to_pixbuf (self));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_TO_POS:
+#line 844 "TransitionsInterfaces.c"
+ {
+ GdkRectangle boxed;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_get_to_pos (self, &boxed);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_boxed (value, &boxed);
+#line 851 "TransitionsInterfaces.c"
+ }
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_BG_COLOR:
+#line 857 "TransitionsInterfaces.c"
+ {
+ GdkRGBA boxed;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_get_bg_color (self, &boxed);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_boxed (value, &boxed);
+#line 864 "TransitionsInterfaces.c"
+ }
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 868 "TransitionsInterfaces.c"
+ default:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 874 "TransitionsInterfaces.c"
+ }
+}
+
+
+static void _vala_spit_transitions_visuals_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
+ SpitTransitionsVisuals * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ switch (property_id) {
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_from_pixbuf (self, g_value_get_object (value));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_FROM_POS:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_from_pos (self, g_value_get_boxed (value));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_TO_PIXBUF:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_to_pixbuf (self, g_value_get_object (value));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_TO_POS:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_to_pos (self, g_value_get_boxed (value));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_VISUALS_BG_COLOR:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_visuals_set_bg_color (self, g_value_get_boxed (value));
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 914 "TransitionsInterfaces.c"
+ default:
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 920 "TransitionsInterfaces.c"
+ }
+}
+
+
+SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type, SpitTransitionsDirection direction, gint fps, gint duration_msec) {
+ SpitTransitionsMotion * self = NULL;
+ SpitTransitionsDirection _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self = (SpitTransitionsMotion*) g_object_new (object_type, NULL);
+#line 158 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = direction;
+#line 158 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_set_direction (self, _tmp0_);
+#line 159 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp1_ = fps;
+#line 159 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_set_fps (self, _tmp1_);
+#line 160 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp2_ = duration_msec;
+#line 160 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_set_duration_msec (self, _tmp2_);
+#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return self;
+#line 946 "TransitionsInterfaces.c"
+}
+
+
+SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction, gint fps, gint duration_msec) {
+#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return spit_transitions_motion_construct (SPIT_TRANSITIONS_TYPE_MOTION, direction, fps, duration_msec);
+#line 953 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Returns a value from 0.0 to 1.0 that represents the percentage of the transition's completion
+ * for the specified frame.
+ */
+gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number) {
+ gdouble result = 0.0;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 167 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0.0);
+#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = frame_number;
+#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp1_ = spit_transitions_motion_get_total_frames (self);
+#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp2_ = _tmp1_;
+#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = ((gdouble) _tmp0_) / ((gdouble) _tmp2_);
+#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 978 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved0 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self) {
+#line 174 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 174 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved0 (self);
+#line 991 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved1 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self) {
+#line 175 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 175 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved1 (self);
+#line 1004 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved2 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self) {
+#line 176 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 176 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved2 (self);
+#line 1017 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved3 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self) {
+#line 177 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 177 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved3 (self);
+#line 1030 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved4 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self) {
+#line 178 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 178 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved4 (self);
+#line 1043 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved5 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self) {
+#line 179 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 179 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved5 (self);
+#line 1056 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved6 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self) {
+#line 180 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 180 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved6 (self);
+#line 1069 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_real_reserved7 (SpitTransitionsMotion* self) {
+}
+
+
+void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self) {
+#line 181 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 181 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved7 (self);
+#line 1082 "TransitionsInterfaces.c"
+}
+
+
+SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self) {
+ SpitTransitionsDirection result;
+ SpitTransitionsDirection _tmp0_ = 0;
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0);
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_direction;
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = _tmp0_;
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 1097 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_set_direction (SpitTransitionsMotion* self, SpitTransitionsDirection value) {
+ SpitTransitionsDirection _tmp0_ = 0;
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = value;
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_direction = _tmp0_;
+#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "direction");
+#line 1111 "TransitionsInterfaces.c"
+}
+
+
+gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self) {
+ gint result;
+ gint _tmp0_ = 0;
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0);
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_fps;
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = _tmp0_;
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 1126 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_set_fps (SpitTransitionsMotion* self, gint value) {
+ gint _tmp0_ = 0;
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = value;
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_fps = _tmp0_;
+#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "fps");
+#line 1140 "TransitionsInterfaces.c"
+}
+
+
+gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self) {
+ gint result;
+ gint _tmp0_ = 0;
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0);
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_duration_msec;
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = _tmp0_;
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 1155 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_set_duration_msec (SpitTransitionsMotion* self, gint value) {
+ gint _tmp0_ = 0;
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self));
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = value;
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv->_duration_msec = _tmp0_;
+#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_notify ((GObject *) self, "duration-msec");
+#line 1169 "TransitionsInterfaces.c"
+}
+
+
+gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self) {
+ gint result;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+#line 143 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0);
+#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_fps;
+#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp1_ = self->priv->_duration_msec;
+#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = (gint) (((gdouble) _tmp0_) * (((gdouble) _tmp1_) / 1000.0));
+#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 1187 "TransitionsInterfaces.c"
+}
+
+
+gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self) {
+ gint result;
+ gint _tmp0_ = 0;
+#line 152 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0);
+#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ _tmp0_ = self->priv->_fps;
+#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ result = (gint) (1000.0 / ((gdouble) _tmp0_));
+#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return result;
+#line 1202 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_class_init (SpitTransitionsMotionClass * klass) {
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_parent_class = g_type_class_peek_parent (klass);
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_type_class_add_private (klass, sizeof (SpitTransitionsMotionPrivate));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved0 = spit_transitions_motion_real_reserved0;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved1 = spit_transitions_motion_real_reserved1;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved2 = spit_transitions_motion_real_reserved2;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved3 = spit_transitions_motion_real_reserved3;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved4 = spit_transitions_motion_real_reserved4;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved5 = spit_transitions_motion_real_reserved5;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved6 = spit_transitions_motion_real_reserved6;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ ((SpitTransitionsMotionClass *) klass)->reserved7 = spit_transitions_motion_real_reserved7;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_spit_transitions_motion_get_property;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (klass)->set_property = _vala_spit_transitions_motion_set_property;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (klass)->finalize = spit_transitions_motion_finalize;
+#line 1233 "TransitionsInterfaces.c"
+ /**
+ * Returns the direction the transition should occur in (if pertinent to the {@link Effect}.
+ */
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_DIRECTION, g_param_spec_enum ("direction", "direction", "direction", SPIT_TRANSITIONS_TYPE_DIRECTION, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1239 "TransitionsInterfaces.c"
+ /**
+ * Returns the frames per second of the {@link Effect}.
+ */
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_FPS, g_param_spec_int ("fps", "fps", "fps", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1245 "TransitionsInterfaces.c"
+ /**
+ * Returns the amount of time the transition should take (in milliseconds).
+ */
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_DURATION_MSEC, g_param_spec_int ("duration-msec", "duration-msec", "duration-msec", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1251 "TransitionsInterfaces.c"
+ /**
+ * Returns the number of frames that should be required to perform the transition in the
+ * expected {@link duration_msec}.
+ */
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES, g_param_spec_int ("total-frames", "total-frames", "total-frames", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1258 "TransitionsInterfaces.c"
+ /**
+ * Returns the approximate time between each frame draw (in milliseconds).
+ */
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_TICK_MSEC, g_param_spec_int ("tick-msec", "tick-msec", "tick-msec", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1264 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_instance_init (SpitTransitionsMotion * self) {
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self->priv = SPIT_TRANSITIONS_MOTION_GET_PRIVATE (self);
+#line 1271 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_motion_finalize (GObject* obj) {
+ SpitTransitionsMotion * self;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion);
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_CLASS (spit_transitions_motion_parent_class)->finalize (obj);
+#line 1281 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Motion contains all the pertinent information regarding the animation of the transition.
+ *
+ * Some of Motion's information may not apply to a transition effect (such as Direction for a
+ * fade effect).
+ */
+GType spit_transitions_motion_get_type (void) {
+ static volatile gsize spit_transitions_motion_type_id__volatile = 0;
+ if (g_once_init_enter (&spit_transitions_motion_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsMotionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_transitions_motion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitTransitionsMotion), 0, (GInstanceInitFunc) spit_transitions_motion_instance_init, NULL };
+ GType spit_transitions_motion_type_id;
+ spit_transitions_motion_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitTransitionsMotion", &g_define_type_info, 0);
+ g_once_init_leave (&spit_transitions_motion_type_id__volatile, spit_transitions_motion_type_id);
+ }
+ return spit_transitions_motion_type_id__volatile;
+}
+
+
+static void _vala_spit_transitions_motion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ SpitTransitionsMotion * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion);
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ switch (property_id) {
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_DIRECTION:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_enum (value, spit_transitions_motion_get_direction (self));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_FPS:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_int (value, spit_transitions_motion_get_fps (self));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_DURATION_MSEC:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_int (value, spit_transitions_motion_get_duration_msec (self));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_int (value, spit_transitions_motion_get_total_frames (self));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_TICK_MSEC:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_value_set_int (value, spit_transitions_motion_get_tick_msec (self));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 1338 "TransitionsInterfaces.c"
+ default:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 1344 "TransitionsInterfaces.c"
+ }
+}
+
+
+static void _vala_spit_transitions_motion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
+ SpitTransitionsMotion * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion);
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ switch (property_id) {
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_DIRECTION:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_set_direction (self, g_value_get_enum (value));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_FPS:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_set_fps (self, g_value_get_int (value));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ case SPIT_TRANSITIONS_MOTION_DURATION_MSEC:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ spit_transitions_motion_set_duration_msec (self, g_value_get_int (value));
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 1372 "TransitionsInterfaces.c"
+ default:
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ break;
+#line 1378 "TransitionsInterfaces.c"
+ }
+}
+
+
+/**
+ * Returns an instance of the {@link Effect} this descriptor represents.
+ */
+SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self, SpitHostInterface* host) {
+#line 191 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self), NULL);
+#line 191 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->create (self, host);
+#line 1391 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved0 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self) {
+#line 196 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 196 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved0 (self);
+#line 1404 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved1 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self) {
+#line 197 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 197 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved1 (self);
+#line 1417 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved2 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self) {
+#line 198 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 198 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved2 (self);
+#line 1430 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved3 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self) {
+#line 199 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 199 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved3 (self);
+#line 1443 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved4 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self) {
+#line 200 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 200 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved4 (self);
+#line 1456 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved5 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self) {
+#line 201 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 201 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved5 (self);
+#line 1469 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved6 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self) {
+#line 202 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 202 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved6 (self);
+#line 1482 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_real_reserved7 (SpitTransitionsDescriptor* self) {
+}
+
+
+void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self) {
+#line 203 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self));
+#line 203 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved7 (self);
+#line 1495 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_descriptor_base_init (SpitTransitionsDescriptorIface * iface) {
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ static gboolean initialized = FALSE;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ if (!initialized) {
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ initialized = TRUE;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved0 = spit_transitions_descriptor_real_reserved0;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved1 = spit_transitions_descriptor_real_reserved1;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved2 = spit_transitions_descriptor_real_reserved2;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved3 = spit_transitions_descriptor_real_reserved3;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved4 = spit_transitions_descriptor_real_reserved4;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved5 = spit_transitions_descriptor_real_reserved5;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved6 = spit_transitions_descriptor_real_reserved6;
+#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved7 = spit_transitions_descriptor_real_reserved7;
+#line 1522 "TransitionsInterfaces.c"
+ }
+}
+
+
+/**
+ * A Descriptor offers a factory method for creating {@link Effect} instances.
+ */
+GType spit_transitions_descriptor_get_type (void) {
+ static volatile gsize spit_transitions_descriptor_type_id__volatile = 0;
+ if (g_once_init_enter (&spit_transitions_descriptor_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsDescriptorIface), (GBaseInitFunc) spit_transitions_descriptor_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
+ GType spit_transitions_descriptor_type_id;
+ spit_transitions_descriptor_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitTransitionsDescriptor", &g_define_type_info, 0);
+ g_type_interface_add_prerequisite (spit_transitions_descriptor_type_id, G_TYPE_OBJECT);
+ g_type_interface_add_prerequisite (spit_transitions_descriptor_type_id, SPIT_TYPE_PLUGGABLE);
+ g_once_init_leave (&spit_transitions_descriptor_type_id__volatile, spit_transitions_descriptor_type_id);
+ }
+ return spit_transitions_descriptor_type_id__volatile;
+}
+
+
+/**
+ * Returns frames per second (FPS) information for this effect.
+ *
+ * If the min_fps is not met, the Effect may be cancelled or the host will skip ahead.
+ *
+ * @param desired_fps The desired FPS of the transition. Return zero if no
+ * transition is to occur (instantaneous or null transition).
+ * @param min_fps The minimum FPS before the effect is consider "ruined".
+ * Return zero if any FPS is acceptable.
+ */
+void spit_transitions_effect_get_fps (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps) {
+#line 240 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 240 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->get_fps (self, desired_fps, min_fps);
+#line 1559 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Called when the effect is starting.
+ *
+ * All state should be reset. The frame number, which is not supplied, is one.
+ */
+void spit_transitions_effect_start (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) {
+#line 247 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 247 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->start (self, visuals, motion);
+#line 1573 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Return true if the Effect needs the background cleared prior to calling {@link paint}.
+ */
+gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self) {
+#line 252 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_val_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self), FALSE);
+#line 252 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ return SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->needs_clear_background (self);
+#line 1585 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Called when the effect needs to paint (i.e. an expose or draw event has occurred).
+ *
+ * This call should ''not'' advance the state of the effect (i.e. it may be called more than
+ * once for the same frame).
+ *
+ * @param ctx The Cairo context the Effect should use to paint the transition.
+ * @param width The width (in pixels) of the Cairo surface.
+ * @param height The height (in pixels) of the Cairo surface.
+ * @param frame_number The ''one-based'' frame being drawn.
+ */
+void spit_transitions_effect_paint (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) {
+#line 265 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 265 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->paint (self, visuals, motion, ctx, width, height, frame_number);
+#line 1605 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Called to notify the effect that the state of the transition should advance to the specified
+ * frame number.
+ *
+ * Note: There is no guarantee frame numbers will be consecutive between calls
+ * to next, especially if the transition clock is attempting to catch up.
+ *
+ * @param frame_number The ''one-based'' frame being advanced to.
+ */
+void spit_transitions_effect_advance (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) {
+#line 277 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 277 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->advance (self, visuals, motion, frame_number);
+#line 1623 "TransitionsInterfaces.c"
+}
+
+
+/**
+ * Called if the Effect should halt the transition.
+ *
+ * It only needs to reset state if {@link start} is called again.
+ */
+void spit_transitions_effect_cancel (SpitTransitionsEffect* self) {
+#line 284 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 284 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->cancel (self);
+#line 1637 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved0 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self) {
+#line 289 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 289 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved0 (self);
+#line 1650 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved1 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self) {
+#line 290 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 290 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved1 (self);
+#line 1663 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved2 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self) {
+#line 291 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 291 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved2 (self);
+#line 1676 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved3 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self) {
+#line 292 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 292 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved3 (self);
+#line 1689 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved4 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self) {
+#line 293 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 293 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved4 (self);
+#line 1702 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved5 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self) {
+#line 294 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 294 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved5 (self);
+#line 1715 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved6 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self) {
+#line 295 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 295 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved6 (self);
+#line 1728 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_real_reserved7 (SpitTransitionsEffect* self) {
+}
+
+
+void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self) {
+#line 296 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self));
+#line 296 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved7 (self);
+#line 1741 "TransitionsInterfaces.c"
+}
+
+
+static void spit_transitions_effect_base_init (SpitTransitionsEffectIface * iface) {
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ static gboolean initialized = FALSE;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ if (!initialized) {
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ initialized = TRUE;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved0 = spit_transitions_effect_real_reserved0;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved1 = spit_transitions_effect_real_reserved1;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved2 = spit_transitions_effect_real_reserved2;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved3 = spit_transitions_effect_real_reserved3;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved4 = spit_transitions_effect_real_reserved4;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved5 = spit_transitions_effect_real_reserved5;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved6 = spit_transitions_effect_real_reserved6;
+#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala"
+ iface->reserved7 = spit_transitions_effect_real_reserved7;
+#line 1768 "TransitionsInterfaces.c"
+ }
+}
+
+
+/**
+ * An Effect represents an interstitial effect that is used to transition the display from one
+ * image to another.
+ *
+ * An Effect must hold state so that it knows what it should be drawn at any call to {@link paint}
+ * (which is called regularly during a transition). That is, it should be able to draw any frame of
+ * the transition at any time. The same frame may need to be drawn multiple times, or the host
+ * may skip ahead and ask for a frame well ahead of the last requested one.
+ *
+ * ''Frame numbers are one-based throughout this interface''. This is because the initial state (the
+ * blank viewport or the starting pixbuf) is frame zero. The Effect is never called to paint this
+ * frame. The Effect is also not called to paint the final frame (a blank viewport or the ending
+ * pixbuf).
+ *
+ * If the Effect uses background threads for its work, it should use the appropriate primitives
+ * for critical sections. All calls to this interface will be from the context of the main UI
+ * thread. ''None of these calls should block.''
+ *
+ * If the Details object needs to be held by the Effect, its reference to it should be dropped at
+ * the end of the cycle (or shortly thereafter).
+ *
+ * An instance may be reused and should be prepared for restarts.
+ */
+GType spit_transitions_effect_get_type (void) {
+ static volatile gsize spit_transitions_effect_type_id__volatile = 0;
+ if (g_once_init_enter (&spit_transitions_effect_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsEffectIface), (GBaseInitFunc) spit_transitions_effect_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
+ GType spit_transitions_effect_type_id;
+ spit_transitions_effect_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitTransitionsEffect", &g_define_type_info, 0);
+ g_type_interface_add_prerequisite (spit_transitions_effect_type_id, G_TYPE_OBJECT);
+ g_once_init_leave (&spit_transitions_effect_type_id__volatile, spit_transitions_effect_type_id);
+ }
+ return spit_transitions_effect_type_id__volatile;
+}
+
+
+