From 2492891f112caac6076ce49721d9d5d78a152c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 12 Nov 2017 15:53:58 +0100 Subject: New upstream version 0.26.4 --- plugins/shotwell-transitions/CirclesEffect.c | 209 +++++++++++++-------------- 1 file changed, 103 insertions(+), 106 deletions(-) (limited to 'plugins/shotwell-transitions/CirclesEffect.c') diff --git a/plugins/shotwell-transitions/CirclesEffect.c b/plugins/shotwell-transitions/CirclesEffect.c index b4b82c6..2ae59b7 100644 --- a/plugins/shotwell-transitions/CirclesEffect.c +++ b/plugins/shotwell-transitions/CirclesEffect.c @@ -1,4 +1,4 @@ -/* CirclesEffect.c generated by valac 0.34.7, the Vala compiler +/* CirclesEffect.c generated by valac 0.36.6, the Vala compiler * generated from CirclesEffect.vala, do not modify */ /* Copyright 2013 Jens Bav @@ -87,7 +87,7 @@ struct _CirclesEffectClass { 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; +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; @@ -119,7 +119,7 @@ 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; + GFile* _tmp0_; #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" @@ -155,23 +155,20 @@ static const gchar* circles_effect_descriptor_real_get_id (ShotwellTransitionDes 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_; + result = _ ("Circles"); #line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" return result; -#line 168 "CirclesEffect.c" +#line 165 "CirclesEffect.c" } static SpitTransitionsEffect* circles_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { CirclesEffectDescriptor * self; SpitTransitionsEffect* result = NULL; - CirclesEffect* _tmp0_ = NULL; + CirclesEffect* _tmp0_; #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" @@ -182,7 +179,7 @@ static SpitTransitionsEffect* circles_effect_descriptor_real_create (ShotwellTra 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" +#line 183 "CirclesEffect.c" } @@ -190,12 +187,12 @@ static void circles_effect_descriptor_class_init (CirclesEffectDescriptorClass * #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 = (const gchar* (*)(ShotwellTransitionDescriptor*)) circles_effect_descriptor_real_get_id; + ((ShotwellTransitionDescriptorClass *) klass)->get_id = (const gchar* (*) (ShotwellTransitionDescriptor *)) circles_effect_descriptor_real_get_id; #line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" - ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = (const gchar* (*)(ShotwellTransitionDescriptor*)) circles_effect_descriptor_real_get_pluggable_name; + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = (const gchar* (*) (ShotwellTransitionDescriptor *)) circles_effect_descriptor_real_get_pluggable_name; #line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" - ((ShotwellTransitionDescriptorClass *) klass)->create = (SpitTransitionsEffect* (*)(ShotwellTransitionDescriptor*, SpitHostInterface*)) circles_effect_descriptor_real_create; -#line 199 "CirclesEffect.c" + ((ShotwellTransitionDescriptorClass *) klass)->create = (SpitTransitionsEffect* (*) (ShotwellTransitionDescriptor *, SpitHostInterface*)) circles_effect_descriptor_real_create; +#line 196 "CirclesEffect.c" } @@ -221,14 +218,14 @@ CirclesEffect* circles_effect_construct (GType object_type) { 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" +#line 222 "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" +#line 229 "CirclesEffect.c" } @@ -246,13 +243,13 @@ static void circles_effect_real_get_fps (SpitTransitionsEffect* base, gint* desi if (desired_fps) { #line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" *desired_fps = _vala_desired_fps; -#line 250 "CirclesEffect.c" +#line 247 "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" +#line 253 "CirclesEffect.c" } } @@ -265,7 +262,7 @@ static void circles_effect_real_start (SpitTransitionsEffect* base, SpitTransiti 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" +#line 266 "CirclesEffect.c" } @@ -278,32 +275,32 @@ static gboolean circles_effect_real_needs_clear_background (SpitTransitionsEffec result = TRUE; #line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" return result; -#line 282 "CirclesEffect.c" +#line 279 "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; + SpitTransitionsMotion* _tmp0_; + gint _tmp1_; + gdouble _tmp2_; gint distance = 0; gint radius = 0; gint circleCountX = 0; - gint _tmp3_ = 0; - gint _tmp4_ = 0; + gint _tmp3_; + gint _tmp4_; gint circleCountY = 0; - gint _tmp5_ = 0; - gint _tmp6_ = 0; + gint _tmp5_; + gint _tmp6_; 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; + gint _tmp7_; + SpitTransitionsVisuals* _tmp8_; + GdkPixbuf* _tmp9_; + GdkPixbuf* _tmp10_; + SpitTransitionsVisuals* _tmp25_; + GdkPixbuf* _tmp26_; + GdkPixbuf* _tmp27_; #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" @@ -346,21 +343,21 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti _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; +#line 347 "CirclesEffect.c" + cairo_t* _tmp11_; + SpitTransitionsVisuals* _tmp12_; + GdkPixbuf* _tmp13_; + GdkPixbuf* _tmp14_; + SpitTransitionsVisuals* _tmp15_; GdkRectangle _tmp16_ = {0}; - GdkRectangle _tmp17_ = {0}; - gint _tmp18_ = 0; - SpitTransitionsVisuals* _tmp19_ = NULL; + GdkRectangle _tmp17_; + gint _tmp18_; + SpitTransitionsVisuals* _tmp19_; GdkRectangle _tmp20_ = {0}; - GdkRectangle _tmp21_ = {0}; - gint _tmp22_ = 0; - cairo_t* _tmp23_ = NULL; - gdouble _tmp24_ = 0.0; + GdkRectangle _tmp21_; + gint _tmp22_; + cairo_t* _tmp23_; + gdouble _tmp24_; #line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" _tmp11_ = ctx; #line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" @@ -393,7 +390,7 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti _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 394 "CirclesEffect.c" } #line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" _tmp25_ = visuals; @@ -403,22 +400,22 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti _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; +#line 404 "CirclesEffect.c" + cairo_t* _tmp28_; + SpitTransitionsVisuals* _tmp29_; + GdkPixbuf* _tmp30_; + GdkPixbuf* _tmp31_; + SpitTransitionsVisuals* _tmp32_; GdkRectangle _tmp33_ = {0}; - GdkRectangle _tmp34_ = {0}; - gint _tmp35_ = 0; - SpitTransitionsVisuals* _tmp36_ = NULL; + GdkRectangle _tmp34_; + gint _tmp35_; + SpitTransitionsVisuals* _tmp36_; GdkRectangle _tmp37_ = {0}; - GdkRectangle _tmp38_ = {0}; - gint _tmp39_ = 0; - cairo_t* _tmp63_ = NULL; - cairo_t* _tmp64_ = NULL; - gdouble _tmp65_ = 0.0; + GdkRectangle _tmp38_; + gint _tmp39_; + cairo_t* _tmp63_; + cairo_t* _tmp64_; + gdouble _tmp65_; #line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" _tmp28_ = ctx; #line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" @@ -445,30 +442,30 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti _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" +#line 446 "CirclesEffect.c" { gint y = 0; #line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" y = 0; -#line 454 "CirclesEffect.c" +#line 451 "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 458 "CirclesEffect.c" + gint _tmp42_; + gint _tmp43_; #line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" if (!_tmp40_) { -#line 466 "CirclesEffect.c" - gint _tmp41_ = 0; +#line 463 "CirclesEffect.c" + gint _tmp41_; #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 469 "CirclesEffect.c" } #line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" _tmp40_ = FALSE; @@ -480,46 +477,46 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti if (!(_tmp42_ <= _tmp43_)) { #line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" break; -#line 484 "CirclesEffect.c" +#line 481 "CirclesEffect.c" } { gint x = 0; #line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" x = 0; -#line 490 "CirclesEffect.c" +#line 487 "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 494 "CirclesEffect.c" + gint _tmp46_; + gint _tmp47_; + gdouble _tmp48_; + gint _tmp49_; + gint _tmp50_; + gint _tmp51_; + gint _tmp52_; + gdouble _tmp53_; + gdouble _tmp54_; + gdouble _tmp55_; + cairo_t* _tmp56_; + gint _tmp57_; + gint _tmp58_; + gint _tmp59_; + gint _tmp60_; + gint _tmp61_; + cairo_t* _tmp62_; #line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" if (!_tmp44_) { -#line 517 "CirclesEffect.c" - gint _tmp45_ = 0; +#line 514 "CirclesEffect.c" + gint _tmp45_; #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 520 "CirclesEffect.c" } #line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" _tmp44_ = FALSE; @@ -531,7 +528,7 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti if (!(_tmp46_ <= _tmp47_)) { #line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" break; -#line 535 "CirclesEffect.c" +#line 532 "CirclesEffect.c" } #line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" _tmp48_ = alpha; @@ -569,7 +566,7 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti _tmp62_ = ctx; #line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" cairo_fill (_tmp62_); -#line 573 "CirclesEffect.c" +#line 570 "CirclesEffect.c" } } } @@ -586,7 +583,7 @@ static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransiti _tmp65_ = alpha; #line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" cairo_paint_with_alpha (_tmp64_, _tmp65_); -#line 590 "CirclesEffect.c" +#line 587 "CirclesEffect.c" } } @@ -599,7 +596,7 @@ static void circles_effect_real_advance (SpitTransitionsEffect* base, SpitTransi 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" +#line 600 "CirclesEffect.c" } @@ -607,14 +604,14 @@ 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" +#line 608 "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" +#line 615 "CirclesEffect.c" } @@ -622,18 +619,18 @@ static void circles_effect_spit_transitions_effect_interface_init (SpitTransitio #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; + 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; + 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; + 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; + 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; + 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" + iface->cancel = (void (*) (SpitTransitionsEffect *)) circles_effect_real_cancel; +#line 634 "CirclesEffect.c" } -- cgit v1.2.3