diff options
Diffstat (limited to 'plugins/shotwell-transitions/CircleEffect.c')
-rw-r--r-- | plugins/shotwell-transitions/CircleEffect.c | 524 |
1 files changed, 524 insertions, 0 deletions
diff --git a/plugins/shotwell-transitions/CircleEffect.c b/plugins/shotwell-transitions/CircleEffect.c new file mode 100644 index 0000000..0bd66ef --- /dev/null +++ b/plugins/shotwell-transitions/CircleEffect.c @@ -0,0 +1,524 @@ +/* CircleEffect.c generated by valac 0.32.1, the Vala compiler + * generated from CircleEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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 <shotwell-plugin-dev-1.0.h> +#include <stdlib.h> +#include <string.h> +#include <gio/gio.h> +#include <glib/gi18n-lib.h> +#include <cairo.h> +#include <float.h> +#include <math.h> +#include <gdk/gdk.h> + + +#define TYPE_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_CIRCLE_EFFECT_DESCRIPTOR (circle_effect_descriptor_get_type ()) +#define CIRCLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor)) +#define CIRCLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptorClass)) +#define IS_CIRCLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR)) +#define IS_CIRCLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLE_EFFECT_DESCRIPTOR)) +#define CIRCLE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptorClass)) + +typedef struct _CircleEffectDescriptor CircleEffectDescriptor; +typedef struct _CircleEffectDescriptorClass CircleEffectDescriptorClass; +typedef struct _CircleEffectDescriptorPrivate CircleEffectDescriptorPrivate; + +#define TYPE_CIRCLE_EFFECT (circle_effect_get_type ()) +#define CIRCLE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLE_EFFECT, CircleEffect)) +#define CIRCLE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLE_EFFECT, CircleEffectClass)) +#define IS_CIRCLE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLE_EFFECT)) +#define IS_CIRCLE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLE_EFFECT)) +#define CIRCLE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLE_EFFECT, CircleEffectClass)) + +typedef struct _CircleEffect CircleEffect; +typedef struct _CircleEffectClass CircleEffectClass; +typedef struct _CircleEffectPrivate CircleEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _CircleEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + CircleEffectDescriptorPrivate * priv; +}; + +struct _CircleEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _CircleEffect { + GObject parent_instance; + CircleEffectPrivate * priv; +}; + +struct _CircleEffectClass { + GObjectClass parent_class; +}; + + +static gpointer circle_effect_descriptor_parent_class = NULL; +static gpointer circle_effect_parent_class = NULL; +static SpitTransitionsEffectIface* circle_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType circle_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CIRCLE_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +CircleEffectDescriptor* circle_effect_descriptor_new (GFile* resource_directory); +CircleEffectDescriptor* circle_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* circle_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* circle_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* circle_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +CircleEffect* circle_effect_new (void); +CircleEffect* circle_effect_construct (GType object_type); +GType circle_effect_get_type (void) G_GNUC_CONST; +enum { + CIRCLE_EFFECT_DUMMY_PROPERTY +}; +#define CIRCLE_EFFECT_DESIRED_FPS 25 +#define CIRCLE_EFFECT_MIN_FPS 15 +static void circle_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void circle_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean circle_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void circle_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void circle_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void circle_effect_real_cancel (SpitTransitionsEffect* base); + + +CircleEffectDescriptor* circle_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + CircleEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = (CircleEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return self; +#line 131 "CircleEffect.c" +} + + +CircleEffectDescriptor* circle_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return circle_effect_descriptor_construct (TYPE_CIRCLE_EFFECT_DESCRIPTOR, resource_directory); +#line 138 "CircleEffect.c" +} + + +static const gchar* circle_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + CircleEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = "org.yorba.shotwell.transitions.circle"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 151 "CircleEffect.c" +} + + +static const gchar* circle_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + CircleEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = _ ("Circle"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 167 "CircleEffect.c" +} + + +static SpitTransitionsEffect* circle_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + CircleEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + CircleEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = circle_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 185 "CircleEffect.c" +} + + +static void circle_effect_descriptor_class_init (CircleEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + circle_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = circle_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = circle_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = circle_effect_descriptor_real_create; +#line 198 "CircleEffect.c" +} + + +static void circle_effect_descriptor_instance_init (CircleEffectDescriptor * self) { +} + + +GType circle_effect_descriptor_get_type (void) { + static volatile gsize circle_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&circle_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CircleEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circle_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CircleEffectDescriptor), 0, (GInstanceInitFunc) circle_effect_descriptor_instance_init, NULL }; + GType circle_effect_descriptor_type_id; + circle_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "CircleEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&circle_effect_descriptor_type_id__volatile, circle_effect_descriptor_type_id); + } + return circle_effect_descriptor_type_id__volatile; +} + + +CircleEffect* circle_effect_construct (GType object_type) { + CircleEffect * self = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = (CircleEffect*) g_object_new (object_type, NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return self; +#line 224 "CircleEffect.c" +} + + +CircleEffect* circle_effect_new (void) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return circle_effect_construct (TYPE_CIRCLE_EFFECT); +#line 231 "CircleEffect.c" +} + + +static void circle_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + CircleEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _vala_desired_fps = CIRCLE_EFFECT_DESIRED_FPS; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _vala_min_fps = CIRCLE_EFFECT_MIN_FPS; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (desired_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + *desired_fps = _vala_desired_fps; +#line 249 "CircleEffect.c" + } +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (min_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + *min_fps = _vala_min_fps; +#line 255 "CircleEffect.c" + } +} + + +static void circle_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + CircleEffect * self; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 268 "CircleEffect.c" +} + + +static gboolean circle_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + CircleEffect * self; + gboolean result = FALSE; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = TRUE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 281 "CircleEffect.c" +} + + +static void circle_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + CircleEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gint radius = 0; + gdouble _tmp3_ = 0.0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gdouble _tmp6_ = 0.0; + SpitTransitionsVisuals* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (ctx != NULL); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = motion; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp1_ = frame_number; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + alpha = _tmp2_; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp3_ = alpha; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp4_ = width; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp5_ = height; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp6_ = fmax ((gdouble) _tmp4_, (gdouble) _tmp5_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + radius = (gint) (_tmp3_ * _tmp6_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp7_ = visuals; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp8_ = spit_transitions_visuals_get_from_pixbuf (_tmp7_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp9_ = _tmp8_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (_tmp9_ != NULL) { +#line 336 "CircleEffect.c" + cairo_t* _tmp10_ = NULL; + SpitTransitionsVisuals* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + SpitTransitionsVisuals* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + SpitTransitionsVisuals* _tmp18_ = NULL; + GdkRectangle _tmp19_ = {0}; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + cairo_t* _tmp22_ = NULL; + gdouble _tmp23_ = 0.0; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp10_ = ctx; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp11_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp12_ = spit_transitions_visuals_get_from_pixbuf (_tmp11_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp13_ = _tmp12_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp14_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp14_, &_tmp15_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp16_ = _tmp15_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp17_ = _tmp16_.x; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp18_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp18_, &_tmp19_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp20_ = _tmp19_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp21_ = _tmp20_.y; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp10_, _tmp13_, (gdouble) _tmp17_, (gdouble) _tmp21_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp22_ = ctx; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp23_ = alpha; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_paint_with_alpha (_tmp22_, 1 - _tmp23_); +#line 383 "CircleEffect.c" + } +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp24_ = visuals; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp25_ = spit_transitions_visuals_get_to_pixbuf (_tmp24_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp26_ = _tmp25_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (_tmp26_ != NULL) { +#line 393 "CircleEffect.c" + cairo_t* _tmp27_ = NULL; + SpitTransitionsVisuals* _tmp28_ = NULL; + GdkPixbuf* _tmp29_ = NULL; + GdkPixbuf* _tmp30_ = NULL; + SpitTransitionsVisuals* _tmp31_ = NULL; + GdkRectangle _tmp32_ = {0}; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + SpitTransitionsVisuals* _tmp35_ = NULL; + GdkRectangle _tmp36_ = {0}; + GdkRectangle _tmp37_ = {0}; + gint _tmp38_ = 0; + cairo_t* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + cairo_t* _tmp43_ = NULL; + cairo_t* _tmp44_ = NULL; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp27_ = ctx; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp28_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp29_ = spit_transitions_visuals_get_to_pixbuf (_tmp28_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp30_ = _tmp29_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp31_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp31_, &_tmp32_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp33_ = _tmp32_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp34_ = _tmp33_.x; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp35_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp35_, &_tmp36_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp37_ = _tmp36_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp38_ = _tmp37_.y; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp27_, _tmp30_, (gdouble) _tmp34_, (gdouble) _tmp38_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp39_ = ctx; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp40_ = width; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp41_ = height; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp42_ = radius; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_arc (_tmp39_, (gdouble) (((gint) _tmp40_) / 2), (gdouble) (((gint) _tmp41_) / 2), (gdouble) _tmp42_, (gdouble) 0, 2 * G_PI); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp43_ = ctx; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_clip (_tmp43_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp44_ = ctx; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_paint (_tmp44_); +#line 456 "CircleEffect.c" + } +} + + +static void circle_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + CircleEffect * self; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 469 "CircleEffect.c" +} + + +static void circle_effect_real_cancel (SpitTransitionsEffect* base) { + CircleEffect * self; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 477 "CircleEffect.c" +} + + +static void circle_effect_class_init (CircleEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + circle_effect_parent_class = g_type_class_peek_parent (klass); +#line 484 "CircleEffect.c" +} + + +static void circle_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + circle_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) circle_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) circle_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) circle_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) circle_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) circle_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) circle_effect_real_cancel; +#line 503 "CircleEffect.c" +} + + +static void circle_effect_instance_init (CircleEffect * self) { +} + + +GType circle_effect_get_type (void) { + static volatile gsize circle_effect_type_id__volatile = 0; + if (g_once_init_enter (&circle_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CircleEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circle_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CircleEffect), 0, (GInstanceInitFunc) circle_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) circle_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType circle_effect_type_id; + circle_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "CircleEffect", &g_define_type_info, 0); + g_type_add_interface_static (circle_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&circle_effect_type_id__volatile, circle_effect_type_id); + } + return circle_effect_type_id__volatile; +} + + + |