diff options
Diffstat (limited to 'src/Dimensions.c')
-rw-r--r-- | src/Dimensions.c | 4306 |
1 files changed, 0 insertions, 4306 deletions
diff --git a/src/Dimensions.c b/src/Dimensions.c deleted file mode 100644 index a547b10..0000000 --- a/src/Dimensions.c +++ /dev/null @@ -1,4306 +0,0 @@ -/* Dimensions.c generated by valac 0.40.4, the Vala compiler - * generated from Dimensions.vala, do not modify */ - -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU LGPL (version 2.1 or later). - * See the COPYING file in this distribution. - */ - - -#include <glib.h> -#include <glib-object.h> -#include <stdlib.h> -#include <string.h> -#include <glib/gi18n-lib.h> -#include <gdk-pixbuf/gdk-pixbuf.h> -#include <gtk/gtk.h> -#include <cairo.h> -#include <gdk/gdk.h> -#include <float.h> -#include <math.h> - - -#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) - -#define TYPE_DIMENSIONS (dimensions_get_type ()) -typedef struct _Dimensions Dimensions; - -#define TYPE_SCALING (scaling_get_type ()) -typedef struct _Scaling Scaling; -#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) -#define _g_free0(var) (var = (g_free (var), NULL)) - -#define TYPE_ZOOM_STATE (zoom_state_get_type ()) -typedef struct _ZoomState ZoomState; -#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); -#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } -#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } -#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); - -typedef enum { - SCALE_CONSTRAINT_ORIGINAL, - SCALE_CONSTRAINT_DIMENSIONS, - SCALE_CONSTRAINT_WIDTH, - SCALE_CONSTRAINT_HEIGHT, - SCALE_CONSTRAINT_FILL_VIEWPORT -} ScaleConstraint; - -struct _Dimensions { - gint width; - gint height; -}; - -struct _Scaling { - ScaleConstraint constraint; - gint scale; - Dimensions viewport; - gboolean scale_up; -}; - -struct _ZoomState { - Dimensions content_dimensions; - Dimensions viewport_dimensions; - gdouble zoom_factor; - gdouble interpolation_factor; - gdouble min_factor; - gdouble max_factor; - GdkPoint viewport_center; -}; - - - -GType scale_constraint_get_type (void) G_GNUC_CONST; -gchar* scale_constraint_to_string (ScaleConstraint self); -GType dimensions_get_type (void) G_GNUC_CONST; -Dimensions* dimensions_dup (const Dimensions* self); -void dimensions_free (Dimensions* self); -void dimensions_init (Dimensions *self, - gint width, - gint height); -void dimensions_for_pixbuf (GdkPixbuf* pixbuf, - Dimensions* result); -void dimensions_for_allocation (GtkAllocation* allocation, - Dimensions* result); -void dimensions_for_widget_allocation (GtkWidget* widget, - Dimensions* result); -void dimensions_for_rectangle (GdkRectangle* rect, - Dimensions* result); -gboolean dimensions_has_area (Dimensions *self); -void dimensions_floor (Dimensions *self, - Dimensions* min, - Dimensions* result); -gchar* dimensions_to_string (Dimensions *self); -gboolean dimensions_equals (Dimensions *self, - Dimensions* dim); -gboolean dimensions_approx_equals (Dimensions *self, - Dimensions* dim, - gint fudge); -gboolean dimensions_approx_scaled (Dimensions *self, - gint scale, - gint fudge); -gint dimensions_major_axis (Dimensions *self); -gint dimensions_minor_axis (Dimensions *self); -void dimensions_with_min (Dimensions *self, - gint min_width, - gint min_height, - Dimensions* result); -void dimensions_with_max (Dimensions *self, - gint max_width, - gint max_height, - Dimensions* result); -void dimensions_get_scaled (Dimensions *self, - gint scale, - gboolean scale_up, - Dimensions* result); -void dimensions_get_scaled_by_width (Dimensions *self, - gint scale, - Dimensions* result); -void dimensions_get_scaled_by_height (Dimensions *self, - gint scale, - Dimensions* result); -void dimensions_get_scale_ratios (Dimensions *self, - Dimensions* scaled, - gdouble* width_ratio, - gdouble* height_ratio); -gdouble dimensions_get_aspect_ratio (Dimensions *self); -void dimensions_get_scaled_proportional (Dimensions *self, - Dimensions* viewport, - Dimensions* result); -void dimensions_get_scaled_to_fill_viewport (Dimensions *self, - Dimensions* viewport, - Dimensions* result); -void dimensions_get_scaled_rectangle (Dimensions *self, - Dimensions* scaled, - GdkRectangle* rect, - GdkRectangle* result); -void dimensions_get_scaled_similar (Dimensions *self, - Dimensions* original, - Dimensions* scaled, - Dimensions* result); -void dimensions_get_scaled_by_constraint (Dimensions *self, - gint scale, - ScaleConstraint constraint, - Dimensions* result); -GType scaling_get_type (void) G_GNUC_CONST; -Scaling* scaling_dup (const Scaling* self); -void scaling_free (Scaling* self); -#define SCALING_NO_SCALE 0 -static void scaling_init (Scaling *self, - ScaleConstraint constraint, - gint scale, - Dimensions* viewport, - gboolean scale_up); -void scaling_for_original (Scaling* result); -void scaling_for_screen (GtkWindow* window, - gboolean scale_up, - Scaling* result); -void scaling_for_viewport (Dimensions* viewport, - gboolean scale_up, - Scaling* result); -static void scaling_get_screen_dimensions (GtkWindow* window, - Dimensions* result); -void scaling_for_best_fit (gint pixels, - gboolean scale_up, - Scaling* result); -void scaling_for_widget (GtkWidget* widget, - gboolean scale_up, - Scaling* result); -void scaling_to_fill_viewport (Dimensions* viewport, - Scaling* result); -void scaling_to_fill_screen (GtkWindow* window, - Scaling* result); -void scaling_for_constraint (ScaleConstraint constraint, - gint scale, - gboolean scale_up, - Scaling* result); -static gint scaling_scale_to_pixels (Scaling *self); -gboolean scaling_is_unscaled (Scaling *self); -gboolean scaling_is_best_fit (Scaling *self, - Dimensions* original, - gint* pixels); -gboolean scaling_is_best_fit_dimensions (Scaling *self, - Dimensions* original, - Dimensions* scaled); -gboolean scaling_is_for_viewport (Scaling *self, - Dimensions* original, - Dimensions* scaled); -gboolean scaling_is_fill_viewport (Scaling *self, - Dimensions* original, - Dimensions* scaled); -void scaling_get_scaled_dimensions (Scaling *self, - Dimensions* original, - Dimensions* result); -GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, - GdkPixbuf* pixbuf, - GdkInterpType interp, - gboolean scale_up); -GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, - gint scale, - GdkInterpType interp, - gboolean scale_up); -GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, - Dimensions* resized, - GdkInterpType interp); -gchar* scaling_to_string (Scaling *self); -gboolean scaling_equals (Scaling *self, - Scaling* scaling); -GType zoom_state_get_type (void) G_GNUC_CONST; -ZoomState* zoom_state_dup (const ZoomState* self); -void zoom_state_free (ZoomState* self); -void zoom_state_init (ZoomState *self, - Dimensions* content_dimensions, - Dimensions* viewport_dimensions, - gdouble slider_val, - GdkPoint* viewport_center); -static void zoom_state_compute_zoom_factors (ZoomState *self); -static void zoom_state_center_viewport (ZoomState *self); -static void zoom_state_clamp_viewport_center (ZoomState *self); -void zoom_state_init_rescale (ZoomState *self, - ZoomState* existing, - gdouble new_slider_val); -void zoom_state_init_rescale_to_isomorphic (ZoomState *self, - ZoomState* existing); -void zoom_state_init_pan (ZoomState *self, - ZoomState* existing, - GdkPoint* new_viewport_center); -gint zoom_state_get_zoomed_width (ZoomState *self); -gint zoom_state_get_zoomed_height (ZoomState *self); -gdouble zoom_state_get_interpolation_factor (ZoomState *self); -void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, - GdkRectangle* result); -void zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self, - GdkRectangle* result); -void zoom_state_get_viewing_rectangle_projection (ZoomState *self, - GdkPixbuf* for_pixbuf, - GdkRectangle* result); -gdouble zoom_state_get_zoom_factor (ZoomState *self); -void zoom_state_get_viewport_center (ZoomState *self, - GdkPoint* result); -gchar* zoom_state_to_string (ZoomState *self); -gboolean zoom_state_is_min (ZoomState *self); -gboolean zoom_state_is_default (ZoomState *self); -gboolean zoom_state_is_isomorphic (ZoomState *self); -gboolean zoom_state_is_max (ZoomState *self); -gboolean zoom_state_equals (ZoomState *self, - ZoomState* other); - - -gchar* -scale_constraint_to_string (ScaleConstraint self) -{ - gchar* result = NULL; -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - switch (self) { -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_ORIGINAL: -#line 258 "Dimensions.c" - { - gchar* _tmp0_; -#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = g_strdup (_ ("Original size")); -#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 267 "Dimensions.c" - } -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_DIMENSIONS: -#line 271 "Dimensions.c" - { - gchar* _tmp1_; -#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = g_strdup (_ ("Longest edge")); -#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp1_; -#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 280 "Dimensions.c" - } -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_WIDTH: -#line 284 "Dimensions.c" - { - gchar* _tmp2_; -#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = g_strdup (_ ("Width")); -#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp2_; -#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 293 "Dimensions.c" - } -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_HEIGHT: -#line 297 "Dimensions.c" - { - gchar* _tmp3_; -#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = g_strdup (_ ("Height")); -#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp3_; -#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 306 "Dimensions.c" - } -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_FILL_VIEWPORT: -#line 310 "Dimensions.c" - { - gchar* _tmp4_; -#line 30 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = g_strdup ("Fill Viewport"); -#line 30 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp4_; -#line 30 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 319 "Dimensions.c" - } - default: -#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" - break; -#line 324 "Dimensions.c" - } -#line 33 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_warn_if_reached (); -#line 35 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = NULL; -#line 35 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 332 "Dimensions.c" -} - - -GType -scale_constraint_get_type (void) -{ - static volatile gsize scale_constraint_type_id__volatile = 0; - if (g_once_init_enter (&scale_constraint_type_id__volatile)) { - static const GEnumValue values[] = {{SCALE_CONSTRAINT_ORIGINAL, "SCALE_CONSTRAINT_ORIGINAL", "original"}, {SCALE_CONSTRAINT_DIMENSIONS, "SCALE_CONSTRAINT_DIMENSIONS", "dimensions"}, {SCALE_CONSTRAINT_WIDTH, "SCALE_CONSTRAINT_WIDTH", "width"}, {SCALE_CONSTRAINT_HEIGHT, "SCALE_CONSTRAINT_HEIGHT", "height"}, {SCALE_CONSTRAINT_FILL_VIEWPORT, "SCALE_CONSTRAINT_FILL_VIEWPORT", "fill-viewport"}, {0, NULL, NULL}}; - GType scale_constraint_type_id; - scale_constraint_type_id = g_enum_register_static ("ScaleConstraint", values); - g_once_init_leave (&scale_constraint_type_id__volatile, scale_constraint_type_id); - } - return scale_constraint_type_id__volatile; -} - - -void -dimensions_init (Dimensions *self, - gint width, - gint height) -{ - gboolean _tmp0_ = FALSE; -#line 43 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (self, 0, sizeof (Dimensions)); -#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (width < 0) { -#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = TRUE; -#line 362 "Dimensions.c" - } else { -#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = height < 0; -#line 366 "Dimensions.c" - } -#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_) { -#line 45 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_warning ("Dimensions.vala:45: Tried to construct a Dimensions object with negati" \ -"ve width or height - forcing sensible default values."); -#line 372 "Dimensions.c" - } -#line 47 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).width = CLAMP (width, 0, width); -#line 48 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).height = CLAMP (height, 0, height); -#line 378 "Dimensions.c" -} - - -void -dimensions_for_pixbuf (GdkPixbuf* pixbuf, - Dimensions* result) -{ - Dimensions _tmp0_ = {0}; -#line 51 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); -#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp0_, gdk_pixbuf_get_width (pixbuf), gdk_pixbuf_get_height (pixbuf)); -#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp0_; -#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 395 "Dimensions.c" -} - - -void -dimensions_for_allocation (GtkAllocation* allocation, - Dimensions* result) -{ - GtkAllocation _tmp0_; - gint _tmp1_; - GtkAllocation _tmp2_; - gint _tmp3_; - Dimensions _tmp4_ = {0}; -#line 55 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (allocation != NULL); -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *allocation; -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.width; -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *allocation; -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.height; -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp4_, _tmp1_, _tmp3_); -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp4_; -#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 424 "Dimensions.c" -} - - -void -dimensions_for_widget_allocation (GtkWidget* widget, - Dimensions* result) -{ - GtkAllocation allocation = {0}; - GtkAllocation _tmp0_ = {0}; - GtkAllocation _tmp1_; - gint _tmp2_; - GtkAllocation _tmp3_; - gint _tmp4_; - Dimensions _tmp5_ = {0}; -#line 59 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GTK_IS_WIDGET (widget)); -#line 61 "/home/jens/Source/shotwell/src/Dimensions.vala" - gtk_widget_get_allocation (widget, &_tmp0_); -#line 61 "/home/jens/Source/shotwell/src/Dimensions.vala" - allocation = _tmp0_; -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = allocation; -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = _tmp1_.width; -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = allocation; -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.height; -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp5_, _tmp2_, _tmp4_); -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp5_; -#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 459 "Dimensions.c" -} - - -void -dimensions_for_rectangle (GdkRectangle* rect, - Dimensions* result) -{ - GdkRectangle _tmp0_; - gint _tmp1_; - GdkRectangle _tmp2_; - gint _tmp3_; - Dimensions _tmp4_ = {0}; -#line 66 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (rect != NULL); -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *rect; -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.width; -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *rect; -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.height; -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp4_, _tmp1_, _tmp3_); -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp4_; -#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 488 "Dimensions.c" -} - - -gboolean -dimensions_has_area (Dimensions *self) -{ - gboolean result = FALSE; - gboolean _tmp0_ = FALSE; - gint _tmp1_; -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).width; -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_ > 0) { -#line 502 "Dimensions.c" - gint _tmp2_; -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).height; -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp2_ > 0; -#line 508 "Dimensions.c" - } else { -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = FALSE; -#line 512 "Dimensions.c" - } -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 518 "Dimensions.c" -} - - -void -dimensions_floor (Dimensions *self, - Dimensions* min, - Dimensions* result) -{ - gint _tmp0_ = 0; - gint _tmp1_; - Dimensions _tmp2_; - gint _tmp3_; - gint _tmp7_ = 0; - gint _tmp8_; - Dimensions _tmp9_; - gint _tmp10_; - Dimensions _tmp14_ = {0}; -#line 74 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (min != NULL); -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).width; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *min; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.width; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_ > _tmp3_) { -#line 546 "Dimensions.c" - gint _tmp4_; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).width; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp4_; -#line 552 "Dimensions.c" - } else { - Dimensions _tmp5_; - gint _tmp6_; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *min; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.width; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp6_; -#line 562 "Dimensions.c" - } -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = (*self).height; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = *min; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _tmp9_.height; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp8_ > _tmp10_) { -#line 572 "Dimensions.c" - gint _tmp11_; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = (*self).height; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp11_; -#line 578 "Dimensions.c" - } else { - Dimensions _tmp12_; - gint _tmp13_; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = *min; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = _tmp12_.height; -#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp13_; -#line 588 "Dimensions.c" - } -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp14_, _tmp0_, _tmp7_); -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp14_; -#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 596 "Dimensions.c" -} - - -gchar* -dimensions_to_string (Dimensions *self) -{ - gchar* result = NULL; - gint _tmp0_; - gint _tmp1_; - gchar* _tmp2_; -#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = g_strdup_printf ("%dx%d", _tmp0_, _tmp1_); -#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp2_; -#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 617 "Dimensions.c" -} - - -gboolean -dimensions_equals (Dimensions *self, - Dimensions* dim) -{ - gboolean result = FALSE; - gboolean _tmp0_ = FALSE; - gint _tmp1_; - Dimensions _tmp2_; - gint _tmp3_; -#line 83 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (dim != NULL, FALSE); -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).width; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *dim; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.width; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_ == _tmp3_) { -#line 640 "Dimensions.c" - gint _tmp4_; - Dimensions _tmp5_; - gint _tmp6_; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).height; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *dim; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.height; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp4_ == _tmp6_; -#line 652 "Dimensions.c" - } else { -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = FALSE; -#line 656 "Dimensions.c" - } -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 662 "Dimensions.c" -} - - -gboolean -dimensions_approx_equals (Dimensions *self, - Dimensions* dim, - gint fudge) -{ - gboolean result = FALSE; - gboolean _tmp0_ = FALSE; - gint _tmp1_; - Dimensions _tmp2_; - gint _tmp3_; -#line 88 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (dim != NULL, FALSE); -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).width; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *dim; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.width; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (abs (_tmp1_ - _tmp3_) <= fudge) { -#line 686 "Dimensions.c" - gint _tmp4_; - Dimensions _tmp5_; - gint _tmp6_; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).height; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *dim; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.height; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = abs (_tmp4_ - _tmp6_) <= fudge; -#line 698 "Dimensions.c" - } else { -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = FALSE; -#line 702 "Dimensions.c" - } -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 708 "Dimensions.c" -} - - -gboolean -dimensions_approx_scaled (Dimensions *self, - gint scale, - gint fudge) -{ - gboolean result = FALSE; - gboolean _tmp0_ = FALSE; - gint _tmp1_; -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).width; -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_ <= (scale + fudge)) { -#line 724 "Dimensions.c" - gint _tmp2_; -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).height; -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp2_ <= (scale + fudge); -#line 730 "Dimensions.c" - } else { -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = FALSE; -#line 734 "Dimensions.c" - } -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 740 "Dimensions.c" -} - - -gint -dimensions_major_axis (Dimensions *self) -{ - gint result = 0; - gint _tmp0_; - gint _tmp1_; -#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = MAX (_tmp0_, _tmp1_); -#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 758 "Dimensions.c" -} - - -gint -dimensions_minor_axis (Dimensions *self) -{ - gint result = 0; - gint _tmp0_; - gint _tmp1_; -#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = MIN (_tmp0_, _tmp1_); -#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 776 "Dimensions.c" -} - - -void -dimensions_with_min (Dimensions *self, - gint min_width, - gint min_height, - Dimensions* result) -{ - gint _tmp0_; - gint _tmp1_; - Dimensions _tmp2_ = {0}; -#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp2_, MAX (_tmp0_, min_width), MAX (_tmp1_, min_height)); -#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp2_; -#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 799 "Dimensions.c" -} - - -void -dimensions_with_max (Dimensions *self, - gint max_width, - gint max_height, - Dimensions* result) -{ - gint _tmp0_; - gint _tmp1_; - Dimensions _tmp2_ = {0}; -#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp2_, MIN (_tmp0_, max_width), MIN (_tmp1_, max_height)); -#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp2_; -#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 822 "Dimensions.c" -} - - -void -dimensions_get_scaled (Dimensions *self, - gint scale, - gboolean scale_up, - Dimensions* result) -{ - gboolean _tmp0_ = FALSE; - gboolean _tmp1_ = FALSE; - gint _tmp2_; - gboolean _tmp10_ = FALSE; - gint _tmp17_; - gint _tmp18_; -#line 113 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (scale > 0, "scale > 0"); -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).width; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp2_ == scale) { -#line 844 "Dimensions.c" - gint _tmp3_; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = (*self).height; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp3_ < scale; -#line 850 "Dimensions.c" - } else { -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = FALSE; -#line 854 "Dimensions.c" - } -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_) { -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = TRUE; -#line 860 "Dimensions.c" - } else { - gboolean _tmp4_ = FALSE; - gint _tmp5_; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*self).height; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp5_ == scale) { -#line 868 "Dimensions.c" - gint _tmp6_; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = (*self).width; -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp6_ < scale; -#line 874 "Dimensions.c" - } else { -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = FALSE; -#line 878 "Dimensions.c" - } -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp4_; -#line 882 "Dimensions.c" - } -#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_) { -#line 886 "Dimensions.c" - gint _tmp7_; - gint _tmp8_; - Dimensions _tmp9_ = {0}; -#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).width; -#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = (*self).height; -#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp9_, _tmp7_, _tmp8_); -#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp9_; -#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 900 "Dimensions.c" - } -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (!scale_up) { -#line 904 "Dimensions.c" - gboolean _tmp11_ = FALSE; - gint _tmp12_; -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = (*self).width; -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp12_ < scale) { -#line 911 "Dimensions.c" - gint _tmp13_; -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = (*self).height; -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = _tmp13_ < scale; -#line 917 "Dimensions.c" - } else { -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = FALSE; -#line 921 "Dimensions.c" - } -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _tmp11_; -#line 925 "Dimensions.c" - } else { -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = FALSE; -#line 929 "Dimensions.c" - } -#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp10_) { -#line 933 "Dimensions.c" - gint _tmp14_; - gint _tmp15_; - Dimensions _tmp16_ = {0}; -#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = (*self).width; -#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = (*self).height; -#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp16_, _tmp14_, _tmp15_); -#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp16_; -#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 947 "Dimensions.c" - } -#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = (*self).width; -#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = (*self).height; -#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" - if ((_tmp17_ - scale) > (_tmp18_ - scale)) { -#line 955 "Dimensions.c" - Dimensions _tmp19_ = {0}; -#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_width (&(*self), scale, &_tmp19_); -#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp19_; -#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 963 "Dimensions.c" - } else { - Dimensions _tmp20_ = {0}; -#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_height (&(*self), scale, &_tmp20_); -#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp20_; -#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 972 "Dimensions.c" - } -} - - -void -dimensions_get_scale_ratios (Dimensions *self, - Dimensions* scaled, - gdouble* width_ratio, - gdouble* height_ratio) -{ - gdouble _vala_width_ratio = 0.0; - gdouble _vala_height_ratio = 0.0; - Dimensions _tmp0_; - gint _tmp1_; - gint _tmp2_; - Dimensions _tmp3_; - gint _tmp4_; - gint _tmp5_; -#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (scaled != NULL); -#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *scaled; -#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.width; -#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).width; -#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_width_ratio = ((gdouble) _tmp1_) / ((gdouble) _tmp2_); -#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = *scaled; -#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.height; -#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*self).height; -#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_height_ratio = ((gdouble) _tmp4_) / ((gdouble) _tmp5_); -#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (width_ratio) { -#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" - *width_ratio = _vala_width_ratio; -#line 1013 "Dimensions.c" - } -#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (height_ratio) { -#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" - *height_ratio = _vala_height_ratio; -#line 1019 "Dimensions.c" - } -} - - -gdouble -dimensions_get_aspect_ratio (Dimensions *self) -{ - gdouble result = 0.0; - gint _tmp0_; - gint _tmp1_; -#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = ((gdouble) _tmp0_) / _tmp1_; -#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 1038 "Dimensions.c" -} - - -void -dimensions_get_scaled_proportional (Dimensions *self, - Dimensions* viewport, - Dimensions* result) -{ - gdouble width_ratio = 0.0; - gdouble height_ratio = 0.0; - Dimensions _tmp0_; - gdouble _tmp1_ = 0.0; - gdouble _tmp2_ = 0.0; - gdouble scaled_width = 0.0; - gdouble scaled_height = 0.0; - gdouble _tmp3_; - gdouble _tmp4_; - Dimensions scaled = {0}; - gdouble _tmp13_; - gdouble _tmp14_; - Dimensions _tmp15_ = {0}; - Dimensions _tmp16_ = {0}; - Dimensions _tmp17_ = {0}; - Dimensions _tmp18_; - gint _tmp19_; - Dimensions _tmp20_; - gint _tmp21_; - Dimensions _tmp22_; - gint _tmp23_; - Dimensions _tmp24_; - gint _tmp25_; -#line 138 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (viewport != NULL); -#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *viewport; -#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scale_ratios (&(*self), &_tmp0_, &_tmp1_, &_tmp2_); -#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" - width_ratio = _tmp1_; -#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" - height_ratio = _tmp2_; -#line 143 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = width_ratio; -#line 143 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = height_ratio; -#line 143 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp3_ < _tmp4_) { -#line 1086 "Dimensions.c" - Dimensions _tmp5_; - gint _tmp6_; - gint _tmp7_; - gdouble _tmp8_; -#line 144 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *viewport; -#line 144 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.width; -#line 144 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_width = (gdouble) _tmp6_; -#line 145 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).height; -#line 145 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = width_ratio; -#line 145 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_height = ((gdouble) _tmp7_) * _tmp8_; -#line 1103 "Dimensions.c" - } else { - gint _tmp9_; - gdouble _tmp10_; - Dimensions _tmp11_; - gint _tmp12_; -#line 147 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = (*self).width; -#line 147 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = height_ratio; -#line 147 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_width = ((gdouble) _tmp9_) * _tmp10_; -#line 148 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = *viewport; -#line 148 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_.height; -#line 148 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_height = (gdouble) _tmp12_; -#line 1121 "Dimensions.c" - } -#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = scaled_width; -#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = scaled_height; -#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp15_, (gint) round (_tmp13_), (gint) round (_tmp14_)); -#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp16_, 1, 1); -#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_floor (&_tmp15_, &_tmp16_, &_tmp17_); -#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled = _tmp17_; -#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = scaled; -#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = _tmp18_.height; -#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = *viewport; -#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = _tmp20_.height; -#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (_tmp19_ <= _tmp21_, "scaled.height <= viewport.height"); -#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = scaled; -#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp23_ = _tmp22_.width; -#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp24_ = *viewport; -#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp25_ = _tmp24_.width; -#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (_tmp23_ <= _tmp25_, "scaled.width <= viewport.width"); -#line 156 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = scaled; -#line 156 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1159 "Dimensions.c" -} - - -void -dimensions_get_scaled_to_fill_viewport (Dimensions *self, - Dimensions* viewport, - Dimensions* result) -{ - gdouble width_ratio = 0.0; - gdouble height_ratio = 0.0; - Dimensions _tmp0_; - gdouble _tmp1_ = 0.0; - gdouble _tmp2_ = 0.0; - gdouble scaled_width = 0.0; - gdouble scaled_height = 0.0; - gboolean _tmp3_ = FALSE; - gint _tmp4_; - Dimensions _tmp5_; - gint _tmp6_; - gdouble _tmp31_; - gdouble _tmp32_; - Dimensions _tmp33_ = {0}; - Dimensions _tmp34_ = {0}; - Dimensions _tmp35_ = {0}; -#line 159 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (viewport != NULL); -#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *viewport; -#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scale_ratios (&(*self), &_tmp0_, &_tmp1_, &_tmp2_); -#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" - width_ratio = _tmp1_; -#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" - height_ratio = _tmp2_; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).width; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *viewport; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.width; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp4_ < _tmp6_) { -#line 1202 "Dimensions.c" - gint _tmp7_; - Dimensions _tmp8_; - gint _tmp9_; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).height; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = *viewport; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.height; -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp7_ >= _tmp9_; -#line 1214 "Dimensions.c" - } else { -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = FALSE; -#line 1218 "Dimensions.c" - } -#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp3_) { -#line 1222 "Dimensions.c" - Dimensions _tmp10_; - gint _tmp11_; - gint _tmp12_; - gdouble _tmp13_; -#line 166 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = *viewport; -#line 166 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = _tmp10_.width; -#line 166 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_width = (gdouble) _tmp11_; -#line 167 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = (*self).height; -#line 167 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = width_ratio; -#line 167 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_height = ((gdouble) _tmp12_) * _tmp13_; -#line 1239 "Dimensions.c" - } else { - gboolean _tmp14_ = FALSE; - gint _tmp15_; - Dimensions _tmp16_; - gint _tmp17_; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = (*self).width; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = *viewport; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = _tmp16_.width; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp15_ >= _tmp17_) { -#line 1253 "Dimensions.c" - gint _tmp18_; - Dimensions _tmp19_; - gint _tmp20_; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = (*self).height; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = *viewport; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = _tmp19_.height; -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = _tmp18_ < _tmp20_; -#line 1265 "Dimensions.c" - } else { -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = FALSE; -#line 1269 "Dimensions.c" - } -#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp14_) { -#line 1273 "Dimensions.c" - gint _tmp21_; - gdouble _tmp22_; - Dimensions _tmp23_; - gint _tmp24_; -#line 170 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = (*self).width; -#line 170 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = height_ratio; -#line 170 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_width = ((gdouble) _tmp21_) * _tmp22_; -#line 171 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp23_ = *viewport; -#line 171 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp24_ = _tmp23_.height; -#line 171 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_height = (gdouble) _tmp24_; -#line 1290 "Dimensions.c" - } else { - gdouble ratio = 0.0; - gdouble _tmp25_; - gdouble _tmp26_; - gint _tmp27_; - gdouble _tmp28_; - gint _tmp29_; - gdouble _tmp30_; -#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp25_ = width_ratio; -#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp26_ = height_ratio; -#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" - ratio = MAX (_tmp25_, _tmp26_); -#line 176 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp27_ = (*self).width; -#line 176 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp28_ = ratio; -#line 176 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_width = ((gdouble) _tmp27_) * _tmp28_; -#line 177 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp29_ = (*self).height; -#line 177 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp30_ = ratio; -#line 177 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_height = ((gdouble) _tmp29_) * _tmp30_; -#line 1317 "Dimensions.c" - } - } -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp31_ = scaled_width; -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp32_ = scaled_height; -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp33_, (gint) round (_tmp31_), (gint) round (_tmp32_)); -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp34_, 1, 1); -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_floor (&_tmp33_, &_tmp34_, &_tmp35_); -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp35_; -#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1334 "Dimensions.c" -} - - -void -dimensions_get_scaled_rectangle (Dimensions *self, - Dimensions* scaled, - GdkRectangle* rect, - GdkRectangle* result) -{ - gdouble x_scale = 0.0; - gdouble y_scale = 0.0; - Dimensions _tmp0_; - gdouble _tmp1_ = 0.0; - gdouble _tmp2_ = 0.0; - GdkRectangle scaled_rect = {0}; - GdkRectangle _tmp3_; - gint _tmp4_; - gdouble _tmp5_; - GdkRectangle _tmp6_; - gint _tmp7_; - gdouble _tmp8_; - GdkRectangle _tmp9_; - gint _tmp10_; - gdouble _tmp11_; - GdkRectangle _tmp12_; - gint _tmp13_; - gdouble _tmp14_; - GdkRectangle _tmp15_; - gint _tmp16_; - GdkRectangle _tmp17_; - gint _tmp18_; -#line 183 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (scaled != NULL); -#line 183 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (rect != NULL); -#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *scaled; -#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scale_ratios (&(*self), &_tmp0_, &_tmp1_, &_tmp2_); -#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" - x_scale = _tmp1_; -#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" - y_scale = _tmp2_; -#line 187 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (&scaled_rect, 0, sizeof (GdkRectangle)); -#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = *rect; -#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.x; -#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = x_scale; -#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_rect.x = (gint) round (((gdouble) _tmp4_) * _tmp5_); -#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = *rect; -#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp6_.y; -#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = y_scale; -#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_rect.y = (gint) round (((gdouble) _tmp7_) * _tmp8_); -#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = *rect; -#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _tmp9_.width; -#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = x_scale; -#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_rect.width = (gint) round (((gdouble) _tmp10_) * _tmp11_); -#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = *rect; -#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = _tmp12_.height; -#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = y_scale; -#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_rect.height = (gint) round (((gdouble) _tmp13_) * _tmp14_); -#line 193 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = scaled_rect; -#line 193 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = _tmp15_.width; -#line 193 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp16_ <= 0) { -#line 194 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_rect.width = 1; -#line 1420 "Dimensions.c" - } -#line 196 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = scaled_rect; -#line 196 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = _tmp17_.height; -#line 196 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp18_ <= 0) { -#line 197 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled_rect.height = 1; -#line 1430 "Dimensions.c" - } -#line 199 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = scaled_rect; -#line 199 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1436 "Dimensions.c" -} - - -void -dimensions_get_scaled_similar (Dimensions *self, - Dimensions* original, - Dimensions* scaled, - Dimensions* result) -{ - gdouble x_scale = 0.0; - gdouble y_scale = 0.0; - Dimensions _tmp0_; - gdouble _tmp1_ = 0.0; - gdouble _tmp2_ = 0.0; - gdouble scale = 0.0; - gint _tmp3_; - gint _tmp4_; - Dimensions _tmp5_ = {0}; - Dimensions _tmp6_ = {0}; - Dimensions _tmp7_ = {0}; -#line 203 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (original != NULL); -#line 203 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (scaled != NULL); -#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *scaled; -#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scale_ratios (original, &_tmp0_, &_tmp1_, &_tmp2_); -#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" - x_scale = _tmp1_; -#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" - y_scale = _tmp2_; -#line 207 "/home/jens/Source/shotwell/src/Dimensions.vala" - scale = MIN (x_scale, y_scale); -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = (*self).width; -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).height; -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp5_, (gint) round (((gdouble) _tmp3_) * scale), (gint) round (((gdouble) _tmp4_) * scale)); -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp6_, 1, 1); -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_floor (&_tmp5_, &_tmp6_, &_tmp7_); -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp7_; -#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1485 "Dimensions.c" -} - - -void -dimensions_get_scaled_by_width (Dimensions *self, - gint scale, - Dimensions* result) -{ - gdouble ratio = 0.0; - gint _tmp0_; - gint _tmp1_; - Dimensions _tmp2_ = {0}; - Dimensions _tmp3_ = {0}; - Dimensions _tmp4_ = {0}; -#line 214 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (scale > 0, "scale > 0"); -#line 216 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 216 "/home/jens/Source/shotwell/src/Dimensions.vala" - ratio = ((gdouble) scale) / ((gdouble) _tmp0_); -#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp2_, scale, (gint) round (((gdouble) _tmp1_) * ratio)); -#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp3_, 1, 1); -#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_floor (&_tmp2_, &_tmp3_, &_tmp4_); -#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp4_; -#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1518 "Dimensions.c" -} - - -void -dimensions_get_scaled_by_height (Dimensions *self, - gint scale, - Dimensions* result) -{ - gdouble ratio = 0.0; - gint _tmp0_; - gint _tmp1_; - Dimensions _tmp2_ = {0}; - Dimensions _tmp3_ = {0}; - Dimensions _tmp4_ = {0}; -#line 222 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (scale > 0, "scale > 0"); -#line 224 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).height; -#line 224 "/home/jens/Source/shotwell/src/Dimensions.vala" - ratio = ((gdouble) scale) / ((gdouble) _tmp0_); -#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).width; -#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp2_, (gint) round (((gdouble) _tmp1_) * ratio), scale); -#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp3_, 1, 1); -#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_floor (&_tmp2_, &_tmp3_, &_tmp4_); -#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp4_; -#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1551 "Dimensions.c" -} - - -void -dimensions_get_scaled_by_constraint (Dimensions *self, - gint scale, - ScaleConstraint constraint, - Dimensions* result) -{ -#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" - switch (constraint) { -#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_ORIGINAL: -#line 1565 "Dimensions.c" - { - gint _tmp0_; - gint _tmp1_; - Dimensions _tmp2_ = {0}; -#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).width; -#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).height; -#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp2_, _tmp0_, _tmp1_); -#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp2_; -#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1580 "Dimensions.c" - } -#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_DIMENSIONS: -#line 1584 "Dimensions.c" - { - Dimensions _tmp3_ = {0}; - gint _tmp4_; - gint _tmp5_; -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).width; -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*self).height; -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp4_ >= _tmp5_) { -#line 1595 "Dimensions.c" - Dimensions _tmp6_ = {0}; -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_width (&(*self), scale, &_tmp6_); -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp6_; -#line 1601 "Dimensions.c" - } else { - Dimensions _tmp7_ = {0}; -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_height (&(*self), scale, &_tmp7_); -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp7_; -#line 1608 "Dimensions.c" - } -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp3_; -#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1614 "Dimensions.c" - } -#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_WIDTH: -#line 1618 "Dimensions.c" - { - Dimensions _tmp8_ = {0}; -#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_width (&(*self), scale, &_tmp8_); -#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp8_; -#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1627 "Dimensions.c" - } -#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_HEIGHT: -#line 1631 "Dimensions.c" - { - Dimensions _tmp9_ = {0}; -#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_height (&(*self), scale, &_tmp9_); -#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp9_; -#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1640 "Dimensions.c" - } - default: - { -#line 244 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_error ("Dimensions.vala:244: Bad constraint: %d", (gint) constraint); -#line 1646 "Dimensions.c" - } - } -} - - -Dimensions* -dimensions_dup (const Dimensions* self) -{ - Dimensions* dup; -#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" - dup = g_new0 (Dimensions, 1); -#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" - memcpy (dup, self, sizeof (Dimensions)); -#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" - return dup; -#line 1662 "Dimensions.c" -} - - -void -dimensions_free (Dimensions* self) -{ -#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_free (self); -#line 1671 "Dimensions.c" -} - - -GType -dimensions_get_type (void) -{ - static volatile gsize dimensions_type_id__volatile = 0; - if (g_once_init_enter (&dimensions_type_id__volatile)) { - GType dimensions_type_id; - dimensions_type_id = g_boxed_type_register_static ("Dimensions", (GBoxedCopyFunc) dimensions_dup, (GBoxedFreeFunc) dimensions_free); - g_once_init_leave (&dimensions_type_id__volatile, dimensions_type_id); - } - return dimensions_type_id__volatile; -} - - -static void -scaling_init (Scaling *self, - ScaleConstraint constraint, - gint scale, - Dimensions* viewport, - gboolean scale_up) -{ - Dimensions _tmp0_; -#line 257 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (viewport != NULL); -#line 257 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (self, 0, sizeof (Scaling)); -#line 258 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).constraint = constraint; -#line 259 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).scale = scale; -#line 260 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *viewport; -#line 260 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport = _tmp0_; -#line 261 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).scale_up = scale_up; -#line 1710 "Dimensions.c" -} - - -void -scaling_for_original (Scaling* result) -{ - Dimensions _tmp0_ = {0}; - Scaling _tmp1_ = {0}; -#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp0_, 0, 0); -#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_init (&_tmp1_, SCALE_CONSTRAINT_ORIGINAL, SCALING_NO_SCALE, &_tmp0_, FALSE); -#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp1_; -#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1727 "Dimensions.c" -} - - -void -scaling_for_screen (GtkWindow* window, - gboolean scale_up, - Scaling* result) -{ - Dimensions _tmp0_ = {0}; - Scaling _tmp1_ = {0}; -#line 268 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GTK_IS_WINDOW (window)); -#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_get_screen_dimensions (window, &_tmp0_); -#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_for_viewport (&_tmp0_, scale_up, &_tmp1_); -#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp1_; -#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1748 "Dimensions.c" -} - - -void -scaling_for_best_fit (gint pixels, - gboolean scale_up, - Scaling* result) -{ - Dimensions _tmp0_ = {0}; - Scaling _tmp1_ = {0}; -#line 273 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (pixels > 0, "pixels > 0"); -#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp0_, 0, 0); -#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_init (&_tmp1_, SCALE_CONSTRAINT_DIMENSIONS, pixels, &_tmp0_, scale_up); -#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp1_; -#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1769 "Dimensions.c" -} - - -void -scaling_for_viewport (Dimensions* viewport, - gboolean scale_up, - Scaling* result) -{ - Dimensions _tmp0_; - Scaling _tmp1_ = {0}; -#line 278 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (viewport != NULL); -#line 279 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (dimensions_has_area (viewport), "viewport.has_area()"); -#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *viewport; -#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_init (&_tmp1_, SCALE_CONSTRAINT_DIMENSIONS, SCALING_NO_SCALE, &_tmp0_, scale_up); -#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp1_; -#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1792 "Dimensions.c" -} - - -void -scaling_for_widget (GtkWidget* widget, - gboolean scale_up, - Scaling* result) -{ - Dimensions viewport = {0}; - Dimensions _tmp0_ = {0}; - gboolean _tmp1_ = FALSE; - Dimensions _tmp2_; - gint _tmp3_; - Dimensions _tmp7_; - Scaling _tmp8_ = {0}; -#line 284 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GTK_IS_WIDGET (widget)); -#line 285 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_for_widget_allocation (widget, &_tmp0_); -#line 285 "/home/jens/Source/shotwell/src/Dimensions.vala" - viewport = _tmp0_; -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = viewport; -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.width; -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp3_ <= 1) { -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = TRUE; -#line 1822 "Dimensions.c" - } else { - Dimensions _tmp4_; - gint _tmp5_; -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = viewport; -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = _tmp4_.height; -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp5_ <= 1; -#line 1832 "Dimensions.c" - } -#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_) { -#line 1836 "Dimensions.c" - Scaling _tmp6_ = {0}; -#line 296 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_for_original (&_tmp6_); -#line 296 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp6_; -#line 296 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1844 "Dimensions.c" - } -#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = viewport; -#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_init (&_tmp8_, SCALE_CONSTRAINT_DIMENSIONS, SCALING_NO_SCALE, &_tmp7_, scale_up); -#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp8_; -#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1854 "Dimensions.c" -} - - -void -scaling_to_fill_viewport (Dimensions* viewport, - Scaling* result) -{ - gboolean _tmp0_ = FALSE; - Dimensions _tmp1_; - gint _tmp2_; - Dimensions _tmp6_; - Scaling _tmp7_ = {0}; -#line 301 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (viewport != NULL); -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = *viewport; -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = _tmp1_.width; -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp2_ <= 1) { -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = TRUE; -#line 1877 "Dimensions.c" - } else { - Dimensions _tmp3_; - gint _tmp4_; -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = *viewport; -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.height; -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp4_ <= 1; -#line 1887 "Dimensions.c" - } -#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_) { -#line 1891 "Dimensions.c" - Scaling _tmp5_ = {0}; -#line 305 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_for_original (&_tmp5_); -#line 305 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp5_; -#line 305 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1899 "Dimensions.c" - } -#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = *viewport; -#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_init (&_tmp7_, SCALE_CONSTRAINT_FILL_VIEWPORT, SCALING_NO_SCALE, &_tmp6_, TRUE); -#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp7_; -#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1909 "Dimensions.c" -} - - -void -scaling_to_fill_screen (GtkWindow* window, - Scaling* result) -{ - Dimensions _tmp0_ = {0}; - Scaling _tmp1_ = {0}; -#line 310 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GTK_IS_WINDOW (window)); -#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_get_screen_dimensions (window, &_tmp0_); -#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_to_fill_viewport (&_tmp0_, &_tmp1_); -#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp1_; -#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1929 "Dimensions.c" -} - - -void -scaling_for_constraint (ScaleConstraint constraint, - gint scale, - gboolean scale_up, - Scaling* result) -{ - Dimensions _tmp0_ = {0}; - Scaling _tmp1_ = {0}; -#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp0_, 0, 0); -#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaling_init (&_tmp1_, constraint, scale, &_tmp0_, scale_up); -#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp1_; -#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1949 "Dimensions.c" -} - - -static gpointer -_g_object_ref0 (gpointer self) -{ -#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" - return self ? g_object_ref (self) : NULL; -#line 1958 "Dimensions.c" -} - - -static void -scaling_get_screen_dimensions (GtkWindow* window, - Dimensions* result) -{ - GdkScreen* screen = NULL; - GdkScreen* _tmp0_; - GdkScreen* _tmp1_; - Dimensions _tmp2_ = {0}; -#line 318 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GTK_IS_WINDOW (window)); -#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = gtk_window_get_screen (window); -#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _g_object_ref0 (_tmp0_); -#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" - screen = _tmp1_; -#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_tmp2_, gdk_screen_get_width (screen), gdk_screen_get_height (screen)); -#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp2_; -#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_object_unref0 (screen); -#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 1986 "Dimensions.c" -} - - -static gint -scaling_scale_to_pixels (Scaling *self) -{ - gint result = 0; - gint _tmp0_ = 0; - gint _tmp1_; -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).scale; -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_ >= 0) { -#line 2000 "Dimensions.c" - gint _tmp2_; -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).scale; -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _tmp2_; -#line 2006 "Dimensions.c" - } else { -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = 0; -#line 2010 "Dimensions.c" - } -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2016 "Dimensions.c" -} - - -gboolean -scaling_is_unscaled (Scaling *self) -{ - gboolean result = FALSE; - ScaleConstraint _tmp0_; -#line 329 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).constraint; -#line 329 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_ == SCALE_CONSTRAINT_ORIGINAL; -#line 329 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2031 "Dimensions.c" -} - - -gboolean -scaling_is_best_fit (Scaling *self, - Dimensions* original, - gint* pixels) -{ - gint _vala_pixels = 0; - gboolean result = FALSE; - gint _tmp0_; - ScaleConstraint _tmp1_; -#line 332 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (original != NULL, FALSE); -#line 333 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_pixels = 0; -#line 335 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).scale; -#line 335 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_ == SCALING_NO_SCALE) { -#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (pixels) { -#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" - *pixels = _vala_pixels; -#line 2058 "Dimensions.c" - } -#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2062 "Dimensions.c" - } -#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).constraint; -#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" - switch (_tmp1_) { -#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_ORIGINAL: -#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_FILL_VIEWPORT: -#line 2072 "Dimensions.c" - { -#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (pixels) { -#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" - *pixels = _vala_pixels; -#line 2080 "Dimensions.c" - } -#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2084 "Dimensions.c" - } - default: - { - gint _tmp2_; -#line 344 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_pixels = scaling_scale_to_pixels (&(*self)); -#line 345 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = _vala_pixels; -#line 345 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (_tmp2_ > 0, "pixels > 0"); -#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = TRUE; -#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (pixels) { -#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" - *pixels = _vala_pixels; -#line 2101 "Dimensions.c" - } -#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2105 "Dimensions.c" - } - } -#line 332 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (pixels) { -#line 332 "/home/jens/Source/shotwell/src/Dimensions.vala" - *pixels = _vala_pixels; -#line 2112 "Dimensions.c" - } -} - - -gboolean -scaling_is_best_fit_dimensions (Scaling *self, - Dimensions* original, - Dimensions* scaled) -{ - Dimensions _vala_scaled = {0}; - gboolean result = FALSE; - gint _tmp0_; - ScaleConstraint _tmp1_; -#line 351 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (original != NULL, FALSE); -#line 352 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_vala_scaled, 0, 0); -#line 354 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).scale; -#line 354 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_ == SCALING_NO_SCALE) { -#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2140 "Dimensions.c" - } -#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2144 "Dimensions.c" - } -#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).constraint; -#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" - switch (_tmp1_) { -#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_ORIGINAL: -#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_FILL_VIEWPORT: -#line 2154 "Dimensions.c" - { -#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2162 "Dimensions.c" - } -#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2166 "Dimensions.c" - } - default: - { - gint pixels = 0; - gint _tmp2_; - gint _tmp3_; - ScaleConstraint _tmp4_; - Dimensions _tmp5_ = {0}; -#line 363 "/home/jens/Source/shotwell/src/Dimensions.vala" - pixels = scaling_scale_to_pixels (&(*self)); -#line 364 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = pixels; -#line 364 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (_tmp2_ > 0, "pixels > 0"); -#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = pixels; -#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).constraint; -#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_by_constraint (original, _tmp3_, _tmp4_, &_tmp5_); -#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_scaled = _tmp5_; -#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = TRUE; -#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2195 "Dimensions.c" - } -#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2199 "Dimensions.c" - } - } -#line 351 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 351 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2206 "Dimensions.c" - } -} - - -gboolean -scaling_is_for_viewport (Scaling *self, - Dimensions* original, - Dimensions* scaled) -{ - Dimensions _vala_scaled = {0}; - gboolean result = FALSE; - gint _tmp0_; - ScaleConstraint _tmp1_; -#line 372 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (original != NULL, FALSE); -#line 373 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_vala_scaled, 0, 0); -#line 375 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).scale; -#line 375 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_ != SCALING_NO_SCALE) { -#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2234 "Dimensions.c" - } -#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2238 "Dimensions.c" - } -#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).constraint; -#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" - switch (_tmp1_) { -#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_ORIGINAL: -#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" - case SCALE_CONSTRAINT_FILL_VIEWPORT: -#line 2248 "Dimensions.c" - { -#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2256 "Dimensions.c" - } -#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2260 "Dimensions.c" - } - default: - { - gboolean _tmp2_ = FALSE; - gboolean _tmp3_ = FALSE; - gboolean _tmp4_; -#line 384 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (dimensions_has_area (&(*self).viewport), "viewport.has_area()"); -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).scale_up; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (!_tmp4_) { -#line 2273 "Dimensions.c" - Dimensions _tmp5_; - gint _tmp6_; - Dimensions _tmp7_; - gint _tmp8_; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *original; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.width; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).viewport; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = _tmp7_.width; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp6_ < _tmp8_; -#line 2288 "Dimensions.c" - } else { -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = FALSE; -#line 2292 "Dimensions.c" - } -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp3_) { -#line 2296 "Dimensions.c" - Dimensions _tmp9_; - gint _tmp10_; - Dimensions _tmp11_; - gint _tmp12_; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = *original; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _tmp9_.height; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = (*self).viewport; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_.height; -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = _tmp10_ < _tmp12_; -#line 2311 "Dimensions.c" - } else { -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = FALSE; -#line 2315 "Dimensions.c" - } -#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp2_) { -#line 2319 "Dimensions.c" - Dimensions _tmp13_; -#line 387 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = *original; -#line 387 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_scaled = _tmp13_; -#line 2325 "Dimensions.c" - } else { - Dimensions _tmp14_; - Dimensions _tmp15_ = {0}; -#line 389 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = (*self).viewport; -#line 389 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_proportional (original, &_tmp14_, &_tmp15_); -#line 389 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_scaled = _tmp15_; -#line 2335 "Dimensions.c" - } -#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = TRUE; -#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2343 "Dimensions.c" - } -#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2347 "Dimensions.c" - } - } -#line 372 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 372 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2354 "Dimensions.c" - } -} - - -gboolean -scaling_is_fill_viewport (Scaling *self, - Dimensions* original, - Dimensions* scaled) -{ - Dimensions _vala_scaled = {0}; - gboolean result = FALSE; - ScaleConstraint _tmp0_; - Dimensions _tmp1_; - Dimensions _tmp2_ = {0}; -#line 395 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (original != NULL, FALSE); -#line 396 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_init (&_vala_scaled, 0, 0); -#line 398 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).constraint; -#line 398 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_ != SCALE_CONSTRAINT_FILL_VIEWPORT) { -#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2383 "Dimensions.c" - } -#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2387 "Dimensions.c" - } -#line 401 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (dimensions_has_area (&(*self).viewport), "viewport.has_area()"); -#line 402 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).viewport; -#line 402 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scaled_to_fill_viewport (original, &_tmp1_, &_tmp2_); -#line 402 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_scaled = _tmp2_; -#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = TRUE; -#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaled) { -#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" - *scaled = _vala_scaled; -#line 2403 "Dimensions.c" - } -#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2407 "Dimensions.c" -} - - -void -scaling_get_scaled_dimensions (Scaling *self, - Dimensions* original, - Dimensions* result) -{ - Dimensions scaled = {0}; - Dimensions _tmp1_; - Dimensions _tmp2_ = {0}; - gboolean _tmp3_; - Dimensions _tmp4_; - Dimensions _tmp5_ = {0}; - gboolean _tmp6_; - gboolean is_viewport = FALSE; - Dimensions _tmp7_; - Dimensions _tmp8_ = {0}; - gboolean _tmp9_; - gboolean _tmp10_; -#line 407 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (original != NULL); -#line 408 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaling_is_unscaled (&(*self))) { -#line 2432 "Dimensions.c" - Dimensions _tmp0_; -#line 409 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *original; -#line 409 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp0_; -#line 409 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 2440 "Dimensions.c" - } -#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = *original; -#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = scaling_is_fill_viewport (&(*self), &_tmp1_, &_tmp2_); -#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled = _tmp2_; -#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp3_) { -#line 413 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = scaled; -#line 413 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 2454 "Dimensions.c" - } -#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = *original; -#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = scaling_is_best_fit_dimensions (&(*self), &_tmp4_, &_tmp5_); -#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled = _tmp5_; -#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp6_) { -#line 416 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = scaled; -#line 416 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 2468 "Dimensions.c" - } -#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = *original; -#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = scaling_is_for_viewport (&(*self), &_tmp7_, &_tmp8_); -#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled = _tmp8_; -#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" - is_viewport = _tmp9_; -#line 419 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = is_viewport; -#line 419 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (_tmp10_, "is_viewport"); -#line 421 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = scaled; -#line 421 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 2486 "Dimensions.c" -} - - -GdkPixbuf* -scaling_perform_on_pixbuf (Scaling *self, - GdkPixbuf* pixbuf, - GdkInterpType interp, - gboolean scale_up) -{ - GdkPixbuf* result = NULL; - Dimensions pixbuf_dim = {0}; - Dimensions _tmp1_ = {0}; - gint pixels = 0; - Dimensions _tmp2_; - gint _tmp3_ = 0; - gboolean _tmp4_; - Dimensions scaled = {0}; - Dimensions _tmp7_; - Dimensions _tmp8_ = {0}; - gboolean _tmp9_; - gboolean is_viewport = FALSE; - Dimensions _tmp12_; - Dimensions _tmp13_ = {0}; - gboolean _tmp14_; - gboolean _tmp15_; - Dimensions _tmp16_; - GdkPixbuf* _tmp17_; -#line 424 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); -#line 425 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (scaling_is_unscaled (&(*self))) { -#line 2518 "Dimensions.c" - GdkPixbuf* _tmp0_; -#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = _g_object_ref0 (pixbuf); -#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2526 "Dimensions.c" - } -#line 428 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_for_pixbuf (pixbuf, &_tmp1_); -#line 428 "/home/jens/Source/shotwell/src/Dimensions.vala" - pixbuf_dim = _tmp1_; -#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = pixbuf_dim; -#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = scaling_is_best_fit (&(*self), &_tmp2_, &_tmp3_); -#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" - pixels = _tmp3_; -#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp4_) { -#line 2540 "Dimensions.c" - gint _tmp5_; - GdkPixbuf* _tmp6_; -#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = pixels; -#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = scale_pixbuf (pixbuf, _tmp5_, interp, scale_up); -#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp6_; -#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2551 "Dimensions.c" - } -#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = pixbuf_dim; -#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = scaling_is_fill_viewport (&(*self), &_tmp7_, &_tmp8_); -#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled = _tmp8_; -#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp9_) { -#line 2561 "Dimensions.c" - Dimensions _tmp10_; - GdkPixbuf* _tmp11_; -#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = scaled; -#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = resize_pixbuf (pixbuf, &_tmp10_, interp); -#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp11_; -#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2572 "Dimensions.c" - } -#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = pixbuf_dim; -#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = scaling_is_for_viewport (&(*self), &_tmp12_, &_tmp13_); -#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" - scaled = _tmp13_; -#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" - is_viewport = _tmp14_; -#line 439 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = is_viewport; -#line 439 "/home/jens/Source/shotwell/src/Dimensions.vala" - _vala_assert (_tmp15_, "is_viewport"); -#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = scaled; -#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = resize_pixbuf (pixbuf, &_tmp16_, interp); -#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp17_; -#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2594 "Dimensions.c" -} - - -gchar* -scaling_to_string (Scaling *self) -{ - gchar* result = NULL; - ScaleConstraint _tmp0_; -#line 445 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).constraint; -#line 445 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp0_ == SCALE_CONSTRAINT_ORIGINAL) { -#line 2607 "Dimensions.c" - gchar* _tmp1_; -#line 446 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = g_strdup ("scaling: UNSCALED"); -#line 446 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp1_; -#line 446 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2615 "Dimensions.c" - } else { - ScaleConstraint _tmp2_; -#line 447 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).constraint; -#line 447 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp2_ == SCALE_CONSTRAINT_FILL_VIEWPORT) { -#line 2622 "Dimensions.c" - gchar* _tmp3_; - gchar* _tmp4_; - gchar* _tmp5_; - gchar* _tmp6_; -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = dimensions_to_string (&(*self).viewport); -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_; -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = g_strdup_printf ("scaling: fill viewport %s", _tmp4_); -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_; -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (_tmp4_); -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp6_; -#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2641 "Dimensions.c" - } else { - gint _tmp7_; -#line 449 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).scale; -#line 449 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp7_ != SCALING_NO_SCALE) { -#line 2648 "Dimensions.c" - const gchar* _tmp8_ = NULL; - gboolean _tmp9_; - ScaleConstraint _tmp10_; - gchar* _tmp11_; - gchar* _tmp12_; - gchar* _tmp13_; - gchar* _tmp14_; -#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = (*self).scale_up; -#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp9_) { -#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = "scaled up"; -#line 2662 "Dimensions.c" - } else { -#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = "not scaled up"; -#line 2666 "Dimensions.c" - } -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = (*self).constraint; -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = scale_constraint_to_string (_tmp10_); -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_; -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = g_strdup_printf ("scaling: best-fit (%s %d pixels %s)", _tmp12_, scaling_scale_to_pixels (&(*self)), _tmp8_); -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = _tmp13_; -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (_tmp12_); -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp14_; -#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2684 "Dimensions.c" - } else { - const gchar* _tmp15_ = NULL; - gboolean _tmp16_; - gchar* _tmp17_; - gchar* _tmp18_; - gchar* _tmp19_; - gchar* _tmp20_; -#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = (*self).scale_up; -#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp16_) { -#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = "scaled up"; -#line 2698 "Dimensions.c" - } else { -#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = "not scaled up"; -#line 2702 "Dimensions.c" - } -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = dimensions_to_string (&(*self).viewport); -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = _tmp17_; -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = g_strdup_printf ("scaling: viewport %s (%s)", _tmp18_, _tmp15_); -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = _tmp19_; -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (_tmp18_); -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp20_; -#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2718 "Dimensions.c" - } - } - } -} - - -gboolean -scaling_equals (Scaling *self, - Scaling* scaling) -{ - gboolean result = FALSE; - gboolean _tmp0_ = FALSE; - gboolean _tmp1_ = FALSE; - ScaleConstraint _tmp2_; - Scaling _tmp3_; - ScaleConstraint _tmp4_; -#line 457 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (scaling != NULL, FALSE); -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).constraint; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = *scaling; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.constraint; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp2_ == _tmp4_) { -#line 2745 "Dimensions.c" - gint _tmp5_; - Scaling _tmp6_; - gint _tmp7_; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*self).scale; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = *scaling; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp6_.scale; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp5_ == _tmp7_; -#line 2757 "Dimensions.c" - } else { -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = FALSE; -#line 2761 "Dimensions.c" - } -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_) { -#line 2765 "Dimensions.c" - Scaling _tmp8_; - Dimensions _tmp9_; -#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = *scaling; -#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.viewport; -#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = dimensions_equals (&(*self).viewport, &_tmp9_); -#line 2774 "Dimensions.c" - } else { -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = FALSE; -#line 2778 "Dimensions.c" - } -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 2784 "Dimensions.c" -} - - -Scaling* -scaling_dup (const Scaling* self) -{ - Scaling* dup; -#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" - dup = g_new0 (Scaling, 1); -#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" - memcpy (dup, self, sizeof (Scaling)); -#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" - return dup; -#line 2798 "Dimensions.c" -} - - -void -scaling_free (Scaling* self) -{ -#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_free (self); -#line 2807 "Dimensions.c" -} - - -GType -scaling_get_type (void) -{ - static volatile gsize scaling_type_id__volatile = 0; - if (g_once_init_enter (&scaling_type_id__volatile)) { - GType scaling_type_id; - scaling_type_id = g_boxed_type_register_static ("Scaling", (GBoxedCopyFunc) scaling_dup, (GBoxedFreeFunc) scaling_free); - g_once_init_leave (&scaling_type_id__volatile, scaling_type_id); - } - return scaling_type_id__volatile; -} - - -void -zoom_state_init (ZoomState *self, - Dimensions* content_dimensions, - Dimensions* viewport_dimensions, - gdouble slider_val, - GdkPoint* viewport_center) -{ - Dimensions _tmp0_; - Dimensions _tmp1_; - gboolean _tmp2_ = FALSE; - gboolean _tmp3_ = FALSE; -#line 472 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (content_dimensions != NULL); -#line 472 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (viewport_dimensions != NULL); -#line 472 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (self, 0, sizeof (ZoomState)); -#line 474 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *content_dimensions; -#line 474 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).content_dimensions = _tmp0_; -#line 475 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = *viewport_dimensions; -#line 475 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_dimensions = _tmp1_; -#line 476 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).interpolation_factor = slider_val; -#line 478 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_compute_zoom_factors (&(*self)); -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (viewport_center == NULL) { -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = TRUE; -#line 2857 "Dimensions.c" - } else { - gboolean _tmp4_ = FALSE; - gint _tmp5_; -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*viewport_center).x; -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp5_ == 0) { -#line 2865 "Dimensions.c" - gint _tmp6_; -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = (*viewport_center).y; -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp6_ == 0; -#line 2871 "Dimensions.c" - } else { -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = FALSE; -#line 2875 "Dimensions.c" - } -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp4_; -#line 2879 "Dimensions.c" - } -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp3_) { -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = TRUE; -#line 2885 "Dimensions.c" - } else { -#line 481 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = slider_val == 0.0; -#line 2889 "Dimensions.c" - } -#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp2_) { -#line 482 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_center_viewport (&(*self)); -#line 2895 "Dimensions.c" - } else { -#line 484 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center = *viewport_center; -#line 485 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_clamp_viewport_center (&(*self)); -#line 2901 "Dimensions.c" - } -} - - -void -zoom_state_init_rescale (ZoomState *self, - ZoomState* existing, - gdouble new_slider_val) -{ - ZoomState _tmp0_; - Dimensions _tmp1_; - ZoomState _tmp2_; - Dimensions _tmp3_; -#line 489 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (existing != NULL); -#line 489 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (self, 0, sizeof (ZoomState)); -#line 490 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *existing; -#line 490 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.content_dimensions; -#line 490 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).content_dimensions = _tmp1_; -#line 491 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *existing; -#line 491 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.viewport_dimensions; -#line 491 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_dimensions = _tmp3_; -#line 492 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).interpolation_factor = new_slider_val; -#line 494 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_compute_zoom_factors (&(*self)); -#line 496 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (new_slider_val == 0.0) { -#line 497 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_center_viewport (&(*self)); -#line 2939 "Dimensions.c" - } else { - gdouble _tmp4_; - ZoomState _tmp5_; - GdkPoint _tmp6_; - gint _tmp7_; - ZoomState _tmp8_; - gdouble _tmp9_; - gdouble _tmp10_; - ZoomState _tmp11_; - GdkPoint _tmp12_; - gint _tmp13_; - ZoomState _tmp14_; - gdouble _tmp15_; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).zoom_factor; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *existing; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.viewport_center; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp6_.x; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = *existing; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.zoom_factor; -#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.x = (gint) (_tmp4_ * (_tmp7_ / _tmp9_)); -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = (*self).zoom_factor; -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = *existing; -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_.viewport_center; -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = _tmp12_.y; -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = *existing; -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = _tmp14_.zoom_factor; -#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.y = (gint) (_tmp10_ * (_tmp13_ / _tmp15_)); -#line 503 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_clamp_viewport_center (&(*self)); -#line 2983 "Dimensions.c" - } -} - - -void -zoom_state_init_rescale_to_isomorphic (ZoomState *self, - ZoomState* existing) -{ - ZoomState _tmp0_; - Dimensions _tmp1_; - ZoomState _tmp2_; - Dimensions _tmp3_; - ZoomState _tmp4_; - gdouble _tmp5_; - ZoomState _tmp6_; - gdouble _tmp7_; - ZoomState _tmp8_; - gdouble _tmp9_; - gdouble _tmp10_; -#line 507 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (existing != NULL); -#line 507 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (self, 0, sizeof (ZoomState)); -#line 508 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *existing; -#line 508 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.content_dimensions; -#line 508 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).content_dimensions = _tmp1_; -#line 509 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *existing; -#line 509 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.viewport_dimensions; -#line 509 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_dimensions = _tmp3_; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = *existing; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = _tmp4_.min_factor; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = *existing; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp6_.max_factor; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = *existing; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.min_factor; -#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).interpolation_factor = log (1.0 / _tmp5_) / log (_tmp7_ / _tmp9_); -#line 513 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_compute_zoom_factors (&(*self)); -#line 515 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = (*self).interpolation_factor; -#line 515 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp10_ == 0.0) { -#line 516 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_center_viewport (&(*self)); -#line 3041 "Dimensions.c" - } else { - gdouble _tmp11_; - ZoomState _tmp12_; - GdkPoint _tmp13_; - gint _tmp14_; - ZoomState _tmp15_; - gdouble _tmp16_; - gdouble _tmp17_; - ZoomState _tmp18_; - GdkPoint _tmp19_; - gint _tmp20_; - ZoomState _tmp21_; - gdouble _tmp22_; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = (*self).zoom_factor; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = *existing; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = _tmp12_.viewport_center; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = _tmp13_.x; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = *existing; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = _tmp15_.zoom_factor; -#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.x = (gint) (_tmp11_ * (_tmp14_ / _tmp16_)); -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = (*self).zoom_factor; -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = *existing; -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = _tmp18_.viewport_center; -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = _tmp19_.y; -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = *existing; -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = _tmp21_.zoom_factor; -#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.y = (gint) (_tmp17_ * (_tmp20_ / _tmp22_)); -#line 522 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_clamp_viewport_center (&(*self)); -#line 3085 "Dimensions.c" - } -} - - -void -zoom_state_init_pan (ZoomState *self, - ZoomState* existing, - GdkPoint* new_viewport_center) -{ - ZoomState _tmp0_; - Dimensions _tmp1_; - ZoomState _tmp2_; - Dimensions _tmp3_; - ZoomState _tmp4_; - gdouble _tmp5_; - GdkPoint _tmp6_; -#line 526 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (existing != NULL); -#line 526 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (new_viewport_center != NULL); -#line 526 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (self, 0, sizeof (ZoomState)); -#line 527 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *existing; -#line 527 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.content_dimensions; -#line 527 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).content_dimensions = _tmp1_; -#line 528 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *existing; -#line 528 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.viewport_dimensions; -#line 528 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_dimensions = _tmp3_; -#line 529 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = *existing; -#line 529 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = _tmp4_.interpolation_factor; -#line 529 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).interpolation_factor = _tmp5_; -#line 531 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_compute_zoom_factors (&(*self)); -#line 533 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = *new_viewport_center; -#line 533 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center = _tmp6_; -#line 535 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_clamp_viewport_center (&(*self)); -#line 3134 "Dimensions.c" -} - - -static void -zoom_state_clamp_viewport_center (ZoomState *self) -{ - gint zoomed_width = 0; - gint zoomed_height = 0; - GdkPoint _tmp0_; - gint _tmp1_; - Dimensions _tmp2_; - gint _tmp3_; - Dimensions _tmp4_; - gint _tmp5_; - GdkPoint _tmp6_; - gint _tmp7_; - Dimensions _tmp8_; - gint _tmp9_; - Dimensions _tmp10_; - gint _tmp11_; -#line 539 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoomed_width = zoom_state_get_zoomed_width (&(*self)); -#line 540 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoomed_height = zoom_state_get_zoomed_height (&(*self)); -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).viewport_center; -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.x; -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).viewport_dimensions; -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.width; -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).viewport_dimensions; -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = _tmp4_.width; -#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.x = CLAMP (_tmp1_, _tmp3_ / 2, (zoomed_width - (_tmp5_ / 2)) - 1); -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = (*self).viewport_center; -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _tmp6_.y; -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = (*self).viewport_dimensions; -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.height; -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = (*self).viewport_dimensions; -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = _tmp10_.height; -#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.y = CLAMP (_tmp7_, _tmp9_ / 2, (zoomed_height - (_tmp11_ / 2)) - 1); -#line 3187 "Dimensions.c" -} - - -static void -zoom_state_center_viewport (ZoomState *self) -{ -#line 549 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.x = zoom_state_get_zoomed_width (&(*self)) / 2; -#line 550 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).viewport_center.y = zoom_state_get_zoomed_height (&(*self)) / 2; -#line 3198 "Dimensions.c" -} - - -static void -zoom_state_compute_zoom_factors (ZoomState *self) -{ - gdouble viewport_to_content_x = 0.0; - gdouble viewport_to_content_y = 0.0; - Dimensions _tmp0_; - gdouble _tmp1_ = 0.0; - gdouble _tmp2_ = 0.0; - gdouble _tmp3_; - gdouble _tmp4_; - gdouble _tmp5_; - gdouble _tmp6_; - gdouble _tmp7_; - gdouble _tmp8_; - gdouble _tmp9_; -#line 554 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).max_factor = 2.0; -#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).viewport_dimensions; -#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" - dimensions_get_scale_ratios (&(*self).content_dimensions, &_tmp0_, &_tmp1_, &_tmp2_); -#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" - viewport_to_content_x = _tmp1_; -#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" - viewport_to_content_y = _tmp2_; -#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = viewport_to_content_x; -#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = viewport_to_content_y; -#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).min_factor = MIN (_tmp3_, _tmp4_); -#line 561 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*self).min_factor; -#line 561 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp5_ > 1.0) { -#line 562 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).min_factor = 1.0; -#line 3239 "Dimensions.c" - } -#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = (*self).min_factor; -#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).max_factor; -#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = (*self).min_factor; -#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = (*self).interpolation_factor; -#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" - (*self).zoom_factor = _tmp6_ * pow (_tmp7_ / _tmp8_, _tmp9_); -#line 3251 "Dimensions.c" -} - - -gdouble -zoom_state_get_interpolation_factor (ZoomState *self) -{ - gdouble result = 0.0; - gdouble _tmp0_; -#line 568 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).interpolation_factor; -#line 568 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 568 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 3266 "Dimensions.c" -} - - -void -zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, - GdkRectangle* result) -{ - gint zoomed_width = 0; - gint zoomed_height = 0; - GdkRectangle _result_ = {0}; - Dimensions _tmp0_; - gint _tmp1_; - gint _tmp2_; - GdkRectangle _tmp10_; - gint _tmp11_; - Dimensions _tmp12_; - gint _tmp13_; - gint _tmp14_; - GdkRectangle _tmp22_; - gint _tmp23_; - gint right = 0; - GdkRectangle _tmp24_; - gint _tmp25_; - Dimensions _tmp26_; - gint _tmp27_; - gint _tmp28_; - gint _tmp29_; - gint _tmp31_; - GdkRectangle _tmp32_; - gint _tmp33_; - gint bottom = 0; - GdkRectangle _tmp34_; - gint _tmp35_; - Dimensions _tmp36_; - gint _tmp37_; - gint _tmp38_; - gint _tmp39_; - gint _tmp41_; - GdkRectangle _tmp42_; - gint _tmp43_; - GdkRectangle _tmp44_; - gint _tmp45_; - GdkRectangle _tmp46_; - gint _tmp47_; -#line 573 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoomed_width = zoom_state_get_zoomed_width (&(*self)); -#line 574 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoomed_height = zoom_state_get_zoomed_height (&(*self)); -#line 576 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (&_result_, 0, sizeof (GdkRectangle)); -#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).viewport_dimensions; -#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.width; -#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = zoomed_width; -#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp1_ < _tmp2_) { -#line 3325 "Dimensions.c" - GdkPoint _tmp3_; - gint _tmp4_; - Dimensions _tmp5_; - gint _tmp6_; -#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = (*self).viewport_center; -#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.x; -#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = (*self).viewport_dimensions; -#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.width; -#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = _tmp4_ - (_tmp6_ / 2); -#line 3340 "Dimensions.c" - } else { - gint _tmp7_; - Dimensions _tmp8_; - gint _tmp9_; -#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = zoomed_width; -#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = (*self).viewport_dimensions; -#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.width; -#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = (_tmp7_ - _tmp9_) / 2; -#line 3353 "Dimensions.c" - } -#line 583 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _result_; -#line 583 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = _tmp10_.x; -#line 583 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp11_ < 0) { -#line 584 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = 0; -#line 3363 "Dimensions.c" - } -#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = (*self).viewport_dimensions; -#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = _tmp12_.height; -#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = zoomed_height; -#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp13_ < _tmp14_) { -#line 3373 "Dimensions.c" - GdkPoint _tmp15_; - gint _tmp16_; - Dimensions _tmp17_; - gint _tmp18_; -#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = (*self).viewport_center; -#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = _tmp15_.y; -#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = (*self).viewport_dimensions; -#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = _tmp17_.height; -#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = _tmp16_ - (_tmp18_ / 2); -#line 3388 "Dimensions.c" - } else { - gint _tmp19_; - Dimensions _tmp20_; - gint _tmp21_; -#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = zoomed_height; -#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = (*self).viewport_dimensions; -#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = _tmp20_.height; -#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = (_tmp19_ - _tmp21_) / 2; -#line 3401 "Dimensions.c" - } -#line 591 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = _result_; -#line 591 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp23_ = _tmp22_.y; -#line 591 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp23_ < 0) { -#line 592 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = 0; -#line 3411 "Dimensions.c" - } -#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp24_ = _result_; -#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp25_ = _tmp24_.x; -#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp26_ = (*self).viewport_dimensions; -#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp27_ = _tmp26_.width; -#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" - right = _tmp25_ + _tmp27_; -#line 595 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp28_ = right; -#line 595 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp29_ = zoomed_width; -#line 595 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp28_ > _tmp29_) { -#line 3429 "Dimensions.c" - gint _tmp30_; -#line 596 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp30_ = zoomed_width; -#line 596 "/home/jens/Source/shotwell/src/Dimensions.vala" - right = _tmp30_; -#line 3435 "Dimensions.c" - } -#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp31_ = right; -#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp32_ = _result_; -#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp33_ = _tmp32_.x; -#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.width = _tmp31_ - _tmp33_; -#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp34_ = _result_; -#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp35_ = _tmp34_.y; -#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp36_ = (*self).viewport_dimensions; -#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp37_ = _tmp36_.height; -#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" - bottom = _tmp35_ + _tmp37_; -#line 600 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp38_ = bottom; -#line 600 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp39_ = zoomed_height; -#line 600 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp38_ > _tmp39_) { -#line 3461 "Dimensions.c" - gint _tmp40_; -#line 601 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp40_ = zoomed_height; -#line 601 "/home/jens/Source/shotwell/src/Dimensions.vala" - bottom = _tmp40_; -#line 3467 "Dimensions.c" - } -#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp41_ = bottom; -#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp42_ = _result_; -#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp43_ = _tmp42_.y; -#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.height = _tmp41_ - _tmp43_; -#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp44_ = _result_; -#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp45_ = _tmp44_.width; -#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.width = CLAMP (_tmp45_, 1, G_MAXINT); -#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp46_ = _result_; -#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp47_ = _tmp46_.height; -#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.height = CLAMP (_tmp47_, 1, G_MAXINT); -#line 607 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _result_; -#line 607 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 3493 "Dimensions.c" -} - - -void -zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self, - GdkRectangle* result) -{ - GdkRectangle wrt_content = {0}; - GdkRectangle _tmp0_ = {0}; - GdkRectangle _result_ = {0}; - Dimensions _tmp1_; - gint _tmp2_; - GdkRectangle _tmp3_; - gint _tmp4_; - GdkRectangle _tmp5_; - gint _tmp6_; - Dimensions _tmp7_; - gint _tmp8_; - GdkRectangle _tmp9_; - gint _tmp10_; - GdkRectangle _tmp11_; - gint _tmp12_; - GdkRectangle _tmp13_; - gint _tmp14_; - GdkRectangle _tmp15_; - gint _tmp16_; -#line 613 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_get_viewing_rectangle_wrt_content (&(*self), &_tmp0_); -#line 613 "/home/jens/Source/shotwell/src/Dimensions.vala" - wrt_content = _tmp0_; -#line 615 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (&_result_, 0, sizeof (GdkRectangle)); -#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).viewport_dimensions; -#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = _tmp1_.width; -#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = wrt_content; -#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = _tmp3_.width; -#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = (_tmp2_ / 2) - (_tmp4_ / 2); -#line 617 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = _result_; -#line 617 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.x; -#line 617 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp6_ < 0) { -#line 618 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = 0; -#line 3544 "Dimensions.c" - } -#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).viewport_dimensions; -#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = _tmp7_.height; -#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = wrt_content; -#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _tmp9_.height; -#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = (_tmp8_ / 2) - (_tmp10_ / 2); -#line 620 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = _result_; -#line 620 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_.y; -#line 620 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp12_ < 0) { -#line 621 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = 0; -#line 3564 "Dimensions.c" - } -#line 622 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = wrt_content; -#line 622 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = _tmp13_.width; -#line 622 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.width = _tmp14_; -#line 623 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = wrt_content; -#line 623 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = _tmp15_.height; -#line 623 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.height = _tmp16_; -#line 625 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _result_; -#line 625 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 3582 "Dimensions.c" -} - - -void -zoom_state_get_viewing_rectangle_projection (ZoomState *self, - GdkPixbuf* for_pixbuf, - GdkRectangle* result) -{ - gdouble zoomed_width = 0.0; - gdouble zoomed_height = 0.0; - gdouble horiz_scale = 0.0; - gint _tmp0_; - gint _tmp1_; - gdouble vert_scale = 0.0; - gint _tmp2_; - gint _tmp3_; - gdouble scale = 0.0; - GdkRectangle viewing_rectangle = {0}; - GdkRectangle _tmp4_ = {0}; - GdkRectangle _result_ = {0}; - GdkRectangle _tmp5_; - gint _tmp6_; - GdkRectangle _tmp7_; - gint _tmp8_; - gint _tmp9_; - gint _tmp10_; - GdkRectangle _tmp11_; - gint _tmp12_; - GdkRectangle _tmp13_; - gint _tmp14_; - gint _tmp15_; - gint _tmp16_; - gint right = 0; - GdkRectangle _tmp17_; - gint _tmp18_; - GdkRectangle _tmp19_; - gint _tmp20_; - gint _tmp21_; - gint _tmp22_; - gint _tmp23_; - gint bottom = 0; - GdkRectangle _tmp24_; - gint _tmp25_; - GdkRectangle _tmp26_; - gint _tmp27_; - gint _tmp28_; - gint _tmp29_; - gint _tmp30_; - gint _tmp31_; - GdkRectangle _tmp32_; - gint _tmp33_; - gint _tmp34_; - GdkRectangle _tmp35_; - gint _tmp36_; -#line 629 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_if_fail (GDK_IS_PIXBUF (for_pixbuf)); -#line 630 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoomed_width = (gdouble) zoom_state_get_zoomed_width (&(*self)); -#line 631 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoomed_height = (gdouble) zoom_state_get_zoomed_height (&(*self)); -#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = gdk_pixbuf_get_width (for_pixbuf); -#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_; -#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" - horiz_scale = _tmp1_ / zoomed_width; -#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = gdk_pixbuf_get_height (for_pixbuf); -#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_; -#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" - vert_scale = _tmp3_ / zoomed_height; -#line 635 "/home/jens/Source/shotwell/src/Dimensions.vala" - scale = (horiz_scale + vert_scale) / 2.0; -#line 637 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_get_viewing_rectangle_wrt_content (&(*self), &_tmp4_); -#line 637 "/home/jens/Source/shotwell/src/Dimensions.vala" - viewing_rectangle = _tmp4_; -#line 639 "/home/jens/Source/shotwell/src/Dimensions.vala" - memset (&_result_, 0, sizeof (GdkRectangle)); -#line 640 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = viewing_rectangle; -#line 640 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.x; -#line 640 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = (gint) (_tmp6_ * scale); -#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = _result_; -#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = _tmp7_.x; -#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = gdk_pixbuf_get_width (for_pixbuf); -#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = _tmp9_; -#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.x = CLAMP (_tmp8_, 0, _tmp10_); -#line 642 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = viewing_rectangle; -#line 642 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_.y; -#line 642 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = (gint) (_tmp12_ * scale); -#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = _result_; -#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = _tmp13_.y; -#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = gdk_pixbuf_get_height (for_pixbuf); -#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = _tmp15_; -#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.y = CLAMP (_tmp14_, 0, _tmp16_); -#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = viewing_rectangle; -#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = _tmp17_.x; -#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = viewing_rectangle; -#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = _tmp19_.width; -#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" - right = (gint) ((_tmp18_ + _tmp20_) * scale); -#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = right; -#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = gdk_pixbuf_get_width (for_pixbuf); -#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp23_ = _tmp22_; -#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" - right = CLAMP (_tmp21_, 0, _tmp23_); -#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp24_ = viewing_rectangle; -#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp25_ = _tmp24_.y; -#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp26_ = viewing_rectangle; -#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp27_ = _tmp26_.height; -#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" - bottom = (gint) ((_tmp25_ + _tmp27_) * scale); -#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp28_ = bottom; -#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp29_ = gdk_pixbuf_get_height (for_pixbuf); -#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp30_ = _tmp29_; -#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" - bottom = CLAMP (_tmp28_, 0, _tmp30_); -#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp31_ = right; -#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp32_ = _result_; -#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp33_ = _tmp32_.x; -#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.width = _tmp31_ - _tmp33_; -#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp34_ = bottom; -#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp35_ = _result_; -#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp36_ = _tmp35_.y; -#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" - _result_.height = _tmp34_ - _tmp36_; -#line 651 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _result_; -#line 651 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 3751 "Dimensions.c" -} - - -gdouble -zoom_state_get_zoom_factor (ZoomState *self) -{ - gdouble result = 0.0; - gdouble _tmp0_; -#line 656 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).zoom_factor; -#line 656 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_; -#line 656 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 3766 "Dimensions.c" -} - - -gint -zoom_state_get_zoomed_width (ZoomState *self) -{ - gint result = 0; - Dimensions _tmp0_; - gint _tmp1_; - gdouble _tmp2_; -#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).content_dimensions; -#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.width; -#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).zoom_factor; -#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = (gint) (_tmp1_ * _tmp2_); -#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 3787 "Dimensions.c" -} - - -gint -zoom_state_get_zoomed_height (ZoomState *self) -{ - gint result = 0; - Dimensions _tmp0_; - gint _tmp1_; - gdouble _tmp2_; -#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).content_dimensions; -#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.height; -#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = (*self).zoom_factor; -#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = (gint) (_tmp1_ * _tmp2_); -#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 3808 "Dimensions.c" -} - - -void -zoom_state_get_viewport_center (ZoomState *self, - GdkPoint* result) -{ - GdkPoint _tmp0_; -#line 668 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).viewport_center; -#line 668 "/home/jens/Source/shotwell/src/Dimensions.vala" - *result = _tmp0_; -#line 668 "/home/jens/Source/shotwell/src/Dimensions.vala" - return; -#line 3823 "Dimensions.c" -} - - -gchar* -zoom_state_to_string (ZoomState *self) -{ - gchar* result = NULL; - gchar* named_modes = NULL; - gchar* _tmp0_; - const gchar* _tmp17_; - GdkRectangle viewing_rect = {0}; - GdkRectangle _tmp19_ = {0}; - Dimensions _tmp20_; - gint _tmp21_; - Dimensions _tmp22_; - gint _tmp23_; - Dimensions _tmp24_; - gint _tmp25_; - Dimensions _tmp26_; - gint _tmp27_; - gdouble _tmp28_; - gdouble _tmp29_; - gdouble _tmp30_; - const gchar* _tmp31_; - GdkRectangle _tmp32_; - gint _tmp33_; - GdkRectangle _tmp34_; - gint _tmp35_; - GdkRectangle _tmp36_; - gint _tmp37_; - GdkRectangle _tmp38_; - gint _tmp39_; - GdkPoint _tmp40_; - gint _tmp41_; - GdkPoint _tmp42_; - gint _tmp43_; - gchar* _tmp44_; -#line 672 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = g_strdup (""); -#line 672 "/home/jens/Source/shotwell/src/Dimensions.vala" - named_modes = _tmp0_; -#line 673 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (zoom_state_is_min (&(*self))) { -#line 3867 "Dimensions.c" - const gchar* _tmp1_ = NULL; - const gchar* _tmp2_; - const gchar* _tmp3_; - gchar* _tmp4_; -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = named_modes; -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (g_strcmp0 (_tmp2_, "") == 0) { -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = "MIN"; -#line 3878 "Dimensions.c" - } else { -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = ", MIN"; -#line 3882 "Dimensions.c" - } -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = named_modes; -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = g_strconcat (_tmp3_, _tmp1_, NULL); -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (named_modes); -#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" - named_modes = _tmp4_; -#line 3892 "Dimensions.c" - } -#line 675 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (zoom_state_is_default (&(*self))) { -#line 3896 "Dimensions.c" - const gchar* _tmp5_ = NULL; - const gchar* _tmp6_; - const gchar* _tmp7_; - gchar* _tmp8_; -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = named_modes; -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (g_strcmp0 (_tmp6_, "") == 0) { -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = "DEFAULT"; -#line 3907 "Dimensions.c" - } else { -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = ", DEFAULT"; -#line 3911 "Dimensions.c" - } -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = named_modes; -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = g_strconcat (_tmp7_, _tmp5_, NULL); -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (named_modes); -#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" - named_modes = _tmp8_; -#line 3921 "Dimensions.c" - } -#line 677 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (zoom_state_is_isomorphic (&(*self))) { -#line 3925 "Dimensions.c" - const gchar* _tmp9_ = NULL; - const gchar* _tmp10_; - const gchar* _tmp11_; - gchar* _tmp12_; -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = named_modes; -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (g_strcmp0 (_tmp10_, "") == 0) { -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = "ISOMORPHIC"; -#line 3936 "Dimensions.c" - } else { -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = ", ISOMORPHIC"; -#line 3940 "Dimensions.c" - } -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = named_modes; -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = g_strconcat (_tmp11_, _tmp9_, NULL); -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (named_modes); -#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" - named_modes = _tmp12_; -#line 3950 "Dimensions.c" - } -#line 679 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (zoom_state_is_max (&(*self))) { -#line 3954 "Dimensions.c" - const gchar* _tmp13_ = NULL; - const gchar* _tmp14_; - const gchar* _tmp15_; - gchar* _tmp16_; -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = named_modes; -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (g_strcmp0 (_tmp14_, "") == 0) { -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = "MAX"; -#line 3965 "Dimensions.c" - } else { -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = ", MAX"; -#line 3969 "Dimensions.c" - } -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = named_modes; -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = g_strconcat (_tmp15_, _tmp13_, NULL); -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (named_modes); -#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" - named_modes = _tmp16_; -#line 3979 "Dimensions.c" - } -#line 681 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = named_modes; -#line 681 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (g_strcmp0 (_tmp17_, "") == 0) { -#line 3985 "Dimensions.c" - gchar* _tmp18_; -#line 682 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = g_strdup ("(none)"); -#line 682 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (named_modes); -#line 682 "/home/jens/Source/shotwell/src/Dimensions.vala" - named_modes = _tmp18_; -#line 3993 "Dimensions.c" - } -#line 684 "/home/jens/Source/shotwell/src/Dimensions.vala" - zoom_state_get_viewing_rectangle_wrt_content (&(*self), &_tmp19_); -#line 684 "/home/jens/Source/shotwell/src/Dimensions.vala" - viewing_rect = _tmp19_; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = (*self).content_dimensions; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = _tmp20_.width; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = (*self).content_dimensions; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp23_ = _tmp22_.height; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp24_ = (*self).viewport_dimensions; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp25_ = _tmp24_.width; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp26_ = (*self).viewport_dimensions; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp27_ = _tmp26_.height; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp28_ = (*self).min_factor; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp29_ = (*self).max_factor; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp30_ = (*self).zoom_factor; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp31_ = named_modes; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp32_ = viewing_rect; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp33_ = _tmp32_.x; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp34_ = viewing_rect; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp35_ = _tmp34_.y; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp36_ = viewing_rect; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp37_ = _tmp36_.width; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp38_ = viewing_rect; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp39_ = _tmp38_.height; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp40_ = (*self).viewport_center; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp41_ = _tmp40_.x; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp42_ = (*self).viewport_center; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp43_ = _tmp42_.y; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp44_ = g_strdup_printf ("ZoomState {\n" \ -" content dimensions = %d x %d;\n" \ -" viewport dimensions = " "%d x %d;\n" \ -" min factor = %f;\n" \ -" max factor = %f;\n" \ -" current factor = %f;" "\n" \ -" zoomed width = %d;\n" \ -" zoomed height = %d;\n" \ -" named modes = %s;" "\n viewing rectangle = { x: %d, y: %d, width: %d, height: %d };" "\n viewport center = (%d, %d);\n}\n", _tmp21_, _tmp23_, _tmp25_, _tmp27_, _tmp28_, _tmp29_, _tmp30_, zoom_state_get_zoomed_width (&(*self)), zoom_state_get_zoomed_height (&(*self)), _tmp31_, _tmp33_, _tmp35_, _tmp37_, _tmp39_, _tmp41_, _tmp43_); -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp44_; -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - _g_free0 (named_modes); -#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4055 "Dimensions.c" -} - - -gboolean -zoom_state_is_min (ZoomState *self) -{ - gboolean result = FALSE; - gdouble _tmp0_; - gdouble _tmp1_; -#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).zoom_factor; -#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).min_factor; -#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_ == _tmp1_; -#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4073 "Dimensions.c" -} - - -gboolean -zoom_state_is_default (ZoomState *self) -{ - gboolean result = FALSE; -#line 702 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = zoom_state_is_min (&(*self)); -#line 702 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4085 "Dimensions.c" -} - - -gboolean -zoom_state_is_max (ZoomState *self) -{ - gboolean result = FALSE; - gdouble _tmp0_; - gdouble _tmp1_; -#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).zoom_factor; -#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = (*self).max_factor; -#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_ == _tmp1_; -#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4103 "Dimensions.c" -} - - -gboolean -zoom_state_is_isomorphic (ZoomState *self) -{ - gboolean result = FALSE; - gdouble _tmp0_; -#line 710 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = (*self).zoom_factor; -#line 710 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = _tmp0_ == 1.0; -#line 710 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4118 "Dimensions.c" -} - - -gboolean -zoom_state_equals (ZoomState *self, - ZoomState* other) -{ - gboolean result = FALSE; - ZoomState _tmp0_; - Dimensions _tmp1_; - ZoomState _tmp2_; - Dimensions _tmp3_; - gdouble _tmp4_; - ZoomState _tmp5_; - gdouble _tmp6_; - gdouble _tmp7_; - ZoomState _tmp8_; - gdouble _tmp9_; - gdouble _tmp10_; - ZoomState _tmp11_; - gdouble _tmp12_; - GdkPoint _tmp13_; - gint _tmp14_; - ZoomState _tmp15_; - GdkPoint _tmp16_; - gint _tmp17_; - GdkPoint _tmp18_; - gint _tmp19_; - ZoomState _tmp20_; - GdkPoint _tmp21_; - gint _tmp22_; -#line 713 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_return_val_if_fail (other != NULL, FALSE); -#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp0_ = *other; -#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp1_ = _tmp0_.content_dimensions; -#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (!dimensions_equals (&(*self).content_dimensions, &_tmp1_)) { -#line 715 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 715 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4162 "Dimensions.c" - } -#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp2_ = *other; -#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp3_ = _tmp2_.viewport_dimensions; -#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (!dimensions_equals (&(*self).viewport_dimensions, &_tmp3_)) { -#line 717 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 717 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4174 "Dimensions.c" - } -#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp4_ = (*self).zoom_factor; -#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp5_ = *other; -#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp6_ = _tmp5_.zoom_factor; -#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp4_ != _tmp6_) { -#line 719 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 719 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4188 "Dimensions.c" - } -#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp7_ = (*self).min_factor; -#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp8_ = *other; -#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp9_ = _tmp8_.min_factor; -#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp7_ != _tmp9_) { -#line 721 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 721 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4202 "Dimensions.c" - } -#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp10_ = (*self).max_factor; -#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp11_ = *other; -#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp12_ = _tmp11_.max_factor; -#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp10_ != _tmp12_) { -#line 723 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 723 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4216 "Dimensions.c" - } -#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp13_ = (*self).viewport_center; -#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp14_ = _tmp13_.x; -#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp15_ = *other; -#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp16_ = _tmp15_.viewport_center; -#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp17_ = _tmp16_.x; -#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp14_ != _tmp17_) { -#line 725 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 725 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4234 "Dimensions.c" - } -#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp18_ = (*self).viewport_center; -#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp19_ = _tmp18_.y; -#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp20_ = *other; -#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp21_ = _tmp20_.viewport_center; -#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" - _tmp22_ = _tmp21_.y; -#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" - if (_tmp19_ != _tmp22_) { -#line 727 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = FALSE; -#line 727 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4252 "Dimensions.c" - } -#line 729 "/home/jens/Source/shotwell/src/Dimensions.vala" - result = TRUE; -#line 729 "/home/jens/Source/shotwell/src/Dimensions.vala" - return result; -#line 4258 "Dimensions.c" -} - - -ZoomState* -zoom_state_dup (const ZoomState* self) -{ - ZoomState* dup; -#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" - dup = g_new0 (ZoomState, 1); -#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" - memcpy (dup, self, sizeof (ZoomState)); -#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" - return dup; -#line 4272 "Dimensions.c" -} - - -void -zoom_state_free (ZoomState* self) -{ -#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" - g_free (self); -#line 4281 "Dimensions.c" -} - - -GType -zoom_state_get_type (void) -{ - static volatile gsize zoom_state_type_id__volatile = 0; - if (g_once_init_enter (&zoom_state_type_id__volatile)) { - GType zoom_state_type_id; - zoom_state_type_id = g_boxed_type_register_static ("ZoomState", (GBoxedCopyFunc) zoom_state_dup, (GBoxedFreeFunc) zoom_state_free); - g_once_init_leave (&zoom_state_type_id__volatile, zoom_state_type_id); - } - return zoom_state_type_id__volatile; -} - - - |