diff options
Diffstat (limited to 'plugins/shotwell-transitions/CirclesEffect.c')
-rw-r--r-- | plugins/shotwell-transitions/CirclesEffect.c | 658 |
1 files changed, 658 insertions, 0 deletions
diff --git a/plugins/shotwell-transitions/CirclesEffect.c b/plugins/shotwell-transitions/CirclesEffect.c new file mode 100644 index 0000000..542de61 --- /dev/null +++ b/plugins/shotwell-transitions/CirclesEffect.c @@ -0,0 +1,658 @@ +/* CirclesEffect.c generated by valac 0.32.1, the Vala compiler + * generated from CirclesEffect.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 <float.h> +#include <math.h> +#include <cairo.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_CIRCLES_EFFECT_DESCRIPTOR (circles_effect_descriptor_get_type ()) +#define CIRCLES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor)) +#define CIRCLES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptorClass)) +#define IS_CIRCLES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR)) +#define IS_CIRCLES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLES_EFFECT_DESCRIPTOR)) +#define CIRCLES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptorClass)) + +typedef struct _CirclesEffectDescriptor CirclesEffectDescriptor; +typedef struct _CirclesEffectDescriptorClass CirclesEffectDescriptorClass; +typedef struct _CirclesEffectDescriptorPrivate CirclesEffectDescriptorPrivate; + +#define TYPE_CIRCLES_EFFECT (circles_effect_get_type ()) +#define CIRCLES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLES_EFFECT, CirclesEffect)) +#define CIRCLES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLES_EFFECT, CirclesEffectClass)) +#define IS_CIRCLES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLES_EFFECT)) +#define IS_CIRCLES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLES_EFFECT)) +#define CIRCLES_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLES_EFFECT, CirclesEffectClass)) + +typedef struct _CirclesEffect CirclesEffect; +typedef struct _CirclesEffectClass CirclesEffectClass; +typedef struct _CirclesEffectPrivate CirclesEffectPrivate; + +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 _CirclesEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + CirclesEffectDescriptorPrivate * priv; +}; + +struct _CirclesEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _CirclesEffect { + GObject parent_instance; + CirclesEffectPrivate * priv; +}; + +struct _CirclesEffectClass { + GObjectClass parent_class; +}; + + +static gpointer circles_effect_descriptor_parent_class = NULL; +static gpointer circles_effect_parent_class = NULL; +static SpitTransitionsEffectIface* circles_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType circles_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CIRCLES_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +CirclesEffectDescriptor* circles_effect_descriptor_new (GFile* resource_directory); +CirclesEffectDescriptor* circles_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* circles_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* circles_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* circles_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +CirclesEffect* circles_effect_new (void); +CirclesEffect* circles_effect_construct (GType object_type); +GType circles_effect_get_type (void) G_GNUC_CONST; +enum { + CIRCLES_EFFECT_DUMMY_PROPERTY +}; +#define CIRCLES_EFFECT_DESIRED_FPS 25 +#define CIRCLES_EFFECT_MIN_FPS 15 +#define CIRCLES_EFFECT_SPEED 2.5 +static void circles_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void circles_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean circles_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void circles_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void circles_effect_real_cancel (SpitTransitionsEffect* base); + + +CirclesEffectDescriptor* circles_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + CirclesEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = (CirclesEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return self; +#line 132 "CirclesEffect.c" +} + + +CirclesEffectDescriptor* circles_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return circles_effect_descriptor_construct (TYPE_CIRCLES_EFFECT_DESCRIPTOR, resource_directory); +#line 139 "CirclesEffect.c" +} + + +static const gchar* circles_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + CirclesEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = "org.yorba.shotwell.transitions.circles"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 152 "CirclesEffect.c" +} + + +static const gchar* circles_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + CirclesEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = _ ("Circles"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 168 "CirclesEffect.c" +} + + +static SpitTransitionsEffect* circles_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + CirclesEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + CirclesEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = circles_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 186 "CirclesEffect.c" +} + + +static void circles_effect_descriptor_class_init (CirclesEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circles_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = circles_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = circles_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = circles_effect_descriptor_real_create; +#line 199 "CirclesEffect.c" +} + + +static void circles_effect_descriptor_instance_init (CirclesEffectDescriptor * self) { +} + + +GType circles_effect_descriptor_get_type (void) { + static volatile gsize circles_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&circles_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CirclesEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circles_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CirclesEffectDescriptor), 0, (GInstanceInitFunc) circles_effect_descriptor_instance_init, NULL }; + GType circles_effect_descriptor_type_id; + circles_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "CirclesEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&circles_effect_descriptor_type_id__volatile, circles_effect_descriptor_type_id); + } + return circles_effect_descriptor_type_id__volatile; +} + + +CirclesEffect* circles_effect_construct (GType object_type) { + CirclesEffect * self = NULL; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = (CirclesEffect*) g_object_new (object_type, NULL); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return self; +#line 225 "CirclesEffect.c" +} + + +CirclesEffect* circles_effect_new (void) { +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return circles_effect_construct (TYPE_CIRCLES_EFFECT); +#line 232 "CirclesEffect.c" +} + + +static void circles_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + CirclesEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _vala_desired_fps = CIRCLES_EFFECT_DESIRED_FPS; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _vala_min_fps = CIRCLES_EFFECT_MIN_FPS; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (desired_fps) { +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + *desired_fps = _vala_desired_fps; +#line 250 "CirclesEffect.c" + } +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (min_fps) { +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + *min_fps = _vala_min_fps; +#line 256 "CirclesEffect.c" + } +} + + +static void circles_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + CirclesEffect * self; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 269 "CirclesEffect.c" +} + + +static gboolean circles_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + CirclesEffect * self; + gboolean result = FALSE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = TRUE; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 282 "CirclesEffect.c" +} + + +static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + CirclesEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gint distance = 0; + gint radius = 0; + gint circleCountX = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint circleCountY = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gdouble maxRadius = 0.0; + gint _tmp7_ = 0; + SpitTransitionsVisuals* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + SpitTransitionsVisuals* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (ctx != NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = motion; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp1_ = frame_number; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + alpha = _tmp2_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + distance = 60; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp3_ = width; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp4_ = distance; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circleCountX = _tmp3_ / (2 * _tmp4_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp5_ = height; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp6_ = distance; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circleCountY = _tmp5_ / _tmp6_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp7_ = distance; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + maxRadius = CIRCLES_EFFECT_SPEED * _tmp7_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp8_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp9_ = spit_transitions_visuals_get_from_pixbuf (_tmp8_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp10_ = _tmp9_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (_tmp10_ != NULL) { +#line 350 "CirclesEffect.c" + cairo_t* _tmp11_ = NULL; + SpitTransitionsVisuals* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + SpitTransitionsVisuals* _tmp15_ = NULL; + GdkRectangle _tmp16_ = {0}; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + SpitTransitionsVisuals* _tmp19_ = NULL; + GdkRectangle _tmp20_ = {0}; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + cairo_t* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp11_ = ctx; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp12_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp13_ = spit_transitions_visuals_get_from_pixbuf (_tmp12_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp14_ = _tmp13_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp15_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp15_, &_tmp16_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp17_ = _tmp16_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp18_ = _tmp17_.x; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp19_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp19_, &_tmp20_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp21_ = _tmp20_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp22_ = _tmp21_.y; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp11_, _tmp14_, (gdouble) _tmp18_, (gdouble) _tmp22_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp23_ = ctx; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp24_ = alpha; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_paint_with_alpha (_tmp23_, 1 - _tmp24_); +#line 397 "CirclesEffect.c" + } +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp25_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp26_ = spit_transitions_visuals_get_to_pixbuf (_tmp25_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp27_ = _tmp26_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (_tmp27_ != NULL) { +#line 407 "CirclesEffect.c" + cairo_t* _tmp28_ = NULL; + SpitTransitionsVisuals* _tmp29_ = NULL; + GdkPixbuf* _tmp30_ = NULL; + GdkPixbuf* _tmp31_ = NULL; + SpitTransitionsVisuals* _tmp32_ = NULL; + GdkRectangle _tmp33_ = {0}; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + SpitTransitionsVisuals* _tmp36_ = NULL; + GdkRectangle _tmp37_ = {0}; + GdkRectangle _tmp38_ = {0}; + gint _tmp39_ = 0; + cairo_t* _tmp63_ = NULL; + cairo_t* _tmp64_ = NULL; + gdouble _tmp65_ = 0.0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp28_ = ctx; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp29_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp30_ = spit_transitions_visuals_get_to_pixbuf (_tmp29_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp31_ = _tmp30_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp32_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp32_, &_tmp33_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp34_ = _tmp33_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp35_ = _tmp34_.x; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp36_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp36_, &_tmp37_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp38_ = _tmp37_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp39_ = _tmp38_.y; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp28_, _tmp31_, (gdouble) _tmp35_, (gdouble) _tmp39_); +#line 449 "CirclesEffect.c" + { + gint y = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + y = 0; +#line 454 "CirclesEffect.c" + { + gboolean _tmp40_ = FALSE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp40_ = TRUE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + while (TRUE) { +#line 461 "CirclesEffect.c" + gint _tmp42_ = 0; + gint _tmp43_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!_tmp40_) { +#line 466 "CirclesEffect.c" + gint _tmp41_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp41_ = y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + y = _tmp41_ + 1; +#line 472 "CirclesEffect.c" + } +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp40_ = FALSE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp42_ = y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp43_ = circleCountY; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!(_tmp42_ <= _tmp43_)) { +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + break; +#line 484 "CirclesEffect.c" + } + { + gint x = 0; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + x = 0; +#line 490 "CirclesEffect.c" + { + gboolean _tmp44_ = FALSE; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp44_ = TRUE; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + while (TRUE) { +#line 497 "CirclesEffect.c" + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gdouble _tmp48_ = 0.0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + gint _tmp52_ = 0; + gdouble _tmp53_ = 0.0; + gdouble _tmp54_ = 0.0; + gdouble _tmp55_ = 0.0; + cairo_t* _tmp56_ = NULL; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + cairo_t* _tmp62_ = NULL; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!_tmp44_) { +#line 517 "CirclesEffect.c" + gint _tmp45_ = 0; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp45_ = x; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + x = _tmp45_ + 1; +#line 523 "CirclesEffect.c" + } +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp44_ = FALSE; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp46_ = x; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp47_ = circleCountX; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!(_tmp46_ <= _tmp47_)) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + break; +#line 535 "CirclesEffect.c" + } +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp48_ = alpha; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp49_ = x; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp50_ = y; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp51_ = circleCountY; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp52_ = circleCountX; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp53_ = fmin ((gdouble) 1, _tmp48_ - (((gdouble) (_tmp49_ + _tmp50_)) / ((gdouble) ((_tmp51_ + _tmp52_) * CIRCLES_EFFECT_SPEED)))); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp54_ = fmax ((gdouble) 0, _tmp53_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp55_ = maxRadius; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + radius = (gint) (_tmp54_ * _tmp55_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp56_ = ctx; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp57_ = distance; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp58_ = x; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp59_ = distance; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp60_ = y; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp61_ = radius; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_arc (_tmp56_, (gdouble) ((2 * _tmp57_) * _tmp58_), (gdouble) ((2 * _tmp59_) * _tmp60_), (gdouble) _tmp61_, (gdouble) 0, 2 * G_PI); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp62_ = ctx; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_fill (_tmp62_); +#line 573 "CirclesEffect.c" + } + } + } + } + } + } +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp63_ = ctx; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_clip (_tmp63_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp64_ = ctx; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp65_ = alpha; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_paint_with_alpha (_tmp64_, _tmp65_); +#line 590 "CirclesEffect.c" + } +} + + +static void circles_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + CirclesEffect * self; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 603 "CirclesEffect.c" +} + + +static void circles_effect_real_cancel (SpitTransitionsEffect* base) { + CirclesEffect * self; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 611 "CirclesEffect.c" +} + + +static void circles_effect_class_init (CirclesEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circles_effect_parent_class = g_type_class_peek_parent (klass); +#line 618 "CirclesEffect.c" +} + + +static void circles_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circles_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) circles_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) circles_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) circles_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) circles_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) circles_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) circles_effect_real_cancel; +#line 637 "CirclesEffect.c" +} + + +static void circles_effect_instance_init (CirclesEffect * self) { +} + + +GType circles_effect_get_type (void) { + static volatile gsize circles_effect_type_id__volatile = 0; + if (g_once_init_enter (&circles_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CirclesEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circles_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CirclesEffect), 0, (GInstanceInitFunc) circles_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) circles_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType circles_effect_type_id; + circles_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "CirclesEffect", &g_define_type_info, 0); + g_type_add_interface_static (circles_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&circles_effect_type_id__volatile, circles_effect_type_id); + } + return circles_effect_type_id__volatile; +} + + + |