summaryrefslogtreecommitdiff
path: root/src/util/image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/image.c')
-rw-r--r--src/util/image.c2633
1 files changed, 0 insertions, 2633 deletions
diff --git a/src/util/image.c b/src/util/image.c
deleted file mode 100644
index 5f3cbd0..0000000
--- a/src/util/image.c
+++ /dev/null
@@ -1,2633 +0,0 @@
-/* image.c generated by valac 0.40.4, the Vala compiler
- * generated from image.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.
- */
-/* XPM */
-
-
-#include <glib.h>
-#include <glib-object.h>
-#include <stdlib.h>
-#include <string.h>
-#include <gdk/gdk.h>
-#include <cairo.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gtk/gtk.h>
-#include <float.h>
-#include <math.h>
-
-#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
-#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
-
-#define TYPE_DIMENSIONS (dimensions_get_type ())
-typedef struct _Dimensions Dimensions;
-#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL)))
-#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL)))
-
-#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
-#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
-#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
-#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
-#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
-#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
-
-typedef struct _ConfigurationFacade ConfigurationFacade;
-typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
-
-#define CONFIG_TYPE_FACADE (config_facade_get_type ())
-#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
-#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
-#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
-#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
-#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
-
-typedef struct _ConfigFacade ConfigFacade;
-typedef struct _ConfigFacadeClass ConfigFacadeClass;
-#define _g_free0(var) (var = (g_free (var), NULL))
-
-#define TYPE_BOX (box_get_type ())
-typedef struct _Box Box;
-#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);
-
-struct _Dimensions {
- gint width;
- gint height;
-};
-
-struct _Box {
- gint left;
- gint top;
- gint right;
- gint bottom;
-};
-
-
-extern cairo_surface_t* background_surface;
-cairo_surface_t* background_surface = NULL;
-
-gboolean is_color_parsable (const gchar* spec);
-void parse_color (const gchar* spec,
- GdkRGBA* result);
-void fetch_color (const gchar* spec,
- GdkRGBA* result);
-void set_source_color_from_string (cairo_t* ctx,
- const gchar* spec);
-#define MIN_SCALED_WIDTH 10
-#define MIN_SCALED_HEIGHT 10
-GdkPixbuf* get_placeholder_pixbuf (void);
-GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf,
- gint scale,
- GdkInterpType interp,
- gboolean scale_up);
-GType dimensions_get_type (void) G_GNUC_CONST;
-Dimensions* dimensions_dup (const Dimensions* self);
-void dimensions_free (Dimensions* self);
-void dimensions_for_pixbuf (GdkPixbuf* pixbuf,
- Dimensions* result);
-void dimensions_get_scaled (Dimensions *self,
- gint scale,
- gboolean scale_up,
- Dimensions* result);
-void dimensions_with_min (Dimensions *self,
- gint min_width,
- gint min_height,
- Dimensions* result);
-GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf,
- Dimensions* resized,
- GdkInterpType interp);
-#define DEGREE (G_PI / 180.0)
-void draw_rounded_corners_filled (cairo_t* ctx,
- Dimensions* dim,
- GdkPoint* origin,
- gdouble radius_proportion);
-void context_rounded_corners (cairo_t* cx,
- Dimensions* dim,
- GdkPoint* origin,
- gdouble radius_proportion);
-gint dimensions_minor_axis (Dimensions *self);
-guchar shift_color_byte (gint b,
- gint shift);
-void shift_colors (GdkPixbuf* pixbuf,
- gint red,
- gint green,
- gint blue,
- gint alpha);
-gboolean coord_in_rectangle (gint x,
- gint y,
- GdkRectangle* rect);
-gboolean rectangles_equal (GdkRectangle* a,
- GdkRectangle* b);
-gchar* rectangle_to_string (GdkRectangle* rect);
-void clamp_rectangle (GdkRectangle* original,
- Dimensions* max,
- GdkRectangle* result);
-void scale_point (GdkPoint* p,
- gdouble factor,
- GdkPoint* result);
-void add_points (GdkPoint* p1,
- GdkPoint* p2,
- GdkPoint* result);
-void subtract_points (GdkPoint* p1,
- GdkPoint* p2,
- GdkPoint* result);
-void fix_cairo_pixbuf (GdkPixbuf* pixbuf);
-void compute_arb_rotated_size (gdouble src_width,
- gdouble src_height,
- gdouble angle,
- gdouble* dest_width,
- gdouble* dest_height);
-gdouble degrees_to_radians (gdouble theta);
-GdkPixbuf* rotate_arb (GdkPixbuf* source_pixbuf,
- gdouble angle);
-void rotate_point_arb (GdkPoint* source_point,
- gint img_w,
- gint img_h,
- gdouble angle,
- gboolean invert,
- GdkPoint* result);
-void derotate_point_arb (GdkPoint* source_point,
- gint img_w,
- gint img_h,
- gdouble angle,
- GdkPoint* result);
-cairo_surface_t* get_background_surface (void);
-GType configuration_facade_get_type (void) G_GNUC_CONST;
-GType config_facade_get_type (void) G_GNUC_CONST;
-ConfigFacade* config_facade_get_instance (void);
-gchar* configuration_facade_get_transparent_background_type (ConfigurationFacade* self);
-gchar* configuration_facade_get_transparent_background_color (ConfigurationFacade* self);
-void invalidate_transparent_background (void);
-void paint_pixmap_with_background (cairo_t* ctx,
- GdkPixbuf* pixbuf,
- gint x,
- gint y);
-GType box_get_type (void) G_GNUC_CONST;
-Box* box_dup (const Box* self);
-void box_free (Box* self);
-void clamp_inside_rotated_image (Box* src,
- gint img_w,
- gint img_h,
- gdouble angle_deg,
- gboolean preserve_geom,
- Box* result);
-void box_get_offset (Box *self,
- gint xofs,
- gint yofs,
- Box* result);
-void box_init (Box *self,
- gint left,
- gint top,
- gint right,
- gint bottom);
-
-const gchar* fallback_image_missing[103] = {"48 48 54 1 ", " c #6A6D67", ". c #6C6E69", "X c #72746F", "o c #747672", "O c #777974", "+ c #797B77", "@ c #7C7E7A", "# c #7F817C", "$ c #81837F", "% c #848682", "& c #878984", "* c #888A86", "= c #8C8D8A", "- c #8F908C", "; c #90928E", ": c #949591", "> c #969894", ", c #999B96", "< c #9C9E9A", "1 c #9FA09C", "2 c #A1A39E", "3 c #A4A6A2", "4 c #A6A9A4", "5 c #A9ABA6", "6 c #ACADA9", "7 c #AEB1AB", "8 c #B1B2AF", "9 c #B3B4B1", "0 c #B6B9B3", "q c #B9BCB6", "w c #BDBEBA", "e c #BEC2BB", "r c #C1C4BE", "t c #C5C5C2", "y c #C6C9C3", "u c #C9CCC6", "i c #CCCDCB", "p c #CED2CA", "a c #D2D6CE", "s c #D5D5D3", "d c #D7D8D5", "f c #D9D9D6", "g c #DCDCDA", "h c #DFE0DD", "j c #E0E0DE", "k c #E4E4E2", "l c #E7E8E5", "z c #E9E9E7", "x c #EDEDEC", "c c #EFF0EE", "v c #F1F1EF", "b c #F2F2F1", "n c #FFFFFF", "m c None", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmaaaaaaaaaasaisaaaaaaaaaaaaaaaaaaapppiipuuuuumm", "mannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnym", "manbbbbbbbbbvbbvvvvxvvvbvvvvvvvvccccccxxvxvxxnym", "manbt89898888988888888888999999999999999999txnrm", "manb6======================-;;=;;;;;;;;;;=:7znrm", "manv6&%%**%*%%%%*%%****=======;==;;;;=;=;==7znem", "manv4%%%%$%%%%%%%%%%%=****=======;==-======6znwm", "manx3%%#$$$$##%#$%%%*%**==========-=--=====6znqm", "manx1$@%#$@$###%%%%=****=*===--;;----====*=5lnqm", "manx<@@@@@@@@##%$%%%%****========-==-======5kn0m", "manz<@@@+@+@@@#$%%%%%=%=%===;=:=--------=-*4kn8m", "manz>O+O+O+@@@#$$%%%%========;;=--------=*=3kn9m", "mpnl:OOOOO+@@$##%%%%%=%=====;=;;--;-----===3kn8m", "munl;OooOOO@@@#$%%%%%======;;;;;:;;;;;---==1hn7m", "munl;oXoOO+@###$%%=%=======;::;::::;;---&#+-gn7m", "mynk*XXooOO+$$#$%%%%=%===;;:;:::::;:-$#XooX-fn5m", "mynk*XXOOO@@$$$$%%=%====;::::>::;*#OXXXXXXX*dn5m", "mrnk*oOO@@@#$$$$%=====::::>>>=%@OXOooXXXooo&dn3m", "mrnj*++@$$$$**$===-;;::>>:=@Ooo@XOOoo#o#OOO=fn3m", "menj*@#$$$$$**===;;:::=%@@@@@@O@#O#Oo#o#++@;gn2m", "menj*$$$$&**===;:;=*#@@@@@@@@@@@#######o##%>gn2m", "menh*$$%**===;=*%###########%@@@###$####$%=,gn1m", "m0nj=%***=**&$$$%$$$%$$%$$$$%$$$$$$$$$$%*;:2hn<m", "m0nj****&&&$$&&$%%%%%%%%%%%%%%%%$$*$%%%*;>13gn,m", "m0ng****&&&&&&&&&&&&*%*%*%%*%******%**-:,136kz;m", "m0nh***$&&&&&&&&&&&&%**********%*$***;:,1358r7*m", "m8ng*&&&&&&&&&*$&*&&&&$=$=$=&&&&&&**=:,<11>$65mm", "m7ng*&&&&&&&&&**&&&&&&**=$-$&&&&&&*-:,1..&1wi:mm", "m7ng&&&&&&&&=$*$&&&&&***$$$$&&&***=>,1<onxsi6*mm", "m6nf*&&&&&*&$***&&&&*$*$--$-&&&%*=;,13,:ztw9%mmm", "m5nf*%&&&&&&=$=$%*&&**%*$$&&&&**=>,225;5srw%mmmm", "m4nf3*&&**&&$-$-*******%$;&&*&*->,2365+ui7$mmmmm", "m3nsfffdddsddaffssssdassgaaaassddfgjg4wu;ommmmmm", "m3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvq3<$.mmmmmmm", "mm2211111,<,,,,,,>>>>:::;::;----=====@mmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm"};
-
-gboolean
-is_color_parsable (const gchar* spec)
-{
- gboolean result = FALSE;
- GdkRGBA color = {0};
-#line 117 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (spec != NULL, FALSE);
-#line 118 "/home/jens/Source/shotwell/src/util/image.vala"
- memset (&color, 0, sizeof (GdkRGBA));
-#line 119 "/home/jens/Source/shotwell/src/util/image.vala"
- result = gdk_rgba_parse (&color, spec);
-#line 119 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 206 "image.c"
-}
-
-
-void
-parse_color (const gchar* spec,
- GdkRGBA* result)
-{
- GdkRGBA _tmp0_ = {0};
-#line 122 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (spec != NULL);
-#line 123 "/home/jens/Source/shotwell/src/util/image.vala"
- fetch_color (spec, &_tmp0_);
-#line 123 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _tmp0_;
-#line 123 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 223 "image.c"
-}
-
-
-void
-fetch_color (const gchar* spec,
- GdkRGBA* result)
-{
- GdkRGBA rgba = {0};
-#line 126 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (spec != NULL);
-#line 127 "/home/jens/Source/shotwell/src/util/image.vala"
- memset (&rgba, 0, sizeof (GdkRGBA));
-#line 128 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!gdk_rgba_parse (&rgba, spec)) {
-#line 129 "/home/jens/Source/shotwell/src/util/image.vala"
- g_error ("image.vala:129: Can't parse color %s", spec);
-#line 240 "image.c"
- }
-#line 131 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = rgba;
-#line 131 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 246 "image.c"
-}
-
-
-void
-set_source_color_from_string (cairo_t* ctx,
- const gchar* spec)
-{
- GdkRGBA rgba = {0};
- GdkRGBA _tmp0_ = {0};
- GdkRGBA _tmp1_;
- gdouble _tmp2_;
- GdkRGBA _tmp3_;
- gdouble _tmp4_;
- GdkRGBA _tmp5_;
- gdouble _tmp6_;
- GdkRGBA _tmp7_;
- gdouble _tmp8_;
-#line 134 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (ctx != NULL);
-#line 134 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (spec != NULL);
-#line 135 "/home/jens/Source/shotwell/src/util/image.vala"
- fetch_color (spec, &_tmp0_);
-#line 135 "/home/jens/Source/shotwell/src/util/image.vala"
- rgba = _tmp0_;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = rgba;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp1_.red;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = rgba;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.green;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = rgba;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.blue;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = rgba;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.alpha;
-#line 136 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_set_source_rgba (ctx, _tmp2_, _tmp4_, _tmp6_, _tmp8_);
-#line 290 "image.c"
-}
-
-
-static gpointer
-_g_object_ref0 (gpointer self)
-{
-#line 147 "/home/jens/Source/shotwell/src/util/image.vala"
- return self ? g_object_ref (self) : NULL;
-#line 299 "image.c"
-}
-
-
-GdkPixbuf*
-get_placeholder_pixbuf (void)
-{
- GdkPixbuf* result = NULL;
- GdkPixbuf* pixbuf = NULL;
- GError * _inner_error_ = NULL;
-#line 144 "/home/jens/Source/shotwell/src/util/image.vala"
- pixbuf = NULL;
-#line 311 "image.c"
- {
- GtkIconTheme* icon_theme = NULL;
- GtkIconTheme* _tmp0_;
- GtkIconTheme* _tmp1_;
- GdkPixbuf* _tmp2_ = NULL;
- GdkPixbuf* _tmp3_;
- GdkPixbuf* _tmp4_;
-#line 147 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = gtk_icon_theme_get_default ();
-#line 147 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _g_object_ref0 (_tmp0_);
-#line 147 "/home/jens/Source/shotwell/src/util/image.vala"
- icon_theme = _tmp1_;
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = gtk_icon_theme_load_icon (icon_theme, "image-missing", (gint) GTK_ICON_SIZE_DIALOG, 0, &_inner_error_);
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp3_;
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (icon_theme);
-#line 333 "image.c"
- goto __catch4_g_error;
- }
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp2_;
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = NULL;
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (pixbuf);
-#line 148 "/home/jens/Source/shotwell/src/util/image.vala"
- pixbuf = _tmp4_;
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (_tmp2_);
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (icon_theme);
-#line 348 "image.c"
- }
- goto __finally4;
- __catch4_g_error:
- {
- GError* _error_ = NULL;
- GdkPixbuf* _tmp5_;
- GError* _tmp6_;
- const gchar* _tmp7_;
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- _error_ = _inner_error_;
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- _inner_error_ = NULL;
-#line 151 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = gdk_pixbuf_new_from_xpm_data (fallback_image_missing);
-#line 151 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (pixbuf);
-#line 151 "/home/jens/Source/shotwell/src/util/image.vala"
- pixbuf = _tmp5_;
-#line 152 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _error_;
-#line 152 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = _tmp6_->message;
-#line 152 "/home/jens/Source/shotwell/src/util/image.vala"
- g_warning ("image.vala:152: Could not load icon from theme: %s", _tmp7_);
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_error_free0 (_error_);
-#line 375 "image.c"
- }
- __finally4:
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (pixbuf);
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- g_clear_error (&_inner_error_);
-#line 146 "/home/jens/Source/shotwell/src/util/image.vala"
- return NULL;
-#line 388 "image.c"
- }
-#line 155 "/home/jens/Source/shotwell/src/util/image.vala"
- result = pixbuf;
-#line 155 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 394 "image.c"
-}
-
-
-GdkPixbuf*
-scale_pixbuf (GdkPixbuf* pixbuf,
- gint scale,
- GdkInterpType interp,
- gboolean scale_up)
-{
- GdkPixbuf* result = NULL;
- Dimensions original = {0};
- Dimensions _tmp0_ = {0};
- Dimensions scaled = {0};
- Dimensions _tmp1_ = {0};
- gboolean _tmp2_ = FALSE;
- Dimensions _tmp3_;
- gint _tmp4_;
- Dimensions _tmp5_;
- gint _tmp6_;
- Dimensions _tmp12_ = {0};
- Dimensions _tmp13_;
- gint _tmp14_;
- Dimensions _tmp15_;
- gint _tmp16_;
- GdkPixbuf* _tmp17_;
-#line 158 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
-#line 159 "/home/jens/Source/shotwell/src/util/image.vala"
- dimensions_for_pixbuf (pixbuf, &_tmp0_);
-#line 159 "/home/jens/Source/shotwell/src/util/image.vala"
- original = _tmp0_;
-#line 160 "/home/jens/Source/shotwell/src/util/image.vala"
- dimensions_get_scaled (&original, scale, scale_up, &_tmp1_);
-#line 160 "/home/jens/Source/shotwell/src/util/image.vala"
- scaled = _tmp1_;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = original;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.width;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = scaled;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.width;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp4_ == _tmp6_) {
-#line 440 "image.c"
- Dimensions _tmp7_;
- gint _tmp8_;
- Dimensions _tmp9_;
- gint _tmp10_;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = original;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.height;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = scaled;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = _tmp9_.height;
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp8_ == _tmp10_;
-#line 455 "image.c"
- } else {
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = FALSE;
-#line 459 "image.c"
- }
-#line 161 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp2_) {
-#line 463 "image.c"
- GdkPixbuf* _tmp11_;
-#line 162 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = _g_object_ref0 (pixbuf);
-#line 162 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp11_;
-#line 162 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 471 "image.c"
- }
-#line 165 "/home/jens/Source/shotwell/src/util/image.vala"
- dimensions_with_min (&scaled, MIN_SCALED_WIDTH, MIN_SCALED_HEIGHT, &_tmp12_);
-#line 165 "/home/jens/Source/shotwell/src/util/image.vala"
- scaled = _tmp12_;
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = scaled;
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = _tmp13_.width;
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = scaled;
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = _tmp15_.height;
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp17_ = gdk_pixbuf_scale_simple (pixbuf, _tmp14_, _tmp16_, interp);
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp17_;
-#line 167 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 491 "image.c"
-}
-
-
-GdkPixbuf*
-resize_pixbuf (GdkPixbuf* pixbuf,
- Dimensions* resized,
- GdkInterpType interp)
-{
- GdkPixbuf* result = NULL;
- Dimensions original = {0};
- Dimensions _tmp0_ = {0};
- gboolean _tmp1_ = FALSE;
- Dimensions _tmp2_;
- gint _tmp3_;
- Dimensions _tmp4_;
- gint _tmp5_;
- Dimensions _tmp11_ = {0};
- Dimensions _tmp12_;
- gint _tmp13_;
- Dimensions _tmp14_;
- gint _tmp15_;
- GdkPixbuf* _tmp16_;
-#line 170 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
-#line 170 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (resized != NULL, NULL);
-#line 171 "/home/jens/Source/shotwell/src/util/image.vala"
- dimensions_for_pixbuf (pixbuf, &_tmp0_);
-#line 171 "/home/jens/Source/shotwell/src/util/image.vala"
- original = _tmp0_;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = original;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = _tmp2_.width;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = *resized;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = _tmp4_.width;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp3_ == _tmp5_) {
-#line 532 "image.c"
- Dimensions _tmp6_;
- gint _tmp7_;
- Dimensions _tmp8_;
- gint _tmp9_;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = original;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = _tmp6_.height;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = *resized;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = _tmp8_.height;
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp7_ == _tmp9_;
-#line 547 "image.c"
- } else {
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = FALSE;
-#line 551 "image.c"
- }
-#line 172 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp1_) {
-#line 555 "image.c"
- GdkPixbuf* _tmp10_;
-#line 173 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = _g_object_ref0 (pixbuf);
-#line 173 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp10_;
-#line 173 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 563 "image.c"
- }
-#line 176 "/home/jens/Source/shotwell/src/util/image.vala"
- dimensions_with_min (resized, MIN_SCALED_WIDTH, MIN_SCALED_HEIGHT, &_tmp11_);
-#line 176 "/home/jens/Source/shotwell/src/util/image.vala"
- *resized = _tmp11_;
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = *resized;
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = _tmp12_.width;
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = *resized;
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = _tmp14_.height;
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = gdk_pixbuf_scale_simple (pixbuf, _tmp13_, _tmp15_, interp);
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp16_;
-#line 178 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 583 "image.c"
-}
-
-
-void
-draw_rounded_corners_filled (cairo_t* ctx,
- Dimensions* dim,
- GdkPoint* origin,
- gdouble radius_proportion)
-{
- Dimensions _tmp0_;
- GdkPoint _tmp1_;
-#line 183 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (ctx != NULL);
-#line 183 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (dim != NULL);
-#line 183 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (origin != NULL);
-#line 185 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *dim;
-#line 185 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = *origin;
-#line 185 "/home/jens/Source/shotwell/src/util/image.vala"
- context_rounded_corners (ctx, &_tmp0_, &_tmp1_, radius_proportion);
-#line 186 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_paint (ctx);
-#line 609 "image.c"
-}
-
-
-void
-context_rounded_corners (cairo_t* cx,
- Dimensions* dim,
- GdkPoint* origin,
- gdouble radius_proportion)
-{
- gdouble left = 0.0;
- GdkPoint _tmp0_;
- gint _tmp1_;
- gdouble top = 0.0;
- GdkPoint _tmp2_;
- gint _tmp3_;
- gdouble right = 0.0;
- GdkPoint _tmp4_;
- gint _tmp5_;
- Dimensions _tmp6_;
- gint _tmp7_;
- gdouble bottom = 0.0;
- GdkPoint _tmp8_;
- gint _tmp9_;
- Dimensions _tmp10_;
- gint _tmp11_;
- gdouble radius = 0.0;
-#line 189 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (cx != NULL);
-#line 189 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (dim != NULL);
-#line 189 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (origin != NULL);
-#line 192 "/home/jens/Source/shotwell/src/util/image.vala"
- radius_proportion = CLAMP (radius_proportion, 2.0, 100.0);
-#line 194 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *origin;
-#line 194 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp0_.x;
-#line 194 "/home/jens/Source/shotwell/src/util/image.vala"
- left = (gdouble) _tmp1_;
-#line 195 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = *origin;
-#line 195 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = _tmp2_.y;
-#line 195 "/home/jens/Source/shotwell/src/util/image.vala"
- top = (gdouble) _tmp3_;
-#line 196 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = *origin;
-#line 196 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = _tmp4_.x;
-#line 196 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = *dim;
-#line 196 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = _tmp6_.width;
-#line 196 "/home/jens/Source/shotwell/src/util/image.vala"
- right = (gdouble) (_tmp5_ + _tmp7_);
-#line 197 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = *origin;
-#line 197 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = _tmp8_.y;
-#line 197 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = *dim;
-#line 197 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = _tmp10_.height;
-#line 197 "/home/jens/Source/shotwell/src/util/image.vala"
- bottom = (gdouble) (_tmp9_ + _tmp11_);
-#line 200 "/home/jens/Source/shotwell/src/util/image.vala"
- radius = ((gdouble) dimensions_minor_axis (dim)) / radius_proportion;
-#line 204 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_move_to (cx, left, top);
-#line 205 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_arc (cx, right - radius, top + radius, radius, -90 * DEGREE, 0 * DEGREE);
-#line 206 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_arc (cx, right - radius, bottom - radius, radius, 0 * DEGREE, 90 * DEGREE);
-#line 207 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_arc (cx, left + radius, bottom - radius, radius, 90 * DEGREE, 180 * DEGREE);
-#line 208 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_arc (cx, left + radius, top + radius, radius, 180 * DEGREE, 270 * DEGREE);
-#line 209 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_clip (cx);
-#line 690 "image.c"
-}
-
-
-inline guchar
-shift_color_byte (gint b,
- gint shift)
-{
- guchar result = '\0';
-#line 213 "/home/jens/Source/shotwell/src/util/image.vala"
- result = (guchar) CLAMP (b + shift, 0, 255);
-#line 213 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 703 "image.c"
-}
-
-
-void
-shift_colors (GdkPixbuf* pixbuf,
- gint red,
- gint green,
- gint blue,
- gint alpha)
-{
- gboolean _tmp0_ = FALSE;
- gboolean _tmp1_ = FALSE;
- gboolean _tmp2_ = FALSE;
- gboolean _tmp3_ = FALSE;
- gint width = 0;
- gint height = 0;
- gint rowstride = 0;
- gint channels = 0;
- guchar* pixels = NULL;
- guint8* _tmp4_;
- gint _tmp5_;
-#line 216 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
-#line 217 "/home/jens/Source/shotwell/src/util/image.vala"
- if (red >= -255) {
-#line 217 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = red <= 255;
-#line 731 "image.c"
- } else {
-#line 217 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = FALSE;
-#line 735 "image.c"
- }
-#line 217 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (_tmp0_, "red >= -255 && red <= 255");
-#line 218 "/home/jens/Source/shotwell/src/util/image.vala"
- if (green >= -255) {
-#line 218 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = green <= 255;
-#line 743 "image.c"
- } else {
-#line 218 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = FALSE;
-#line 747 "image.c"
- }
-#line 218 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (_tmp1_, "green >= -255 && green <= 255");
-#line 219 "/home/jens/Source/shotwell/src/util/image.vala"
- if (blue >= -255) {
-#line 219 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = blue <= 255;
-#line 755 "image.c"
- } else {
-#line 219 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = FALSE;
-#line 759 "image.c"
- }
-#line 219 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (_tmp2_, "blue >= -255 && blue <= 255");
-#line 220 "/home/jens/Source/shotwell/src/util/image.vala"
- if (alpha >= -255) {
-#line 220 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = alpha <= 255;
-#line 767 "image.c"
- } else {
-#line 220 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = FALSE;
-#line 771 "image.c"
- }
-#line 220 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (_tmp3_, "alpha >= -255 && alpha <= 255");
-#line 222 "/home/jens/Source/shotwell/src/util/image.vala"
- width = gdk_pixbuf_get_width (pixbuf);
-#line 223 "/home/jens/Source/shotwell/src/util/image.vala"
- height = gdk_pixbuf_get_height (pixbuf);
-#line 224 "/home/jens/Source/shotwell/src/util/image.vala"
- rowstride = gdk_pixbuf_get_rowstride (pixbuf);
-#line 225 "/home/jens/Source/shotwell/src/util/image.vala"
- channels = gdk_pixbuf_get_n_channels (pixbuf);
-#line 226 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = gdk_pixbuf_get_pixels (pixbuf);
-#line 226 "/home/jens/Source/shotwell/src/util/image.vala"
- pixels = _tmp4_;
-#line 228 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = channels;
-#line 228 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (_tmp5_ >= 3, "channels >= 3");
-#line 229 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB, "pixbuf.get_colorspace() == Gdk.Colorspace.RGB");
-#line 230 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8, "pixbuf.get_bits_per_sample() == 8");
-#line 795 "image.c"
- {
- gint y = 0;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- y = 0;
-#line 800 "image.c"
- {
- gboolean _tmp6_ = FALSE;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = TRUE;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- while (TRUE) {
-#line 807 "image.c"
- gint _tmp8_;
- gint _tmp9_;
- gint y_offset = 0;
- gint _tmp10_;
- gint _tmp11_;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!_tmp6_) {
-#line 815 "image.c"
- gint _tmp7_;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = y;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- y = _tmp7_ + 1;
-#line 821 "image.c"
- }
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = FALSE;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = y;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = height;
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!(_tmp8_ < _tmp9_)) {
-#line 232 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 833 "image.c"
- }
-#line 233 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = y;
-#line 233 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = rowstride;
-#line 233 "/home/jens/Source/shotwell/src/util/image.vala"
- y_offset = _tmp10_ * _tmp11_;
-#line 841 "image.c"
- {
- gint x = 0;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- x = 0;
-#line 846 "image.c"
- {
- gboolean _tmp12_ = FALSE;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = TRUE;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- while (TRUE) {
-#line 853 "image.c"
- gint _tmp14_;
- gint _tmp15_;
- gint offset = 0;
- gint _tmp16_;
- gint _tmp17_;
- gint _tmp18_;
- gboolean _tmp37_ = FALSE;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!_tmp12_) {
-#line 863 "image.c"
- gint _tmp13_;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = x;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- x = _tmp13_ + 1;
-#line 869 "image.c"
- }
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = FALSE;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = x;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = width;
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!(_tmp14_ < _tmp15_)) {
-#line 235 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 881 "image.c"
- }
-#line 236 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = y_offset;
-#line 236 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp17_ = x;
-#line 236 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp18_ = channels;
-#line 236 "/home/jens/Source/shotwell/src/util/image.vala"
- offset = _tmp16_ + (_tmp17_ * _tmp18_);
-#line 238 "/home/jens/Source/shotwell/src/util/image.vala"
- if (red != 0) {
-#line 893 "image.c"
- guchar* _tmp19_;
- gint _tmp20_;
- guchar* _tmp21_;
- gint _tmp22_;
- guchar _tmp23_;
- guchar _tmp24_;
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_ = pixels;
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp20_ = offset;
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp21_ = pixels;
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp22_ = offset;
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp23_ = _tmp21_[_tmp22_];
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_[_tmp20_] = shift_color_byte ((gint) _tmp23_, red);
-#line 239 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp24_ = _tmp19_[_tmp20_];
-#line 914 "image.c"
- }
-#line 241 "/home/jens/Source/shotwell/src/util/image.vala"
- if (green != 0) {
-#line 918 "image.c"
- guchar* _tmp25_;
- gint _tmp26_;
- guchar* _tmp27_;
- gint _tmp28_;
- guchar _tmp29_;
- guchar _tmp30_;
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp25_ = pixels;
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp26_ = offset;
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp27_ = pixels;
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp28_ = offset;
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp29_ = _tmp27_[_tmp28_ + 1];
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp25_[_tmp26_ + 1] = shift_color_byte ((gint) _tmp29_, green);
-#line 242 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp30_ = _tmp25_[_tmp26_ + 1];
-#line 939 "image.c"
- }
-#line 244 "/home/jens/Source/shotwell/src/util/image.vala"
- if (blue != 0) {
-#line 943 "image.c"
- guchar* _tmp31_;
- gint _tmp32_;
- guchar* _tmp33_;
- gint _tmp34_;
- guchar _tmp35_;
- guchar _tmp36_;
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp31_ = pixels;
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp32_ = offset;
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp33_ = pixels;
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp34_ = offset;
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp35_ = _tmp33_[_tmp34_ + 2];
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp31_[_tmp32_ + 2] = shift_color_byte ((gint) _tmp35_, blue);
-#line 245 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp36_ = _tmp31_[_tmp32_ + 2];
-#line 964 "image.c"
- }
-#line 247 "/home/jens/Source/shotwell/src/util/image.vala"
- if (alpha != 0) {
-#line 968 "image.c"
- gint _tmp38_;
-#line 247 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp38_ = channels;
-#line 247 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp37_ = _tmp38_ >= 4;
-#line 974 "image.c"
- } else {
-#line 247 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp37_ = FALSE;
-#line 978 "image.c"
- }
-#line 247 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp37_) {
-#line 982 "image.c"
- guchar* _tmp39_;
- gint _tmp40_;
- guchar* _tmp41_;
- gint _tmp42_;
- guchar _tmp43_;
- guchar _tmp44_;
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp39_ = pixels;
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp40_ = offset;
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp41_ = pixels;
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp42_ = offset;
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp43_ = _tmp41_[_tmp42_ + 3];
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp39_[_tmp40_ + 3] = shift_color_byte ((gint) _tmp43_, alpha);
-#line 248 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp44_ = _tmp39_[_tmp40_ + 3];
-#line 1003 "image.c"
- }
- }
- }
- }
- }
- }
- }
-}
-
-
-gboolean
-coord_in_rectangle (gint x,
- gint y,
- GdkRectangle* rect)
-{
- gboolean result = FALSE;
- gboolean _tmp0_ = FALSE;
- gboolean _tmp1_ = FALSE;
- gboolean _tmp2_ = FALSE;
- GdkRectangle _tmp3_;
- gint _tmp4_;
-#line 253 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (rect != NULL, FALSE);
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = *rect;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.x;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- if (x >= _tmp4_) {
-#line 1033 "image.c"
- GdkRectangle _tmp5_;
- gint _tmp6_;
- GdkRectangle _tmp7_;
- gint _tmp8_;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = *rect;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.x;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = *rect;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.width;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = x < (_tmp6_ + _tmp8_);
-#line 1048 "image.c"
- } else {
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = FALSE;
-#line 1052 "image.c"
- }
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp2_) {
-#line 1056 "image.c"
- GdkRectangle _tmp9_;
- gint _tmp10_;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = *rect;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = _tmp9_.y;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = y >= _tmp10_;
-#line 1065 "image.c"
- } else {
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = FALSE;
-#line 1069 "image.c"
- }
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp1_) {
-#line 1073 "image.c"
- GdkRectangle _tmp11_;
- gint _tmp12_;
- GdkRectangle _tmp13_;
- gint _tmp14_;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = *rect;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = _tmp11_.y;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = *rect;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = _tmp13_.height;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = y <= (_tmp12_ + _tmp14_);
-#line 1088 "image.c"
- } else {
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = FALSE;
-#line 1092 "image.c"
- }
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp0_;
-#line 254 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 1098 "image.c"
-}
-
-
-gboolean
-rectangles_equal (GdkRectangle* a,
- GdkRectangle* b)
-{
- gboolean result = FALSE;
- gboolean _tmp0_ = FALSE;
- gboolean _tmp1_ = FALSE;
- gboolean _tmp2_ = FALSE;
- GdkRectangle _tmp3_;
- gint _tmp4_;
- GdkRectangle _tmp5_;
- gint _tmp6_;
-#line 257 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (a != NULL, FALSE);
-#line 257 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (b != NULL, FALSE);
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = *a;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.x;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = *b;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.x;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp4_ == _tmp6_) {
-#line 1128 "image.c"
- GdkRectangle _tmp7_;
- gint _tmp8_;
- GdkRectangle _tmp9_;
- gint _tmp10_;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = *a;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.y;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = *b;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = _tmp9_.y;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp8_ == _tmp10_;
-#line 1143 "image.c"
- } else {
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = FALSE;
-#line 1147 "image.c"
- }
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp2_) {
-#line 1151 "image.c"
- GdkRectangle _tmp11_;
- gint _tmp12_;
- GdkRectangle _tmp13_;
- gint _tmp14_;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = *a;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = _tmp11_.width;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = *b;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = _tmp13_.width;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp12_ == _tmp14_;
-#line 1166 "image.c"
- } else {
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = FALSE;
-#line 1170 "image.c"
- }
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp1_) {
-#line 1174 "image.c"
- GdkRectangle _tmp15_;
- gint _tmp16_;
- GdkRectangle _tmp17_;
- gint _tmp18_;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = *a;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = _tmp15_.height;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp17_ = *b;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp18_ = _tmp17_.height;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = _tmp16_ == _tmp18_;
-#line 1189 "image.c"
- } else {
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = FALSE;
-#line 1193 "image.c"
- }
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp0_;
-#line 258 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 1199 "image.c"
-}
-
-
-gchar*
-rectangle_to_string (GdkRectangle* rect)
-{
- gchar* result = NULL;
- GdkRectangle _tmp0_;
- gint _tmp1_;
- GdkRectangle _tmp2_;
- gint _tmp3_;
- GdkRectangle _tmp4_;
- gint _tmp5_;
- GdkRectangle _tmp6_;
- gint _tmp7_;
- gchar* _tmp8_;
-#line 261 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (rect != NULL, NULL);
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *rect;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp0_.x;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = *rect;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = _tmp2_.y;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = *rect;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = _tmp4_.width;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = *rect;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = _tmp6_.height;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = g_strdup_printf ("%d,%d %dx%d", _tmp1_, _tmp3_, _tmp5_, _tmp7_);
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp8_;
-#line 262 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 1240 "image.c"
-}
-
-
-void
-clamp_rectangle (GdkRectangle* original,
- Dimensions* max,
- GdkRectangle* result)
-{
- GdkRectangle rect = {0};
- GdkRectangle _tmp0_;
- gint _tmp1_;
- Dimensions _tmp2_;
- gint _tmp3_;
- GdkRectangle _tmp4_;
- gint _tmp5_;
- Dimensions _tmp6_;
- gint _tmp7_;
- GdkRectangle _tmp8_;
- gint _tmp9_;
- Dimensions _tmp10_;
- gint _tmp11_;
- GdkRectangle _tmp12_;
- gint _tmp13_;
- Dimensions _tmp14_;
- gint _tmp15_;
-#line 265 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (original != NULL);
-#line 265 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (max != NULL);
-#line 266 "/home/jens/Source/shotwell/src/util/image.vala"
- memset (&rect, 0, sizeof (GdkRectangle));
-#line 267 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *original;
-#line 267 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp0_.x;
-#line 267 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = *max;
-#line 267 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = _tmp2_.width;
-#line 267 "/home/jens/Source/shotwell/src/util/image.vala"
- rect.x = CLAMP (_tmp1_, 0, _tmp3_);
-#line 268 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = *original;
-#line 268 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = _tmp4_.y;
-#line 268 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = *max;
-#line 268 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = _tmp6_.height;
-#line 268 "/home/jens/Source/shotwell/src/util/image.vala"
- rect.y = CLAMP (_tmp5_, 0, _tmp7_);
-#line 269 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = *original;
-#line 269 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = _tmp8_.width;
-#line 269 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = *max;
-#line 269 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = _tmp10_.width;
-#line 269 "/home/jens/Source/shotwell/src/util/image.vala"
- rect.width = CLAMP (_tmp9_, 0, _tmp11_);
-#line 270 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = *original;
-#line 270 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = _tmp12_.height;
-#line 270 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = *max;
-#line 270 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = _tmp14_.height;
-#line 270 "/home/jens/Source/shotwell/src/util/image.vala"
- rect.height = CLAMP (_tmp13_, 0, _tmp15_);
-#line 272 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = rect;
-#line 272 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 1316 "image.c"
-}
-
-
-void
-scale_point (GdkPoint* p,
- gdouble factor,
- GdkPoint* result)
-{
- GdkPoint _result_ = {0};
- GdkPoint _tmp0_ = {0};
- GdkPoint _tmp1_;
- gint _tmp2_;
- GdkPoint _tmp3_;
- gint _tmp4_;
-#line 275 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (p != NULL);
-#line 276 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_.x = 0;
-#line 276 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_ = _tmp0_;
-#line 277 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = *p;
-#line 277 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp1_.x;
-#line 277 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_.x = (gint) ((factor * _tmp2_) + 0.5);
-#line 278 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = *p;
-#line 278 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.y;
-#line 278 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_.y = (gint) ((factor * _tmp4_) + 0.5);
-#line 280 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _result_;
-#line 280 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 1353 "image.c"
-}
-
-
-void
-add_points (GdkPoint* p1,
- GdkPoint* p2,
- GdkPoint* result)
-{
- GdkPoint _result_ = {0};
- GdkPoint _tmp0_ = {0};
- GdkPoint _tmp1_;
- gint _tmp2_;
- GdkPoint _tmp3_;
- gint _tmp4_;
- GdkPoint _tmp5_;
- gint _tmp6_;
- GdkPoint _tmp7_;
- gint _tmp8_;
-#line 283 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (p1 != NULL);
-#line 283 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (p2 != NULL);
-#line 284 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_.x = 0;
-#line 284 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_ = _tmp0_;
-#line 285 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = *p1;
-#line 285 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp1_.x;
-#line 285 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = *p2;
-#line 285 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.x;
-#line 285 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_.x = _tmp2_ + _tmp4_;
-#line 286 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = *p1;
-#line 286 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.y;
-#line 286 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = *p2;
-#line 286 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.y;
-#line 286 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_.y = _tmp6_ + _tmp8_;
-#line 288 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _result_;
-#line 288 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 1404 "image.c"
-}
-
-
-void
-subtract_points (GdkPoint* p1,
- GdkPoint* p2,
- GdkPoint* result)
-{
- GdkPoint _result_ = {0};
- GdkPoint _tmp0_ = {0};
- GdkPoint _tmp1_;
- gint _tmp2_;
- GdkPoint _tmp3_;
- gint _tmp4_;
- GdkPoint _tmp5_;
- gint _tmp6_;
- GdkPoint _tmp7_;
- gint _tmp8_;
-#line 291 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (p1 != NULL);
-#line 291 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (p2 != NULL);
-#line 292 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_.x = 0;
-#line 292 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_ = _tmp0_;
-#line 293 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = *p1;
-#line 293 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp1_.x;
-#line 293 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = *p2;
-#line 293 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_.x;
-#line 293 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_.x = _tmp2_ - _tmp4_;
-#line 294 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = *p1;
-#line 294 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.y;
-#line 294 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = *p2;
-#line 294 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.y;
-#line 294 "/home/jens/Source/shotwell/src/util/image.vala"
- _result_.y = _tmp6_ - _tmp8_;
-#line 296 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _result_;
-#line 296 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 1455 "image.c"
-}
-
-
-void
-fix_cairo_pixbuf (GdkPixbuf* pixbuf)
-{
- guchar* gdk_pixels = NULL;
- void* _tmp0_;
- void* _tmp1_;
-#line 300 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
-#line 301 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = gdk_pixbuf_get_pixels (pixbuf);
-#line 301 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp0_;
-#line 301 "/home/jens/Source/shotwell/src/util/image.vala"
- gdk_pixels = _tmp1_;
-#line 1473 "image.c"
- {
- gint j = 0;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- j = 0;
-#line 1478 "image.c"
- {
- gboolean _tmp2_ = FALSE;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = TRUE;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- while (TRUE) {
-#line 1485 "image.c"
- gint _tmp4_;
- gint _tmp5_;
- gint _tmp6_;
- guchar* p = NULL;
- guchar* _tmp7_;
- guchar* end = NULL;
- guchar* _tmp8_;
- gint _tmp9_;
- gint _tmp10_;
- guchar* _tmp23_;
- gint _tmp24_;
- gint _tmp25_;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!_tmp2_) {
-#line 1500 "image.c"
- gint _tmp3_;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = j;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- j = _tmp3_ + 1;
-#line 1506 "image.c"
- }
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = FALSE;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = j;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = gdk_pixbuf_get_height (pixbuf);
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_;
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!(_tmp4_ < _tmp6_)) {
-#line 302 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 1520 "image.c"
- }
-#line 303 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = gdk_pixels;
-#line 303 "/home/jens/Source/shotwell/src/util/image.vala"
- p = _tmp7_;
-#line 304 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = p;
-#line 304 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = gdk_pixbuf_get_width (pixbuf);
-#line 304 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = _tmp9_;
-#line 304 "/home/jens/Source/shotwell/src/util/image.vala"
- end = _tmp8_ + (4 * _tmp10_);
-#line 306 "/home/jens/Source/shotwell/src/util/image.vala"
- while (TRUE) {
-#line 1536 "image.c"
- guchar* _tmp11_;
- guchar* _tmp12_;
- guchar tmp = '\0';
- guchar* _tmp13_;
- guchar _tmp14_;
- guchar* _tmp15_;
- guchar* _tmp16_;
- guchar _tmp17_;
- guchar _tmp18_;
- guchar* _tmp19_;
- guchar _tmp20_;
- guchar _tmp21_;
- guchar* _tmp22_;
-#line 306 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = p;
-#line 306 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = end;
-#line 306 "/home/jens/Source/shotwell/src/util/image.vala"
- if (!(_tmp11_ < _tmp12_)) {
-#line 306 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 1558 "image.c"
- }
-#line 307 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = p;
-#line 307 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = _tmp13_[0];
-#line 307 "/home/jens/Source/shotwell/src/util/image.vala"
- tmp = _tmp14_;
-#line 309 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = p;
-#line 309 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = p;
-#line 309 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp17_ = _tmp16_[2];
-#line 309 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_[0] = _tmp17_;
-#line 309 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp18_ = _tmp15_[0];
-#line 310 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_ = p;
-#line 310 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp20_ = tmp;
-#line 310 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_[2] = _tmp20_;
-#line 310 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp21_ = _tmp19_[2];
-#line 317 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp22_ = p;
-#line 317 "/home/jens/Source/shotwell/src/util/image.vala"
- p = _tmp22_ + 4;
-#line 1588 "image.c"
- }
-#line 320 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp23_ = gdk_pixels;
-#line 320 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp24_ = gdk_pixbuf_get_rowstride (pixbuf);
-#line 320 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp25_ = _tmp24_;
-#line 320 "/home/jens/Source/shotwell/src/util/image.vala"
- gdk_pixels = _tmp23_ + _tmp25_;
-#line 1598 "image.c"
- }
- }
- }
-}
-
-
-/**
- * Finds the size of the smallest axially-aligned rectangle that could contain
- * a rectangle src_width by src_height, rotated by angle.
- *
- * @param src_width The width of the incoming rectangle.
- * @param src_height The height of the incoming rectangle.
- * @param angle The amount to rotate by, given in degrees.
- * @param dest_width The width of the computed rectangle.
- * @param dest_height The height of the computed rectangle.
- */
-void
-compute_arb_rotated_size (gdouble src_width,
- gdouble src_height,
- gdouble angle,
- gdouble* dest_width,
- gdouble* dest_height)
-{
- gdouble _vala_dest_width = 0.0;
- gdouble _vala_dest_height = 0.0;
-#line 337 "/home/jens/Source/shotwell/src/util/image.vala"
- angle = fabs (degrees_to_radians (angle));
-#line 338 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (angle <= G_PI_2, "angle <= Math.PI_2");
-#line 339 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_dest_width = (src_width * cos (angle)) + (src_height * sin (angle));
-#line 340 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_dest_height = (src_height * cos (angle)) + (src_width * sin (angle));
-#line 334 "/home/jens/Source/shotwell/src/util/image.vala"
- if (dest_width) {
-#line 334 "/home/jens/Source/shotwell/src/util/image.vala"
- *dest_width = _vala_dest_width;
-#line 1636 "image.c"
- }
-#line 334 "/home/jens/Source/shotwell/src/util/image.vala"
- if (dest_height) {
-#line 334 "/home/jens/Source/shotwell/src/util/image.vala"
- *dest_height = _vala_dest_height;
-#line 1642 "image.c"
- }
-}
-
-
-/**
- * @brief Rotates a pixbuf to an arbitrary angle, given in degrees, and returns the rotated pixbuf.
- *
- * @param source_pixbuf The source image that needs to be angled.
- * @param angle The angle the source image should be rotated by.
- */
-GdkPixbuf*
-rotate_arb (GdkPixbuf* source_pixbuf,
- gdouble angle)
-{
- GdkPixbuf* result = NULL;
- gdouble x_tmp = 0.0;
- gdouble y_tmp = 0.0;
- gint _tmp1_;
- gint _tmp2_;
- gint _tmp3_;
- gint _tmp4_;
- gdouble _tmp5_ = 0.0;
- gdouble _tmp6_ = 0.0;
- GdkPixbuf* dest_pixbuf = NULL;
- gdouble _tmp7_;
- gdouble _tmp8_;
- GdkPixbuf* _tmp9_;
- cairo_format_t _tmp10_ = 0;
- gboolean _tmp11_;
- gboolean _tmp12_;
- cairo_surface_t* surface = NULL;
- GdkPixbuf* _tmp13_;
- void* _tmp14_;
- void* _tmp15_;
- GdkPixbuf* _tmp16_;
- gint _tmp17_;
- gint _tmp18_;
- GdkPixbuf* _tmp19_;
- gint _tmp20_;
- gint _tmp21_;
- GdkPixbuf* _tmp22_;
- gint _tmp23_;
- gint _tmp24_;
- cairo_surface_t* _tmp25_;
- cairo_t* context = NULL;
- cairo_surface_t* _tmp26_;
- cairo_t* _tmp27_;
- cairo_t* _tmp28_;
- cairo_t* _tmp29_;
- GdkPixbuf* _tmp30_;
- gint _tmp31_;
- gint _tmp32_;
- GdkPixbuf* _tmp33_;
- gint _tmp34_;
- gint _tmp35_;
- cairo_t* _tmp36_;
- cairo_t* _tmp37_;
- GdkPixbuf* _tmp38_;
- gint _tmp39_;
- gint _tmp40_;
- GdkPixbuf* _tmp41_;
- gint _tmp42_;
- gint _tmp43_;
- cairo_t* _tmp44_;
- cairo_t* _tmp45_;
- gint _tmp46_;
- gint _tmp47_;
- gint _tmp48_;
- gint _tmp49_;
- cairo_t* _tmp50_;
- cairo_t* _tmp51_;
- cairo_pattern_t* _tmp52_;
- cairo_t* _tmp53_;
- GdkPixbuf* _tmp54_;
-#line 349 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_val_if_fail (GDK_IS_PIXBUF (source_pixbuf), NULL);
-#line 353 "/home/jens/Source/shotwell/src/util/image.vala"
- if (angle == 0.0) {
-#line 1721 "image.c"
- GdkPixbuf* _tmp0_;
-#line 354 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = _g_object_ref0 (source_pixbuf);
-#line 354 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp0_;
-#line 354 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 1729 "image.c"
- }
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = gdk_pixbuf_get_width (source_pixbuf);
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = _tmp1_;
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = gdk_pixbuf_get_height (source_pixbuf);
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_;
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- compute_arb_rotated_size ((gdouble) _tmp2_, (gdouble) _tmp4_, angle, &_tmp5_, &_tmp6_);
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- x_tmp = _tmp5_;
-#line 361 "/home/jens/Source/shotwell/src/util/image.vala"
- y_tmp = _tmp6_;
-#line 364 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = x_tmp;
-#line 364 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = y_tmp;
-#line 364 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, (gint) round (_tmp7_), (gint) round (_tmp8_));
-#line 364 "/home/jens/Source/shotwell/src/util/image.vala"
- dest_pixbuf = _tmp9_;
-#line 369 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = gdk_pixbuf_get_has_alpha (source_pixbuf);
-#line 369 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = _tmp11_;
-#line 369 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp12_) {
-#line 369 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = CAIRO_FORMAT_ARGB32;
-#line 1761 "image.c"
- } else {
-#line 369 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = CAIRO_FORMAT_RGB24;
-#line 1765 "image.c"
- }
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = dest_pixbuf;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = gdk_pixbuf_get_pixels (_tmp13_);
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = _tmp14_;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = dest_pixbuf;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp17_ = gdk_pixbuf_get_width (_tmp16_);
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp18_ = _tmp17_;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_ = dest_pixbuf;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp20_ = gdk_pixbuf_get_height (_tmp19_);
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp21_ = _tmp20_;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp22_ = dest_pixbuf;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp23_ = gdk_pixbuf_get_rowstride (_tmp22_);
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp24_ = _tmp23_;
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp25_ = cairo_image_surface_create_for_data ((guchar*) _tmp15_, _tmp10_, _tmp18_, _tmp21_, _tmp24_);
-#line 367 "/home/jens/Source/shotwell/src/util/image.vala"
- surface = _tmp25_;
-#line 372 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp26_ = surface;
-#line 372 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp27_ = cairo_create (_tmp26_);
-#line 372 "/home/jens/Source/shotwell/src/util/image.vala"
- context = _tmp27_;
-#line 374 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp28_ = context;
-#line 374 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_set_source_rgb (_tmp28_, (gdouble) 0, (gdouble) 0, (gdouble) 0);
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp29_ = context;
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp30_ = dest_pixbuf;
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp31_ = gdk_pixbuf_get_width (_tmp30_);
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp32_ = _tmp31_;
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp33_ = dest_pixbuf;
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp34_ = gdk_pixbuf_get_height (_tmp33_);
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp35_ = _tmp34_;
-#line 375 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rectangle (_tmp29_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp32_, (gdouble) _tmp35_);
-#line 376 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp36_ = context;
-#line 376 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_fill (_tmp36_);
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp37_ = context;
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp38_ = dest_pixbuf;
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp39_ = gdk_pixbuf_get_width (_tmp38_);
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp40_ = _tmp39_;
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp41_ = dest_pixbuf;
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp42_ = gdk_pixbuf_get_height (_tmp41_);
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp43_ = _tmp42_;
-#line 378 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_translate (_tmp37_, (gdouble) (_tmp40_ / 2), (gdouble) (_tmp43_ / 2));
-#line 379 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp44_ = context;
-#line 379 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rotate (_tmp44_, degrees_to_radians (angle));
-#line 380 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp45_ = context;
-#line 380 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp46_ = gdk_pixbuf_get_width (source_pixbuf);
-#line 380 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp47_ = _tmp46_;
-#line 380 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp48_ = gdk_pixbuf_get_height (source_pixbuf);
-#line 380 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp49_ = _tmp48_;
-#line 380 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_translate (_tmp45_, (gdouble) ((-_tmp47_) / 2), (gdouble) ((-_tmp49_) / 2));
-#line 382 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp50_ = context;
-#line 382 "/home/jens/Source/shotwell/src/util/image.vala"
- gdk_cairo_set_source_pixbuf (_tmp50_, source_pixbuf, (gdouble) 0, (gdouble) 0);
-#line 383 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp51_ = context;
-#line 383 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp52_ = cairo_get_source (_tmp51_);
-#line 383 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_pattern_set_filter (_tmp52_, CAIRO_FILTER_BEST);
-#line 384 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp53_ = context;
-#line 384 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_paint (_tmp53_);
-#line 388 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp54_ = dest_pixbuf;
-#line 388 "/home/jens/Source/shotwell/src/util/image.vala"
- fix_cairo_pixbuf (_tmp54_);
-#line 390 "/home/jens/Source/shotwell/src/util/image.vala"
- result = dest_pixbuf;
-#line 390 "/home/jens/Source/shotwell/src/util/image.vala"
- _cairo_destroy0 (context);
-#line 390 "/home/jens/Source/shotwell/src/util/image.vala"
- _cairo_surface_destroy0 (surface);
-#line 390 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 1883 "image.c"
-}
-
-
-/**
- * @brief Rotates a point around the upper left corner of an image to an arbitrary angle,
- * given in degrees, and returns the rotated point, translated such that it, along with its attendant
- * image, are in positive x, positive y.
- *
- * @note May be subject to slight inaccuracy as Gdk points' coordinates may only be in whole pixels,
- * so the fractional component is lost.
- *
- * @param source_point The point to be rotated and scaled.
- * @param img_w The width of the source image (unrotated).
- * @param img_h The height of the source image (unrotated).
- * @param angle The angle the source image is to be rotated by to straighten it.
- */
-void
-rotate_point_arb (GdkPoint* source_point,
- gint img_w,
- gint img_h,
- gdouble angle,
- gboolean invert,
- GdkPoint* result)
-{
- gdouble dest_width = 0.0;
- gdouble dest_height = 0.0;
- gdouble _tmp1_ = 0.0;
- gdouble _tmp2_ = 0.0;
- cairo_matrix_t matrix = {0};
- gdouble _tmp3_;
- gdouble _tmp4_;
- gdouble dest_x = 0.0;
- GdkPoint _tmp5_;
- gint _tmp6_;
- gdouble dest_y = 0.0;
- GdkPoint _tmp7_;
- gint _tmp8_;
- gdouble _tmp9_;
- gdouble _tmp10_;
- GdkPoint _tmp11_ = {0};
-#line 406 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (source_point != NULL);
-#line 409 "/home/jens/Source/shotwell/src/util/image.vala"
- if (angle == 0.0) {
-#line 1928 "image.c"
- GdkPoint _tmp0_;
-#line 411 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *source_point;
-#line 411 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _tmp0_;
-#line 411 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 1936 "image.c"
- }
-#line 416 "/home/jens/Source/shotwell/src/util/image.vala"
- compute_arb_rotated_size ((gdouble) img_w, (gdouble) img_h, angle, &_tmp1_, &_tmp2_);
-#line 416 "/home/jens/Source/shotwell/src/util/image.vala"
- dest_width = _tmp1_;
-#line 416 "/home/jens/Source/shotwell/src/util/image.vala"
- dest_height = _tmp2_;
-#line 418 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_matrix_init_identity (&matrix);
-#line 419 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = dest_width;
-#line 419 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = dest_height;
-#line 419 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_matrix_translate (&matrix, _tmp3_ / 2, _tmp4_ / 2);
-#line 420 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_matrix_rotate (&matrix, degrees_to_radians (angle));
-#line 421 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_matrix_translate (&matrix, (gdouble) ((-img_w) / 2), (gdouble) ((-img_h) / 2));
-#line 422 "/home/jens/Source/shotwell/src/util/image.vala"
- if (invert) {
-#line 423 "/home/jens/Source/shotwell/src/util/image.vala"
- _vala_assert (cairo_matrix_invert (&matrix) == CAIRO_STATUS_SUCCESS, "matrix.invert() == Cairo.Status.SUCCESS");
-#line 1960 "image.c"
- }
-#line 425 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = *source_point;
-#line 425 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_.x;
-#line 425 "/home/jens/Source/shotwell/src/util/image.vala"
- dest_x = (gdouble) _tmp6_;
-#line 426 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = *source_point;
-#line 426 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = _tmp7_.y;
-#line 426 "/home/jens/Source/shotwell/src/util/image.vala"
- dest_y = (gdouble) _tmp8_;
-#line 427 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_matrix_transform_point (&matrix, &dest_x, &dest_y);
-#line 429 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = dest_x;
-#line 429 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = dest_y;
-#line 429 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_.x = (gint) _tmp9_;
-#line 429 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_.y = (gint) _tmp10_;
-#line 429 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _tmp11_;
-#line 429 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 1988 "image.c"
-}
-
-
-/**
- * @brief <u>De</u>rotates a point around the upper left corner of an image from an arbitrary angle,
- * given in degrees, and returns the de-rotated point, taking into account any translation necessary
- * to make sure all of the rotated image stays in positive x, positive y.
- *
- * @note May be subject to slight inaccuracy as Gdk points' coordinates may only be in whole pixels,
- * so the fractional component is lost.
- *
- * @param source_point The point to be de-rotated.
- * @param img_w The width of the source image (unrotated).
- * @param img_h The height of the source image (unrotated).
- * @param angle The angle the source image is to be rotated by to straighten it.
- */
-void
-derotate_point_arb (GdkPoint* source_point,
- gint img_w,
- gint img_h,
- gdouble angle,
- GdkPoint* result)
-{
- GdkPoint _tmp0_;
- GdkPoint _tmp1_ = {0};
-#line 445 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (source_point != NULL);
-#line 446 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *source_point;
-#line 446 "/home/jens/Source/shotwell/src/util/image.vala"
- rotate_point_arb (&_tmp0_, img_w, img_h, angle, TRUE, &_tmp1_);
-#line 446 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _tmp1_;
-#line 446 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 2024 "image.c"
-}
-
-
-static gpointer
-_cairo_surface_reference0 (gpointer self)
-{
-#line 484 "/home/jens/Source/shotwell/src/util/image.vala"
- return self ? cairo_surface_reference (self) : NULL;
-#line 2033 "image.c"
-}
-
-
-cairo_surface_t*
-get_background_surface (void)
-{
- cairo_surface_t* result = NULL;
- cairo_surface_t* _tmp0_;
- cairo_surface_t* _tmp31_;
- cairo_surface_t* _tmp32_;
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = background_surface;
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp0_ == NULL) {
-#line 2048 "image.c"
- gchar* color_a = NULL;
- gchar* color_b = NULL;
- ConfigFacade* config = NULL;
- ConfigFacade* _tmp1_;
- gchar* type = NULL;
- ConfigFacade* _tmp2_;
- gchar* _tmp3_;
- const gchar* _tmp4_;
- const gchar* _tmp5_;
- GQuark _tmp7_ = 0U;
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- static GQuark _tmp6_label0 = 0;
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- static GQuark _tmp6_label1 = 0;
-#line 2063 "image.c"
- cairo_surface_t* _tmp17_;
- cairo_t* ctx = NULL;
- cairo_surface_t* _tmp18_;
- cairo_t* _tmp19_;
- cairo_t* _tmp20_;
- cairo_t* _tmp21_;
- const gchar* _tmp22_;
- cairo_t* _tmp23_;
- cairo_t* _tmp24_;
- cairo_t* _tmp25_;
- cairo_t* _tmp26_;
- const gchar* _tmp27_;
- cairo_t* _tmp28_;
- cairo_t* _tmp29_;
- cairo_t* _tmp30_;
-#line 455 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = config_facade_get_instance ();
-#line 455 "/home/jens/Source/shotwell/src/util/image.vala"
- config = _tmp1_;
-#line 457 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = config;
-#line 457 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = configuration_facade_get_transparent_background_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
-#line 457 "/home/jens/Source/shotwell/src/util/image.vala"
- type = _tmp3_;
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = type;
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = _tmp4_;
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("checkered")))) {
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- switch (0) {
-#line 2099 "image.c"
- default:
- {
- gchar* _tmp8_;
- gchar* _tmp9_;
-#line 460 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = g_strdup ("#808080");
-#line 460 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_a);
-#line 460 "/home/jens/Source/shotwell/src/util/image.vala"
- color_a = _tmp8_;
-#line 461 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = g_strdup ("#ccc");
-#line 461 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_b);
-#line 461 "/home/jens/Source/shotwell/src/util/image.vala"
- color_b = _tmp9_;
-#line 462 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 2118 "image.c"
- }
- }
- } else if (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("solid")))) {
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- switch (0) {
-#line 2124 "image.c"
- default:
- {
- ConfigFacade* _tmp10_;
- gchar* _tmp11_;
- const gchar* _tmp12_;
- gchar* _tmp13_;
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_ = config;
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp11_ = configuration_facade_get_transparent_background_color (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_b);
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- color_b = _tmp11_;
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = color_b;
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = g_strdup (_tmp12_);
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_a);
-#line 464 "/home/jens/Source/shotwell/src/util/image.vala"
- color_a = _tmp13_;
-#line 465 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 2149 "image.c"
- }
- }
- } else {
-#line 458 "/home/jens/Source/shotwell/src/util/image.vala"
- switch (0) {
-#line 2155 "image.c"
- default:
- {
- gchar* _tmp14_;
- const gchar* _tmp15_;
- gchar* _tmp16_;
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = g_strdup ("#000");
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_b);
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- color_b = _tmp14_;
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = color_b;
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_ = g_strdup (_tmp15_);
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_a);
-#line 467 "/home/jens/Source/shotwell/src/util/image.vala"
- color_a = _tmp16_;
-#line 468 "/home/jens/Source/shotwell/src/util/image.vala"
- break;
-#line 2177 "image.c"
- }
- }
- }
-#line 471 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp17_ = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 16, 16);
-#line 471 "/home/jens/Source/shotwell/src/util/image.vala"
- _cairo_surface_destroy0 (background_surface);
-#line 471 "/home/jens/Source/shotwell/src/util/image.vala"
- background_surface = _tmp17_;
-#line 472 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp18_ = background_surface;
-#line 472 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_ = cairo_create (_tmp18_);
-#line 472 "/home/jens/Source/shotwell/src/util/image.vala"
- ctx = _tmp19_;
-#line 473 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp20_ = ctx;
-#line 473 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_set_operator (_tmp20_, CAIRO_OPERATOR_SOURCE);
-#line 474 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp21_ = ctx;
-#line 474 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp22_ = color_a;
-#line 474 "/home/jens/Source/shotwell/src/util/image.vala"
- set_source_color_from_string (_tmp21_, _tmp22_);
-#line 475 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp23_ = ctx;
-#line 475 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rectangle (_tmp23_, (gdouble) 0, (gdouble) 0, (gdouble) 8, (gdouble) 8);
-#line 476 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp24_ = ctx;
-#line 476 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rectangle (_tmp24_, (gdouble) 8, (gdouble) 8, (gdouble) 8, (gdouble) 8);
-#line 477 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp25_ = ctx;
-#line 477 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_fill (_tmp25_);
-#line 478 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp26_ = ctx;
-#line 478 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp27_ = color_b;
-#line 478 "/home/jens/Source/shotwell/src/util/image.vala"
- set_source_color_from_string (_tmp26_, _tmp27_);
-#line 479 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp28_ = ctx;
-#line 479 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rectangle (_tmp28_, (gdouble) 0, (gdouble) 8, (gdouble) 8, (gdouble) 8);
-#line 480 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp29_ = ctx;
-#line 480 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rectangle (_tmp29_, (gdouble) 8, (gdouble) 0, (gdouble) 8, (gdouble) 8);
-#line 481 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp30_ = ctx;
-#line 481 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_fill (_tmp30_);
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- _cairo_destroy0 (ctx);
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (type);
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_object_unref0 (config);
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_b);
-#line 452 "/home/jens/Source/shotwell/src/util/image.vala"
- _g_free0 (color_a);
-#line 2243 "image.c"
- }
-#line 484 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp31_ = background_surface;
-#line 484 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp32_ = _cairo_surface_reference0 (_tmp31_);
-#line 484 "/home/jens/Source/shotwell/src/util/image.vala"
- result = _tmp32_;
-#line 484 "/home/jens/Source/shotwell/src/util/image.vala"
- return result;
-#line 2253 "image.c"
-}
-
-
-void
-invalidate_transparent_background (void)
-{
-#line 488 "/home/jens/Source/shotwell/src/util/image.vala"
- _cairo_surface_destroy0 (background_surface);
-#line 488 "/home/jens/Source/shotwell/src/util/image.vala"
- background_surface = NULL;
-#line 2264 "image.c"
-}
-
-
-void
-paint_pixmap_with_background (cairo_t* ctx,
- GdkPixbuf* pixbuf,
- gint x,
- gint y)
-{
-#line 491 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (ctx != NULL);
-#line 491 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
-#line 492 "/home/jens/Source/shotwell/src/util/image.vala"
- if (gdk_pixbuf_get_has_alpha (pixbuf)) {
-#line 2280 "image.c"
- cairo_surface_t* _tmp0_;
- cairo_surface_t* _tmp1_;
- cairo_pattern_t* _tmp2_;
- gint _tmp3_;
- gint _tmp4_;
- gint _tmp5_;
- gint _tmp6_;
-#line 493 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = get_background_surface ();
-#line 493 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp0_;
-#line 493 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_set_source_surface (ctx, _tmp1_, (gdouble) 0, (gdouble) 0);
-#line 493 "/home/jens/Source/shotwell/src/util/image.vala"
- _cairo_surface_destroy0 (_tmp1_);
-#line 494 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = cairo_get_source (ctx);
-#line 494 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_pattern_set_extend (_tmp2_, CAIRO_EXTEND_REPEAT);
-#line 495 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = gdk_pixbuf_get_width (pixbuf);
-#line 495 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_ = _tmp3_;
-#line 495 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp5_ = gdk_pixbuf_get_height (pixbuf);
-#line 495 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = _tmp5_;
-#line 495 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_rectangle (ctx, (gdouble) x, (gdouble) y, (gdouble) _tmp4_, (gdouble) _tmp6_);
-#line 496 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_fill (ctx);
-#line 2312 "image.c"
- }
-#line 499 "/home/jens/Source/shotwell/src/util/image.vala"
- gdk_cairo_set_source_pixbuf (ctx, pixbuf, (gdouble) x, (gdouble) y);
-#line 500 "/home/jens/Source/shotwell/src/util/image.vala"
- cairo_paint (ctx);
-#line 2318 "image.c"
-}
-
-
-void
-clamp_inside_rotated_image (Box* src,
- gint img_w,
- gint img_h,
- gdouble angle_deg,
- gboolean preserve_geom,
- Box* result)
-{
- GdkPoint top_left = {0};
- Box _tmp0_;
- gint _tmp1_;
- Box _tmp2_;
- gint _tmp3_;
- GdkPoint _tmp4_ = {0};
- GdkPoint _tmp5_ = {0};
- GdkPoint top_right = {0};
- Box _tmp6_;
- gint _tmp7_;
- Box _tmp8_;
- gint _tmp9_;
- GdkPoint _tmp10_ = {0};
- GdkPoint _tmp11_ = {0};
- GdkPoint bottom_left = {0};
- Box _tmp12_;
- gint _tmp13_;
- Box _tmp14_;
- gint _tmp15_;
- GdkPoint _tmp16_ = {0};
- GdkPoint _tmp17_ = {0};
- GdkPoint bottom_right = {0};
- Box _tmp18_;
- gint _tmp19_;
- Box _tmp20_;
- gint _tmp21_;
- GdkPoint _tmp22_ = {0};
- GdkPoint _tmp23_ = {0};
- gdouble angle = 0.0;
- gint top_offset = 0;
- gint bottom_offset = 0;
- gint left_offset = 0;
- gint right_offset = 0;
- gint top = 0;
- GdkPoint _tmp24_;
- gint _tmp25_;
- GdkPoint _tmp26_;
- gint _tmp27_;
- gint _tmp28_;
- gint bottom = 0;
- GdkPoint _tmp31_;
- gint _tmp32_;
- GdkPoint _tmp33_;
- gint _tmp34_;
- gint _tmp35_;
- gint left = 0;
- GdkPoint _tmp38_;
- gint _tmp39_;
- GdkPoint _tmp40_;
- gint _tmp41_;
- gint _tmp42_;
- gint right = 0;
- GdkPoint _tmp45_;
- gint _tmp46_;
- GdkPoint _tmp47_;
- gint _tmp48_;
- gint _tmp49_;
- Box _tmp52_ = {0};
-#line 504 "/home/jens/Source/shotwell/src/util/image.vala"
- g_return_if_fail (src != NULL);
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp0_ = *src;
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp1_ = _tmp0_.left;
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp2_ = *src;
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp3_ = _tmp2_.top;
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_.x = _tmp1_;
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp4_.y = _tmp3_;
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- derotate_point_arb (&_tmp4_, img_w, img_h, angle_deg, &_tmp5_);
-#line 507 "/home/jens/Source/shotwell/src/util/image.vala"
- top_left = _tmp5_;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp6_ = *src;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp7_ = _tmp6_.right;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp8_ = *src;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp9_ = _tmp8_.top;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_.x = _tmp7_;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp10_.y = _tmp9_;
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- derotate_point_arb (&_tmp10_, img_w, img_h, angle_deg, &_tmp11_);
-#line 508 "/home/jens/Source/shotwell/src/util/image.vala"
- top_right = _tmp11_;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp12_ = *src;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp13_ = _tmp12_.left;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp14_ = *src;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp15_ = _tmp14_.bottom;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_.x = _tmp13_;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp16_.y = _tmp15_;
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- derotate_point_arb (&_tmp16_, img_w, img_h, angle_deg, &_tmp17_);
-#line 509 "/home/jens/Source/shotwell/src/util/image.vala"
- bottom_left = _tmp17_;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp18_ = *src;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp19_ = _tmp18_.right;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp20_ = *src;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp21_ = _tmp20_.bottom;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp22_.x = _tmp19_;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp22_.y = _tmp21_;
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- derotate_point_arb (&_tmp22_, img_w, img_h, angle_deg, &_tmp23_);
-#line 510 "/home/jens/Source/shotwell/src/util/image.vala"
- bottom_right = _tmp23_;
-#line 512 "/home/jens/Source/shotwell/src/util/image.vala"
- angle = degrees_to_radians (angle_deg);
-#line 513 "/home/jens/Source/shotwell/src/util/image.vala"
- top_offset = 0;
-#line 513 "/home/jens/Source/shotwell/src/util/image.vala"
- bottom_offset = 0;
-#line 513 "/home/jens/Source/shotwell/src/util/image.vala"
- left_offset = 0;
-#line 513 "/home/jens/Source/shotwell/src/util/image.vala"
- right_offset = 0;
-#line 515 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp24_ = top_left;
-#line 515 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp25_ = _tmp24_.y;
-#line 515 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp26_ = top_right;
-#line 515 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp27_ = _tmp26_.y;
-#line 515 "/home/jens/Source/shotwell/src/util/image.vala"
- top = MIN (_tmp25_, _tmp27_);
-#line 516 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp28_ = top;
-#line 516 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp28_ < 0) {
-#line 2478 "image.c"
- gint _tmp29_;
- gdouble _tmp30_;
-#line 517 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp29_ = top;
-#line 517 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp30_ = angle;
-#line 517 "/home/jens/Source/shotwell/src/util/image.vala"
- top_offset = (gint) ((0 - _tmp29_) * cos (_tmp30_));
-#line 2487 "image.c"
- }
-#line 519 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp31_ = bottom_left;
-#line 519 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp32_ = _tmp31_.y;
-#line 519 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp33_ = bottom_right;
-#line 519 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp34_ = _tmp33_.y;
-#line 519 "/home/jens/Source/shotwell/src/util/image.vala"
- bottom = MAX (_tmp32_, _tmp34_);
-#line 520 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp35_ = bottom;
-#line 520 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp35_ > img_h) {
-#line 2503 "image.c"
- gint _tmp36_;
- gdouble _tmp37_;
-#line 521 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp36_ = bottom;
-#line 521 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp37_ = angle;
-#line 521 "/home/jens/Source/shotwell/src/util/image.vala"
- bottom_offset = (gint) ((img_h - _tmp36_) * cos (_tmp37_));
-#line 2512 "image.c"
- }
-#line 523 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp38_ = top_left;
-#line 523 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp39_ = _tmp38_.x;
-#line 523 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp40_ = bottom_left;
-#line 523 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp41_ = _tmp40_.x;
-#line 523 "/home/jens/Source/shotwell/src/util/image.vala"
- left = MIN (_tmp39_, _tmp41_);
-#line 524 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp42_ = left;
-#line 524 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp42_ < 0) {
-#line 2528 "image.c"
- gint _tmp43_;
- gdouble _tmp44_;
-#line 525 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp43_ = left;
-#line 525 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp44_ = angle;
-#line 525 "/home/jens/Source/shotwell/src/util/image.vala"
- left_offset = (gint) ((0 - _tmp43_) * cos (_tmp44_));
-#line 2537 "image.c"
- }
-#line 527 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp45_ = top_right;
-#line 527 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp46_ = _tmp45_.x;
-#line 527 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp47_ = bottom_right;
-#line 527 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp48_ = _tmp47_.x;
-#line 527 "/home/jens/Source/shotwell/src/util/image.vala"
- right = MAX (_tmp46_, _tmp48_);
-#line 528 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp49_ = right;
-#line 528 "/home/jens/Source/shotwell/src/util/image.vala"
- if (_tmp49_ > img_w) {
-#line 2553 "image.c"
- gint _tmp50_;
- gdouble _tmp51_;
-#line 529 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp50_ = right;
-#line 529 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp51_ = angle;
-#line 529 "/home/jens/Source/shotwell/src/util/image.vala"
- right_offset = (gint) ((img_w - _tmp50_) * cos (_tmp51_));
-#line 2562 "image.c"
- }
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- if (preserve_geom) {
-#line 2566 "image.c"
- gint _tmp53_;
- gint _tmp54_;
- gint _tmp55_;
- gint _tmp56_;
- Box _tmp57_ = {0};
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp53_ = left_offset;
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp54_ = right_offset;
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp55_ = top_offset;
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp56_ = bottom_offset;
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- box_get_offset (src, _tmp53_ + _tmp54_, _tmp55_ + _tmp56_, &_tmp57_);
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp52_ = _tmp57_;
-#line 2584 "image.c"
- } else {
- Box _tmp58_;
- gint _tmp59_;
- gint _tmp60_;
- Box _tmp61_;
- gint _tmp62_;
- gint _tmp63_;
- Box _tmp64_;
- gint _tmp65_;
- gint _tmp66_;
- Box _tmp67_;
- gint _tmp68_;
- gint _tmp69_;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp58_ = *src;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp59_ = _tmp58_.left;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp60_ = left_offset;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp61_ = *src;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp62_ = _tmp61_.top;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp63_ = top_offset;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp64_ = *src;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp65_ = _tmp64_.right;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp66_ = right_offset;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp67_ = *src;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp68_ = _tmp67_.bottom;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- _tmp69_ = bottom_offset;
-#line 532 "/home/jens/Source/shotwell/src/util/image.vala"
- box_init (&_tmp52_, _tmp59_ + _tmp60_, _tmp62_ + _tmp63_, _tmp65_ + _tmp66_, _tmp68_ + _tmp69_);
-#line 2624 "image.c"
- }
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- *result = _tmp52_;
-#line 531 "/home/jens/Source/shotwell/src/util/image.vala"
- return;
-#line 2630 "image.c"
-}
-
-
-