From 143bfc9f801c84428074312d661f8e08803df83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 20 Aug 2016 15:09:31 +0200 Subject: Imported Upstream version 0.23.5 --- src/ColorTransformation.c | 13612 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 13612 insertions(+) create mode 100644 src/ColorTransformation.c (limited to 'src/ColorTransformation.c') diff --git a/src/ColorTransformation.c b/src/ColorTransformation.c new file mode 100644 index 0000000..2a3e7c4 --- /dev/null +++ b/src/ColorTransformation.c @@ -0,0 +1,13612 @@ +/* ColorTransformation.c generated by valac 0.32.1, the Vala compiler + * generated from ColorTransformation.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_RGB_ANALYTIC_PIXEL (rgb_analytic_pixel_get_type ()) +typedef struct _RGBAnalyticPixel RGBAnalyticPixel; + +#define TYPE_HSV_ANALYTIC_PIXEL (hsv_analytic_pixel_get_type ()) +typedef struct _HSVAnalyticPixel HSVAnalyticPixel; + +#define TYPE_COMPOSITION_MODE (composition_mode_get_type ()) + +#define TYPE_PIXEL_FORMAT (pixel_format_get_type ()) + +#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ()) + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; +typedef struct _PixelTransformationBundlePrivate PixelTransformationBundlePrivate; + +#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ()) +#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation)) +#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) +#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION)) +#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION)) +#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) + +typedef struct _PixelTransformation PixelTransformation; +typedef struct _PixelTransformationClass PixelTransformationClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) + +#define TYPE_HSV_TRANSFORMATION (hsv_transformation_get_type ()) +#define HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformation)) +#define HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HSV_TRANSFORMATION, HSVTransformationClass)) +#define IS_HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HSV_TRANSFORMATION)) +#define IS_HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HSV_TRANSFORMATION)) +#define HSV_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformationClass)) + +typedef struct _HSVTransformation HSVTransformation; +typedef struct _HSVTransformationClass HSVTransformationClass; + +#define TYPE_EXPANSION_TRANSFORMATION (expansion_transformation_get_type ()) +#define EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation)) +#define EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass)) +#define IS_EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPANSION_TRANSFORMATION)) +#define IS_EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPANSION_TRANSFORMATION)) +#define EXPANSION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass)) + +typedef struct _ExpansionTransformation ExpansionTransformation; +typedef struct _ExpansionTransformationClass ExpansionTransformationClass; +#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL))) + +#define TYPE_SHADOW_DETAIL_TRANSFORMATION (shadow_detail_transformation_get_type ()) +#define SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation)) +#define SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass)) +#define IS_SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION)) +#define IS_SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION)) +#define SHADOW_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass)) + +typedef struct _ShadowDetailTransformation ShadowDetailTransformation; +typedef struct _ShadowDetailTransformationClass ShadowDetailTransformationClass; + +#define TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION (highlight_detail_transformation_get_type ()) +#define HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation)) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass)) +#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION)) +#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION)) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass)) + +typedef struct _HighlightDetailTransformation HighlightDetailTransformation; +typedef struct _HighlightDetailTransformationClass HighlightDetailTransformationClass; + +#define TYPE_RGB_TRANSFORMATION (rgb_transformation_get_type ()) +#define RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformation)) +#define RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) +#define IS_RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_TRANSFORMATION)) +#define IS_RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_TRANSFORMATION)) +#define RGB_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) + +typedef struct _RGBTransformation RGBTransformation; +typedef struct _RGBTransformationClass RGBTransformationClass; + +#define TYPE_TEMPERATURE_TRANSFORMATION (temperature_transformation_get_type ()) +#define TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation)) +#define TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass)) +#define IS_TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEMPERATURE_TRANSFORMATION)) +#define IS_TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEMPERATURE_TRANSFORMATION)) +#define TEMPERATURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass)) + +typedef struct _TemperatureTransformation TemperatureTransformation; +typedef struct _TemperatureTransformationClass TemperatureTransformationClass; + +#define TYPE_TINT_TRANSFORMATION (tint_transformation_get_type ()) +#define TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TINT_TRANSFORMATION, TintTransformation)) +#define TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TINT_TRANSFORMATION, TintTransformationClass)) +#define IS_TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TINT_TRANSFORMATION)) +#define IS_TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TINT_TRANSFORMATION)) +#define TINT_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TINT_TRANSFORMATION, TintTransformationClass)) + +typedef struct _TintTransformation TintTransformation; +typedef struct _TintTransformationClass TintTransformationClass; + +#define TYPE_SATURATION_TRANSFORMATION (saturation_transformation_get_type ()) +#define SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformation)) +#define SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) +#define IS_SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SATURATION_TRANSFORMATION)) +#define IS_SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SATURATION_TRANSFORMATION)) +#define SATURATION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) + +typedef struct _SaturationTransformation SaturationTransformation; +typedef struct _SaturationTransformationClass SaturationTransformationClass; + +#define TYPE_EXPOSURE_TRANSFORMATION (exposure_transformation_get_type ()) +#define EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation)) +#define EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass)) +#define IS_EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPOSURE_TRANSFORMATION)) +#define IS_EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPOSURE_TRANSFORMATION)) +#define EXPOSURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass)) + +typedef struct _ExposureTransformation ExposureTransformation; +typedef struct _ExposureTransformationClass ExposureTransformationClass; + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL))) + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +typedef struct _ParamSpecPixelTransformationBundle ParamSpecPixelTransformationBundle; +typedef struct _PixelTransformationPrivate PixelTransformationPrivate; +typedef struct _ParamSpecPixelTransformation ParamSpecPixelTransformation; +typedef struct _RGBTransformationPrivate RGBTransformationPrivate; +typedef struct _HSVTransformationPrivate HSVTransformationPrivate; +typedef struct _TintTransformationPrivate TintTransformationPrivate; +typedef struct _TemperatureTransformationPrivate TemperatureTransformationPrivate; +typedef struct _SaturationTransformationPrivate SaturationTransformationPrivate; +typedef struct _ExposureTransformationPrivate ExposureTransformationPrivate; +typedef struct _PixelTransformerPrivate PixelTransformerPrivate; +typedef struct _ParamSpecPixelTransformer ParamSpecPixelTransformer; + +#define TYPE_RGB_HISTOGRAM (rgb_histogram_get_type ()) +#define RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM, RGBHistogram)) +#define RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM, RGBHistogramClass)) +#define IS_RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM)) +#define IS_RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM)) +#define RGB_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM, RGBHistogramClass)) + +typedef struct _RGBHistogram RGBHistogram; +typedef struct _RGBHistogramClass RGBHistogramClass; +typedef struct _RGBHistogramPrivate RGBHistogramPrivate; +typedef struct _ParamSpecRGBHistogram ParamSpecRGBHistogram; + +#define TYPE_INTENSITY_HISTOGRAM (intensity_histogram_get_type ()) +#define INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogram)) +#define INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass)) +#define IS_INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTENSITY_HISTOGRAM)) +#define IS_INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTENSITY_HISTOGRAM)) +#define INTENSITY_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass)) + +typedef struct _IntensityHistogram IntensityHistogram; +typedef struct _IntensityHistogramClass IntensityHistogramClass; +typedef struct _IntensityHistogramPrivate IntensityHistogramPrivate; +typedef struct _ParamSpecIntensityHistogram ParamSpecIntensityHistogram; +typedef struct _ExpansionTransformationPrivate ExpansionTransformationPrivate; +typedef struct _ShadowDetailTransformationPrivate ShadowDetailTransformationPrivate; + +#define TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION (hermite_gamma_approximation_function_get_type ()) +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction)) +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass)) +#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)) +#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)) +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass)) + +typedef struct _HermiteGammaApproximationFunction HermiteGammaApproximationFunction; +typedef struct _HermiteGammaApproximationFunctionClass HermiteGammaApproximationFunctionClass; +#define _hermite_gamma_approximation_function_unref0(var) ((var == NULL) ? NULL : (var = (hermite_gamma_approximation_function_unref (var), NULL))) +typedef struct _HermiteGammaApproximationFunctionPrivate HermiteGammaApproximationFunctionPrivate; +typedef struct _ParamSpecHermiteGammaApproximationFunction ParamSpecHermiteGammaApproximationFunction; +typedef struct _HighlightDetailTransformationPrivate HighlightDetailTransformationPrivate; +#define _intensity_histogram_unref0(var) ((var == NULL) ? NULL : (var = (intensity_histogram_unref (var), NULL))) +#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 _RGBAnalyticPixel { + gfloat red; + gfloat green; + gfloat blue; +}; + +struct _HSVAnalyticPixel { + gfloat hue; + gfloat saturation; + gfloat light_value; +}; + +typedef enum { + COMPOSITION_MODE_NONE, + COMPOSITION_MODE_RGB_MATRIX +} CompositionMode; + +typedef enum { + PIXEL_FORMAT_RGB, + PIXEL_FORMAT_HSV +} PixelFormat; + +typedef enum { + PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, + PIXEL_TRANSFORMATION_TYPE_SHADOWS, + PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, + PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, + PIXEL_TRANSFORMATION_TYPE_TINT, + PIXEL_TRANSFORMATION_TYPE_SATURATION, + PIXEL_TRANSFORMATION_TYPE_EXPOSURE +} PixelTransformationType; + +struct _PixelTransformationBundle { + GTypeInstance parent_instance; + volatile int ref_count; + PixelTransformationBundlePrivate * priv; +}; + +struct _PixelTransformationBundleClass { + GTypeClass parent_class; + void (*finalize) (PixelTransformationBundle *self); +}; + +struct _PixelTransformationBundlePrivate { + GeeHashMap* map; +}; + +struct _ParamSpecPixelTransformationBundle { + GParamSpec parent_instance; +}; + +struct _PixelTransformation { + GTypeInstance parent_instance; + volatile int ref_count; + PixelTransformationPrivate * priv; +}; + +struct _PixelTransformationClass { + GTypeClass parent_class; + void (*finalize) (PixelTransformation *self); + PixelFormat (*get_preferred_format) (PixelTransformation* self); + CompositionMode (*get_composition_mode) (PixelTransformation* self); + void (*compose_with) (PixelTransformation* self, PixelTransformation* other); + gboolean (*is_identity) (PixelTransformation* self); + void (*transform_pixel_hsv) (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result); + void (*transform_pixel_rgb) (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); + gchar* (*to_string) (PixelTransformation* self); + PixelTransformation* (*copy) (PixelTransformation* self); +}; + +struct _PixelTransformationPrivate { + PixelTransformationType type; +}; + +struct _ParamSpecPixelTransformation { + GParamSpec parent_instance; +}; + +struct _RGBTransformation { + PixelTransformation parent_instance; + RGBTransformationPrivate * priv; + gfloat* matrix_entries; + gint matrix_entries_length1; + gboolean identity; +}; + +struct _RGBTransformationClass { + PixelTransformationClass parent_class; +}; + +struct _HSVTransformation { + PixelTransformation parent_instance; + HSVTransformationPrivate * priv; +}; + +struct _HSVTransformationClass { + PixelTransformationClass parent_class; +}; + +struct _TintTransformation { + RGBTransformation parent_instance; + TintTransformationPrivate * priv; +}; + +struct _TintTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _TintTransformationPrivate { + gfloat parameter; +}; + +struct _TemperatureTransformation { + RGBTransformation parent_instance; + TemperatureTransformationPrivate * priv; +}; + +struct _TemperatureTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _TemperatureTransformationPrivate { + gfloat parameter; +}; + +struct _SaturationTransformation { + RGBTransformation parent_instance; + SaturationTransformationPrivate * priv; +}; + +struct _SaturationTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _SaturationTransformationPrivate { + gfloat parameter; +}; + +struct _ExposureTransformation { + RGBTransformation parent_instance; + ExposureTransformationPrivate * priv; +}; + +struct _ExposureTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _ExposureTransformationPrivate { + gfloat parameter; +}; + +struct _PixelTransformer { + GTypeInstance parent_instance; + volatile int ref_count; + PixelTransformerPrivate * priv; +}; + +struct _PixelTransformerClass { + GTypeClass parent_class; + void (*finalize) (PixelTransformer *self); +}; + +struct _PixelTransformerPrivate { + GeeArrayList* transformations; + PixelTransformation** optimized_transformations; + gint optimized_transformations_length1; + gint _optimized_transformations_size_; + gint optimized_slots_used; +}; + +struct _ParamSpecPixelTransformer { + GParamSpec parent_instance; +}; + +struct _RGBHistogram { + GTypeInstance parent_instance; + volatile int ref_count; + RGBHistogramPrivate * priv; +}; + +struct _RGBHistogramClass { + GTypeClass parent_class; + void (*finalize) (RGBHistogram *self); +}; + +struct _RGBHistogramPrivate { + gint* red_counts; + gint red_counts_length1; + gint _red_counts_size_; + gint* green_counts; + gint green_counts_length1; + gint _green_counts_size_; + gint* blue_counts; + gint blue_counts_length1; + gint _blue_counts_size_; + gint* qualitative_red_counts; + gint qualitative_red_counts_length1; + gint _qualitative_red_counts_size_; + gint* qualitative_green_counts; + gint qualitative_green_counts_length1; + gint _qualitative_green_counts_size_; + gint* qualitative_blue_counts; + gint qualitative_blue_counts_length1; + gint _qualitative_blue_counts_size_; + GdkPixbuf* graphic; +}; + +struct _ParamSpecRGBHistogram { + GParamSpec parent_instance; +}; + +struct _IntensityHistogram { + GTypeInstance parent_instance; + volatile int ref_count; + IntensityHistogramPrivate * priv; +}; + +struct _IntensityHistogramClass { + GTypeClass parent_class; + void (*finalize) (IntensityHistogram *self); +}; + +struct _IntensityHistogramPrivate { + gint* counts; + gint counts_length1; + gint _counts_size_; + gfloat* probabilities; + gint probabilities_length1; + gint _probabilities_size_; + gfloat* cumulative_probabilities; + gint cumulative_probabilities_length1; + gint _cumulative_probabilities_size_; +}; + +struct _ParamSpecIntensityHistogram { + GParamSpec parent_instance; +}; + +struct _ExpansionTransformation { + HSVTransformation parent_instance; + ExpansionTransformationPrivate * priv; +}; + +struct _ExpansionTransformationClass { + HSVTransformationClass parent_class; +}; + +struct _ExpansionTransformationPrivate { + gfloat* remap_table; + gint remap_table_length1; + gint _remap_table_size_; + gint low_kink; + gint high_kink; +}; + +struct _ShadowDetailTransformation { + HSVTransformation parent_instance; + ShadowDetailTransformationPrivate * priv; +}; + +struct _ShadowDetailTransformationClass { + HSVTransformationClass parent_class; +}; + +struct _ShadowDetailTransformationPrivate { + gfloat intensity; + gfloat* remap_table; + gint remap_table_length1; + gint _remap_table_size_; +}; + +struct _HermiteGammaApproximationFunction { + GTypeInstance parent_instance; + volatile int ref_count; + HermiteGammaApproximationFunctionPrivate * priv; +}; + +struct _HermiteGammaApproximationFunctionClass { + GTypeClass parent_class; + void (*finalize) (HermiteGammaApproximationFunction *self); +}; + +struct _HermiteGammaApproximationFunctionPrivate { + gfloat x_scale; + gfloat nonzero_interval_upper; +}; + +struct _ParamSpecHermiteGammaApproximationFunction { + GParamSpec parent_instance; +}; + +struct _HighlightDetailTransformation { + HSVTransformation parent_instance; + HighlightDetailTransformationPrivate * priv; +}; + +struct _HighlightDetailTransformationClass { + HSVTransformationClass parent_class; +}; + +struct _HighlightDetailTransformationPrivate { + gfloat intensity; + gfloat* remap_table; + gint remap_table_length1; + gint _remap_table_size_; +}; + + +static gpointer pixel_transformation_bundle_parent_class = NULL; +static PixelTransformationBundle* pixel_transformation_bundle_copied_color_adjustments; +static PixelTransformationBundle* pixel_transformation_bundle_copied_color_adjustments = NULL; +static gpointer pixel_transformation_parent_class = NULL; +static gpointer rgb_transformation_parent_class = NULL; +static gpointer hsv_transformation_parent_class = NULL; +static gpointer tint_transformation_parent_class = NULL; +static gpointer temperature_transformation_parent_class = NULL; +static gpointer saturation_transformation_parent_class = NULL; +static gpointer exposure_transformation_parent_class = NULL; +static gpointer pixel_transformer_parent_class = NULL; +static gpointer rgb_histogram_parent_class = NULL; +static gpointer intensity_histogram_parent_class = NULL; +static gpointer expansion_transformation_parent_class = NULL; +static gpointer shadow_detail_transformation_parent_class = NULL; +static gpointer hermite_gamma_approximation_function_parent_class = NULL; +static gpointer highlight_detail_transformation_parent_class = NULL; + +GType rgb_analytic_pixel_get_type (void) G_GNUC_CONST; +RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self); +void rgb_analytic_pixel_free (RGBAnalyticPixel* self); +#define RGB_ANALYTIC_PIXEL_INV_255 (1.0f / 255.0f) +void rgb_analytic_pixel_init (RGBAnalyticPixel *self); +void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self, gfloat red, gfloat green, gfloat blue); +void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized); +GType hsv_analytic_pixel_get_type (void) G_GNUC_CONST; +HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self); +void hsv_analytic_pixel_free (HSVAnalyticPixel* self); +void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* hsv_pixel); +void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result); +guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self); +guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self); +guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self); +gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs); +guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self); +void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* result); +void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p); +#define HSV_ANALYTIC_PIXEL_INV_255 (1.0f / 255.0f) +void hsv_analytic_pixel_init (HSVAnalyticPixel *self); +void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self, gfloat hue, gfloat saturation, gfloat light_value); +void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self, guchar hue_quantized, guchar saturation_quantized, guchar light_value_quantized); +gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self, HSVAnalyticPixel* rhs); +guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self); +GType composition_mode_get_type (void) G_GNUC_CONST; +GType pixel_format_get_type (void) G_GNUC_CONST; +GType pixel_transformation_type_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_ref (gpointer instance); +void pixel_transformation_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation (GValue* value, gpointer v_object); +void value_take_pixel_transformation (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation (const GValue* value); +GType pixel_transformation_get_type (void) G_GNUC_CONST; +#define PIXEL_TRANSFORMATION_BUNDLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundlePrivate)) +enum { + PIXEL_TRANSFORMATION_BUNDLE_DUMMY_PROPERTY +}; +PixelTransformationBundle* pixel_transformation_bundle_new (void); +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type); +PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void); +void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments); +gboolean pixel_transformation_bundle_has_copied_color_adjustments (void); +void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation); +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self); +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self); +ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point); +ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point); +GType hsv_transformation_get_type (void) G_GNUC_CONST; +GType expansion_transformation_get_type (void) G_GNUC_CONST; +ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity); +ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity); +GType shadow_detail_transformation_get_type (void) G_GNUC_CONST; +HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity); +HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity); +GType highlight_detail_transformation_get_type (void) G_GNUC_CONST; +TemperatureTransformation* temperature_transformation_new (gfloat client_parameter); +TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter); +GType rgb_transformation_get_type (void) G_GNUC_CONST; +GType temperature_transformation_get_type (void) G_GNUC_CONST; +TintTransformation* tint_transformation_new (gfloat client_param); +TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param); +GType tint_transformation_get_type (void) G_GNUC_CONST; +SaturationTransformation* saturation_transformation_new (gfloat client_parameter); +SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter); +GType saturation_transformation_get_type (void) G_GNUC_CONST; +ExposureTransformation* exposure_transformation_new (gfloat client_parameter); +ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter); +GType exposure_transformation_get_type (void) G_GNUC_CONST; +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store); +gchar* key_value_map_get_string (KeyValueMap* self, const gchar* key, const gchar* def); +ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation); +ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type, const gchar* encoded_transformation); +gfloat key_value_map_get_float (KeyValueMap* self, const gchar* key, gfloat def); +KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group); +KeyValueMap* key_value_map_new (const gchar* group); +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group); +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type); +void key_value_map_set_string (KeyValueMap* self, const gchar* key, const gchar* value); +gchar* pixel_transformation_to_string (PixelTransformation* self); +void key_value_map_set_float (KeyValueMap* self, const gchar* key, gfloat value); +gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self); +gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self); +gfloat temperature_transformation_get_parameter (TemperatureTransformation* self); +gfloat tint_transformation_get_parameter (TintTransformation* self); +gfloat saturation_transformation_get_parameter (SaturationTransformation* self); +gfloat exposure_transformation_get_parameter (ExposureTransformation* self); +gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self); +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self); +gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self); +gboolean pixel_transformation_is_identity (PixelTransformation* self); +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self); +PixelTransformer* pixel_transformer_new (void); +PixelTransformer* pixel_transformer_construct (GType object_type); +void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans); +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self); +static void pixel_transformation_bundle_finalize (PixelTransformationBundle* obj); +#define PIXEL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMATION, PixelTransformationPrivate)) +enum { + PIXEL_TRANSFORMATION_DUMMY_PROPERTY +}; +PixelTransformation* pixel_transformation_construct (GType object_type, PixelTransformationType type); +PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self); +static PixelFormat pixel_transformation_real_get_preferred_format (PixelTransformation* self); +CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self); +static CompositionMode pixel_transformation_real_get_composition_mode (PixelTransformation* self); +void pixel_transformation_compose_with (PixelTransformation* self, PixelTransformation* other); +static void pixel_transformation_real_compose_with (PixelTransformation* self, PixelTransformation* other); +static gboolean pixel_transformation_real_is_identity (PixelTransformation* self); +void pixel_transformation_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result); +static void pixel_transformation_real_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result); +void pixel_transformation_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +static void pixel_transformation_real_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +static gchar* pixel_transformation_real_to_string (PixelTransformation* self); +PixelTransformation* pixel_transformation_copy (PixelTransformation* self); +static PixelTransformation* pixel_transformation_real_copy (PixelTransformation* self); +static void pixel_transformation_finalize (PixelTransformation* obj); +enum { + RGB_TRANSFORMATION_DUMMY_PROPERTY +}; +#define RGB_TRANSFORMATION_MATRIX_SIZE 16 +RGBTransformation* rgb_transformation_new (PixelTransformationType type); +RGBTransformation* rgb_transformation_construct (GType object_type, PixelTransformationType type); +static PixelFormat rgb_transformation_real_get_preferred_format (PixelTransformation* base); +static CompositionMode rgb_transformation_real_get_composition_mode (PixelTransformation* base); +static void rgb_transformation_real_compose_with (PixelTransformation* base, PixelTransformation* other); +static void rgb_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* p, HSVAnalyticPixel* result); +static void rgb_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +static gboolean rgb_transformation_real_is_identity (PixelTransformation* base); +static PixelTransformation* rgb_transformation_real_copy (PixelTransformation* base); +static void rgb_transformation_finalize (PixelTransformation* obj); +enum { + HSV_TRANSFORMATION_DUMMY_PROPERTY +}; +HSVTransformation* hsv_transformation_construct (GType object_type, PixelTransformationType type); +static PixelFormat hsv_transformation_real_get_preferred_format (PixelTransformation* base); +static void hsv_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +#define TINT_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TINT_TRANSFORMATION, TintTransformationPrivate)) +enum { + TINT_TRANSFORMATION_DUMMY_PROPERTY +}; +#define TINT_TRANSFORMATION_INTENSITY_FACTOR 0.25f +#define TINT_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define TINT_TRANSFORMATION_MAX_PARAMETER 16.0f +static void tint_transformation_finalize (PixelTransformation* obj); +#define TEMPERATURE_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationPrivate)) +enum { + TEMPERATURE_TRANSFORMATION_DUMMY_PROPERTY +}; +#define TEMPERATURE_TRANSFORMATION_INTENSITY_FACTOR 0.33f +#define TEMPERATURE_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define TEMPERATURE_TRANSFORMATION_MAX_PARAMETER 16.0f +static void temperature_transformation_finalize (PixelTransformation* obj); +#define SATURATION_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationPrivate)) +enum { + SATURATION_TRANSFORMATION_DUMMY_PROPERTY +}; +#define SATURATION_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define SATURATION_TRANSFORMATION_MAX_PARAMETER 16.0f +static void saturation_transformation_finalize (PixelTransformation* obj); +#define EXPOSURE_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationPrivate)) +enum { + EXPOSURE_TRANSFORMATION_DUMMY_PROPERTY +}; +#define EXPOSURE_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define EXPOSURE_TRANSFORMATION_MAX_PARAMETER 16.0f +static void exposure_transformation_finalize (PixelTransformation* obj); +#define PIXEL_TRANSFORMER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMER, PixelTransformerPrivate)) +enum { + PIXEL_TRANSFORMER_DUMMY_PROPERTY +}; +PixelTransformer* pixel_transformer_copy (PixelTransformer* self); +static void pixel_transformer_build_optimized_transformations (PixelTransformer* self); +static void pixel_transformer_apply_transformations (PixelTransformer* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +void pixel_transformer_detach_transformation (PixelTransformer* self, PixelTransformation* victim); +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans); +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable); +void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable); +void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest); +static void pixel_transformer_finalize (PixelTransformer* obj); +gpointer rgb_histogram_ref (gpointer instance); +void rgb_histogram_unref (gpointer instance); +GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_rgb_histogram (GValue* value, gpointer v_object); +void value_take_rgb_histogram (GValue* value, gpointer v_object); +gpointer value_get_rgb_histogram (const GValue* value); +GType rgb_histogram_get_type (void) G_GNUC_CONST; +#define RGB_HISTOGRAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RGB_HISTOGRAM, RGBHistogramPrivate)) +enum { + RGB_HISTOGRAM_DUMMY_PROPERTY +}; +#define RGB_HISTOGRAM_MARKED_BACKGROUND ((guchar) 30) +#define RGB_HISTOGRAM_MARKED_FOREGROUND ((guchar) 210) +#define RGB_HISTOGRAM_UNMARKED_BACKGROUND ((guchar) 120) +#define RGB_HISTOGRAM_GRAPHIC_WIDTH 256 +#define RGB_HISTOGRAM_GRAPHIC_HEIGHT 100 +RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf); +RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf); +static gint rgb_histogram_correct_snap_to_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i); +static gint rgb_histogram_correct_snap_from_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i); +static void rgb_histogram_smooth_extrema (RGBHistogram* self, gint** count_data, int* count_data_length1); +static void rgb_histogram_prepare_qualitative_counts (RGBHistogram* self); +GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self); +static void rgb_histogram_finalize (RGBHistogram* obj); +gpointer intensity_histogram_ref (gpointer instance); +void intensity_histogram_unref (gpointer instance); +GParamSpec* param_spec_intensity_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_intensity_histogram (GValue* value, gpointer v_object); +void value_take_intensity_histogram (GValue* value, gpointer v_object); +gpointer value_get_intensity_histogram (const GValue* value); +GType intensity_histogram_get_type (void) G_GNUC_CONST; +#define INTENSITY_HISTOGRAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramPrivate)) +enum { + INTENSITY_HISTOGRAM_DUMMY_PROPERTY +}; +IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf); +IntensityHistogram* intensity_histogram_construct (GType object_type, GdkPixbuf* pixbuf); +gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self, gint level); +static void intensity_histogram_finalize (IntensityHistogram* obj); +#define EXPANSION_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationPrivate)) +enum { + EXPANSION_TRANSFORMATION_DUMMY_PROPERTY +}; +#define EXPANSION_TRANSFORMATION_LOW_DISCARD_MASS 0.02f +#define EXPANSION_TRANSFORMATION_HIGH_DISCARD_MASS 0.02f +ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram); +ExpansionTransformation* expansion_transformation_construct (GType object_type, IntensityHistogram* histogram); +static void expansion_transformation_build_remap_table (ExpansionTransformation* self); +static void expansion_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result); +static gchar* expansion_transformation_real_to_string (PixelTransformation* base); +gint expansion_transformation_get_white_point (ExpansionTransformation* self); +gint expansion_transformation_get_black_point (ExpansionTransformation* self); +static gboolean expansion_transformation_real_is_identity (PixelTransformation* base); +static PixelTransformation* expansion_transformation_real_copy (PixelTransformation* base); +static void expansion_transformation_finalize (PixelTransformation* obj); +#define SHADOW_DETAIL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationPrivate)) +enum { + SHADOW_DETAIL_TRANSFORMATION_DUMMY_PROPERTY +}; +#define SHADOW_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT 0.5f +#define SHADOW_DETAIL_TRANSFORMATION_MIN_TONAL_WIDTH 0.1f +#define SHADOW_DETAIL_TRANSFORMATION_MAX_TONAL_WIDTH 1.0f +#define SHADOW_DETAIL_TRANSFORMATION_TONAL_WIDTH 1.0f +#define SHADOW_DETAIL_TRANSFORMATION_MIN_PARAMETER 0.0f +#define SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER 32.0f +gpointer hermite_gamma_approximation_function_ref (gpointer instance); +void hermite_gamma_approximation_function_unref (gpointer instance); +GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hermite_gamma_approximation_function (GValue* value, gpointer v_object); +void value_take_hermite_gamma_approximation_function (GValue* value, gpointer v_object); +gpointer value_get_hermite_gamma_approximation_function (const GValue* value); +GType hermite_gamma_approximation_function_get_type (void) G_GNUC_CONST; +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper); +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type, gfloat user_interval_upper); +gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self, gfloat x); +static void shadow_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result); +static PixelTransformation* shadow_detail_transformation_real_copy (PixelTransformation* base); +static gboolean shadow_detail_transformation_real_is_identity (PixelTransformation* base); +static void shadow_detail_transformation_finalize (PixelTransformation* obj); +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionPrivate)) +enum { + HERMITE_GAMMA_APPROXIMATION_FUNCTION_DUMMY_PROPERTY +}; +static void hermite_gamma_approximation_function_finalize (HermiteGammaApproximationFunction* obj); +#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationPrivate)) +enum { + HIGHLIGHT_DETAIL_TRANSFORMATION_DUMMY_PROPERTY +}; +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT 0.5f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_TONAL_WIDTH 0.1f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_TONAL_WIDTH 1.0f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_TONAL_WIDTH 1.0f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER (-32.0f) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_PARAMETER 0.0f +static void highlight_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result); +static PixelTransformation* highlight_detail_transformation_real_copy (PixelTransformation* base); +static gboolean highlight_detail_transformation_real_is_identity (PixelTransformation* base); +static void highlight_detail_transformation_finalize (PixelTransformation* obj); +#define AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY 8 +#define AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY 100 +#define AUTO_ENHANCE_SHADOW_DETECT_INTENSITY_RANGE (AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY - AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY) +#define AUTO_ENHANCE_SHADOW_MODE_HIGH_DISCARD_MASS 0.02f +#define AUTO_ENHANCE_SHADOW_AGGRESSIVENESS_MUL 0.4f +#define AUTO_ENHANCE_EMPIRICAL_DARK 30 +PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void rgb_analytic_pixel_init (RGBAnalyticPixel *self) { +#line 14 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 15 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = 0.0f; +#line 16 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = 0.0f; +#line 17 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = 0.0f; +#line 875 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self, gfloat red, gfloat green, gfloat blue) { + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 20 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = red; +#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0.0f, 1.0f); +#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = green; +#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = CLAMP (_tmp2_, 0.0f, 1.0f); +#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = _tmp3_; +#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = blue; +#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = _tmp5_; +#line 906 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized) { + guchar _tmp0_ = '\0'; + guchar _tmp1_ = '\0'; + guchar _tmp2_ = '\0'; +#line 27 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 29 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = red_quantized; +#line 29 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = ((gfloat) _tmp0_) * RGB_ANALYTIC_PIXEL_INV_255; +#line 30 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = green_quantized; +#line 30 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = ((gfloat) _tmp1_) * RGB_ANALYTIC_PIXEL_INV_255; +#line 31 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = blue_quantized; +#line 31 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = ((gfloat) _tmp2_) * RGB_ANALYTIC_PIXEL_INV_255; +#line 928 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* hsv_pixel) { + RGBAnalyticPixel from_hsv = {0}; + RGBAnalyticPixel _tmp0_ = {0}; + RGBAnalyticPixel _tmp1_ = {0}; + gfloat _tmp2_ = 0.0F; + RGBAnalyticPixel _tmp3_ = {0}; + gfloat _tmp4_ = 0.0F; + RGBAnalyticPixel _tmp5_ = {0}; + gfloat _tmp6_ = 0.0F; +#line 34 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (hsv_pixel != NULL); +#line 34 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 35 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (hsv_pixel, &_tmp0_); +#line 35 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + from_hsv = _tmp0_; +#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = from_hsv; +#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_.red; +#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = _tmp2_; +#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = from_hsv; +#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_.green; +#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = _tmp4_; +#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = from_hsv; +#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_.blue; +#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = _tmp6_; +#line 967 "ColorTransformation.c" +} + + +guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self) { + guchar result = '\0'; + gfloat _tmp0_ = 0.0F; +#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).red; +#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (guchar) (_tmp0_ * 255.0f); +#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 980 "ColorTransformation.c" +} + + +guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self) { + guchar result = '\0'; + gfloat _tmp0_ = 0.0F; +#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).green; +#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (guchar) (_tmp0_ * 255.0f); +#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 993 "ColorTransformation.c" +} + + +guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self) { + guchar result = '\0'; + gfloat _tmp0_ = 0.0F; +#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).blue; +#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (guchar) (_tmp0_ * 255.0f); +#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1006 "ColorTransformation.c" +} + + +gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gfloat _tmp2_ = 0.0F; + RGBAnalyticPixel* _tmp3_ = NULL; + gfloat _tmp4_ = 0.0F; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).red; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = rhs; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = (*_tmp3_).red; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ == _tmp4_) { +#line 1025 "ColorTransformation.c" + gfloat _tmp5_ = 0.0F; + RGBAnalyticPixel* _tmp6_ = NULL; + gfloat _tmp7_ = 0.0F; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = (*self).green; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = rhs; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = (*_tmp6_).green; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp5_ == _tmp7_; +#line 1037 "ColorTransformation.c" + } else { +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 1041 "ColorTransformation.c" + } +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_) { +#line 1045 "ColorTransformation.c" + gfloat _tmp8_ = 0.0F; + RGBAnalyticPixel* _tmp9_ = NULL; + gfloat _tmp10_ = 0.0F; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = (*self).blue; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = rhs; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = (*_tmp9_).blue; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp8_ == _tmp10_; +#line 1057 "ColorTransformation.c" + } else { +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 1061 "ColorTransformation.c" + } +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1067 "ColorTransformation.c" +} + + +guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self) { + guint result = 0U; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).red; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = (*self).green; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).blue; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = ((((guint) (_tmp0_ * 255.0f)) << 16) + (((guint) (_tmp1_ * 255.0f)) << 8)) + ((guint) (_tmp2_ * 255.0f)); +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1086 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* result) { + HSVAnalyticPixel _tmp0_ = {0}; +#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_init_from_rgb (&_tmp0_, &(*self)); +#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 1098 "ColorTransformation.c" +} + + +RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self) { + RGBAnalyticPixel* dup; +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dup = g_new0 (RGBAnalyticPixel, 1); +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memcpy (dup, self, sizeof (RGBAnalyticPixel)); +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return dup; +#line 1110 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_free (RGBAnalyticPixel* self) { +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_free (self); +#line 1117 "ColorTransformation.c" +} + + +GType rgb_analytic_pixel_get_type (void) { + static volatile gsize rgb_analytic_pixel_type_id__volatile = 0; + if (g_once_init_enter (&rgb_analytic_pixel_type_id__volatile)) { + GType rgb_analytic_pixel_type_id; + rgb_analytic_pixel_type_id = g_boxed_type_register_static ("RGBAnalyticPixel", (GBoxedCopyFunc) rgb_analytic_pixel_dup, (GBoxedFreeFunc) rgb_analytic_pixel_free); + g_once_init_leave (&rgb_analytic_pixel_type_id__volatile, rgb_analytic_pixel_type_id); + } + return rgb_analytic_pixel_type_id__volatile; +} + + +void hsv_analytic_pixel_init (HSVAnalyticPixel *self) { +#line 74 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 75 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 0.0f; +#line 76 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = 0.0f; +#line 77 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = 0.0f; +#line 1141 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self, gfloat hue, gfloat saturation, gfloat light_value) { + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 80 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = hue; +#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0.0f, 1.0f); +#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = saturation; +#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = CLAMP (_tmp2_, 0.0f, 1.0f); +#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = _tmp3_; +#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = light_value; +#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = _tmp5_; +#line 1172 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self, guchar hue_quantized, guchar saturation_quantized, guchar light_value_quantized) { + guchar _tmp0_ = '\0'; + guchar _tmp1_ = '\0'; + guchar _tmp2_ = '\0'; +#line 87 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 89 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = hue_quantized; +#line 89 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = ((gfloat) _tmp0_) * HSV_ANALYTIC_PIXEL_INV_255; +#line 90 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = saturation_quantized; +#line 90 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = ((gfloat) _tmp1_) * HSV_ANALYTIC_PIXEL_INV_255; +#line 91 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = light_value_quantized; +#line 91 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = ((gfloat) _tmp2_) * HSV_ANALYTIC_PIXEL_INV_255; +#line 1194 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p) { + gfloat max_component = 0.0F; + RGBAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + RGBAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + RGBAnalyticPixel _tmp5_ = {0}; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat min_component = 0.0F; + RGBAnalyticPixel _tmp8_ = {0}; + gfloat _tmp9_ = 0.0F; + RGBAnalyticPixel _tmp10_ = {0}; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + RGBAnalyticPixel _tmp13_ = {0}; + gfloat _tmp14_ = 0.0F; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; + gfloat _tmp22_ = 0.0F; + gfloat _tmp53_ = 0.0F; + gfloat _tmp54_ = 0.0F; + gfloat _tmp55_ = 0.0F; + gfloat _tmp56_ = 0.0F; + gfloat _tmp57_ = 0.0F; + gfloat _tmp58_ = 0.0F; +#line 94 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 94 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_.red; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *p; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_.green; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = MAX (_tmp1_, _tmp3_); +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = *p; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_.blue; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = MAX (_tmp4_, _tmp6_); +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_component = _tmp7_; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = *p; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_.red; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = *p; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_.green; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = MIN (_tmp9_, _tmp11_); +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = *p; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = _tmp13_.blue; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = MIN (_tmp12_, _tmp14_); +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + min_component = _tmp15_; +#line 98 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = max_component; +#line 98 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = _tmp16_; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = max_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp18_ != 0.0f) { +#line 1275 "ColorTransformation.c" + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; + gfloat _tmp21_ = 0.0F; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = max_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = min_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = max_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = (_tmp19_ - _tmp20_) / _tmp21_; +#line 1287 "ColorTransformation.c" + } else { +#line 100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = 0.0f; +#line 1291 "ColorTransformation.c" + } +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = _tmp17_; +#line 102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = (*self).saturation; +#line 102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp22_ == 0.0f) { +#line 103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 0.0f; +#line 1301 "ColorTransformation.c" + } else { + gfloat delta = 0.0F; + gfloat _tmp23_ = 0.0F; + gfloat _tmp24_ = 0.0F; + RGBAnalyticPixel _tmp25_ = {0}; + gfloat _tmp26_ = 0.0F; + gfloat _tmp27_ = 0.0F; + gfloat _tmp49_ = 0.0F; + gfloat _tmp50_ = 0.0F; + gfloat _tmp52_ = 0.0F; +#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = max_component; +#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = min_component; +#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + delta = _tmp23_ - _tmp24_; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = *p; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp25_.red; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = max_component; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp26_ == _tmp27_) { +#line 1326 "ColorTransformation.c" + RGBAnalyticPixel _tmp28_ = {0}; + gfloat _tmp29_ = 0.0F; + RGBAnalyticPixel _tmp30_ = {0}; + gfloat _tmp31_ = 0.0F; + gfloat _tmp32_ = 0.0F; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = *p; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_.green; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = *p; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp30_.blue; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = delta; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = (_tmp29_ - _tmp31_) / _tmp32_; +#line 1344 "ColorTransformation.c" + } else { + RGBAnalyticPixel _tmp33_ = {0}; + gfloat _tmp34_ = 0.0F; + gfloat _tmp35_ = 0.0F; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = *p; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp33_.green; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = max_component; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp34_ == _tmp35_) { +#line 1357 "ColorTransformation.c" + RGBAnalyticPixel _tmp36_ = {0}; + gfloat _tmp37_ = 0.0F; + RGBAnalyticPixel _tmp38_ = {0}; + gfloat _tmp39_ = 0.0F; + gfloat _tmp40_ = 0.0F; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = *p; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_.blue; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = *p; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_.red; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = delta; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 2.0f + ((_tmp37_ - _tmp39_) / _tmp40_); +#line 1375 "ColorTransformation.c" + } else { + RGBAnalyticPixel _tmp41_ = {0}; + gfloat _tmp42_ = 0.0F; + gfloat _tmp43_ = 0.0F; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = *p; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp41_.blue; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = max_component; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp42_ == _tmp43_) { +#line 1388 "ColorTransformation.c" + RGBAnalyticPixel _tmp44_ = {0}; + gfloat _tmp45_ = 0.0F; + RGBAnalyticPixel _tmp46_ = {0}; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = *p; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_.red; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = *p; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_.green; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = delta; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 4.0f + ((_tmp45_ - _tmp47_) / _tmp48_); +#line 1406 "ColorTransformation.c" + } + } + } +#line 114 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = (*self).hue; +#line 114 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp49_ * 60.0f; +#line 115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = (*self).hue; +#line 115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp50_ < 0.0f) { +#line 1418 "ColorTransformation.c" + gfloat _tmp51_ = 0.0F; +#line 116 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = (*self).hue; +#line 116 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp51_ + 360.0f; +#line 1424 "ColorTransformation.c" + } +#line 118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = (*self).hue; +#line 118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp52_ / 360.0f; +#line 1430 "ColorTransformation.c" + } +#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = (*self).hue; +#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = CLAMP (_tmp53_, 0.0f, 1.0f); +#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp54_; +#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = (*self).saturation; +#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = CLAMP (_tmp55_, 0.0f, 1.0f); +#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = _tmp56_; +#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = (*self).light_value; +#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = CLAMP (_tmp57_, 0.0f, 1.0f); +#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = _tmp58_; +#line 1450 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result) { + RGBAnalyticPixel _result_ = {0}; + gfloat _tmp0_ = 0.0F; +#line 127 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init (&_result_); +#line 129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).saturation; +#line 129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == 0.0f) { +#line 1463 "ColorTransformation.c" + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; +#line 130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = (*self).light_value; +#line 130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp1_; +#line 131 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).light_value; +#line 131 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp2_; +#line 132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = (*self).light_value; +#line 132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp3_; +#line 1479 "ColorTransformation.c" + } else { + gfloat hue_denorm = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; + gfloat hue_hexant = 0.0F; + gfloat _tmp6_ = 0.0F; + gint hexant_i_part = 0; + gfloat _tmp7_ = 0.0F; + gfloat hexant_f_part = 0.0F; + gfloat _tmp8_ = 0.0F; + gint _tmp9_ = 0; + gfloat p = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat _tmp11_ = 0.0F; + gfloat q = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; + gfloat _tmp14_ = 0.0F; + gfloat t = 0.0F; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gint _tmp18_ = 0; +#line 134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = (*self).hue; +#line 134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hue_denorm = _tmp4_ * 360.0f; +#line 135 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = hue_denorm; +#line 135 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp5_ == 360.0f) { +#line 136 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hue_denorm = 0.0f; +#line 1513 "ColorTransformation.c" + } +#line 138 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = hue_denorm; +#line 138 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hue_hexant = _tmp6_ / 60.0f; +#line 140 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = hue_hexant; +#line 140 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hexant_i_part = (gint) _tmp7_; +#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = hue_hexant; +#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = hexant_i_part; +#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hexant_f_part = _tmp8_ - ((gfloat) _tmp9_); +#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = (*self).light_value; +#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = (*self).saturation; +#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p = _tmp10_ * (1.0f - _tmp11_); +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = (*self).light_value; +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = (*self).saturation; +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = hexant_f_part; +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + q = _tmp12_ * (1.0f - (_tmp13_ * _tmp14_)); +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = (*self).light_value; +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = (*self).saturation; +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = hexant_f_part; +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + t = _tmp15_ * (1.0f - (_tmp16_ * (1.0f - _tmp17_))); +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = hexant_i_part; +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + switch (_tmp18_) { +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 0: +#line 1557 "ColorTransformation.c" + { + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; + gfloat _tmp21_ = 0.0F; +#line 159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = (*self).light_value; +#line 159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp19_; +#line 160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = t; +#line 160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp20_; +#line 161 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = p; +#line 161 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp21_; +#line 162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1576 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 1: +#line 1580 "ColorTransformation.c" + { + gfloat _tmp22_ = 0.0F; + gfloat _tmp23_ = 0.0F; + gfloat _tmp24_ = 0.0F; +#line 165 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = q; +#line 165 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp22_; +#line 166 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = (*self).light_value; +#line 166 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp23_; +#line 167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = p; +#line 167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp24_; +#line 168 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1599 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 2: +#line 1603 "ColorTransformation.c" + { + gfloat _tmp25_ = 0.0F; + gfloat _tmp26_ = 0.0F; + gfloat _tmp27_ = 0.0F; +#line 171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = p; +#line 171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp25_; +#line 172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = (*self).light_value; +#line 172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp26_; +#line 173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = t; +#line 173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp27_; +#line 174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1622 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 3: +#line 1626 "ColorTransformation.c" + { + gfloat _tmp28_ = 0.0F; + gfloat _tmp29_ = 0.0F; + gfloat _tmp30_ = 0.0F; +#line 177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = p; +#line 177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp28_; +#line 178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = q; +#line 178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp29_; +#line 179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = (*self).light_value; +#line 179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp30_; +#line 180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1645 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 4: +#line 1649 "ColorTransformation.c" + { + gfloat _tmp31_ = 0.0F; + gfloat _tmp32_ = 0.0F; + gfloat _tmp33_ = 0.0F; +#line 183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = t; +#line 183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp31_; +#line 184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = p; +#line 184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp32_; +#line 185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = (*self).light_value; +#line 185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp33_; +#line 186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1668 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 5: +#line 1672 "ColorTransformation.c" + { + gfloat _tmp34_ = 0.0F; + gfloat _tmp35_ = 0.0F; + gfloat _tmp36_ = 0.0F; +#line 189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = (*self).light_value; +#line 189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp34_; +#line 190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = p; +#line 190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp35_; +#line 191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = q; +#line 191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp36_; +#line 192 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1691 "ColorTransformation.c" + } + default: + { +#line 195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:195: bad color hexant in HSV-to-RGB conversio" \ +"n"); +#line 1697 "ColorTransformation.c" + } + } + } +#line 199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 1705 "ColorTransformation.c" +} + + +gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self, HSVAnalyticPixel* rhs) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gfloat _tmp2_ = 0.0F; + HSVAnalyticPixel _tmp3_ = {0}; + gfloat _tmp4_ = 0.0F; +#line 202 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (rhs != NULL, FALSE); +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).hue; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = *rhs; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_.hue; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ == _tmp4_) { +#line 1726 "ColorTransformation.c" + gfloat _tmp5_ = 0.0F; + HSVAnalyticPixel _tmp6_ = {0}; + gfloat _tmp7_ = 0.0F; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = (*self).saturation; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = *rhs; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_.saturation; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp5_ == _tmp7_; +#line 1738 "ColorTransformation.c" + } else { +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 1742 "ColorTransformation.c" + } +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_) { +#line 1746 "ColorTransformation.c" + gfloat _tmp8_ = 0.0F; + HSVAnalyticPixel _tmp9_ = {0}; + gfloat _tmp10_ = 0.0F; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = (*self).light_value; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = *rhs; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp9_.light_value; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp8_ == _tmp10_; +#line 1758 "ColorTransformation.c" + } else { +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 1762 "ColorTransformation.c" + } +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1768 "ColorTransformation.c" +} + + +guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self) { + guint result = 0U; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).hue; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = (*self).saturation; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).light_value; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = ((((guint) (_tmp0_ * 255.0f)) << 16) + (((guint) (_tmp1_ * 255.0f)) << 8)) + ((guint) (_tmp2_ * 255.0f)); +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1787 "ColorTransformation.c" +} + + +HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self) { + HSVAnalyticPixel* dup; +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dup = g_new0 (HSVAnalyticPixel, 1); +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memcpy (dup, self, sizeof (HSVAnalyticPixel)); +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return dup; +#line 1799 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_free (HSVAnalyticPixel* self) { +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_free (self); +#line 1806 "ColorTransformation.c" +} + + +GType hsv_analytic_pixel_get_type (void) { + static volatile gsize hsv_analytic_pixel_type_id__volatile = 0; + if (g_once_init_enter (&hsv_analytic_pixel_type_id__volatile)) { + GType hsv_analytic_pixel_type_id; + hsv_analytic_pixel_type_id = g_boxed_type_register_static ("HSVAnalyticPixel", (GBoxedCopyFunc) hsv_analytic_pixel_dup, (GBoxedFreeFunc) hsv_analytic_pixel_free); + g_once_init_leave (&hsv_analytic_pixel_type_id__volatile, hsv_analytic_pixel_type_id); + } + return hsv_analytic_pixel_type_id__volatile; +} + + +GType composition_mode_get_type (void) { + static volatile gsize composition_mode_type_id__volatile = 0; + if (g_once_init_enter (&composition_mode_type_id__volatile)) { + static const GEnumValue values[] = {{COMPOSITION_MODE_NONE, "COMPOSITION_MODE_NONE", "none"}, {COMPOSITION_MODE_RGB_MATRIX, "COMPOSITION_MODE_RGB_MATRIX", "rgb-matrix"}, {0, NULL, NULL}}; + GType composition_mode_type_id; + composition_mode_type_id = g_enum_register_static ("CompositionMode", values); + g_once_init_leave (&composition_mode_type_id__volatile, composition_mode_type_id); + } + return composition_mode_type_id__volatile; +} + + +GType pixel_format_get_type (void) { + static volatile gsize pixel_format_type_id__volatile = 0; + if (g_once_init_enter (&pixel_format_type_id__volatile)) { + static const GEnumValue values[] = {{PIXEL_FORMAT_RGB, "PIXEL_FORMAT_RGB", "rgb"}, {PIXEL_FORMAT_HSV, "PIXEL_FORMAT_HSV", "hsv"}, {0, NULL, NULL}}; + GType pixel_format_type_id; + pixel_format_type_id = g_enum_register_static ("PixelFormat", values); + g_once_init_leave (&pixel_format_type_id__volatile, pixel_format_type_id); + } + return pixel_format_type_id__volatile; +} + + +GType pixel_transformation_type_get_type (void) { + static volatile gsize pixel_transformation_type_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformation_type_type_id__volatile)) { + static const GEnumValue values[] = {{PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, "PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION", "tone-expansion"}, {PIXEL_TRANSFORMATION_TYPE_SHADOWS, "PIXEL_TRANSFORMATION_TYPE_SHADOWS", "shadows"}, {PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, "PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS", "highlights"}, {PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, "PIXEL_TRANSFORMATION_TYPE_TEMPERATURE", "temperature"}, {PIXEL_TRANSFORMATION_TYPE_TINT, "PIXEL_TRANSFORMATION_TYPE_TINT", "tint"}, {PIXEL_TRANSFORMATION_TYPE_SATURATION, "PIXEL_TRANSFORMATION_TYPE_SATURATION", "saturation"}, {PIXEL_TRANSFORMATION_TYPE_EXPOSURE, "PIXEL_TRANSFORMATION_TYPE_EXPOSURE", "exposure"}, {0, NULL, NULL}}; + GType pixel_transformation_type_type_id; + pixel_transformation_type_type_id = g_enum_register_static ("PixelTransformationType", values); + g_once_init_leave (&pixel_transformation_type_type_id__volatile, pixel_transformation_type_type_id); + } + return pixel_transformation_type_type_id__volatile; +} + + +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type) { + PixelTransformationBundle* self = NULL; +#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (PixelTransformationBundle*) g_type_create_instance (object_type); +#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 1863 "ColorTransformation.c" +} + + +PixelTransformationBundle* pixel_transformation_bundle_new (void) { +#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return pixel_transformation_bundle_construct (TYPE_PIXEL_TRANSFORMATION_BUNDLE); +#line 1870 "ColorTransformation.c" +} + + +static gpointer _pixel_transformation_bundle_ref0 (gpointer self) { +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self ? pixel_transformation_bundle_ref (self) : NULL; +#line 1877 "ColorTransformation.c" +} + + +PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_copied_color_adjustments; +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _pixel_transformation_bundle_ref0 (_tmp0_); +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp1_; +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1893 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments) { + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (adjustments)); +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = adjustments; +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _pixel_transformation_bundle_ref0 (_tmp0_); +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_bundle_unref0 (pixel_transformation_bundle_copied_color_adjustments); +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_copied_color_adjustments = _tmp1_; +#line 1910 "ColorTransformation.c" +} + + +gboolean pixel_transformation_bundle_has_copied_color_adjustments (void) { + gboolean result = FALSE; + PixelTransformationBundle* _tmp0_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_copied_color_adjustments; +#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_ != NULL; +#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1923 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation) { + GeeHashMap* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + PixelTransformationType _tmp2_ = 0; + PixelTransformation* _tmp3_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self)); +#line 254 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (transformation)); +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = transformation; +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = pixel_transformation_get_transformation_type (_tmp1_); +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = transformation; +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) ((gint) _tmp2_)), _tmp3_); +#line 1946 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self) { + ExpansionTransformation* _tmp0_ = NULL; + ExpansionTransformation* _tmp1_ = NULL; + ShadowDetailTransformation* _tmp2_ = NULL; + ShadowDetailTransformation* _tmp3_ = NULL; + HighlightDetailTransformation* _tmp4_ = NULL; + HighlightDetailTransformation* _tmp5_ = NULL; + TemperatureTransformation* _tmp6_ = NULL; + TemperatureTransformation* _tmp7_ = NULL; + TintTransformation* _tmp8_ = NULL; + TintTransformation* _tmp9_ = NULL; + SaturationTransformation* _tmp10_ = NULL; + SaturationTransformation* _tmp11_ = NULL; + ExposureTransformation* _tmp12_ = NULL; + ExposureTransformation* _tmp13_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self)); +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = expansion_transformation_new_from_extrema (0, 255); +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_; +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp1_); +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = shadow_detail_transformation_new (0.0f); +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_; +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp3_); +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = highlight_detail_transformation_new (0.0f); +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp5_); +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = temperature_transformation_new (0.0f); +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_; +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp7_); +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = tint_transformation_new (0.0f); +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_; +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp9_); +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = saturation_transformation_new (0.0f); +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_; +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp11_); +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = exposure_transformation_new (0.0f); +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_; +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp13_); +#line 2023 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store) { + gchar* expansion_params_encoded = NULL; + KeyValueMap* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + KeyValueMap* _tmp8_ = NULL; + gfloat _tmp9_ = 0.0F; + ShadowDetailTransformation* _tmp10_ = NULL; + ShadowDetailTransformation* _tmp11_ = NULL; + KeyValueMap* _tmp12_ = NULL; + gfloat _tmp13_ = 0.0F; + HighlightDetailTransformation* _tmp14_ = NULL; + HighlightDetailTransformation* _tmp15_ = NULL; + KeyValueMap* _tmp16_ = NULL; + gfloat _tmp17_ = 0.0F; + TemperatureTransformation* _tmp18_ = NULL; + TemperatureTransformation* _tmp19_ = NULL; + KeyValueMap* _tmp20_ = NULL; + gfloat _tmp21_ = 0.0F; + TintTransformation* _tmp22_ = NULL; + TintTransformation* _tmp23_ = NULL; + KeyValueMap* _tmp24_ = NULL; + gfloat _tmp25_ = 0.0F; + SaturationTransformation* _tmp26_ = NULL; + SaturationTransformation* _tmp27_ = NULL; + KeyValueMap* _tmp28_ = NULL; + gfloat _tmp29_ = 0.0F; + ExposureTransformation* _tmp30_ = NULL; + ExposureTransformation* _tmp31_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self)); +#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (store)); +#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = store; +#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = key_value_map_get_string (_tmp0_, "expansion", "-"); +#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_params_encoded = _tmp1_; +#line 270 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = expansion_params_encoded; +#line 270 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_strcmp0 (_tmp2_, "-") == 0) { +#line 2070 "ColorTransformation.c" + ExpansionTransformation* _tmp3_ = NULL; + ExpansionTransformation* _tmp4_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = expansion_transformation_new_from_extrema (0, 255); +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp4_); +#line 2081 "ColorTransformation.c" + } else { + const gchar* _tmp5_ = NULL; + ExpansionTransformation* _tmp6_ = NULL; + ExpansionTransformation* _tmp7_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = expansion_params_encoded; +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = expansion_transformation_new_from_string (_tmp5_); +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_; +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp7_); +#line 2096 "ColorTransformation.c" + } +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = store; +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = key_value_map_get_float (_tmp8_, "shadows", 0.0f); +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = shadow_detail_transformation_new (_tmp9_); +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_; +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp11_); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = store; +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = key_value_map_get_float (_tmp12_, "highlights", 0.0f); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = highlight_detail_transformation_new (_tmp13_); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp14_; +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp15_); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = store; +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = key_value_map_get_float (_tmp16_, "temperature", 0.0f); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = temperature_transformation_new (_tmp17_); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp18_; +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp19_); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = store; +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = key_value_map_get_float (_tmp20_, "tint", 0.0f); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = tint_transformation_new (_tmp21_); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_; +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp23_); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = store; +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = key_value_map_get_float (_tmp24_, "saturation", 0.0f); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = saturation_transformation_new (_tmp25_); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = _tmp26_; +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp27_); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = store; +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = key_value_map_get_float (_tmp28_, "exposure", 0.0f); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = exposure_transformation_new (_tmp29_); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp30_; +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp31_); +#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (expansion_params_encoded); +#line 2172 "ColorTransformation.c" +} + + +KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group) { + KeyValueMap* result = NULL; + KeyValueMap* store = NULL; + const gchar* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + ExpansionTransformation* new_expansion_trans = NULL; + PixelTransformation* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + ShadowDetailTransformation* new_shadows_trans = NULL; + PixelTransformation* _tmp5_ = NULL; + gfloat _tmp6_ = 0.0F; + HighlightDetailTransformation* new_highlight_trans = NULL; + PixelTransformation* _tmp7_ = NULL; + gfloat _tmp8_ = 0.0F; + TemperatureTransformation* new_temp_trans = NULL; + PixelTransformation* _tmp9_ = NULL; + gfloat _tmp10_ = 0.0F; + TintTransformation* new_tint_trans = NULL; + PixelTransformation* _tmp11_ = NULL; + gfloat _tmp12_ = 0.0F; + SaturationTransformation* new_sat_trans = NULL; + PixelTransformation* _tmp13_ = NULL; + gfloat _tmp14_ = 0.0F; + ExposureTransformation* new_exposure_trans = NULL; + PixelTransformation* _tmp15_ = NULL; + gfloat _tmp16_ = 0.0F; +#line 283 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 283 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (group != NULL, NULL); +#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = group; +#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = key_value_map_new (_tmp0_); +#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + store = _tmp1_; +#line 286 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 286 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_expansion_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_expansion_trans != NULL, "new_expansion_trans != null"); +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = pixel_transformation_to_string (G_TYPE_CHECK_INSTANCE_CAST (new_expansion_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_string (store, "expansion", _tmp4_); +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (_tmp4_); +#line 291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_SHADOWS); +#line 291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_shadows_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 293 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_shadows_trans != NULL, "new_shadows_trans != null"); +#line 294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = shadow_detail_transformation_get_parameter (new_shadows_trans); +#line 294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "shadows", _tmp6_); +#line 296 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS); +#line 296 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_highlight_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_highlight_trans != NULL, "new_highlight_trans != null"); +#line 299 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = highlight_detail_transformation_get_parameter (new_highlight_trans); +#line 299 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "highlights", _tmp8_); +#line 301 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE); +#line 301 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_temp_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation); +#line 303 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_temp_trans != NULL, "new_temp_trans != null"); +#line 304 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = temperature_transformation_get_parameter (new_temp_trans); +#line 304 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "temperature", _tmp10_); +#line 306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TINT); +#line 306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_tint_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TINT_TRANSFORMATION, TintTransformation); +#line 308 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_tint_trans != NULL, "new_tint_trans != null"); +#line 309 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = tint_transformation_get_parameter (new_tint_trans); +#line 309 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "tint", _tmp12_); +#line 311 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_SATURATION); +#line 311 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_sat_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation); +#line 313 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_sat_trans != NULL, "new_sat_trans != null"); +#line 314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = saturation_transformation_get_parameter (new_sat_trans); +#line 314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "saturation", _tmp14_); +#line 316 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_EXPOSURE); +#line 316 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_exposure_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation); +#line 318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_exposure_trans != NULL, "new_exposure_trans != null"); +#line 319 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = exposure_transformation_get_parameter (new_exposure_trans); +#line 319 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "exposure", _tmp16_); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = store; +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_exposure_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_sat_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_tint_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_temp_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_highlight_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_shadows_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_expansion_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2305 "ColorTransformation.c" +} + + +gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self) { + gint result = 0; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 324 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), 0); +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp2_; +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2326 "ColorTransformation.c" +} + + +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type) { + PixelTransformation* result = NULL; + GeeHashMap* _tmp0_ = NULL; + PixelTransformationType _tmp1_ = 0; + gpointer _tmp2_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = type; +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) ((gint) _tmp1_))); +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (PixelTransformation*) _tmp2_; +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2347 "ColorTransformation.c" +} + + +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self) { + GeeIterable* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable); +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2368 "ColorTransformation.c" +} + + +gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self) { + gboolean result = FALSE; +#line 336 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), FALSE); +#line 2376 "ColorTransformation.c" + { + GeeIterator* _adjustment_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_get_transformations (self); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_tmp1_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _adjustment_it = _tmp3_; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 2397 "ColorTransformation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PixelTransformation* adjustment = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + PixelTransformation* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _adjustment_it; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp5_) { +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 2413 "ColorTransformation.c" + } +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _adjustment_it; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjustment = (PixelTransformation*) _tmp7_; +#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = adjustment; +#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = pixel_transformation_is_identity (_tmp8_); +#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp9_) { +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = FALSE; +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (adjustment); +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_adjustment_it); +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2435 "ColorTransformation.c" + } +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (adjustment); +#line 2439 "ColorTransformation.c" + } +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_adjustment_it); +#line 2443 "ColorTransformation.c" + } +#line 342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = TRUE; +#line 342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2449 "ColorTransformation.c" +} + + +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self) { + PixelTransformer* result = NULL; + PixelTransformer* transformer = NULL; + PixelTransformer* _tmp0_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 346 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformer_new (); +#line 346 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformer = _tmp0_; +#line 2463 "ColorTransformation.c" + { + GeeIterator* _transformation_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixel_transformation_bundle_get_transformations (self); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_tmp2_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_it = _tmp4_; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 2484 "ColorTransformation.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PixelTransformer* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _transformation_it; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 2500 "ColorTransformation.c" + } +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _transformation_it; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformation = (PixelTransformation*) _tmp8_; +#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = transformer; +#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = transformation; +#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_attach_transformation (_tmp9_, _tmp10_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transformation); +#line 2516 "ColorTransformation.c" + } +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_transformation_it); +#line 2520 "ColorTransformation.c" + } +#line 350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = transformer; +#line 350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2526 "ColorTransformation.c" +} + + +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* bundle = NULL; + PixelTransformationBundle* _tmp0_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 354 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_new (); +#line 354 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + bundle = _tmp0_; +#line 2540 "ColorTransformation.c" + { + GeeIterator* _transformation_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixel_transformation_bundle_get_transformations (self); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_tmp2_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_it = _tmp4_; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 2561 "ColorTransformation.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PixelTransformationBundle* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _transformation_it; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 2577 "ColorTransformation.c" + } +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _transformation_it; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformation = (PixelTransformation*) _tmp8_; +#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = bundle; +#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = transformation; +#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp9_, _tmp10_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transformation); +#line 2593 "ColorTransformation.c" + } +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_transformation_it); +#line 2597 "ColorTransformation.c" + } +#line 358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = bundle; +#line 358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2603 "ColorTransformation.c" +} + + +static void value_pixel_transformation_bundle_init (GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2610 "ColorTransformation.c" +} + + +static void value_pixel_transformation_bundle_free_value (GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_unref (value->data[0].v_pointer); +#line 2619 "ColorTransformation.c" + } +} + + +static void value_pixel_transformation_bundle_copy_value (const GValue* src_value, GValue* dest_value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = pixel_transformation_bundle_ref (src_value->data[0].v_pointer); +#line 2629 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 2633 "ColorTransformation.c" + } +} + + +static gpointer value_pixel_transformation_bundle_peek_pointer (const GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 2641 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_bundle_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 2648 "ColorTransformation.c" + PixelTransformationBundle* object; + object = collect_values[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2655 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2659 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = pixel_transformation_bundle_ref (object); +#line 2663 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2667 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 2671 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_bundle_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PixelTransformationBundle** object_p; + object_p = collect_values[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2682 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 2688 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 2692 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = pixel_transformation_bundle_ref (value->data[0].v_pointer); +#line 2696 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 2700 "ColorTransformation.c" +} + + +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPixelTransformationBundle* spec; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMATION_BUNDLE), NULL); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 2714 "ColorTransformation.c" +} + + +gpointer value_get_pixel_transformation_bundle (const GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE), NULL); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 2723 "ColorTransformation.c" +} + + +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object) { + PixelTransformationBundle* old; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_ref (value->data[0].v_pointer); +#line 2743 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2747 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_unref (old); +#line 2753 "ColorTransformation.c" + } +} + + +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object) { + PixelTransformationBundle* old; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 2772 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2776 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_unref (old); +#line 2782 "ColorTransformation.c" + } +} + + +static void pixel_transformation_bundle_class_init (PixelTransformationBundleClass * klass) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_parent_class = g_type_class_peek_parent (klass); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationBundleClass *) klass)->finalize = pixel_transformation_bundle_finalize; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (PixelTransformationBundlePrivate)); +#line 2794 "ColorTransformation.c" +} + + +static void pixel_transformation_bundle_instance_init (PixelTransformationBundle * self) { + void* _tmp0_ = NULL; + GDestroyNotify _tmp1_ = NULL; + GeeHashDataFunc _tmp2_ = NULL; + void* _tmp3_ = NULL; + GDestroyNotify _tmp4_ = NULL; + GeeEqualDataFunc _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = PIXEL_TRANSFORMATION_BUNDLE_GET_PRIVATE (self); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gee_functions_get_hash_func_for (G_TYPE_INT, &_tmp0_, &_tmp1_); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = gee_functions_get_equal_func_for (G_TYPE_INT, &_tmp3_, &_tmp4_); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, TYPE_PIXEL_TRANSFORMATION, (GBoxedCopyFunc) pixel_transformation_ref, pixel_transformation_unref, _tmp2_, _tmp0_, _tmp1_, _tmp5_, _tmp3_, _tmp4_, NULL, NULL, NULL); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->map = _tmp6_; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 2818 "ColorTransformation.c" +} + + +static void pixel_transformation_bundle_finalize (PixelTransformationBundle* obj) { + PixelTransformationBundle * self; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->map); +#line 2830 "ColorTransformation.c" +} + + +GType pixel_transformation_bundle_get_type (void) { + static volatile gsize pixel_transformation_bundle_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformation_bundle_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_pixel_transformation_bundle_init, value_pixel_transformation_bundle_free_value, value_pixel_transformation_bundle_copy_value, value_pixel_transformation_bundle_peek_pointer, "p", value_pixel_transformation_bundle_collect_value, "p", value_pixel_transformation_bundle_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PixelTransformationBundleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformation_bundle_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformationBundle), 0, (GInstanceInitFunc) pixel_transformation_bundle_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType pixel_transformation_bundle_type_id; + pixel_transformation_bundle_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformationBundle", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&pixel_transformation_bundle_type_id__volatile, pixel_transformation_bundle_type_id); + } + return pixel_transformation_bundle_type_id__volatile; +} + + +gpointer pixel_transformation_bundle_ref (gpointer instance) { + PixelTransformationBundle* self; + self = instance; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 2855 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_unref (gpointer instance) { + PixelTransformationBundle* self; + self = instance; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS (self)->finalize (self); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2868 "ColorTransformation.c" + } +} + + +PixelTransformation* pixel_transformation_construct (GType object_type, PixelTransformationType type) { + PixelTransformation* self = NULL; + PixelTransformationType _tmp0_ = 0; +#line 365 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (PixelTransformation*) g_type_create_instance (object_type); +#line 366 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = type; +#line 366 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->type = _tmp0_; +#line 365 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 2884 "ColorTransformation.c" +} + + +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self) { + PixelTransformationType result = 0; + PixelTransformationType _tmp0_ = 0; +#line 369 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0); +#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->type; +#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2899 "ColorTransformation.c" +} + + +static PixelFormat pixel_transformation_real_get_preferred_format (PixelTransformation* self) { +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_critical ("Type `%s' does not implement abstract method `pixel_transformation_get_preferred_format'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return 0; +#line 2908 "ColorTransformation.c" +} + + +PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self) { +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0); +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->get_preferred_format (self); +#line 2917 "ColorTransformation.c" +} + + +static CompositionMode pixel_transformation_real_get_composition_mode (PixelTransformation* self) { + CompositionMode result = 0; +#line 376 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = COMPOSITION_MODE_NONE; +#line 376 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2927 "ColorTransformation.c" +} + + +CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self) { +#line 375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0); +#line 375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->get_composition_mode (self); +#line 2936 "ColorTransformation.c" +} + + +static void pixel_transformation_real_compose_with (PixelTransformation* self, PixelTransformation* other) { +#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (other)); +#line 380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:380: %s", "PixelTransformation: compose_with( ): this type of pixel " "transformation doesn't support composition."); +#line 2945 "ColorTransformation.c" +} + + +void pixel_transformation_compose_with (PixelTransformation* self, PixelTransformation* other) { +#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (self)); +#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->compose_with (self, other); +#line 2954 "ColorTransformation.c" +} + + +static gboolean pixel_transformation_real_is_identity (PixelTransformation* self) { + gboolean result = FALSE; +#line 385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = TRUE; +#line 385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2964 "ColorTransformation.c" +} + + +gboolean pixel_transformation_is_identity (PixelTransformation* self) { +#line 384 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), FALSE); +#line 384 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->is_identity (self); +#line 2973 "ColorTransformation.c" +} + + +static void pixel_transformation_real_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result) { + HSVAnalyticPixel _tmp0_ = {0}; +#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp0_; +#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 2987 "ColorTransformation.c" +} + + +void pixel_transformation_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result) { +#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (self)); +#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->transform_pixel_hsv (self, p, result); +#line 2996 "ColorTransformation.c" +} + + +static void pixel_transformation_real_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + RGBAnalyticPixel _tmp0_ = {0}; +#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp0_; +#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 3010 "ColorTransformation.c" +} + + +void pixel_transformation_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { +#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (self)); +#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->transform_pixel_rgb (self, p, result); +#line 3019 "ColorTransformation.c" +} + + +static gchar* pixel_transformation_real_to_string (PixelTransformation* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_strdup ("PixelTransformation"); +#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 3032 "ColorTransformation.c" +} + + +gchar* pixel_transformation_to_string (PixelTransformation* self) { +#line 396 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), NULL); +#line 396 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->to_string (self); +#line 3041 "ColorTransformation.c" +} + + +static PixelTransformation* pixel_transformation_real_copy (PixelTransformation* self) { +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_critical ("Type `%s' does not implement abstract method `pixel_transformation_copy'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 3050 "ColorTransformation.c" +} + + +PixelTransformation* pixel_transformation_copy (PixelTransformation* self) { +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), NULL); +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->copy (self); +#line 3059 "ColorTransformation.c" +} + + +static void value_pixel_transformation_init (GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3066 "ColorTransformation.c" +} + + +static void value_pixel_transformation_free_value (GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_unref (value->data[0].v_pointer); +#line 3075 "ColorTransformation.c" + } +} + + +static void value_pixel_transformation_copy_value (const GValue* src_value, GValue* dest_value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = pixel_transformation_ref (src_value->data[0].v_pointer); +#line 3085 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 3089 "ColorTransformation.c" + } +} + + +static gpointer value_pixel_transformation_peek_pointer (const GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 3097 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 3104 "ColorTransformation.c" + PixelTransformation* object; + object = collect_values[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3111 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3115 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = pixel_transformation_ref (object); +#line 3119 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3123 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 3127 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PixelTransformation** object_p; + object_p = collect_values[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3138 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 3144 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 3148 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = pixel_transformation_ref (value->data[0].v_pointer); +#line 3152 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 3156 "ColorTransformation.c" +} + + +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPixelTransformation* spec; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMATION), NULL); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 3170 "ColorTransformation.c" +} + + +gpointer value_get_pixel_transformation (const GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION), NULL); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 3179 "ColorTransformation.c" +} + + +void value_set_pixel_transformation (GValue* value, gpointer v_object) { + PixelTransformation* old; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_ref (value->data[0].v_pointer); +#line 3199 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3203 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_unref (old); +#line 3209 "ColorTransformation.c" + } +} + + +void value_take_pixel_transformation (GValue* value, gpointer v_object) { + PixelTransformation* old; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 3228 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3232 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_unref (old); +#line 3238 "ColorTransformation.c" + } +} + + +static void pixel_transformation_class_init (PixelTransformationClass * klass) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_parent_class = g_type_class_peek_parent (klass); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = pixel_transformation_finalize; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (PixelTransformationPrivate)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_preferred_format = pixel_transformation_real_get_preferred_format; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_composition_mode = pixel_transformation_real_get_composition_mode; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->compose_with = pixel_transformation_real_compose_with; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = pixel_transformation_real_is_identity; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = pixel_transformation_real_transform_pixel_hsv; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_rgb = pixel_transformation_real_transform_pixel_rgb; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->to_string = pixel_transformation_real_to_string; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = pixel_transformation_real_copy; +#line 3266 "ColorTransformation.c" +} + + +static void pixel_transformation_instance_init (PixelTransformation * self) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = PIXEL_TRANSFORMATION_GET_PRIVATE (self); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 3275 "ColorTransformation.c" +} + + +static void pixel_transformation_finalize (PixelTransformation* obj) { + PixelTransformation * self; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 3285 "ColorTransformation.c" +} + + +GType pixel_transformation_get_type (void) { + static volatile gsize pixel_transformation_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformation_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_pixel_transformation_init, value_pixel_transformation_free_value, value_pixel_transformation_copy_value, value_pixel_transformation_peek_pointer, "p", value_pixel_transformation_collect_value, "p", value_pixel_transformation_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PixelTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformation), 0, (GInstanceInitFunc) pixel_transformation_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType pixel_transformation_type_id; + pixel_transformation_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformation", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&pixel_transformation_type_id__volatile, pixel_transformation_type_id); + } + return pixel_transformation_type_id__volatile; +} + + +gpointer pixel_transformation_ref (gpointer instance) { + PixelTransformation* self; + self = instance; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 3310 "ColorTransformation.c" +} + + +void pixel_transformation_unref (gpointer instance) { + PixelTransformation* self; + self = instance; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->finalize (self); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3323 "ColorTransformation.c" + } +} + + +RGBTransformation* rgb_transformation_construct (GType object_type, PixelTransformationType type) { + RGBTransformation* self = NULL; + PixelTransformationType _tmp0_ = 0; + gfloat* _tmp1_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = type; +#line 413 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (RGBTransformation*) pixel_transformation_construct (object_type, _tmp0_); +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gfloat, 16); +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[0] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[1] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[2] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[3] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[4] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[5] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[6] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[7] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[8] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[9] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[10] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[11] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[12] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[13] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[14] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[15] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries = (g_free (self->matrix_entries), NULL); +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries = _tmp1_; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries_length1 = 16; +#line 412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 3378 "ColorTransformation.c" +} + + +RGBTransformation* rgb_transformation_new (PixelTransformationType type) { +#line 412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return rgb_transformation_construct (TYPE_RGB_TRANSFORMATION, type); +#line 3385 "ColorTransformation.c" +} + + +static PixelFormat rgb_transformation_real_get_preferred_format (PixelTransformation* base) { + RGBTransformation * self; + PixelFormat result = 0; +#line 426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 427 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = PIXEL_FORMAT_RGB; +#line 427 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 3398 "ColorTransformation.c" +} + + +static CompositionMode rgb_transformation_real_get_composition_mode (PixelTransformation* base) { + RGBTransformation * self; + CompositionMode result = 0; +#line 430 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = COMPOSITION_MODE_RGB_MATRIX; +#line 431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 3411 "ColorTransformation.c" +} + + +static gpointer _pixel_transformation_ref0 (gpointer self) { +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self ? pixel_transformation_ref (self) : NULL; +#line 3418 "ColorTransformation.c" +} + + +static void rgb_transformation_real_compose_with (PixelTransformation* base, PixelTransformation* other) { + RGBTransformation * self; + PixelTransformation* _tmp0_ = NULL; + CompositionMode _tmp1_ = 0; + RGBTransformation* transform = NULL; + PixelTransformation* _tmp2_ = NULL; + RGBTransformation* _tmp3_ = NULL; + gfloat* result_matrix_entries = NULL; + gfloat* _tmp4_ = NULL; + gint result_matrix_entries_length1 = 0; + gint _result_matrix_entries_size_ = 0; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + RGBTransformation* _tmp6_ = NULL; + gfloat* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gfloat _tmp8_ = 0.0F; + gfloat* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gfloat _tmp10_ = 0.0F; + RGBTransformation* _tmp11_ = NULL; + gfloat* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gfloat _tmp13_ = 0.0F; + gfloat* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gfloat _tmp15_ = 0.0F; + RGBTransformation* _tmp16_ = NULL; + gfloat* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gfloat _tmp18_ = 0.0F; + gfloat* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gfloat _tmp20_ = 0.0F; + RGBTransformation* _tmp21_ = NULL; + gfloat* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gfloat _tmp23_ = 0.0F; + gfloat* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gfloat _tmp25_ = 0.0F; + gfloat _tmp26_ = 0.0F; + gfloat* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + RGBTransformation* _tmp28_ = NULL; + gfloat* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gfloat _tmp30_ = 0.0F; + gfloat* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gfloat _tmp32_ = 0.0F; + RGBTransformation* _tmp33_ = NULL; + gfloat* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gfloat _tmp35_ = 0.0F; + gfloat* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gfloat _tmp37_ = 0.0F; + RGBTransformation* _tmp38_ = NULL; + gfloat* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gfloat _tmp40_ = 0.0F; + gfloat* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gfloat _tmp42_ = 0.0F; + RGBTransformation* _tmp43_ = NULL; + gfloat* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gfloat _tmp45_ = 0.0F; + gfloat* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; + gfloat* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + RGBTransformation* _tmp50_ = NULL; + gfloat* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + gfloat _tmp52_ = 0.0F; + gfloat* _tmp53_ = NULL; + gint _tmp53__length1 = 0; + gfloat _tmp54_ = 0.0F; + RGBTransformation* _tmp55_ = NULL; + gfloat* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gfloat _tmp57_ = 0.0F; + gfloat* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gfloat _tmp59_ = 0.0F; + RGBTransformation* _tmp60_ = NULL; + gfloat* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + gfloat _tmp62_ = 0.0F; + gfloat* _tmp63_ = NULL; + gint _tmp63__length1 = 0; + gfloat _tmp64_ = 0.0F; + RGBTransformation* _tmp65_ = NULL; + gfloat* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gfloat _tmp67_ = 0.0F; + gfloat* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gfloat _tmp69_ = 0.0F; + gfloat _tmp70_ = 0.0F; + gfloat* _tmp71_ = NULL; + gint _tmp71__length1 = 0; + RGBTransformation* _tmp72_ = NULL; + gfloat* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + gfloat _tmp74_ = 0.0F; + gfloat* _tmp75_ = NULL; + gint _tmp75__length1 = 0; + gfloat _tmp76_ = 0.0F; + RGBTransformation* _tmp77_ = NULL; + gfloat* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gfloat _tmp79_ = 0.0F; + gfloat* _tmp80_ = NULL; + gint _tmp80__length1 = 0; + gfloat _tmp81_ = 0.0F; + RGBTransformation* _tmp82_ = NULL; + gfloat* _tmp83_ = NULL; + gint _tmp83__length1 = 0; + gfloat _tmp84_ = 0.0F; + gfloat* _tmp85_ = NULL; + gint _tmp85__length1 = 0; + gfloat _tmp86_ = 0.0F; + RGBTransformation* _tmp87_ = NULL; + gfloat* _tmp88_ = NULL; + gint _tmp88__length1 = 0; + gfloat _tmp89_ = 0.0F; + gfloat* _tmp90_ = NULL; + gint _tmp90__length1 = 0; + gfloat _tmp91_ = 0.0F; + gfloat _tmp92_ = 0.0F; + gfloat* _tmp93_ = NULL; + gint _tmp93__length1 = 0; + RGBTransformation* _tmp94_ = NULL; + gfloat* _tmp95_ = NULL; + gint _tmp95__length1 = 0; + gfloat _tmp96_ = 0.0F; + gfloat* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gfloat _tmp98_ = 0.0F; + RGBTransformation* _tmp99_ = NULL; + gfloat* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gfloat _tmp101_ = 0.0F; + gfloat* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + gfloat _tmp103_ = 0.0F; + RGBTransformation* _tmp104_ = NULL; + gfloat* _tmp105_ = NULL; + gint _tmp105__length1 = 0; + gfloat _tmp106_ = 0.0F; + gfloat* _tmp107_ = NULL; + gint _tmp107__length1 = 0; + gfloat _tmp108_ = 0.0F; + RGBTransformation* _tmp109_ = NULL; + gfloat* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gfloat _tmp111_ = 0.0F; + gfloat* _tmp112_ = NULL; + gint _tmp112__length1 = 0; + gfloat _tmp113_ = 0.0F; + gfloat _tmp114_ = 0.0F; + gfloat* _tmp115_ = NULL; + gint _tmp115__length1 = 0; + RGBTransformation* _tmp116_ = NULL; + gfloat* _tmp117_ = NULL; + gint _tmp117__length1 = 0; + gfloat _tmp118_ = 0.0F; + gfloat* _tmp119_ = NULL; + gint _tmp119__length1 = 0; + gfloat _tmp120_ = 0.0F; + RGBTransformation* _tmp121_ = NULL; + gfloat* _tmp122_ = NULL; + gint _tmp122__length1 = 0; + gfloat _tmp123_ = 0.0F; + gfloat* _tmp124_ = NULL; + gint _tmp124__length1 = 0; + gfloat _tmp125_ = 0.0F; + RGBTransformation* _tmp126_ = NULL; + gfloat* _tmp127_ = NULL; + gint _tmp127__length1 = 0; + gfloat _tmp128_ = 0.0F; + gfloat* _tmp129_ = NULL; + gint _tmp129__length1 = 0; + gfloat _tmp130_ = 0.0F; + RGBTransformation* _tmp131_ = NULL; + gfloat* _tmp132_ = NULL; + gint _tmp132__length1 = 0; + gfloat _tmp133_ = 0.0F; + gfloat* _tmp134_ = NULL; + gint _tmp134__length1 = 0; + gfloat _tmp135_ = 0.0F; + gfloat _tmp136_ = 0.0F; + gfloat* _tmp137_ = NULL; + gint _tmp137__length1 = 0; + RGBTransformation* _tmp138_ = NULL; + gfloat* _tmp139_ = NULL; + gint _tmp139__length1 = 0; + gfloat _tmp140_ = 0.0F; + gfloat* _tmp141_ = NULL; + gint _tmp141__length1 = 0; + gfloat _tmp142_ = 0.0F; + RGBTransformation* _tmp143_ = NULL; + gfloat* _tmp144_ = NULL; + gint _tmp144__length1 = 0; + gfloat _tmp145_ = 0.0F; + gfloat* _tmp146_ = NULL; + gint _tmp146__length1 = 0; + gfloat _tmp147_ = 0.0F; + RGBTransformation* _tmp148_ = NULL; + gfloat* _tmp149_ = NULL; + gint _tmp149__length1 = 0; + gfloat _tmp150_ = 0.0F; + gfloat* _tmp151_ = NULL; + gint _tmp151__length1 = 0; + gfloat _tmp152_ = 0.0F; + RGBTransformation* _tmp153_ = NULL; + gfloat* _tmp154_ = NULL; + gint _tmp154__length1 = 0; + gfloat _tmp155_ = 0.0F; + gfloat* _tmp156_ = NULL; + gint _tmp156__length1 = 0; + gfloat _tmp157_ = 0.0F; + gfloat _tmp158_ = 0.0F; + gfloat* _tmp159_ = NULL; + gint _tmp159__length1 = 0; + RGBTransformation* _tmp160_ = NULL; + gfloat* _tmp161_ = NULL; + gint _tmp161__length1 = 0; + gfloat _tmp162_ = 0.0F; + gfloat* _tmp163_ = NULL; + gint _tmp163__length1 = 0; + gfloat _tmp164_ = 0.0F; + RGBTransformation* _tmp165_ = NULL; + gfloat* _tmp166_ = NULL; + gint _tmp166__length1 = 0; + gfloat _tmp167_ = 0.0F; + gfloat* _tmp168_ = NULL; + gint _tmp168__length1 = 0; + gfloat _tmp169_ = 0.0F; + RGBTransformation* _tmp170_ = NULL; + gfloat* _tmp171_ = NULL; + gint _tmp171__length1 = 0; + gfloat _tmp172_ = 0.0F; + gfloat* _tmp173_ = NULL; + gint _tmp173__length1 = 0; + gfloat _tmp174_ = 0.0F; + RGBTransformation* _tmp175_ = NULL; + gfloat* _tmp176_ = NULL; + gint _tmp176__length1 = 0; + gfloat _tmp177_ = 0.0F; + gfloat* _tmp178_ = NULL; + gint _tmp178__length1 = 0; + gfloat _tmp179_ = 0.0F; + gfloat _tmp180_ = 0.0F; + gfloat* _tmp181_ = NULL; + gint _tmp181__length1 = 0; + RGBTransformation* _tmp182_ = NULL; + gfloat* _tmp183_ = NULL; + gint _tmp183__length1 = 0; + gfloat _tmp184_ = 0.0F; + gfloat* _tmp185_ = NULL; + gint _tmp185__length1 = 0; + gfloat _tmp186_ = 0.0F; + RGBTransformation* _tmp187_ = NULL; + gfloat* _tmp188_ = NULL; + gint _tmp188__length1 = 0; + gfloat _tmp189_ = 0.0F; + gfloat* _tmp190_ = NULL; + gint _tmp190__length1 = 0; + gfloat _tmp191_ = 0.0F; + RGBTransformation* _tmp192_ = NULL; + gfloat* _tmp193_ = NULL; + gint _tmp193__length1 = 0; + gfloat _tmp194_ = 0.0F; + gfloat* _tmp195_ = NULL; + gint _tmp195__length1 = 0; + gfloat _tmp196_ = 0.0F; + RGBTransformation* _tmp197_ = NULL; + gfloat* _tmp198_ = NULL; + gint _tmp198__length1 = 0; + gfloat _tmp199_ = 0.0F; + gfloat* _tmp200_ = NULL; + gint _tmp200__length1 = 0; + gfloat _tmp201_ = 0.0F; + gfloat _tmp202_ = 0.0F; + gfloat* _tmp203_ = NULL; + gint _tmp203__length1 = 0; + RGBTransformation* _tmp204_ = NULL; + gfloat* _tmp205_ = NULL; + gint _tmp205__length1 = 0; + gfloat _tmp206_ = 0.0F; + gfloat* _tmp207_ = NULL; + gint _tmp207__length1 = 0; + gfloat _tmp208_ = 0.0F; + RGBTransformation* _tmp209_ = NULL; + gfloat* _tmp210_ = NULL; + gint _tmp210__length1 = 0; + gfloat _tmp211_ = 0.0F; + gfloat* _tmp212_ = NULL; + gint _tmp212__length1 = 0; + gfloat _tmp213_ = 0.0F; + RGBTransformation* _tmp214_ = NULL; + gfloat* _tmp215_ = NULL; + gint _tmp215__length1 = 0; + gfloat _tmp216_ = 0.0F; + gfloat* _tmp217_ = NULL; + gint _tmp217__length1 = 0; + gfloat _tmp218_ = 0.0F; + RGBTransformation* _tmp219_ = NULL; + gfloat* _tmp220_ = NULL; + gint _tmp220__length1 = 0; + gfloat _tmp221_ = 0.0F; + gfloat* _tmp222_ = NULL; + gint _tmp222__length1 = 0; + gfloat _tmp223_ = 0.0F; + gfloat _tmp224_ = 0.0F; + gfloat* _tmp225_ = NULL; + gint _tmp225__length1 = 0; + RGBTransformation* _tmp226_ = NULL; + gfloat* _tmp227_ = NULL; + gint _tmp227__length1 = 0; + gfloat _tmp228_ = 0.0F; + gfloat* _tmp229_ = NULL; + gint _tmp229__length1 = 0; + gfloat _tmp230_ = 0.0F; + RGBTransformation* _tmp231_ = NULL; + gfloat* _tmp232_ = NULL; + gint _tmp232__length1 = 0; + gfloat _tmp233_ = 0.0F; + gfloat* _tmp234_ = NULL; + gint _tmp234__length1 = 0; + gfloat _tmp235_ = 0.0F; + RGBTransformation* _tmp236_ = NULL; + gfloat* _tmp237_ = NULL; + gint _tmp237__length1 = 0; + gfloat _tmp238_ = 0.0F; + gfloat* _tmp239_ = NULL; + gint _tmp239__length1 = 0; + gfloat _tmp240_ = 0.0F; + RGBTransformation* _tmp241_ = NULL; + gfloat* _tmp242_ = NULL; + gint _tmp242__length1 = 0; + gfloat _tmp243_ = 0.0F; + gfloat* _tmp244_ = NULL; + gint _tmp244__length1 = 0; + gfloat _tmp245_ = 0.0F; + gfloat _tmp246_ = 0.0F; + gfloat* _tmp247_ = NULL; + gint _tmp247__length1 = 0; + RGBTransformation* _tmp248_ = NULL; + gfloat* _tmp249_ = NULL; + gint _tmp249__length1 = 0; + gfloat _tmp250_ = 0.0F; + gfloat* _tmp251_ = NULL; + gint _tmp251__length1 = 0; + gfloat _tmp252_ = 0.0F; + RGBTransformation* _tmp253_ = NULL; + gfloat* _tmp254_ = NULL; + gint _tmp254__length1 = 0; + gfloat _tmp255_ = 0.0F; + gfloat* _tmp256_ = NULL; + gint _tmp256__length1 = 0; + gfloat _tmp257_ = 0.0F; + RGBTransformation* _tmp258_ = NULL; + gfloat* _tmp259_ = NULL; + gint _tmp259__length1 = 0; + gfloat _tmp260_ = 0.0F; + gfloat* _tmp261_ = NULL; + gint _tmp261__length1 = 0; + gfloat _tmp262_ = 0.0F; + RGBTransformation* _tmp263_ = NULL; + gfloat* _tmp264_ = NULL; + gint _tmp264__length1 = 0; + gfloat _tmp265_ = 0.0F; + gfloat* _tmp266_ = NULL; + gint _tmp266__length1 = 0; + gfloat _tmp267_ = 0.0F; + gfloat _tmp268_ = 0.0F; + gfloat* _tmp269_ = NULL; + gint _tmp269__length1 = 0; + RGBTransformation* _tmp270_ = NULL; + gfloat* _tmp271_ = NULL; + gint _tmp271__length1 = 0; + gfloat _tmp272_ = 0.0F; + gfloat* _tmp273_ = NULL; + gint _tmp273__length1 = 0; + gfloat _tmp274_ = 0.0F; + RGBTransformation* _tmp275_ = NULL; + gfloat* _tmp276_ = NULL; + gint _tmp276__length1 = 0; + gfloat _tmp277_ = 0.0F; + gfloat* _tmp278_ = NULL; + gint _tmp278__length1 = 0; + gfloat _tmp279_ = 0.0F; + RGBTransformation* _tmp280_ = NULL; + gfloat* _tmp281_ = NULL; + gint _tmp281__length1 = 0; + gfloat _tmp282_ = 0.0F; + gfloat* _tmp283_ = NULL; + gint _tmp283__length1 = 0; + gfloat _tmp284_ = 0.0F; + RGBTransformation* _tmp285_ = NULL; + gfloat* _tmp286_ = NULL; + gint _tmp286__length1 = 0; + gfloat _tmp287_ = 0.0F; + gfloat* _tmp288_ = NULL; + gint _tmp288__length1 = 0; + gfloat _tmp289_ = 0.0F; + gfloat _tmp290_ = 0.0F; + gfloat* _tmp291_ = NULL; + gint _tmp291__length1 = 0; + RGBTransformation* _tmp292_ = NULL; + gfloat* _tmp293_ = NULL; + gint _tmp293__length1 = 0; + gfloat _tmp294_ = 0.0F; + gfloat* _tmp295_ = NULL; + gint _tmp295__length1 = 0; + gfloat _tmp296_ = 0.0F; + RGBTransformation* _tmp297_ = NULL; + gfloat* _tmp298_ = NULL; + gint _tmp298__length1 = 0; + gfloat _tmp299_ = 0.0F; + gfloat* _tmp300_ = NULL; + gint _tmp300__length1 = 0; + gfloat _tmp301_ = 0.0F; + RGBTransformation* _tmp302_ = NULL; + gfloat* _tmp303_ = NULL; + gint _tmp303__length1 = 0; + gfloat _tmp304_ = 0.0F; + gfloat* _tmp305_ = NULL; + gint _tmp305__length1 = 0; + gfloat _tmp306_ = 0.0F; + RGBTransformation* _tmp307_ = NULL; + gfloat* _tmp308_ = NULL; + gint _tmp308__length1 = 0; + gfloat _tmp309_ = 0.0F; + gfloat* _tmp310_ = NULL; + gint _tmp310__length1 = 0; + gfloat _tmp311_ = 0.0F; + gfloat _tmp312_ = 0.0F; + gfloat* _tmp313_ = NULL; + gint _tmp313__length1 = 0; + RGBTransformation* _tmp314_ = NULL; + gfloat* _tmp315_ = NULL; + gint _tmp315__length1 = 0; + gfloat _tmp316_ = 0.0F; + gfloat* _tmp317_ = NULL; + gint _tmp317__length1 = 0; + gfloat _tmp318_ = 0.0F; + RGBTransformation* _tmp319_ = NULL; + gfloat* _tmp320_ = NULL; + gint _tmp320__length1 = 0; + gfloat _tmp321_ = 0.0F; + gfloat* _tmp322_ = NULL; + gint _tmp322__length1 = 0; + gfloat _tmp323_ = 0.0F; + RGBTransformation* _tmp324_ = NULL; + gfloat* _tmp325_ = NULL; + gint _tmp325__length1 = 0; + gfloat _tmp326_ = 0.0F; + gfloat* _tmp327_ = NULL; + gint _tmp327__length1 = 0; + gfloat _tmp328_ = 0.0F; + RGBTransformation* _tmp329_ = NULL; + gfloat* _tmp330_ = NULL; + gint _tmp330__length1 = 0; + gfloat _tmp331_ = 0.0F; + gfloat* _tmp332_ = NULL; + gint _tmp332__length1 = 0; + gfloat _tmp333_ = 0.0F; + gfloat _tmp334_ = 0.0F; + gfloat* _tmp335_ = NULL; + gint _tmp335__length1 = 0; + RGBTransformation* _tmp336_ = NULL; + gfloat* _tmp337_ = NULL; + gint _tmp337__length1 = 0; + gfloat _tmp338_ = 0.0F; + gfloat* _tmp339_ = NULL; + gint _tmp339__length1 = 0; + gfloat _tmp340_ = 0.0F; + RGBTransformation* _tmp341_ = NULL; + gfloat* _tmp342_ = NULL; + gint _tmp342__length1 = 0; + gfloat _tmp343_ = 0.0F; + gfloat* _tmp344_ = NULL; + gint _tmp344__length1 = 0; + gfloat _tmp345_ = 0.0F; + RGBTransformation* _tmp346_ = NULL; + gfloat* _tmp347_ = NULL; + gint _tmp347__length1 = 0; + gfloat _tmp348_ = 0.0F; + gfloat* _tmp349_ = NULL; + gint _tmp349__length1 = 0; + gfloat _tmp350_ = 0.0F; + RGBTransformation* _tmp351_ = NULL; + gfloat* _tmp352_ = NULL; + gint _tmp352__length1 = 0; + gfloat _tmp353_ = 0.0F; + gfloat* _tmp354_ = NULL; + gint _tmp354__length1 = 0; + gfloat _tmp355_ = 0.0F; + gfloat _tmp356_ = 0.0F; + gboolean _tmp366_ = FALSE; + gboolean _tmp367_ = FALSE; +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (other)); +#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = other; +#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixel_transformation_get_composition_mode (_tmp0_); +#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_ != COMPOSITION_MODE_RGB_MATRIX) { +#line 436 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:436: %s", "RGBTransformation: compose_with( ): 'other' transformation " "does not support RGB_MATRIX composition mode"); +#line 3943 "ColorTransformation.c" + } +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = other; +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _pixel_transformation_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_RGB_TRANSFORMATION, RGBTransformation)); +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transform = _tmp3_; +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = g_new0 (gfloat, 16); +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result_matrix_entries = _tmp4_; +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result_matrix_entries_length1 = 16; +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_matrix_entries_size_ = result_matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = result_matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = result_matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7__length1 = _tmp6_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp7_[0]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp9_[0]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = _tmp11_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = _tmp11_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_[1]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp14_[4]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17__length1 = _tmp16_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _tmp17_[2]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp19_[8]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = _tmp21_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = _tmp21_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_[3]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp24_[12]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[0] = (((_tmp8_ * _tmp10_) + (_tmp13_ * _tmp15_)) + (_tmp18_ * _tmp20_)) + (_tmp23_ * _tmp25_); +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp5_[0]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = result_matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = result_matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = _tmp28_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = _tmp29_[0]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = _tmp31_[1]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp33_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34__length1 = _tmp33_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp34_[1]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_[5]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39__length1 = _tmp38_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = _tmp39_[2]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp41_[9]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp43_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44__length1 = _tmp43_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_[3]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_[13]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_[1] = (((_tmp30_ * _tmp32_) + (_tmp35_ * _tmp37_)) + (_tmp40_ * _tmp42_)) + (_tmp45_ * _tmp47_); +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = _tmp27_[1]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = result_matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49__length1 = result_matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51__length1 = _tmp50_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp51_[0]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp53_[2]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = _tmp55_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = _tmp55_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = _tmp56_[1]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = _tmp58_[6]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp60_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61__length1 = _tmp60_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = _tmp61_[2]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = _tmp63_[10]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = _tmp65_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66__length1 = _tmp65_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = _tmp66_[3]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = _tmp68_[14]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_[2] = (((_tmp52_ * _tmp54_) + (_tmp57_ * _tmp59_)) + (_tmp62_ * _tmp64_)) + (_tmp67_ * _tmp69_); +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = _tmp49_[2]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = result_matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71__length1 = result_matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = _tmp72_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73__length1 = _tmp72_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = _tmp73_[0]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = _tmp75_[3]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = _tmp77_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78__length1 = _tmp77_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = _tmp78_[1]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = _tmp80_[7]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp82_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83__length1 = _tmp82_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = _tmp83_[2]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = _tmp85_[11]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = _tmp87_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88__length1 = _tmp87_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = _tmp88_[3]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = _tmp90_[15]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_[3] = (((_tmp74_ * _tmp76_) + (_tmp79_ * _tmp81_)) + (_tmp84_ * _tmp86_)) + (_tmp89_ * _tmp91_); +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = _tmp71_[3]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = result_matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93__length1 = result_matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = _tmp94_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95__length1 = _tmp94_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = _tmp95_[4]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = _tmp97_[0]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = _tmp99_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100__length1 = _tmp99_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = _tmp100_[5]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = _tmp102_[4]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = _tmp104_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105__length1 = _tmp104_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = _tmp105_[6]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = _tmp107_[8]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp109_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_ = _tmp109_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110__length1 = _tmp109_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp111_ = _tmp110_[7]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_ = _tmp112_[12]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_[4] = (((_tmp96_ * _tmp98_) + (_tmp101_ * _tmp103_)) + (_tmp106_ * _tmp108_)) + (_tmp111_ * _tmp113_); +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp114_ = _tmp93_[4]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_ = result_matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115__length1 = result_matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp117_ = _tmp116_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp117__length1 = _tmp116_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp118_ = _tmp117_[4]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp119_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp119__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp120_ = _tmp119_[1]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp121_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp122_ = _tmp121_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp122__length1 = _tmp121_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp123_ = _tmp122_[5]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp124_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp124__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp125_ = _tmp124_[5]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp126_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp127_ = _tmp126_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp127__length1 = _tmp126_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp128_ = _tmp127_[6]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp129_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp129__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp130_ = _tmp129_[9]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp131_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp132_ = _tmp131_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp132__length1 = _tmp131_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp133_ = _tmp132_[7]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp134_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp134__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp135_ = _tmp134_[13]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_[5] = (((_tmp118_ * _tmp120_) + (_tmp123_ * _tmp125_)) + (_tmp128_ * _tmp130_)) + (_tmp133_ * _tmp135_); +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp136_ = _tmp115_[5]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp137_ = result_matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp137__length1 = result_matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp138_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp139_ = _tmp138_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp139__length1 = _tmp138_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp140_ = _tmp139_[4]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp141_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp141__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp142_ = _tmp141_[2]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp143_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp144_ = _tmp143_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp144__length1 = _tmp143_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp145_ = _tmp144_[5]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp146_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp146__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp147_ = _tmp146_[6]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp148_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp149_ = _tmp148_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp149__length1 = _tmp148_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp150_ = _tmp149_[6]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp151_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp151__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp152_ = _tmp151_[10]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp153_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp154_ = _tmp153_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp154__length1 = _tmp153_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp155_ = _tmp154_[7]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp156_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp156__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp157_ = _tmp156_[14]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp137_[6] = (((_tmp140_ * _tmp142_) + (_tmp145_ * _tmp147_)) + (_tmp150_ * _tmp152_)) + (_tmp155_ * _tmp157_); +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp158_ = _tmp137_[6]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp159_ = result_matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp159__length1 = result_matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp160_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp161_ = _tmp160_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp161__length1 = _tmp160_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp162_ = _tmp161_[4]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp163_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp163__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp164_ = _tmp163_[3]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp165_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp166_ = _tmp165_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp166__length1 = _tmp165_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp167_ = _tmp166_[5]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp168_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp168__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp169_ = _tmp168_[7]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp170_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp171_ = _tmp170_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp171__length1 = _tmp170_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp172_ = _tmp171_[6]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp173_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp173__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp174_ = _tmp173_[11]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp175_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp176_ = _tmp175_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp176__length1 = _tmp175_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp177_ = _tmp176_[7]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp178_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp178__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp179_ = _tmp178_[15]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp159_[7] = (((_tmp162_ * _tmp164_) + (_tmp167_ * _tmp169_)) + (_tmp172_ * _tmp174_)) + (_tmp177_ * _tmp179_); +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp180_ = _tmp159_[7]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp181_ = result_matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp181__length1 = result_matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp182_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp183_ = _tmp182_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp183__length1 = _tmp182_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp184_ = _tmp183_[8]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp185_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp185__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp186_ = _tmp185_[0]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp187_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp188_ = _tmp187_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp188__length1 = _tmp187_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp189_ = _tmp188_[9]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp190_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp190__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp191_ = _tmp190_[4]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp192_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp193_ = _tmp192_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp193__length1 = _tmp192_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp194_ = _tmp193_[10]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp195_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp195__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp196_ = _tmp195_[8]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp197_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp198_ = _tmp197_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp198__length1 = _tmp197_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp199_ = _tmp198_[11]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp200_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp200__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp201_ = _tmp200_[12]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp181_[8] = (((_tmp184_ * _tmp186_) + (_tmp189_ * _tmp191_)) + (_tmp194_ * _tmp196_)) + (_tmp199_ * _tmp201_); +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp202_ = _tmp181_[8]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp203_ = result_matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp203__length1 = result_matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp204_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp205_ = _tmp204_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp205__length1 = _tmp204_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp206_ = _tmp205_[8]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp207_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp207__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp208_ = _tmp207_[1]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp209_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp210_ = _tmp209_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp210__length1 = _tmp209_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp211_ = _tmp210_[9]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp212_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp212__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp213_ = _tmp212_[5]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp214_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp215_ = _tmp214_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp215__length1 = _tmp214_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp216_ = _tmp215_[10]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp217_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp217__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp218_ = _tmp217_[9]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp219_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp220_ = _tmp219_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp220__length1 = _tmp219_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp221_ = _tmp220_[11]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp222_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp222__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp223_ = _tmp222_[13]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp203_[9] = (((_tmp206_ * _tmp208_) + (_tmp211_ * _tmp213_)) + (_tmp216_ * _tmp218_)) + (_tmp221_ * _tmp223_); +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp224_ = _tmp203_[9]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp225_ = result_matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp225__length1 = result_matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp226_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp227_ = _tmp226_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp227__length1 = _tmp226_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp228_ = _tmp227_[8]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp229_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp229__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp230_ = _tmp229_[2]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp231_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp232_ = _tmp231_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp232__length1 = _tmp231_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp233_ = _tmp232_[9]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp234_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp234__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp235_ = _tmp234_[6]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp236_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp237_ = _tmp236_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp237__length1 = _tmp236_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp238_ = _tmp237_[10]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp239_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp239__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp240_ = _tmp239_[10]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp241_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp242_ = _tmp241_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp242__length1 = _tmp241_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp243_ = _tmp242_[11]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp244_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp244__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp245_ = _tmp244_[14]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp225_[10] = (((_tmp228_ * _tmp230_) + (_tmp233_ * _tmp235_)) + (_tmp238_ * _tmp240_)) + (_tmp243_ * _tmp245_); +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp246_ = _tmp225_[10]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp247_ = result_matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp247__length1 = result_matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp248_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp249_ = _tmp248_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp249__length1 = _tmp248_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp250_ = _tmp249_[8]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp251_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp251__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp252_ = _tmp251_[3]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp253_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp254_ = _tmp253_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp254__length1 = _tmp253_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp255_ = _tmp254_[9]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp256_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp256__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp257_ = _tmp256_[7]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp258_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp259_ = _tmp258_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp259__length1 = _tmp258_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp260_ = _tmp259_[10]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp261_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp261__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp262_ = _tmp261_[11]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp263_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp264_ = _tmp263_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp264__length1 = _tmp263_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp265_ = _tmp264_[11]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp266_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp266__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp267_ = _tmp266_[15]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp247_[11] = (((_tmp250_ * _tmp252_) + (_tmp255_ * _tmp257_)) + (_tmp260_ * _tmp262_)) + (_tmp265_ * _tmp267_); +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp268_ = _tmp247_[11]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp269_ = result_matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp269__length1 = result_matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp270_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp271_ = _tmp270_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp271__length1 = _tmp270_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp272_ = _tmp271_[12]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp273_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp273__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp274_ = _tmp273_[0]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp275_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp276_ = _tmp275_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp276__length1 = _tmp275_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp277_ = _tmp276_[13]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp278_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp278__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp279_ = _tmp278_[4]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp280_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp281_ = _tmp280_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp281__length1 = _tmp280_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp282_ = _tmp281_[14]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp283_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp283__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp284_ = _tmp283_[8]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp285_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp286_ = _tmp285_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp286__length1 = _tmp285_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp287_ = _tmp286_[15]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp288_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp288__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp289_ = _tmp288_[12]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp269_[12] = (((_tmp272_ * _tmp274_) + (_tmp277_ * _tmp279_)) + (_tmp282_ * _tmp284_)) + (_tmp287_ * _tmp289_); +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp290_ = _tmp269_[12]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp291_ = result_matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp291__length1 = result_matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp292_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp293_ = _tmp292_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp293__length1 = _tmp292_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp294_ = _tmp293_[12]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp295_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp295__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp296_ = _tmp295_[1]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp297_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp298_ = _tmp297_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp298__length1 = _tmp297_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp299_ = _tmp298_[13]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp300_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp300__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp301_ = _tmp300_[5]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp302_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp303_ = _tmp302_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp303__length1 = _tmp302_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp304_ = _tmp303_[14]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp305_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp305__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp306_ = _tmp305_[9]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp307_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp308_ = _tmp307_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp308__length1 = _tmp307_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp309_ = _tmp308_[15]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp310_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp310__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp311_ = _tmp310_[13]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp291_[13] = (((_tmp294_ * _tmp296_) + (_tmp299_ * _tmp301_)) + (_tmp304_ * _tmp306_)) + (_tmp309_ * _tmp311_); +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp312_ = _tmp291_[13]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp313_ = result_matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp313__length1 = result_matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp314_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp315_ = _tmp314_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp315__length1 = _tmp314_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp316_ = _tmp315_[12]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp317_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp317__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp318_ = _tmp317_[2]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp319_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp320_ = _tmp319_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp320__length1 = _tmp319_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp321_ = _tmp320_[13]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp322_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp322__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp323_ = _tmp322_[6]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp324_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp325_ = _tmp324_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp325__length1 = _tmp324_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp326_ = _tmp325_[14]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp327_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp327__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp328_ = _tmp327_[10]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp329_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp330_ = _tmp329_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp330__length1 = _tmp329_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp331_ = _tmp330_[15]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp332_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp332__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp333_ = _tmp332_[14]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp313_[14] = (((_tmp316_ * _tmp318_) + (_tmp321_ * _tmp323_)) + (_tmp326_ * _tmp328_)) + (_tmp331_ * _tmp333_); +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp334_ = _tmp313_[14]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp335_ = result_matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp335__length1 = result_matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp336_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp337_ = _tmp336_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp337__length1 = _tmp336_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp338_ = _tmp337_[12]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp339_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp339__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp340_ = _tmp339_[3]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp341_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp342_ = _tmp341_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp342__length1 = _tmp341_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp343_ = _tmp342_[13]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp344_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp344__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp345_ = _tmp344_[7]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp346_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp347_ = _tmp346_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp347__length1 = _tmp346_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp348_ = _tmp347_[14]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp349_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp349__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp350_ = _tmp349_[11]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp351_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp352_ = _tmp351_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp352__length1 = _tmp351_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp353_ = _tmp352_[15]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp354_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp354__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp355_ = _tmp354_[15]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp335_[15] = (((_tmp338_ * _tmp340_) + (_tmp343_ * _tmp345_)) + (_tmp348_ * _tmp350_)) + (_tmp353_ * _tmp355_); +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp356_ = _tmp335_[15]; +#line 4983 "ColorTransformation.c" + { + gint i = 0; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 4988 "ColorTransformation.c" + { + gboolean _tmp357_ = FALSE; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp357_ = TRUE; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 4995 "ColorTransformation.c" + gint _tmp359_ = 0; + gfloat* _tmp360_ = NULL; + gint _tmp360__length1 = 0; + gint _tmp361_ = 0; + gfloat* _tmp362_ = NULL; + gint _tmp362__length1 = 0; + gint _tmp363_ = 0; + gfloat _tmp364_ = 0.0F; + gfloat _tmp365_ = 0.0F; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp357_) { +#line 5007 "ColorTransformation.c" + gint _tmp358_ = 0; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp358_ = i; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp358_ + 1; +#line 5013 "ColorTransformation.c" + } +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp357_ = FALSE; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp359_ = i; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp359_ < RGB_TRANSFORMATION_MATRIX_SIZE)) { +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 5023 "ColorTransformation.c" + } +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp360_ = self->matrix_entries; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp360__length1 = self->matrix_entries_length1; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp361_ = i; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp362_ = result_matrix_entries; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp362__length1 = result_matrix_entries_length1; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp363_ = i; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp364_ = _tmp362_[_tmp363_]; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp360_[_tmp361_] = _tmp364_; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp365_ = _tmp360_[_tmp361_]; +#line 5043 "ColorTransformation.c" + } + } + } +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp367_ = self->identity; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp367_) { +#line 5051 "ColorTransformation.c" + RGBTransformation* _tmp368_ = NULL; + gboolean _tmp369_ = FALSE; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp368_ = transform; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp369_ = _tmp368_->identity; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp366_ = _tmp369_; +#line 5060 "ColorTransformation.c" + } else { +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp366_ = FALSE; +#line 5064 "ColorTransformation.c" + } +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->identity = _tmp366_; +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result_matrix_entries = (g_free (result_matrix_entries), NULL); +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transform); +#line 5072 "ColorTransformation.c" +} + + +static void rgb_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* p, HSVAnalyticPixel* result) { + RGBTransformation * self; + RGBAnalyticPixel _tmp0_ = {0}; + RGBAnalyticPixel _tmp1_ = {0}; + HSVAnalyticPixel _tmp2_ = {0}; +#line 549 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 549 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (p, &_tmp0_); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_rgb (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), &_tmp0_, &_tmp1_); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_to_hsv (&_tmp1_, &_tmp2_); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp2_; +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 5095 "ColorTransformation.c" +} + + +static void rgb_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + RGBTransformation * self; + gfloat red_out = 0.0F; + RGBAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + gfloat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gfloat _tmp3_ = 0.0F; + RGBAnalyticPixel _tmp4_ = {0}; + gfloat _tmp5_ = 0.0F; + gfloat* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gfloat _tmp7_ = 0.0F; + RGBAnalyticPixel _tmp8_ = {0}; + gfloat _tmp9_ = 0.0F; + gfloat* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gfloat _tmp11_ = 0.0F; + gfloat* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gfloat _tmp13_ = 0.0F; + gfloat _tmp14_ = 0.0F; + gfloat _tmp15_ = 0.0F; + gfloat green_out = 0.0F; + RGBAnalyticPixel _tmp16_ = {0}; + gfloat _tmp17_ = 0.0F; + gfloat* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gfloat _tmp19_ = 0.0F; + RGBAnalyticPixel _tmp20_ = {0}; + gfloat _tmp21_ = 0.0F; + gfloat* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gfloat _tmp23_ = 0.0F; + RGBAnalyticPixel _tmp24_ = {0}; + gfloat _tmp25_ = 0.0F; + gfloat* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gfloat _tmp27_ = 0.0F; + gfloat* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gfloat _tmp29_ = 0.0F; + gfloat _tmp30_ = 0.0F; + gfloat _tmp31_ = 0.0F; + gfloat blue_out = 0.0F; + RGBAnalyticPixel _tmp32_ = {0}; + gfloat _tmp33_ = 0.0F; + gfloat* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gfloat _tmp35_ = 0.0F; + RGBAnalyticPixel _tmp36_ = {0}; + gfloat _tmp37_ = 0.0F; + gfloat* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gfloat _tmp39_ = 0.0F; + RGBAnalyticPixel _tmp40_ = {0}; + gfloat _tmp41_ = 0.0F; + gfloat* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gfloat _tmp43_ = 0.0F; + gfloat* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gfloat _tmp45_ = 0.0F; + gfloat _tmp46_ = 0.0F; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; + gfloat _tmp49_ = 0.0F; + gfloat _tmp50_ = 0.0F; + RGBAnalyticPixel _tmp51_ = {0}; +#line 553 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 553 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_.red; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_[0]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = *p; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_.green; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_[1]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = *p; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_.blue; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_[2]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_[3]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + red_out = (((_tmp1_ * _tmp3_) + (_tmp5_ * _tmp7_)) + (_tmp9_ * _tmp11_)) + _tmp13_; +#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = red_out; +#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = CLAMP (_tmp14_, 0.0f, 1.0f); +#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + red_out = _tmp15_; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = *p; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_.red; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp18_[4]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = *p; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp20_.green; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_[5]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = *p; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp24_.blue; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = _tmp26_[6]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_[7]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + green_out = (((_tmp17_ * _tmp19_) + (_tmp21_ * _tmp23_)) + (_tmp25_ * _tmp27_)) + _tmp29_; +#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = green_out; +#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = CLAMP (_tmp30_, 0.0f, 1.0f); +#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + green_out = _tmp31_; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = *p; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = _tmp32_.red; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp34_[8]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = *p; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_.green; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_[9]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = *p; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp40_.blue; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp42_[10]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_[11]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + blue_out = (((_tmp33_ * _tmp35_) + (_tmp37_ * _tmp39_)) + (_tmp41_ * _tmp43_)) + _tmp45_; +#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = blue_out; +#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = CLAMP (_tmp46_, 0.0f, 1.0f); +#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + blue_out = _tmp47_; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = red_out; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = green_out; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = blue_out; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_components (&_tmp51_, _tmp48_, _tmp49_, _tmp50_); +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp51_; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 5316 "ColorTransformation.c" +} + + +static gboolean rgb_transformation_real_is_identity (PixelTransformation* base) { + RGBTransformation * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 575 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->identity; +#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5332 "ColorTransformation.c" +} + + +static PixelTransformation* rgb_transformation_real_copy (PixelTransformation* base) { + RGBTransformation * self; + PixelTransformation* result = NULL; + RGBTransformation* _result_ = NULL; + PixelTransformationType _tmp0_ = 0; + RGBTransformation* _tmp1_ = NULL; +#line 579 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_get_transformation_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = rgb_transformation_new (_tmp0_); +#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp1_; +#line 5350 "ColorTransformation.c" + { + gint i = 0; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 5355 "ColorTransformation.c" + { + gboolean _tmp2_ = FALSE; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = TRUE; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 5362 "ColorTransformation.c" + gint _tmp4_ = 0; + RGBTransformation* _tmp5_ = NULL; + gfloat* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gfloat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gfloat _tmp10_ = 0.0F; + gfloat _tmp11_ = 0.0F; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp2_) { +#line 5375 "ColorTransformation.c" + gint _tmp3_ = 0; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp3_ + 1; +#line 5381 "ColorTransformation.c" + } +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = FALSE; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = i; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp4_ < RGB_TRANSFORMATION_MATRIX_SIZE)) { +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 5391 "ColorTransformation.c" + } +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _result_; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_->matrix_entries; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6__length1 = _tmp5_->matrix_entries_length1; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = self->matrix_entries; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = self->matrix_entries_length1; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_[_tmp7_] = _tmp10_; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp6_[_tmp7_]; +#line 5413 "ColorTransformation.c" + } + } + } +#line 586 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 586 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5421 "ColorTransformation.c" +} + + +static void rgb_transformation_class_init (RGBTransformationClass * klass) { +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_transformation_parent_class = g_type_class_peek_parent (klass); +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = rgb_transformation_finalize; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_preferred_format = rgb_transformation_real_get_preferred_format; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_composition_mode = rgb_transformation_real_get_composition_mode; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->compose_with = rgb_transformation_real_compose_with; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = rgb_transformation_real_transform_pixel_hsv; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_rgb = rgb_transformation_real_transform_pixel_rgb; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = rgb_transformation_real_is_identity; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = rgb_transformation_real_copy; +#line 5444 "ColorTransformation.c" +} + + +static void rgb_transformation_instance_init (RGBTransformation * self) { +#line 410 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->identity = TRUE; +#line 5451 "ColorTransformation.c" +} + + +static void rgb_transformation_finalize (PixelTransformation* obj) { + RGBTransformation * self; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 406 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries = (g_free (self->matrix_entries), NULL); +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (rgb_transformation_parent_class)->finalize (obj); +#line 5463 "ColorTransformation.c" +} + + +GType rgb_transformation_get_type (void) { + static volatile gsize rgb_transformation_type_id__volatile = 0; + if (g_once_init_enter (&rgb_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RGBTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBTransformation), 0, (GInstanceInitFunc) rgb_transformation_instance_init, NULL }; + GType rgb_transformation_type_id; + rgb_transformation_type_id = g_type_register_static (TYPE_PIXEL_TRANSFORMATION, "RGBTransformation", &g_define_type_info, 0); + g_once_init_leave (&rgb_transformation_type_id__volatile, rgb_transformation_type_id); + } + return rgb_transformation_type_id__volatile; +} + + +HSVTransformation* hsv_transformation_construct (GType object_type, PixelTransformationType type) { + HSVTransformation* self = NULL; + PixelTransformationType _tmp0_ = 0; +#line 592 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = type; +#line 592 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (HSVTransformation*) pixel_transformation_construct (object_type, _tmp0_); +#line 591 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 5488 "ColorTransformation.c" +} + + +static PixelFormat hsv_transformation_real_get_preferred_format (PixelTransformation* base) { + HSVTransformation * self; + PixelFormat result = 0; +#line 595 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HSV_TRANSFORMATION, HSVTransformation); +#line 596 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = PIXEL_FORMAT_HSV; +#line 596 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5501 "ColorTransformation.c" +} + + +static void hsv_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + HSVTransformation * self; + HSVAnalyticPixel _tmp0_ = {0}; + HSVAnalyticPixel _tmp1_ = {0}; + RGBAnalyticPixel _tmp2_ = {0}; +#line 599 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HSV_TRANSFORMATION, HSVTransformation); +#line 599 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_to_hsv (p, &_tmp0_); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_hsv (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), &_tmp0_, &_tmp1_); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (&_tmp1_, &_tmp2_); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp2_; +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 5524 "ColorTransformation.c" +} + + +static void hsv_transformation_class_init (HSVTransformationClass * klass) { +#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_transformation_parent_class = g_type_class_peek_parent (klass); +#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_preferred_format = hsv_transformation_real_get_preferred_format; +#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_rgb = hsv_transformation_real_transform_pixel_rgb; +#line 5535 "ColorTransformation.c" +} + + +static void hsv_transformation_instance_init (HSVTransformation * self) { +} + + +GType hsv_transformation_get_type (void) { + static volatile gsize hsv_transformation_type_id__volatile = 0; + if (g_once_init_enter (&hsv_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (HSVTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hsv_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HSVTransformation), 0, (GInstanceInitFunc) hsv_transformation_instance_init, NULL }; + GType hsv_transformation_type_id; + hsv_transformation_type_id = g_type_register_static (TYPE_PIXEL_TRANSFORMATION, "HSVTransformation", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&hsv_transformation_type_id__volatile, hsv_transformation_type_id); + } + return hsv_transformation_type_id__volatile; +} + + +TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param) { + TintTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 612 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (TintTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TINT); +#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_param; +#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, TINT_TRANSFORMATION_MIN_PARAMETER, TINT_TRANSFORMATION_MAX_PARAMETER); +#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 616 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 616 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 5572 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; +#line 617 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 617 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp3_ / TINT_TRANSFORMATION_MAX_PARAMETER; +#line 618 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = adjusted_param; +#line 618 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp4_ * TINT_TRANSFORMATION_INTENSITY_FACTOR; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = adjusted_param; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[11] -= _tmp6_ / 2; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[11]; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = adjusted_param; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_[7] += _tmp9_; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[7]; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = adjusted_param; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_[3] -= _tmp12_ / 2; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[3]; +#line 624 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 5628 "ColorTransformation.c" + } +#line 611 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 5632 "ColorTransformation.c" +} + + +TintTransformation* tint_transformation_new (gfloat client_param) { +#line 611 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return tint_transformation_construct (TYPE_TINT_TRANSFORMATION, client_param); +#line 5639 "ColorTransformation.c" +} + + +gfloat tint_transformation_get_parameter (TintTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 628 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_TINT_TRANSFORMATION (self), 0.0F); +#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5654 "ColorTransformation.c" +} + + +static void tint_transformation_class_init (TintTransformationClass * klass) { +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + tint_transformation_parent_class = g_type_class_peek_parent (klass); +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = tint_transformation_finalize; +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (TintTransformationPrivate)); +#line 5665 "ColorTransformation.c" +} + + +static void tint_transformation_instance_init (TintTransformation * self) { +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = TINT_TRANSFORMATION_GET_PRIVATE (self); +#line 5672 "ColorTransformation.c" +} + + +static void tint_transformation_finalize (PixelTransformation* obj) { + TintTransformation * self; +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TINT_TRANSFORMATION, TintTransformation); +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (tint_transformation_parent_class)->finalize (obj); +#line 5682 "ColorTransformation.c" +} + + +GType tint_transformation_get_type (void) { + static volatile gsize tint_transformation_type_id__volatile = 0; + if (g_once_init_enter (&tint_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TintTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tint_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TintTransformation), 0, (GInstanceInitFunc) tint_transformation_instance_init, NULL }; + GType tint_transformation_type_id; + tint_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "TintTransformation", &g_define_type_info, 0); + g_once_init_leave (&tint_transformation_type_id__volatile, tint_transformation_type_id); + } + return tint_transformation_type_id__volatile; +} + + +TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter) { + TemperatureTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 641 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (TemperatureTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE); +#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_parameter; +#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, TEMPERATURE_TRANSFORMATION_MIN_PARAMETER, TEMPERATURE_TRANSFORMATION_MAX_PARAMETER); +#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 645 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 645 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 5715 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; +#line 646 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 646 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp3_ / TEMPERATURE_TRANSFORMATION_MAX_PARAMETER; +#line 647 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = adjusted_param; +#line 647 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp4_ * TEMPERATURE_TRANSFORMATION_INTENSITY_FACTOR; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = adjusted_param; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[11] -= _tmp6_; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[11]; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = adjusted_param; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_[7] += _tmp9_ / 2; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[7]; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = adjusted_param; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_[3] += _tmp12_ / 2; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[3]; +#line 653 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 5771 "ColorTransformation.c" + } +#line 640 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 5775 "ColorTransformation.c" +} + + +TemperatureTransformation* temperature_transformation_new (gfloat client_parameter) { +#line 640 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return temperature_transformation_construct (TYPE_TEMPERATURE_TRANSFORMATION, client_parameter); +#line 5782 "ColorTransformation.c" +} + + +gfloat temperature_transformation_get_parameter (TemperatureTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 657 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_TEMPERATURE_TRANSFORMATION (self), 0.0F); +#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5797 "ColorTransformation.c" +} + + +static void temperature_transformation_class_init (TemperatureTransformationClass * klass) { +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temperature_transformation_parent_class = g_type_class_peek_parent (klass); +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = temperature_transformation_finalize; +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (TemperatureTransformationPrivate)); +#line 5808 "ColorTransformation.c" +} + + +static void temperature_transformation_instance_init (TemperatureTransformation * self) { +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = TEMPERATURE_TRANSFORMATION_GET_PRIVATE (self); +#line 5815 "ColorTransformation.c" +} + + +static void temperature_transformation_finalize (PixelTransformation* obj) { + TemperatureTransformation * self; +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation); +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (temperature_transformation_parent_class)->finalize (obj); +#line 5825 "ColorTransformation.c" +} + + +GType temperature_transformation_get_type (void) { + static volatile gsize temperature_transformation_type_id__volatile = 0; + if (g_once_init_enter (&temperature_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TemperatureTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) temperature_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TemperatureTransformation), 0, (GInstanceInitFunc) temperature_transformation_instance_init, NULL }; + GType temperature_transformation_type_id; + temperature_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "TemperatureTransformation", &g_define_type_info, 0); + g_once_init_leave (&temperature_transformation_type_id__volatile, temperature_transformation_type_id); + } + return temperature_transformation_type_id__volatile; +} + + +SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter) { + SaturationTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 669 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (SaturationTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_SATURATION); +#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_parameter; +#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, SATURATION_TRANSFORMATION_MIN_PARAMETER, SATURATION_TRANSFORMATION_MAX_PARAMETER); +#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 673 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 673 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 5858 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat one_third = 0.0F; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gfloat* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; + gfloat* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; + gfloat _tmp21_ = 0.0F; + gfloat* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gfloat _tmp23_ = 0.0F; + gfloat _tmp24_ = 0.0F; + gfloat _tmp25_ = 0.0F; + gfloat _tmp26_ = 0.0F; + gfloat* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gfloat _tmp28_ = 0.0F; + gfloat _tmp29_ = 0.0F; + gfloat _tmp30_ = 0.0F; + gfloat* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gfloat _tmp32_ = 0.0F; + gfloat _tmp33_ = 0.0F; + gfloat _tmp34_ = 0.0F; + gfloat* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gfloat _tmp36_ = 0.0F; + gfloat _tmp37_ = 0.0F; + gfloat _tmp38_ = 0.0F; + gfloat* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gfloat _tmp40_ = 0.0F; + gfloat _tmp41_ = 0.0F; + gfloat _tmp42_ = 0.0F; + gfloat _tmp43_ = 0.0F; +#line 674 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 674 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp3_ / SATURATION_TRANSFORMATION_MAX_PARAMETER; +#line 675 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = adjusted_param; +#line 675 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp4_ + 1.0f; +#line 677 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + one_third = 0.3333333f; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = adjusted_param; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = one_third; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = adjusted_param; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[0] = ((1.0f - _tmp6_) * _tmp7_) + _tmp8_; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp5_[0]; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = adjusted_param; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = one_third; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_[1] = (1.0f - _tmp11_) * _tmp12_; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp10_[1]; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = adjusted_param; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = one_third; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_[2] = (1.0f - _tmp15_) * _tmp16_; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp14_[2]; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = adjusted_param; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = one_third; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_[4] = (1.0f - _tmp19_) * _tmp20_; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp18_[4]; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = adjusted_param; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = one_third; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = adjusted_param; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_[5] = ((1.0f - _tmp23_) * _tmp24_) + _tmp25_; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp22_[5]; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = adjusted_param; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = one_third; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_[6] = (1.0f - _tmp28_) * _tmp29_; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = _tmp27_[6]; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = adjusted_param; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = one_third; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_[8] = (1.0f - _tmp32_) * _tmp33_; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp31_[8]; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = adjusted_param; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = one_third; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_[9] = (1.0f - _tmp36_) * _tmp37_; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp35_[9]; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = adjusted_param; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = one_third; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = adjusted_param; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_[10] = ((1.0f - _tmp40_) * _tmp41_) + _tmp42_; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp39_[10]; +#line 694 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 6037 "ColorTransformation.c" + } +#line 668 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 6041 "ColorTransformation.c" +} + + +SaturationTransformation* saturation_transformation_new (gfloat client_parameter) { +#line 668 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return saturation_transformation_construct (TYPE_SATURATION_TRANSFORMATION, client_parameter); +#line 6048 "ColorTransformation.c" +} + + +gfloat saturation_transformation_get_parameter (SaturationTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 698 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_SATURATION_TRANSFORMATION (self), 0.0F); +#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 6063 "ColorTransformation.c" +} + + +static void saturation_transformation_class_init (SaturationTransformationClass * klass) { +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + saturation_transformation_parent_class = g_type_class_peek_parent (klass); +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = saturation_transformation_finalize; +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (SaturationTransformationPrivate)); +#line 6074 "ColorTransformation.c" +} + + +static void saturation_transformation_instance_init (SaturationTransformation * self) { +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = SATURATION_TRANSFORMATION_GET_PRIVATE (self); +#line 6081 "ColorTransformation.c" +} + + +static void saturation_transformation_finalize (PixelTransformation* obj) { + SaturationTransformation * self; +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation); +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (saturation_transformation_parent_class)->finalize (obj); +#line 6091 "ColorTransformation.c" +} + + +GType saturation_transformation_get_type (void) { + static volatile gsize saturation_transformation_type_id__volatile = 0; + if (g_once_init_enter (&saturation_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SaturationTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saturation_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SaturationTransformation), 0, (GInstanceInitFunc) saturation_transformation_instance_init, NULL }; + GType saturation_transformation_type_id; + saturation_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "SaturationTransformation", &g_define_type_info, 0); + g_once_init_leave (&saturation_transformation_type_id__volatile, saturation_transformation_type_id); + } + return saturation_transformation_type_id__volatile; +} + + +ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter) { + ExposureTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 710 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExposureTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_EXPOSURE); +#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_parameter; +#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, EXPOSURE_TRANSFORMATION_MIN_PARAMETER, EXPOSURE_TRANSFORMATION_MAX_PARAMETER); +#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 714 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 714 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 6124 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gfloat _tmp5_ = 0.0F; + gfloat _tmp6_ = 0.0F; + gfloat* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gfloat* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; +#line 716 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 716 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = ((_tmp3_ + 16.0f) / 32.0f) + 0.5f; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = adjusted_param; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_[0] = _tmp5_; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp4_[0]; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = adjusted_param; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_[5] = _tmp8_; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp7_[5]; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = adjusted_param; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_[10] = _tmp11_; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = _tmp10_[10]; +#line 722 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 6175 "ColorTransformation.c" + } +#line 709 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 6179 "ColorTransformation.c" +} + + +ExposureTransformation* exposure_transformation_new (gfloat client_parameter) { +#line 709 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return exposure_transformation_construct (TYPE_EXPOSURE_TRANSFORMATION, client_parameter); +#line 6186 "ColorTransformation.c" +} + + +gfloat exposure_transformation_get_parameter (ExposureTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 726 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_EXPOSURE_TRANSFORMATION (self), 0.0F); +#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 6201 "ColorTransformation.c" +} + + +static void exposure_transformation_class_init (ExposureTransformationClass * klass) { +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + exposure_transformation_parent_class = g_type_class_peek_parent (klass); +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = exposure_transformation_finalize; +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (ExposureTransformationPrivate)); +#line 6212 "ColorTransformation.c" +} + + +static void exposure_transformation_instance_init (ExposureTransformation * self) { +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = EXPOSURE_TRANSFORMATION_GET_PRIVATE (self); +#line 6219 "ColorTransformation.c" +} + + +static void exposure_transformation_finalize (PixelTransformation* obj) { + ExposureTransformation * self; +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation); +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (exposure_transformation_parent_class)->finalize (obj); +#line 6229 "ColorTransformation.c" +} + + +GType exposure_transformation_get_type (void) { + static volatile gsize exposure_transformation_type_id__volatile = 0; + if (g_once_init_enter (&exposure_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExposureTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exposure_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExposureTransformation), 0, (GInstanceInitFunc) exposure_transformation_instance_init, NULL }; + GType exposure_transformation_type_id; + exposure_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "ExposureTransformation", &g_define_type_info, 0); + g_once_init_leave (&exposure_transformation_type_id__volatile, exposure_transformation_type_id); + } + return exposure_transformation_type_id__volatile; +} + + +PixelTransformer* pixel_transformer_construct (GType object_type) { + PixelTransformer* self = NULL; +#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (PixelTransformer*) g_type_create_instance (object_type); +#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 6251 "ColorTransformation.c" +} + + +PixelTransformer* pixel_transformer_new (void) { +#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return pixel_transformer_construct (TYPE_PIXEL_TRANSFORMER); +#line 6258 "ColorTransformation.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self ? g_object_ref (self) : NULL; +#line 6265 "ColorTransformation.c" +} + + +PixelTransformer* pixel_transformer_copy (PixelTransformer* self) { + PixelTransformer* result = NULL; + PixelTransformer* clone = NULL; + PixelTransformer* _tmp0_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMER (self), NULL); +#line 741 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformer_new (); +#line 741 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + clone = _tmp0_; +#line 6279 "ColorTransformation.c" + { + GeeArrayList* _transformation_list = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + gint _transformation_size = 0; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _transformation_index = 0; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->transformations; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_list = _tmp2_; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _transformation_list; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_size = _tmp5_; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_index = -1; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6307 "ColorTransformation.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + PixelTransformation* transformation = NULL; + GeeArrayList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + PixelTransformer* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + PixelTransformation* _tmp14_ = NULL; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _transformation_index; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_index = _tmp6_ + 1; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _transformation_index; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _transformation_size; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6330 "ColorTransformation.c" + } +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _transformation_list; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _transformation_index; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp10_); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformation = (PixelTransformation*) _tmp11_; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = clone; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_->priv->transformations; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = transformation; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transformation); +#line 6350 "ColorTransformation.c" + } +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_transformation_list); +#line 6354 "ColorTransformation.c" + } +#line 746 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = clone; +#line 746 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 6360 "ColorTransformation.c" +} + + +static void pixel_transformer_build_optimized_transformations (PixelTransformer* self) { + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + PixelTransformation** _tmp3_ = NULL; + PixelTransformation* pre_trans = NULL; +#line 749 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->transformations; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = g_new0 (PixelTransformation*, _tmp2_ + 1); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = _tmp3_; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = _tmp2_; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 752 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pre_trans = NULL; +#line 753 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_slots_used = 0; +#line 6392 "ColorTransformation.c" + { + gint i = 0; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 6397 "ColorTransformation.c" + { + gboolean _tmp4_ = FALSE; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = TRUE; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6404 "ColorTransformation.c" + gint _tmp6_ = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + PixelTransformation* trans = NULL; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + PixelTransformation* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + PixelTransformation* this_trans = NULL; + PixelTransformation* _tmp15_ = NULL; + CompositionMode _tmp16_ = 0; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + PixelTransformation* _tmp23_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp4_) { +#line 6423 "ColorTransformation.c" + gint _tmp5_ = 0; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = i; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp5_ + 1; +#line 6429 "ColorTransformation.c" + } +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = FALSE; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = self->priv->transformations; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp6_ < _tmp9_)) { +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6445 "ColorTransformation.c" + } +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = self->priv->transformations; +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = i; +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_); +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + trans = (PixelTransformation*) _tmp12_; +#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = trans; +#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = pixel_transformation_is_identity (_tmp13_); +#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp14_) { +#line 758 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (trans); +#line 758 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + continue; +#line 6465 "ColorTransformation.c" + } +#line 760 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + this_trans = NULL; +#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = trans; +#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = pixel_transformation_get_composition_mode (_tmp15_); +#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp16_ == COMPOSITION_MODE_NONE) { +#line 6475 "ColorTransformation.c" + PixelTransformation* _tmp17_ = NULL; + PixelTransformation* _tmp18_ = NULL; +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = trans; +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _pixel_transformation_ref0 (_tmp17_); +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (this_trans); +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + this_trans = _tmp18_; +#line 6486 "ColorTransformation.c" + } else { + PixelTransformation* _tmp19_ = NULL; + PixelTransformation* _tmp20_ = NULL; +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = trans; +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = pixel_transformation_copy (_tmp19_); +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (this_trans); +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + this_trans = _tmp20_; +#line 6498 "ColorTransformation.c" + } +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = pre_trans; +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp23_ != NULL) { +#line 6504 "ColorTransformation.c" + PixelTransformation* _tmp24_ = NULL; + CompositionMode _tmp25_ = 0; +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = this_trans; +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = pixel_transformation_get_composition_mode (_tmp24_); +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = _tmp25_ != COMPOSITION_MODE_NONE; +#line 6513 "ColorTransformation.c" + } else { +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = FALSE; +#line 6517 "ColorTransformation.c" + } +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp22_) { +#line 6521 "ColorTransformation.c" + PixelTransformation* _tmp26_ = NULL; + CompositionMode _tmp27_ = 0; + PixelTransformation* _tmp28_ = NULL; + CompositionMode _tmp29_ = 0; +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = this_trans; +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = pixel_transformation_get_composition_mode (_tmp26_); +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = pre_trans; +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = pixel_transformation_get_composition_mode (_tmp28_); +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp27_ == _tmp29_; +#line 6536 "ColorTransformation.c" + } else { +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = FALSE; +#line 6540 "ColorTransformation.c" + } +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp21_) { +#line 6544 "ColorTransformation.c" + PixelTransformation* _tmp30_ = NULL; + PixelTransformation* _tmp31_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = pre_trans; +#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = this_trans; +#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_compose_with (_tmp30_, _tmp31_); +#line 6553 "ColorTransformation.c" + } else { + PixelTransformation** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + PixelTransformation* _tmp34_ = NULL; + PixelTransformation* _tmp35_ = NULL; + PixelTransformation* _tmp36_ = NULL; + PixelTransformation* _tmp37_ = NULL; + PixelTransformation* _tmp38_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = self->priv->optimized_transformations; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = self->priv->optimized_transformations_length1; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = self->priv->optimized_slots_used; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_slots_used = _tmp33_ + 1; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = this_trans; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _pixel_transformation_ref0 (_tmp34_); +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp32_[_tmp33_]); +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_[_tmp33_] = _tmp35_; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = _tmp32_[_tmp33_]; +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = this_trans; +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _pixel_transformation_ref0 (_tmp37_); +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (pre_trans); +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pre_trans = _tmp38_; +#line 6589 "ColorTransformation.c" + } +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (this_trans); +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (trans); +#line 6595 "ColorTransformation.c" + } + } + } +#line 749 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (pre_trans); +#line 6601 "ColorTransformation.c" +} + + +static void pixel_transformer_apply_transformations (PixelTransformer* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + PixelFormat current_format = 0; + RGBAnalyticPixel p_rgb = {0}; + RGBAnalyticPixel _tmp0_ = {0}; + HSVAnalyticPixel p_hsv = {0}; + PixelFormat _tmp21_ = 0; +#line 776 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 776 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 777 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_format = PIXEL_FORMAT_RGB; +#line 778 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 778 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp0_; +#line 779 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_init (&p_hsv); +#line 6623 "ColorTransformation.c" + { + gint i = 0; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 6628 "ColorTransformation.c" + { + gboolean _tmp1_ = FALSE; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = TRUE; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6635 "ColorTransformation.c" + gint _tmp3_ = 0; + gint _tmp4_ = 0; + PixelTransformation* trans = NULL; + PixelTransformation** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + PixelTransformation* _tmp7_ = NULL; + PixelTransformation* _tmp8_ = NULL; + PixelTransformation* _tmp9_ = NULL; + PixelFormat _tmp10_ = 0; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp1_) { +#line 6648 "ColorTransformation.c" + gint _tmp2_ = 0; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp2_ + 1; +#line 6654 "ColorTransformation.c" + } +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = self->priv->optimized_slots_used; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp3_ < _tmp4_)) { +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6666 "ColorTransformation.c" + } +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = self->priv->optimized_transformations; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = self->priv->optimized_transformations_length1; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _pixel_transformation_ref0 (_tmp7_); +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + trans = _tmp8_; +#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = trans; +#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = pixel_transformation_get_preferred_format (_tmp9_); +#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp10_ == PIXEL_FORMAT_RGB) { +#line 6686 "ColorTransformation.c" + PixelFormat _tmp11_ = 0; + PixelTransformation* _tmp13_ = NULL; + RGBAnalyticPixel _tmp14_ = {0}; + RGBAnalyticPixel _tmp15_ = {0}; +#line 784 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = current_format; +#line 784 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp11_ == PIXEL_FORMAT_HSV) { +#line 6695 "ColorTransformation.c" + RGBAnalyticPixel _tmp12_ = {0}; +#line 785 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (&p_hsv, &_tmp12_); +#line 785 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp12_; +#line 786 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_format = PIXEL_FORMAT_RGB; +#line 6703 "ColorTransformation.c" + } +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = trans; +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = p_rgb; +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_rgb (_tmp13_, &_tmp14_, &_tmp15_); +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp15_; +#line 6713 "ColorTransformation.c" + } else { + PixelFormat _tmp16_ = 0; + PixelTransformation* _tmp18_ = NULL; + HSVAnalyticPixel _tmp19_ = {0}; + HSVAnalyticPixel _tmp20_ = {0}; +#line 790 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = current_format; +#line 790 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp16_ == PIXEL_FORMAT_RGB) { +#line 6723 "ColorTransformation.c" + HSVAnalyticPixel _tmp17_ = {0}; +#line 791 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_to_hsv (&p_rgb, &_tmp17_); +#line 791 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_hsv = _tmp17_; +#line 792 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_format = PIXEL_FORMAT_HSV; +#line 6731 "ColorTransformation.c" + } +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = trans; +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = p_hsv; +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_hsv (_tmp18_, &_tmp19_, &_tmp20_); +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_hsv = _tmp20_; +#line 6741 "ColorTransformation.c" + } +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (trans); +#line 6745 "ColorTransformation.c" + } + } + } +#line 798 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = current_format; +#line 798 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp21_ == PIXEL_FORMAT_HSV) { +#line 6753 "ColorTransformation.c" + RGBAnalyticPixel _tmp22_ = {0}; +#line 799 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (&p_hsv, &_tmp22_); +#line 799 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp22_; +#line 6759 "ColorTransformation.c" + } +#line 801 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = p_rgb; +#line 801 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 6765 "ColorTransformation.c" +} + + +void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans) { + GeeArrayList* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; +#line 807 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 807 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (trans)); +#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->transformations; +#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = trans; +#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 6790 "ColorTransformation.c" +} + + +void pixel_transformer_detach_transformation (PixelTransformer* self, PixelTransformation* victim) { + GeeArrayList* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; +#line 814 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 814 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (victim)); +#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->transformations; +#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = victim; +#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 6815 "ColorTransformation.c" +} + + +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans) { +#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (old_trans)); +#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (new_trans)); +#line 6826 "ColorTransformation.c" + { + gint i = 0; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 6831 "ColorTransformation.c" + { + gboolean _tmp0_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = TRUE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6838 "ColorTransformation.c" + gint _tmp2_ = 0; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gpointer _tmp8_ = NULL; + PixelTransformation* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp0_) { +#line 6851 "ColorTransformation.c" + gint _tmp1_ = 0; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = i; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp1_ + 1; +#line 6857 "ColorTransformation.c" + } +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->transformations; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp2_ < _tmp5_)) { +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6873 "ColorTransformation.c" + } +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = self->priv->transformations; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp7_); +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = (PixelTransformation*) _tmp8_; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = old_trans; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp9_ == _tmp10_; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp9_); +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp11_) { +#line 6891 "ColorTransformation.c" + GeeArrayList* _tmp12_ = NULL; + gint _tmp13_ = 0; + PixelTransformation* _tmp14_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->priv->transformations; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = i; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = new_trans; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_list_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_, _tmp14_); +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 828 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 6913 "ColorTransformation.c" + } + } + } + } +#line 831 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:831: %s", "PixelTransformer: replace_transformation( ): old_trans is not present " \ +"in " "transformation collection"); +#line 6920 "ColorTransformation.c" +} + + +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; +#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixbuf; +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixbuf; +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = cancellable; +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_transform_to_other_pixbuf (self, _tmp0_, _tmp1_, _tmp2_); +#line 6942 "ColorTransformation.c" +} + + +void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest) { + PixelTransformation** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint dest_width = 0; + GdkPixbuf* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint dest_height = 0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint dest_num_channels = 0; + GdkPixbuf* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint dest_rowstride = 0; + GdkPixbuf* _tmp7_ = NULL; + gint _tmp8_ = 0; + guchar* dest_pixels = NULL; + GdkPixbuf* _tmp9_ = NULL; + guint8* _tmp10_ = NULL; + gint dest_pixels_length1 = 0; + gint _dest_pixels_size_ = 0; + gint cache_pixel_ticker = 0; +#line 839 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 839 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (dest)); +#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->optimized_transformations; +#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = self->priv->optimized_transformations_length1; +#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == NULL) { +#line 841 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_build_optimized_transformations (self); +#line 6979 "ColorTransformation.c" + } +#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = dest; +#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gdk_pixbuf_get_width (_tmp1_); +#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_width = _tmp2_; +#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = dest; +#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gdk_pixbuf_get_height (_tmp3_); +#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_height = _tmp4_; +#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = dest; +#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gdk_pixbuf_get_n_channels (_tmp5_); +#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_num_channels = _tmp6_; +#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = dest; +#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gdk_pixbuf_get_rowstride (_tmp7_); +#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_rowstride = _tmp8_; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = dest; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = gdk_pixbuf_get_pixels (_tmp9_); +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels = _tmp10_; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels_length1 = -1; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _dest_pixels_size_ = dest_pixels_length1; +#line 849 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + cache_pixel_ticker = 0; +#line 7017 "ColorTransformation.c" + { + gint j = 0; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = 0; +#line 7022 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7029 "ColorTransformation.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint row_start_index = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint row_end_index = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 7041 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = j; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = _tmp12_ + 1; +#line 7047 "ColorTransformation.c" + } +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = j; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = dest_height; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7059 "ColorTransformation.c" + } +#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = j; +#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = dest_rowstride; +#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_index = _tmp15_ * _tmp16_; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = row_start_index; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = dest_width; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = dest_num_channels; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_end_index = _tmp17_ + (_tmp18_ * _tmp19_); +#line 7075 "ColorTransformation.c" + { + gint i = 0; + gint _tmp20_ = 0; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = row_start_index; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp20_; +#line 7083 "ColorTransformation.c" + { + gboolean _tmp21_ = FALSE; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = TRUE; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7090 "ColorTransformation.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + RGBAnalyticPixel pixel = {0}; + gfloat* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + gfloat _tmp28_ = 0.0F; + gfloat* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + gfloat _tmp31_ = 0.0F; + gfloat* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + gfloat _tmp34_ = 0.0F; + gint _tmp35_ = 0; + RGBAnalyticPixel _tmp36_ = {0}; + RGBAnalyticPixel _tmp37_ = {0}; + guchar* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + RGBAnalyticPixel _tmp40_ = {0}; + gfloat _tmp41_ = 0.0F; + guchar _tmp42_ = '\0'; + guchar* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + RGBAnalyticPixel _tmp45_ = {0}; + gfloat _tmp46_ = 0.0F; + guchar _tmp47_ = '\0'; + guchar* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + RGBAnalyticPixel _tmp50_ = {0}; + gfloat _tmp51_ = 0.0F; + guchar _tmp52_ = '\0'; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp21_) { +#line 7129 "ColorTransformation.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = dest_num_channels; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp22_ + _tmp23_; +#line 7138 "ColorTransformation.c" + } +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = FALSE; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = i; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = row_end_index; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7150 "ColorTransformation.c" + } +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = *fp_pixel_cache; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = *fp_pixel_cache_length1; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = cache_pixel_ticker; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp26_[_tmp27_]; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = *fp_pixel_cache; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = *fp_pixel_cache_length1; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = cache_pixel_ticker; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp29_[_tmp30_ + 1]; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = *fp_pixel_cache; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = *fp_pixel_cache_length1; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = cache_pixel_ticker; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp32_[_tmp33_ + 2]; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_components (&pixel, _tmp28_, _tmp31_, _tmp34_); +#line 860 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = cache_pixel_ticker; +#line 860 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + cache_pixel_ticker = _tmp35_ + 3; +#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = pixel; +#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_apply_transformations (self, &_tmp36_, &_tmp37_); +#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel = _tmp37_; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = dest_pixels; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = dest_pixels_length1; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = i; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = pixel; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp40_.red; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_[_tmp39_] = (guchar) (_tmp41_ * 255.0f); +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp38_[_tmp39_]; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = dest_pixels; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43__length1 = dest_pixels_length1; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = i; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = pixel; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = _tmp45_.green; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_[_tmp44_ + 1] = (guchar) (_tmp46_ * 255.0f); +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp43_[_tmp44_ + 1]; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = dest_pixels; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = dest_pixels_length1; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = pixel; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_.blue; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_[_tmp49_ + 2] = (guchar) (_tmp51_ * 255.0f); +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp48_[_tmp49_ + 2]; +#line 7230 "ColorTransformation.c" + } + } + } + } + } + } +} + + +void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable) { + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GdkPixbuf* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GdkPixbuf* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + PixelTransformation** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint n_channels = 0; + GdkPixbuf* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint rowstride = 0; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint width = 0; + GdkPixbuf* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint height = 0; + GdkPixbuf* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint rowbytes = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + guchar* source_pixels = NULL; + GdkPixbuf* _tmp29_ = NULL; + guint8* _tmp30_ = NULL; + gint source_pixels_length1 = 0; + gint _source_pixels_size_ = 0; + guchar* dest_pixels = NULL; + GdkPixbuf* _tmp31_ = NULL; + guint8* _tmp32_ = NULL; + gint dest_pixels_length1 = 0; + gint _dest_pixels_size_ = 0; +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (source)); +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (dest)); +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = source; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gdk_pixbuf_get_width (_tmp0_); +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = dest; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gdk_pixbuf_get_width (_tmp3_); +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != _tmp5_) { +#line 874 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:874: PixelTransformer: source and destination" \ +" pixbufs must have the same width"); +#line 7310 "ColorTransformation.c" + } +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = source; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gdk_pixbuf_get_height (_tmp6_); +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp7_; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = dest; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = gdk_pixbuf_get_height (_tmp9_); +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp8_ != _tmp11_) { +#line 877 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:877: PixelTransformer: source and destination" \ +" pixbufs must have the same height"); +#line 7328 "ColorTransformation.c" + } +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = source; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = gdk_pixbuf_get_n_channels (_tmp12_); +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = _tmp13_; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = dest; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = gdk_pixbuf_get_n_channels (_tmp15_); +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp14_ != _tmp17_) { +#line 880 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:880: %s", "PixelTransformer: source and destination pixbufs must have the same nu" \ +"mber " "of channels"); +#line 7346 "ColorTransformation.c" + } +#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = self->priv->optimized_transformations; +#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = self->priv->optimized_transformations_length1; +#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp18_ == NULL) { +#line 884 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_build_optimized_transformations (self); +#line 7356 "ColorTransformation.c" + } +#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = source; +#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = gdk_pixbuf_get_n_channels (_tmp19_); +#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + n_channels = _tmp20_; +#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = source; +#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = gdk_pixbuf_get_rowstride (_tmp21_); +#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowstride = _tmp22_; +#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = source; +#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = gdk_pixbuf_get_width (_tmp23_); +#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + width = _tmp24_; +#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = source; +#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = gdk_pixbuf_get_height (_tmp25_); +#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + height = _tmp26_; +#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = n_channels; +#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = width; +#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowbytes = _tmp27_ * _tmp28_; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = source; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = gdk_pixbuf_get_pixels (_tmp29_); +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + source_pixels = _tmp30_; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + source_pixels_length1 = -1; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _source_pixels_size_ = source_pixels_length1; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = dest; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = gdk_pixbuf_get_pixels (_tmp31_); +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels = _tmp32_; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels_length1 = -1; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _dest_pixels_size_ = dest_pixels_length1; +#line 7408 "ColorTransformation.c" + { + gint j = 0; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = 0; +#line 7413 "ColorTransformation.c" + { + gboolean _tmp33_ = FALSE; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = TRUE; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7420 "ColorTransformation.c" + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint row_start_index = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint row_end_index = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gboolean _tmp70_ = FALSE; + GCancellable* _tmp71_ = NULL; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp33_) { +#line 7433 "ColorTransformation.c" + gint _tmp34_ = 0; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = j; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = _tmp34_ + 1; +#line 7439 "ColorTransformation.c" + } +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = FALSE; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = j; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = height; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp35_ < _tmp36_)) { +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7451 "ColorTransformation.c" + } +#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = j; +#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = rowstride; +#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_index = _tmp37_ * _tmp38_; +#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = row_start_index; +#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = rowbytes; +#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_end_index = _tmp39_ + _tmp40_; +#line 7465 "ColorTransformation.c" + { + gint i = 0; + gint _tmp41_ = 0; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = row_start_index; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp41_; +#line 7473 "ColorTransformation.c" + { + gboolean _tmp42_ = FALSE; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = TRUE; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7480 "ColorTransformation.c" + gint _tmp45_ = 0; + gint _tmp46_ = 0; + RGBAnalyticPixel current_pixel = {0}; + guchar* _tmp47_ = NULL; + gint _tmp47__length1 = 0; + gint _tmp48_ = 0; + guchar _tmp49_ = '\0'; + guchar* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + guchar _tmp52_ = '\0'; + guchar* _tmp53_ = NULL; + gint _tmp53__length1 = 0; + gint _tmp54_ = 0; + guchar _tmp55_ = '\0'; + RGBAnalyticPixel _tmp56_ = {0}; + RGBAnalyticPixel _tmp57_ = {0}; + guchar* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + guchar _tmp60_ = '\0'; + guchar _tmp61_ = '\0'; + guchar* _tmp62_ = NULL; + gint _tmp62__length1 = 0; + gint _tmp63_ = 0; + guchar _tmp64_ = '\0'; + guchar _tmp65_ = '\0'; + guchar* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gint _tmp67_ = 0; + guchar _tmp68_ = '\0'; + guchar _tmp69_ = '\0'; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp42_) { +#line 7515 "ColorTransformation.c" + gint _tmp43_ = 0; + gint _tmp44_ = 0; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = i; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = n_channels; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp43_ + _tmp44_; +#line 7524 "ColorTransformation.c" + } +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = FALSE; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = i; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = row_end_index; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp45_ < _tmp46_)) { +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7536 "ColorTransformation.c" + } +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = source_pixels; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47__length1 = source_pixels_length1; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = i; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = _tmp47_[_tmp48_]; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = source_pixels; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50__length1 = source_pixels_length1; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = i; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp50_[_tmp51_ + 1]; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = source_pixels; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53__length1 = source_pixels_length1; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = i; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = _tmp53_[_tmp54_ + 2]; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_quantized_components (¤t_pixel, _tmp49_, _tmp52_, _tmp55_); +#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = current_pixel; +#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_apply_transformations (self, &_tmp56_, &_tmp57_); +#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_pixel = _tmp57_; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = dest_pixels; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = dest_pixels_length1; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = i; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = rgb_analytic_pixel_quantized_red (¤t_pixel); +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_[_tmp59_] = _tmp60_; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp58_[_tmp59_]; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = dest_pixels; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62__length1 = dest_pixels_length1; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = i; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = rgb_analytic_pixel_quantized_green (¤t_pixel); +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_[_tmp63_ + 1] = _tmp64_; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = _tmp62_[_tmp63_ + 1]; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = dest_pixels; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66__length1 = dest_pixels_length1; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = i; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = rgb_analytic_pixel_quantized_blue (¤t_pixel); +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_[_tmp67_ + 2] = _tmp68_; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = _tmp66_[_tmp67_ + 2]; +#line 7606 "ColorTransformation.c" + } + } + } +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = cancellable; +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp71_ != NULL) { +#line 7614 "ColorTransformation.c" + GCancellable* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = cancellable; +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = g_cancellable_is_cancelled (_tmp72_); +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = _tmp73_; +#line 7623 "ColorTransformation.c" + } else { +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = FALSE; +#line 7627 "ColorTransformation.c" + } +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp70_) { +#line 908 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 7633 "ColorTransformation.c" + } + } + } + } +} + + +static void value_pixel_transformer_init (GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7644 "ColorTransformation.c" +} + + +static void value_pixel_transformer_free_value (GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_unref (value->data[0].v_pointer); +#line 7653 "ColorTransformation.c" + } +} + + +static void value_pixel_transformer_copy_value (const GValue* src_value, GValue* dest_value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = pixel_transformer_ref (src_value->data[0].v_pointer); +#line 7663 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 7667 "ColorTransformation.c" + } +} + + +static gpointer value_pixel_transformer_peek_pointer (const GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 7675 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 7682 "ColorTransformation.c" + PixelTransformer* object; + object = collect_values[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7689 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7693 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = pixel_transformer_ref (object); +#line 7697 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7701 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 7705 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PixelTransformer** object_p; + object_p = collect_values[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 7716 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 7722 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 7726 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = pixel_transformer_ref (value->data[0].v_pointer); +#line 7730 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 7734 "ColorTransformation.c" +} + + +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPixelTransformer* spec; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMER), NULL); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 7748 "ColorTransformation.c" +} + + +gpointer value_get_pixel_transformer (const GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER), NULL); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 7757 "ColorTransformation.c" +} + + +void value_set_pixel_transformer (GValue* value, gpointer v_object) { + PixelTransformer* old; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_ref (value->data[0].v_pointer); +#line 7777 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7781 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_unref (old); +#line 7787 "ColorTransformation.c" + } +} + + +void value_take_pixel_transformer (GValue* value, gpointer v_object) { + PixelTransformer* old; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 7806 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7810 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_unref (old); +#line 7816 "ColorTransformation.c" + } +} + + +static void pixel_transformer_class_init (PixelTransformerClass * klass) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_parent_class = g_type_class_peek_parent (klass); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformerClass *) klass)->finalize = pixel_transformer_finalize; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (PixelTransformerPrivate)); +#line 7828 "ColorTransformation.c" +} + + +static void pixel_transformer_instance_init (PixelTransformer * self) { + GeeArrayList* _tmp0_ = NULL; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = PIXEL_TRANSFORMER_GET_PRIVATE (self); +#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = gee_array_list_new (TYPE_PIXEL_TRANSFORMATION, (GBoxedCopyFunc) pixel_transformation_ref, pixel_transformation_unref, NULL, NULL, NULL); +#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->transformations = _tmp0_; +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 735 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_slots_used = 0; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 7850 "ColorTransformation.c" +} + + +static void pixel_transformer_finalize (PixelTransformer* obj) { + PixelTransformer * self; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMER, PixelTransformer); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->transformations); +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 7864 "ColorTransformation.c" +} + + +GType pixel_transformer_get_type (void) { + static volatile gsize pixel_transformer_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformer_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_pixel_transformer_init, value_pixel_transformer_free_value, value_pixel_transformer_copy_value, value_pixel_transformer_peek_pointer, "p", value_pixel_transformer_collect_value, "p", value_pixel_transformer_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PixelTransformerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformer), 0, (GInstanceInitFunc) pixel_transformer_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType pixel_transformer_type_id; + pixel_transformer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformer", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&pixel_transformer_type_id__volatile, pixel_transformer_type_id); + } + return pixel_transformer_type_id__volatile; +} + + +gpointer pixel_transformer_ref (gpointer instance) { + PixelTransformer* self; + self = instance; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 7889 "ColorTransformation.c" +} + + +void pixel_transformer_unref (gpointer instance) { + PixelTransformer* self; + self = instance; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMER_GET_CLASS (self)->finalize (self); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 7902 "ColorTransformation.c" + } +} + + +RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf) { + RGBHistogram* self = NULL; + gint sample_bytes = 0; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint pixel_bytes = 0; + gint _tmp2_ = 0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint row_length_bytes = 0; + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + guchar* pixel_data = NULL; + GdkPixbuf* _tmp9_ = NULL; + guint8* _tmp10_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (RGBHistogram*) g_type_create_instance (object_type); +#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixbuf; +#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gdk_pixbuf_get_bits_per_sample (_tmp0_); +#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + sample_bytes = _tmp1_ / 8; +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = sample_bytes; +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = pixbuf; +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gdk_pixbuf_get_n_channels (_tmp3_); +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_bytes = _tmp2_ * _tmp4_; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = pixel_bytes; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = pixbuf; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gdk_pixbuf_get_width (_tmp6_); +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp7_; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_length_bytes = _tmp5_ * _tmp8_; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = pixbuf; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = gdk_pixbuf_get_pixels (_tmp9_); +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data = _tmp10_; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data_length1 = -1; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_data_size_ = pixel_data_length1; +#line 7964 "ColorTransformation.c" + { + gint y = 0; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = 0; +#line 7969 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7976 "ColorTransformation.c" + gint _tmp13_ = 0; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint row_start_offset = 0; + gint _tmp17_ = 0; + GdkPixbuf* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint r_offset = 0; + gint _tmp21_ = 0; + gint g_offset = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint b_offset = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 7997 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = y; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = _tmp12_ + 1; +#line 8003 "ColorTransformation.c" + } +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = y; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = pixbuf; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = gdk_pixbuf_get_height (_tmp14_); +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = _tmp15_; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ < _tmp16_)) { +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 8019 "ColorTransformation.c" + } +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = y; +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = pixbuf; +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = gdk_pixbuf_get_rowstride (_tmp18_); +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp19_; +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_offset = _tmp17_ * _tmp20_; +#line 940 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = row_start_offset; +#line 940 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + r_offset = _tmp21_; +#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = row_start_offset; +#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = sample_bytes; +#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_offset = _tmp22_ + _tmp23_; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = row_start_offset; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = sample_bytes; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = sample_bytes; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + b_offset = (_tmp24_ + _tmp25_) + _tmp26_; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 8051 "ColorTransformation.c" + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + guchar* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + guchar _tmp33_ = '\0'; + gint _tmp34_ = 0; + gint* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + guchar* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + guchar _tmp38_ = '\0'; + gint _tmp39_ = 0; + gint* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + guchar* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gint _tmp42_ = 0; + guchar _tmp43_ = '\0'; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = b_offset; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = row_start_offset; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = row_length_bytes; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp27_ < (_tmp28_ + _tmp29_))) { +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 8092 "ColorTransformation.c" + } +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = self->priv->red_counts; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30__length1 = self->priv->red_counts_length1; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = pixel_data; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = pixel_data_length1; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = r_offset; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_[_tmp33_] += 1; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp30_[_tmp33_]; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = self->priv->green_counts; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35__length1 = self->priv->green_counts_length1; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = pixel_data; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = pixel_data_length1; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = g_offset; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp36_[_tmp37_]; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_[_tmp38_] += 1; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp35_[_tmp38_]; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = self->priv->blue_counts; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40__length1 = self->priv->blue_counts_length1; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = pixel_data; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41__length1 = pixel_data_length1; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = b_offset; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp41_[_tmp42_]; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_[_tmp43_] += 1; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp40_[_tmp43_]; +#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = r_offset; +#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = pixel_bytes; +#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + r_offset = _tmp45_ + _tmp46_; +#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = g_offset; +#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = pixel_bytes; +#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_offset = _tmp47_ + _tmp48_; +#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = b_offset; +#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = pixel_bytes; +#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + b_offset = _tmp49_ + _tmp50_; +#line 8160 "ColorTransformation.c" + } + } + } + } +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 8167 "ColorTransformation.c" +} + + +RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf) { +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return rgb_histogram_construct (TYPE_RGB_HISTOGRAM, pixbuf); +#line 8174 "ColorTransformation.c" +} + + +static gint rgb_histogram_correct_snap_to_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i) { + gint result = 0; + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp4_ = 0; + gint* _tmp54_ = NULL; + gint _tmp54__length1 = 0; + gint _tmp55_ = 0; + gint _tmp56_ = 0; +#line 956 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM (self), 0); +#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = buckets; +#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = buckets_length1; +#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp0__length1 == 256, "buckets.length == 256"); +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ >= 0) { +#line 8201 "ColorTransformation.c" + gint _tmp3_ = 0; +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp3_ <= 255; +#line 8207 "ColorTransformation.c" + } else { +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 8211 "ColorTransformation.c" + } +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp1_, "(i >= 0) && (i <= 255)"); +#line 960 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = i; +#line 960 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp4_ == 0) { +#line 8219 "ColorTransformation.c" + gint* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = buckets; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = buckets_length1; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp7_ > 0) { +#line 8234 "ColorTransformation.c" + gint* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = buckets; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = buckets_length1; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[_tmp9_ + 1]; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp10_ > 0) { +#line 8249 "ColorTransformation.c" + gint* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = buckets; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = buckets_length1; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = i; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = buckets; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = buckets_length1; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = i; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = _tmp14_[_tmp15_ + 1]; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp13_ > (2 * _tmp16_)) { +#line 8276 "ColorTransformation.c" + gint* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = buckets; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17__length1 = buckets_length1; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = i; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp17_[_tmp18_ + 1]; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp19_; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8293 "ColorTransformation.c" + } + } + } + } else { + gint _tmp20_ = 0; +#line 965 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = i; +#line 965 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp20_ == 255) { +#line 8303 "ColorTransformation.c" + gint* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = buckets; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21__length1 = buckets_length1; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp21_[_tmp22_]; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp23_ > 0) { +#line 8318 "ColorTransformation.c" + gint* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = buckets; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = buckets_length1; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = i; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp24_[_tmp25_ - 1]; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp26_ > 0) { +#line 8333 "ColorTransformation.c" + gint* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = buckets; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = buckets_length1; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = i; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp27_[_tmp28_]; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = buckets; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30__length1 = buckets_length1; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = i; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = _tmp30_[_tmp31_ - 1]; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp29_ > (2 * _tmp32_)) { +#line 8360 "ColorTransformation.c" + gint* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = buckets; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33__length1 = buckets_length1; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = i; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp33_[_tmp34_ - 1]; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp35_; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8377 "ColorTransformation.c" + } + } + } + } else { + gint* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = buckets; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = buckets_length1; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = i; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp36_[_tmp37_]; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp38_ > 0) { +#line 8396 "ColorTransformation.c" + gint* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gint* _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = buckets; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39__length1 = buckets_length1; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = i; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp39_[_tmp40_]; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = buckets; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42__length1 = buckets_length1; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = i; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp42_[_tmp43_ - 1]; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = buckets; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45__length1 = buckets_length1; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = i; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp45_[_tmp46_ + 1]; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp41_ > ((_tmp44_ + _tmp47_) / 2)) { +#line 8435 "ColorTransformation.c" + gint* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + gint* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = buckets; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = buckets_length1; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = _tmp48_[_tmp49_ - 1]; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = buckets; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51__length1 = buckets_length1; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = i; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = _tmp51_[_tmp52_ + 1]; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (_tmp50_ + _tmp53_) / 2; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8464 "ColorTransformation.c" + } + } + } + } +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = buckets; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54__length1 = buckets_length1; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = i; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = _tmp54_[_tmp55_]; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp56_; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8481 "ColorTransformation.c" +} + + +static gint rgb_histogram_correct_snap_from_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i) { + gint result = 0; + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp4_ = 0; + gint* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 979 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM (self), 0); +#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = buckets; +#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = buckets_length1; +#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp0__length1 == 256, "buckets.length == 256"); +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ >= 0) { +#line 8508 "ColorTransformation.c" + gint _tmp3_ = 0; +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp3_ <= 255; +#line 8514 "ColorTransformation.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 8518 "ColorTransformation.c" + } +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp1_, "(i >= 0) && (i <= 255)"); +#line 983 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = i; +#line 983 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp4_ == 0) { +#line 8526 "ColorTransformation.c" + gint* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = buckets; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = buckets_length1; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp7_; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8543 "ColorTransformation.c" + } else { + gint _tmp8_ = 0; +#line 985 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = i; +#line 985 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp8_ == 255) { +#line 8550 "ColorTransformation.c" + gint* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = buckets; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9__length1 = buckets_length1; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = i; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp11_; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8567 "ColorTransformation.c" + } else { + gint* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = buckets; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = buckets_length1; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = i; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp14_ == 0) { +#line 8583 "ColorTransformation.c" + gint* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = buckets; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15__length1 = buckets_length1; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = i; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp15_[_tmp16_ - 1]; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp17_ > 0) { +#line 8598 "ColorTransformation.c" + gint* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = buckets; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = buckets_length1; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = i; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp18_[_tmp19_ + 1]; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp20_ > 0) { +#line 8613 "ColorTransformation.c" + gint* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = buckets; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21__length1 = buckets_length1; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp21_[_tmp22_ - 1]; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = buckets; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = buckets_length1; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = i; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp24_[_tmp25_ + 1]; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (_tmp23_ + _tmp26_) / 2; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8642 "ColorTransformation.c" + } + } + } + } + } +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = buckets; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = buckets_length1; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = i; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp27_[_tmp28_]; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp29_; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8660 "ColorTransformation.c" +} + + +static void rgb_histogram_smooth_extrema (RGBHistogram* self, gint** count_data, int* count_data_length1) { + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gint* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + gint* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + gint* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + gint* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + gint* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gint _tmp35_ = 0; + gint* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + gint* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + gint* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gint _tmp45_ = 0; + gint* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gint _tmp47_ = 0; + gint* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + gint* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + gint* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gint* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + gint* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gint _tmp57_ = 0; + gint* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gint* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gint* _tmp63_ = NULL; + gint _tmp63__length1 = 0; + gint* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gint* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gint _tmp67_ = 0; + gint* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gint _tmp69_ = 0; + gint* _tmp70_ = NULL; + gint _tmp70__length1 = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + gint* _tmp74_ = NULL; + gint _tmp74__length1 = 0; + gint _tmp75_ = 0; + gint* _tmp76_ = NULL; + gint _tmp76__length1 = 0; + gint _tmp77_ = 0; + gint* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gint _tmp79_ = 0; + gint* _tmp80_ = NULL; + gint _tmp80__length1 = 0; + gint _tmp81_ = 0; + gint* _tmp82_ = NULL; + gint _tmp82__length1 = 0; + gint _tmp83_ = 0; + gint _tmp84_ = 0; + gint* _tmp85_ = NULL; + gint _tmp85__length1 = 0; + gint* _tmp86_ = NULL; + gint _tmp86__length1 = 0; + gint _tmp87_ = 0; + gint* _tmp88_ = NULL; + gint _tmp88__length1 = 0; + gint _tmp89_ = 0; + gint* _tmp90_ = NULL; + gint _tmp90__length1 = 0; + gint _tmp91_ = 0; + gint* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + gint _tmp93_ = 0; + gint* _tmp94_ = NULL; + gint _tmp94__length1 = 0; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + gint* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gint* _tmp98_ = NULL; + gint _tmp98__length1 = 0; + gint _tmp99_ = 0; + gint* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gint _tmp101_ = 0; + gint* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + gint _tmp103_ = 0; + gint* _tmp104_ = NULL; + gint _tmp104__length1 = 0; + gint _tmp105_ = 0; + gint* _tmp106_ = NULL; + gint _tmp106__length1 = 0; + gint _tmp107_ = 0; + gint _tmp108_ = 0; +#line 997 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_RGB_HISTOGRAM (self)); +#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *count_data; +#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = *count_data_length1; +#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp0__length1 == 256, "count_data.length == 256"); +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_[0]; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_[1]; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_[2]; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[0] = (((5 * _tmp3_) + (3 * _tmp5_)) + (2 * _tmp7_)) / 10; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp1_[0]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_[0]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_[1]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp14_[2]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_[3]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_[1] = ((((3 * _tmp11_) + (5 * _tmp13_)) + (3 * _tmp15_)) + (2 * _tmp17_)) / 13; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _tmp9_[1]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp20_[0]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_[1]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp24_[2]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = _tmp26_[3]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_[4]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_[2] = (((((2 * _tmp21_) + (3 * _tmp23_)) + (5 * _tmp25_)) + (3 * _tmp27_)) + (2 * _tmp29_)) / 15; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = _tmp19_[2]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = _tmp32_[1]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp34_[2]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_[3]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_[4]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp40_[5]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_[3] = (((((2 * _tmp33_) + (3 * _tmp35_)) + (5 * _tmp37_)) + (3 * _tmp39_)) + (2 * _tmp41_)) / 15; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp31_[3]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_[2]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_[3]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = _tmp48_[4]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_[5]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = _tmp52_[6]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_[4] = (((((2 * _tmp45_) + (3 * _tmp47_)) + (5 * _tmp49_)) + (3 * _tmp51_)) + (2 * _tmp53_)) / 15; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp43_[4]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = _tmp56_[255]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = _tmp58_[254]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp60_[253]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_[255] = (((5 * _tmp57_) + (3 * _tmp59_)) + (2 * _tmp61_)) / 10; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = _tmp55_[255]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = _tmp64_[255]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = _tmp66_[254]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = _tmp68_[253]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = _tmp70_[252]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_[254] = ((((3 * _tmp65_) + (5 * _tmp67_)) + (3 * _tmp69_)) + (2 * _tmp71_)) / 13; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = _tmp63_[254]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = _tmp74_[255]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = _tmp76_[254]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = _tmp78_[253]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = _tmp80_[252]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp82_[251]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_[253] = (((((2 * _tmp75_) + (3 * _tmp77_)) + (5 * _tmp79_)) + (3 * _tmp81_)) + (2 * _tmp83_)) / 15; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = _tmp73_[253]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = _tmp86_[254]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = _tmp88_[253]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = _tmp90_[252]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = _tmp92_[251]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = _tmp94_[250]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_[252] = (((((2 * _tmp87_) + (3 * _tmp89_)) + (5 * _tmp91_)) + (3 * _tmp93_)) + (2 * _tmp95_)) / 15; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = _tmp85_[252]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = _tmp98_[253]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = _tmp100_[252]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = _tmp102_[251]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = _tmp104_[250]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = _tmp106_[249]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_[251] = (((((2 * _tmp99_) + (3 * _tmp101_)) + (5 * _tmp103_)) + (3 * _tmp105_)) + (2 * _tmp107_)) / 15; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = _tmp97_[251]; +#line 9181 "ColorTransformation.c" +} + + +static void rgb_histogram_prepare_qualitative_counts (RGBHistogram* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gint* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint* _tmp5_ = NULL; + gint* _tmp6_ = NULL; + gint* _tmp7_ = NULL; + gint* temp_red_counts = NULL; + gint* _tmp8_ = NULL; + gint temp_red_counts_length1 = 0; + gint _temp_red_counts_size_ = 0; + gint* temp_green_counts = NULL; + gint* _tmp9_ = NULL; + gint temp_green_counts_length1 = 0; + gint _temp_green_counts_size_ = 0; + gint* temp_blue_counts = NULL; + gint* _tmp10_ = NULL; + gint temp_blue_counts_length1 = 0; + gint _temp_blue_counts_size_ = 0; + gint mean_qual_count = 0; + gint _tmp87_ = 0; + gint constrained_max_qual_count = 0; + gint _tmp88_ = 0; +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_RGB_HISTOGRAM (self)); +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->qualitative_red_counts; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = self->priv->qualitative_red_counts_length1; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != NULL) { +#line 9217 "ColorTransformation.c" + gint* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->qualitative_green_counts; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3__length1 = self->priv->qualitative_green_counts_length1; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp3_ != NULL; +#line 9226 "ColorTransformation.c" + } else { +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 9230 "ColorTransformation.c" + } +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_) { +#line 9234 "ColorTransformation.c" + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = self->priv->qualitative_blue_counts; +#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = self->priv->qualitative_blue_counts_length1; +#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp4_ != NULL; +#line 9243 "ColorTransformation.c" + } else { +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 9247 "ColorTransformation.c" + } +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_) { +#line 1030 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 9253 "ColorTransformation.c" + } +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = g_new0 (gint, 256); +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = (g_free (self->priv->qualitative_red_counts), NULL); +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = _tmp5_; +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts_length1 = 256; +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_red_counts_size_ = self->priv->qualitative_red_counts_length1; +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = g_new0 (gint, 256); +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = (g_free (self->priv->qualitative_green_counts), NULL); +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = _tmp6_; +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts_length1 = 256; +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_green_counts_size_ = self->priv->qualitative_green_counts_length1; +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = g_new0 (gint, 256); +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = (g_free (self->priv->qualitative_blue_counts), NULL); +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = _tmp7_; +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts_length1 = 256; +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_blue_counts_size_ = self->priv->qualitative_blue_counts_length1; +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = g_new0 (gint, 256); +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_red_counts = _tmp8_; +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_red_counts_length1 = 256; +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _temp_red_counts_size_ = temp_red_counts_length1; +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = g_new0 (gint, 256); +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_green_counts = _tmp9_; +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_green_counts_length1 = 256; +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _temp_green_counts_size_ = temp_green_counts_length1; +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = g_new0 (gint, 256); +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_blue_counts = _tmp10_; +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_blue_counts_length1 = 256; +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _temp_blue_counts_size_ = temp_blue_counts_length1; +#line 9309 "ColorTransformation.c" + { + gint i = 0; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9314 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9321 "ColorTransformation.c" + gint _tmp13_ = 0; + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + gint* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 9349 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = i; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp12_ + 1; +#line 9355 "ColorTransformation.c" + } +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = i; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ < 256)) { +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9365 "ColorTransformation.c" + } +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = self->priv->qualitative_red_counts; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = self->priv->qualitative_red_counts_length1; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = i; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = self->priv->red_counts; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16__length1 = self->priv->red_counts_length1; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = i; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = rgb_histogram_correct_snap_from_quantization (self, _tmp16_, _tmp16__length1, _tmp17_); +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_[_tmp15_] = _tmp18_; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp14_[_tmp15_]; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = self->priv->qualitative_green_counts; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20__length1 = self->priv->qualitative_green_counts_length1; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = i; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = self->priv->green_counts; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = self->priv->green_counts_length1; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = i; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = rgb_histogram_correct_snap_from_quantization (self, _tmp22_, _tmp22__length1, _tmp23_); +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_[_tmp21_] = _tmp24_; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp20_[_tmp21_]; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = self->priv->qualitative_blue_counts; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = self->priv->qualitative_blue_counts_length1; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = i; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = self->priv->blue_counts; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28__length1 = self->priv->blue_counts_length1; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = i; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = rgb_histogram_correct_snap_from_quantization (self, _tmp28_, _tmp28__length1, _tmp29_); +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_[_tmp27_] = _tmp30_; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp26_[_tmp27_]; +#line 9421 "ColorTransformation.c" + } + } + } + { + gint i = 0; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9429 "ColorTransformation.c" + { + gboolean _tmp32_ = FALSE; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = TRUE; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9436 "ColorTransformation.c" + gint _tmp34_ = 0; + gint* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gint _tmp36_ = 0; + gint* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gint _tmp42_ = 0; + gint* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint* _tmp47_ = NULL; + gint _tmp47__length1 = 0; + gint _tmp48_ = 0; + gint* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + gint _tmp52_ = 0; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp32_) { +#line 9464 "ColorTransformation.c" + gint _tmp33_ = 0; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = i; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp33_ + 1; +#line 9470 "ColorTransformation.c" + } +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = FALSE; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = i; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp34_ < 256)) { +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9480 "ColorTransformation.c" + } +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = temp_red_counts; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35__length1 = temp_red_counts_length1; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = i; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = self->priv->qualitative_red_counts; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37__length1 = self->priv->qualitative_red_counts_length1; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = i; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp37_[_tmp38_]; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_[_tmp36_] = _tmp39_; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = _tmp35_[_tmp36_]; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = temp_green_counts; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41__length1 = temp_green_counts_length1; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = i; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = self->priv->qualitative_green_counts; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43__length1 = self->priv->qualitative_green_counts_length1; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = i; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp43_[_tmp44_]; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_[_tmp42_] = _tmp45_; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = _tmp41_[_tmp42_]; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = temp_blue_counts; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47__length1 = temp_blue_counts_length1; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = i; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = self->priv->qualitative_blue_counts; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49__length1 = self->priv->qualitative_blue_counts_length1; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = i; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp49_[_tmp50_]; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_[_tmp48_] = _tmp51_; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp47_[_tmp48_]; +#line 9536 "ColorTransformation.c" + } + } + } + { + gint i = 0; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9544 "ColorTransformation.c" + { + gboolean _tmp53_ = FALSE; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = TRUE; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9551 "ColorTransformation.c" + gint _tmp55_ = 0; + gint* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gint _tmp57_ = 0; + gint* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + gint* _tmp62_ = NULL; + gint _tmp62__length1 = 0; + gint _tmp63_ = 0; + gint* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gint _tmp69_ = 0; + gint* _tmp70_ = NULL; + gint _tmp70__length1 = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp73_ = 0; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp53_) { +#line 9579 "ColorTransformation.c" + gint _tmp54_ = 0; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = i; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp54_ + 1; +#line 9585 "ColorTransformation.c" + } +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = FALSE; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = i; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp55_ < 256)) { +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9595 "ColorTransformation.c" + } +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = self->priv->qualitative_red_counts; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = self->priv->qualitative_red_counts_length1; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = i; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = temp_red_counts; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = temp_red_counts_length1; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = i; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = rgb_histogram_correct_snap_to_quantization (self, _tmp58_, _tmp58__length1, _tmp59_); +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_[_tmp57_] = _tmp60_; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp56_[_tmp57_]; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = self->priv->qualitative_green_counts; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62__length1 = self->priv->qualitative_green_counts_length1; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = i; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = temp_green_counts; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64__length1 = temp_green_counts_length1; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = i; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = rgb_histogram_correct_snap_to_quantization (self, _tmp64_, _tmp64__length1, _tmp65_); +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_[_tmp63_] = _tmp66_; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = _tmp62_[_tmp63_]; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = self->priv->qualitative_blue_counts; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68__length1 = self->priv->qualitative_blue_counts_length1; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = i; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = temp_blue_counts; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70__length1 = temp_blue_counts_length1; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = i; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = rgb_histogram_correct_snap_to_quantization (self, _tmp70_, _tmp70__length1, _tmp71_); +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_[_tmp69_] = _tmp72_; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = _tmp68_[_tmp69_]; +#line 9651 "ColorTransformation.c" + } + } + } +#line 1072 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + mean_qual_count = 0; +#line 9657 "ColorTransformation.c" + { + gint i = 0; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9662 "ColorTransformation.c" + { + gboolean _tmp74_ = FALSE; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = TRUE; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9669 "ColorTransformation.c" + gint _tmp76_ = 0; + gint _tmp77_ = 0; + gint* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gint _tmp79_ = 0; + gint _tmp80_ = 0; + gint* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + gint* _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gint _tmp85_ = 0; + gint _tmp86_ = 0; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp74_) { +#line 9686 "ColorTransformation.c" + gint _tmp75_ = 0; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = i; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp75_ + 1; +#line 9692 "ColorTransformation.c" + } +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = FALSE; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = i; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp76_ < 256)) { +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9702 "ColorTransformation.c" + } +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = mean_qual_count; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = self->priv->qualitative_red_counts; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78__length1 = self->priv->qualitative_red_counts_length1; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = i; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = _tmp78_[_tmp79_]; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = self->priv->qualitative_green_counts; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81__length1 = self->priv->qualitative_green_counts_length1; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = i; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp81_[_tmp82_]; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = self->priv->qualitative_blue_counts; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84__length1 = self->priv->qualitative_blue_counts_length1; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = i; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = _tmp84_[_tmp85_]; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + mean_qual_count = _tmp77_ + ((_tmp80_ + _tmp83_) + _tmp86_); +#line 9732 "ColorTransformation.c" + } + } + } +#line 1077 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = mean_qual_count; +#line 1077 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + mean_qual_count = _tmp87_ / (256 * 3); +#line 1078 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = mean_qual_count; +#line 1078 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + constrained_max_qual_count = 8 * _tmp88_; +#line 9744 "ColorTransformation.c" + { + gint i = 0; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9749 "ColorTransformation.c" + { + gboolean _tmp89_ = FALSE; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = TRUE; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9756 "ColorTransformation.c" + gint _tmp91_ = 0; + gint* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + gint _tmp93_ = 0; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + gint* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gint _tmp101_ = 0; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + gint* _tmp108_ = NULL; + gint _tmp108__length1 = 0; + gint _tmp109_ = 0; + gint _tmp110_ = 0; + gint _tmp111_ = 0; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp89_) { +#line 9775 "ColorTransformation.c" + gint _tmp90_ = 0; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = i; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp90_ + 1; +#line 9781 "ColorTransformation.c" + } +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = FALSE; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = i; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp91_ < 256)) { +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9791 "ColorTransformation.c" + } +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = self->priv->qualitative_red_counts; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92__length1 = self->priv->qualitative_red_counts_length1; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = i; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = _tmp92_[_tmp93_]; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = constrained_max_qual_count; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp94_ > _tmp95_) { +#line 9805 "ColorTransformation.c" + gint* _tmp96_ = NULL; + gint _tmp96__length1 = 0; + gint _tmp97_ = 0; + gint _tmp98_ = 0; + gint _tmp99_ = 0; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = self->priv->qualitative_red_counts; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96__length1 = self->priv->qualitative_red_counts_length1; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = i; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = constrained_max_qual_count; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_[_tmp97_] = _tmp98_; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = _tmp96_[_tmp97_]; +#line 9823 "ColorTransformation.c" + } +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = self->priv->qualitative_green_counts; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100__length1 = self->priv->qualitative_green_counts_length1; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = i; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = _tmp100_[_tmp101_]; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = constrained_max_qual_count; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp102_ > _tmp103_) { +#line 9837 "ColorTransformation.c" + gint* _tmp104_ = NULL; + gint _tmp104__length1 = 0; + gint _tmp105_ = 0; + gint _tmp106_ = 0; + gint _tmp107_ = 0; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = self->priv->qualitative_green_counts; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104__length1 = self->priv->qualitative_green_counts_length1; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = i; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = constrained_max_qual_count; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_[_tmp105_] = _tmp106_; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = _tmp104_[_tmp105_]; +#line 9855 "ColorTransformation.c" + } +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = self->priv->qualitative_blue_counts; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108__length1 = self->priv->qualitative_blue_counts_length1; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp109_ = i; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_ = _tmp108_[_tmp109_]; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp111_ = constrained_max_qual_count; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp110_ > _tmp111_) { +#line 9869 "ColorTransformation.c" + gint* _tmp112_ = NULL; + gint _tmp112__length1 = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + gint _tmp115_ = 0; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_ = self->priv->qualitative_blue_counts; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112__length1 = self->priv->qualitative_blue_counts_length1; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_ = i; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp114_ = constrained_max_qual_count; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_[_tmp113_] = _tmp114_; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_ = _tmp112_[_tmp113_]; +#line 9887 "ColorTransformation.c" + } + } + } + } +#line 1090 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_smooth_extrema (self, &self->priv->qualitative_red_counts, &self->priv->qualitative_red_counts_length1); +#line 1091 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_smooth_extrema (self, &self->priv->qualitative_green_counts, &self->priv->qualitative_green_counts_length1); +#line 1092 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_smooth_extrema (self, &self->priv->qualitative_blue_counts, &self->priv->qualitative_blue_counts_length1); +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_blue_counts = (g_free (temp_blue_counts), NULL); +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_green_counts = (g_free (temp_green_counts), NULL); +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_red_counts = (g_free (temp_red_counts), NULL); +#line 9904 "ColorTransformation.c" +} + + +GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp121_ = NULL; + GdkPixbuf* _tmp122_ = NULL; +#line 1095 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM (self), NULL); +#line 1096 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->graphic; +#line 1096 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == NULL) { +#line 9919 "ColorTransformation.c" + gint max_count = 0; + GdkPixbuf* _tmp25_ = NULL; + gint rowstride = 0; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint sample_bytes = 0; + GdkPixbuf* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint pixel_bytes = 0; + gint _tmp31_ = 0; + GdkPixbuf* _tmp32_ = NULL; + gint _tmp33_ = 0; + gdouble scale_bar = 0.0; + gint _tmp34_ = 0; + guchar* pixel_data = NULL; + GdkPixbuf* _tmp35_ = NULL; + guint8* _tmp36_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; + gint _tmp37_ = 0; +#line 1097 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_prepare_qualitative_counts (self); +#line 1098 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = 0; +#line 9945 "ColorTransformation.c" + { + gint i = 0; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9950 "ColorTransformation.c" + { + gboolean _tmp1_ = FALSE; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = TRUE; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9957 "ColorTransformation.c" + gint _tmp3_ = 0; + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp1_) { +#line 9976 "ColorTransformation.c" + gint _tmp2_ = 0; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp2_ + 1; +#line 9982 "ColorTransformation.c" + } +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp3_ < 256)) { +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9992 "ColorTransformation.c" + } +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = self->priv->qualitative_red_counts; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = self->priv->qualitative_red_counts_length1; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = i; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = max_count; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp6_ > _tmp7_) { +#line 10006 "ColorTransformation.c" + gint* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = self->priv->qualitative_red_counts; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = self->priv->qualitative_red_counts_length1; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = _tmp10_; +#line 10021 "ColorTransformation.c" + } +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = self->priv->qualitative_green_counts; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = self->priv->qualitative_green_counts_length1; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = i; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = max_count; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp13_ > _tmp14_) { +#line 10035 "ColorTransformation.c" + gint* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = self->priv->qualitative_green_counts; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15__length1 = self->priv->qualitative_green_counts_length1; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = i; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp15_[_tmp16_]; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = _tmp17_; +#line 10050 "ColorTransformation.c" + } +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = self->priv->qualitative_blue_counts; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = self->priv->qualitative_blue_counts_length1; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = i; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp18_[_tmp19_]; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = max_count; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp20_ > _tmp21_) { +#line 10064 "ColorTransformation.c" + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = self->priv->qualitative_blue_counts; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = self->priv->qualitative_blue_counts_length1; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = i; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = _tmp22_[_tmp23_]; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = _tmp24_; +#line 10079 "ColorTransformation.c" + } + } + } + } +#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, RGB_HISTOGRAM_GRAPHIC_WIDTH, RGB_HISTOGRAM_GRAPHIC_HEIGHT); +#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->graphic); +#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->graphic = _tmp25_; +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = self->priv->graphic; +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = gdk_pixbuf_get_rowstride (_tmp26_); +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp27_; +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowstride = _tmp28_; +#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = self->priv->graphic; +#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = gdk_pixbuf_get_bits_per_sample (_tmp29_); +#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + sample_bytes = _tmp30_ / 8; +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = sample_bytes; +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = self->priv->graphic; +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = gdk_pixbuf_get_n_channels (_tmp32_); +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_bytes = _tmp31_ * _tmp33_; +#line 1115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = max_count; +#line 1115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + scale_bar = (0.98 * ((gdouble) RGB_HISTOGRAM_GRAPHIC_HEIGHT)) / ((gdouble) _tmp34_); +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = self->priv->graphic; +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = gdk_pixbuf_get_pixels (_tmp35_); +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data = _tmp36_; +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data_length1 = -1; +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_data_size_ = pixel_data_length1; +#line 1122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = max_count; +#line 1122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp37_ == 0) { +#line 10130 "ColorTransformation.c" + GdkPixbuf* _tmp51_ = NULL; + GdkPixbuf* _tmp52_ = NULL; + { + gint i = 0; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 10137 "ColorTransformation.c" + { + gboolean _tmp38_ = FALSE; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = TRUE; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10144 "ColorTransformation.c" + gint _tmp40_ = 0; + gint _tmp41_ = 0; + GdkPixbuf* _tmp42_ = NULL; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + GdkPixbuf* _tmp45_ = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + guchar* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + guchar _tmp50_ = '\0'; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp38_) { +#line 10159 "ColorTransformation.c" + gint _tmp39_ = 0; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = i; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp39_ + 1; +#line 10165 "ColorTransformation.c" + } +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = FALSE; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = i; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = pixel_bytes; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = self->priv->graphic; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = gdk_pixbuf_get_width (_tmp42_); +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp43_; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = self->priv->graphic; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = gdk_pixbuf_get_height (_tmp45_); +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp40_ < ((_tmp41_ * _tmp44_) * _tmp47_))) { +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10189 "ColorTransformation.c" + } +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = pixel_data; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = pixel_data_length1; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_[_tmp49_] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = _tmp48_[_tmp49_]; +#line 10201 "ColorTransformation.c" + } + } + } +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = self->priv->graphic; +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _g_object_ref0 (_tmp51_); +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp52_; +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 10213 "ColorTransformation.c" + } + { + gint x = 0; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = 0; +#line 10219 "ColorTransformation.c" + { + gboolean _tmp53_ = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = TRUE; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10226 "ColorTransformation.c" + gint _tmp55_ = 0; + gint red_bar_height = 0; + gint* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + gdouble _tmp59_ = 0.0; + gint green_bar_height = 0; + gint* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gdouble _tmp63_ = 0.0; + gint blue_bar_height = 0; + gint* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gdouble _tmp67_ = 0.0; + gint max_bar_height = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint y = 0; + gint pixel_index = 0; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gint _tmp76_ = 0; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp53_) { +#line 10260 "ColorTransformation.c" + gint _tmp54_ = 0; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = x; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = _tmp54_ + 1; +#line 10266 "ColorTransformation.c" + } +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = x; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp55_ < 256)) { +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10276 "ColorTransformation.c" + } +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = self->priv->qualitative_red_counts; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = self->priv->qualitative_red_counts_length1; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = x; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = _tmp56_[_tmp57_]; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = scale_bar; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + red_bar_height = (gint) (((gdouble) _tmp58_) * _tmp59_); +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = self->priv->qualitative_green_counts; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60__length1 = self->priv->qualitative_green_counts_length1; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = x; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = _tmp60_[_tmp61_]; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = scale_bar; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + green_bar_height = (gint) (((gdouble) _tmp62_) * _tmp63_); +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = self->priv->qualitative_blue_counts; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64__length1 = self->priv->qualitative_blue_counts_length1; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = x; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = _tmp64_[_tmp65_]; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = scale_bar; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + blue_bar_height = (gint) (((gdouble) _tmp66_) * _tmp67_); +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = red_bar_height; +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = green_bar_height; +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = MAX (_tmp68_, _tmp69_); +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = blue_bar_height; +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = MAX (_tmp70_, _tmp71_); +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_bar_height = _tmp72_; +#line 1140 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = RGB_HISTOGRAM_GRAPHIC_HEIGHT - 1; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = x; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = pixel_bytes; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = y; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = rowstride; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_index = (_tmp73_ * _tmp74_) + (_tmp75_ * _tmp76_); +#line 10338 "ColorTransformation.c" + { + gboolean _tmp77_ = FALSE; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = TRUE; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10345 "ColorTransformation.c" + gint _tmp79_ = 0; + gint _tmp80_ = 0; + guchar* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gint _tmp82_ = 0; + guchar _tmp83_ = '\0'; + guchar* _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gint _tmp85_ = 0; + guchar _tmp86_ = '\0'; + guchar* _tmp87_ = NULL; + gint _tmp87__length1 = 0; + gint _tmp88_ = 0; + guchar _tmp89_ = '\0'; + gint _tmp90_ = 0; + gint _tmp91_ = 0; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + gint _tmp100_ = 0; + gint _tmp101_ = 0; + gint _tmp105_ = 0; + gint _tmp106_ = 0; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp77_) { +#line 10370 "ColorTransformation.c" + gint _tmp78_ = 0; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = y; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = _tmp78_ - 1; +#line 10376 "ColorTransformation.c" + } +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = FALSE; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = y; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = max_bar_height; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp79_ >= (RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp80_))) { +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10388 "ColorTransformation.c" + } +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = pixel_data; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81__length1 = pixel_data_length1; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = pixel_index; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_[_tmp82_] = RGB_HISTOGRAM_MARKED_BACKGROUND; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp81_[_tmp82_]; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = pixel_data; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84__length1 = pixel_data_length1; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = pixel_index; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_[_tmp85_ + 1] = RGB_HISTOGRAM_MARKED_BACKGROUND; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = _tmp84_[_tmp85_ + 1]; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = pixel_data; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87__length1 = pixel_data_length1; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = pixel_index; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_[_tmp88_ + 2] = RGB_HISTOGRAM_MARKED_BACKGROUND; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = _tmp87_[_tmp88_ + 2]; +#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = y; +#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = red_bar_height; +#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp90_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp91_) - 1)) { +#line 10426 "ColorTransformation.c" + guchar* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + gint _tmp93_ = 0; + guchar _tmp94_ = '\0'; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = pixel_data; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92__length1 = pixel_data_length1; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = pixel_index; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_[_tmp93_] = RGB_HISTOGRAM_MARKED_FOREGROUND; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = _tmp92_[_tmp93_]; +#line 10441 "ColorTransformation.c" + } +#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = y; +#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = green_bar_height; +#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp95_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp96_) - 1)) { +#line 10449 "ColorTransformation.c" + guchar* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gint _tmp98_ = 0; + guchar _tmp99_ = '\0'; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = pixel_data; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97__length1 = pixel_data_length1; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = pixel_index; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_[_tmp98_ + 1] = RGB_HISTOGRAM_MARKED_FOREGROUND; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = _tmp97_[_tmp98_ + 1]; +#line 10464 "ColorTransformation.c" + } +#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = y; +#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = blue_bar_height; +#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp100_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp101_) - 1)) { +#line 10472 "ColorTransformation.c" + guchar* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + gint _tmp103_ = 0; + guchar _tmp104_ = '\0'; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = pixel_data; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102__length1 = pixel_data_length1; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = pixel_index; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_[_tmp103_ + 2] = RGB_HISTOGRAM_MARKED_FOREGROUND; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = _tmp102_[_tmp103_ + 2]; +#line 10487 "ColorTransformation.c" + } +#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = pixel_index; +#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = rowstride; +#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_index = _tmp105_ - _tmp106_; +#line 10495 "ColorTransformation.c" + } + } + { + gboolean _tmp107_ = FALSE; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = TRUE; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10504 "ColorTransformation.c" + gint _tmp109_ = 0; + guchar* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gint _tmp111_ = 0; + guchar _tmp112_ = '\0'; + guchar* _tmp113_ = NULL; + gint _tmp113__length1 = 0; + gint _tmp114_ = 0; + guchar _tmp115_ = '\0'; + guchar* _tmp116_ = NULL; + gint _tmp116__length1 = 0; + gint _tmp117_ = 0; + guchar _tmp118_ = '\0'; + gint _tmp119_ = 0; + gint _tmp120_ = 0; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp107_) { +#line 10522 "ColorTransformation.c" + gint _tmp108_ = 0; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = y; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = _tmp108_ - 1; +#line 10528 "ColorTransformation.c" + } +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = FALSE; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp109_ = y; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp109_ >= 0)) { +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10538 "ColorTransformation.c" + } +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_ = pixel_data; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110__length1 = pixel_data_length1; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp111_ = pixel_index; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_[_tmp111_] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_ = _tmp110_[_tmp111_]; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_ = pixel_data; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113__length1 = pixel_data_length1; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp114_ = pixel_index; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_[_tmp114_ + 1] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_ = _tmp113_[_tmp114_ + 1]; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116_ = pixel_data; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116__length1 = pixel_data_length1; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp117_ = pixel_index; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116_[_tmp117_ + 2] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp118_ = _tmp116_[_tmp117_ + 2]; +#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp119_ = pixel_index; +#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp120_ = rowstride; +#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_index = _tmp119_ - _tmp120_; +#line 10576 "ColorTransformation.c" + } + } + } + } + } + } +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp121_ = self->priv->graphic; +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp122_ = _g_object_ref0 (_tmp121_); +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp122_; +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 10591 "ColorTransformation.c" +} + + +static void value_rgb_histogram_init (GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10598 "ColorTransformation.c" +} + + +static void value_rgb_histogram_free_value (GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_unref (value->data[0].v_pointer); +#line 10607 "ColorTransformation.c" + } +} + + +static void value_rgb_histogram_copy_value (const GValue* src_value, GValue* dest_value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = rgb_histogram_ref (src_value->data[0].v_pointer); +#line 10617 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 10621 "ColorTransformation.c" + } +} + + +static gpointer value_rgb_histogram_peek_pointer (const GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 10629 "ColorTransformation.c" +} + + +static gchar* value_rgb_histogram_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 10636 "ColorTransformation.c" + RGBHistogram* object; + object = collect_values[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10643 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10647 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = rgb_histogram_ref (object); +#line 10651 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10655 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 10659 "ColorTransformation.c" +} + + +static gchar* value_rgb_histogram_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + RGBHistogram** object_p; + object_p = collect_values[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 10670 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 10676 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 10680 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = rgb_histogram_ref (value->data[0].v_pointer); +#line 10684 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 10688 "ColorTransformation.c" +} + + +GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecRGBHistogram* spec; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_RGB_HISTOGRAM), NULL); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 10702 "ColorTransformation.c" +} + + +gpointer value_get_rgb_histogram (const GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM), NULL); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 10711 "ColorTransformation.c" +} + + +void value_set_rgb_histogram (GValue* value, gpointer v_object) { + RGBHistogram* old; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_ref (value->data[0].v_pointer); +#line 10731 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10735 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_unref (old); +#line 10741 "ColorTransformation.c" + } +} + + +void value_take_rgb_histogram (GValue* value, gpointer v_object) { + RGBHistogram* old; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 10760 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10764 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_unref (old); +#line 10770 "ColorTransformation.c" + } +} + + +static void rgb_histogram_class_init (RGBHistogramClass * klass) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_parent_class = g_type_class_peek_parent (klass); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((RGBHistogramClass *) klass)->finalize = rgb_histogram_finalize; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (RGBHistogramPrivate)); +#line 10782 "ColorTransformation.c" +} + + +static void rgb_histogram_instance_init (RGBHistogram * self) { + gint* _tmp0_ = NULL; + gint* _tmp1_ = NULL; + gint* _tmp2_ = NULL; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = RGB_HISTOGRAM_GET_PRIVATE (self); +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_new0 (gint, 256); +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->red_counts = _tmp0_; +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->red_counts_length1 = 256; +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_red_counts_size_ = self->priv->red_counts_length1; +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gint, 256); +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->green_counts = _tmp1_; +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->green_counts_length1 = 256; +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_green_counts_size_ = self->priv->green_counts_length1; +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = g_new0 (gint, 256); +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->blue_counts = _tmp2_; +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->blue_counts_length1 = 256; +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_blue_counts_size_ = self->priv->blue_counts_length1; +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = NULL; +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts_length1 = 0; +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_red_counts_size_ = self->priv->qualitative_red_counts_length1; +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = NULL; +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts_length1 = 0; +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_green_counts_size_ = self->priv->qualitative_green_counts_length1; +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = NULL; +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts_length1 = 0; +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_blue_counts_size_ = self->priv->qualitative_blue_counts_length1; +#line 928 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->graphic = NULL; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 10838 "ColorTransformation.c" +} + + +static void rgb_histogram_finalize (RGBHistogram* obj) { + RGBHistogram * self; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_HISTOGRAM, RGBHistogram); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->red_counts = (g_free (self->priv->red_counts), NULL); +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->green_counts = (g_free (self->priv->green_counts), NULL); +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->blue_counts = (g_free (self->priv->blue_counts), NULL); +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = (g_free (self->priv->qualitative_red_counts), NULL); +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = (g_free (self->priv->qualitative_green_counts), NULL); +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = (g_free (self->priv->qualitative_blue_counts), NULL); +#line 928 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->graphic); +#line 10862 "ColorTransformation.c" +} + + +GType rgb_histogram_get_type (void) { + static volatile gsize rgb_histogram_type_id__volatile = 0; + if (g_once_init_enter (&rgb_histogram_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_rgb_histogram_init, value_rgb_histogram_free_value, value_rgb_histogram_copy_value, value_rgb_histogram_peek_pointer, "p", value_rgb_histogram_collect_value, "p", value_rgb_histogram_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (RGBHistogramClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_histogram_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBHistogram), 0, (GInstanceInitFunc) rgb_histogram_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType rgb_histogram_type_id; + rgb_histogram_type_id = g_type_register_fundamental (g_type_fundamental_next (), "RGBHistogram", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&rgb_histogram_type_id__volatile, rgb_histogram_type_id); + } + return rgb_histogram_type_id__volatile; +} + + +gpointer rgb_histogram_ref (gpointer instance) { + RGBHistogram* self; + self = instance; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 10887 "ColorTransformation.c" +} + + +void rgb_histogram_unref (gpointer instance) { + RGBHistogram* self; + self = instance; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + RGB_HISTOGRAM_GET_CLASS (self)->finalize (self); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 10900 "ColorTransformation.c" + } +} + + +IntensityHistogram* intensity_histogram_construct (GType object_type, GdkPixbuf* pixbuf) { + IntensityHistogram* self = NULL; + gint n_channels = 0; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint rowstride = 0; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint width = 0; + GdkPixbuf* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint height = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint rowbytes = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + guchar* pixels = NULL; + GdkPixbuf* _tmp10_ = NULL; + guint8* _tmp11_ = NULL; + gint pixels_length1 = 0; + gint _pixels_size_ = 0; + gfloat pixel_count = 0.0F; + GdkPixbuf* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + GdkPixbuf* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gfloat accumulator = 0.0F; +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (IntensityHistogram*) g_type_create_instance (object_type); +#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixbuf; +#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gdk_pixbuf_get_n_channels (_tmp0_); +#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + n_channels = _tmp1_; +#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = pixbuf; +#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = gdk_pixbuf_get_rowstride (_tmp2_); +#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowstride = _tmp3_; +#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = pixbuf; +#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = gdk_pixbuf_get_width (_tmp4_); +#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + width = _tmp5_; +#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = pixbuf; +#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gdk_pixbuf_get_height (_tmp6_); +#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + height = _tmp7_; +#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = n_channels; +#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = width; +#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowbytes = _tmp8_ * _tmp9_; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = pixbuf; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = gdk_pixbuf_get_pixels (_tmp10_); +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixels = _tmp11_; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixels_length1 = -1; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixels_size_ = pixels_length1; +#line 10979 "ColorTransformation.c" + { + gint j = 0; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = 0; +#line 10984 "ColorTransformation.c" + { + gboolean _tmp12_ = FALSE; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = TRUE; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10991 "ColorTransformation.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint row_start_index = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint row_end_index = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp12_) { +#line 11002 "ColorTransformation.c" + gint _tmp13_ = 0; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = j; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = _tmp13_ + 1; +#line 11008 "ColorTransformation.c" + } +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = FALSE; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = j; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = height; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11020 "ColorTransformation.c" + } +#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = j; +#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = rowstride; +#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_index = _tmp16_ * _tmp17_; +#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = row_start_index; +#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = rowbytes; +#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_end_index = _tmp18_ + _tmp19_; +#line 11034 "ColorTransformation.c" + { + gint i = 0; + gint _tmp20_ = 0; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = row_start_index; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp20_; +#line 11042 "ColorTransformation.c" + { + gboolean _tmp21_ = FALSE; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = TRUE; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11049 "ColorTransformation.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + RGBAnalyticPixel pix_rgb = {0}; + guchar* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + guchar _tmp28_ = '\0'; + guchar* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + guchar _tmp31_ = '\0'; + guchar* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + guchar _tmp34_ = '\0'; + HSVAnalyticPixel pix_hsi = {0}; + RGBAnalyticPixel _tmp35_ = {0}; + gint quantized_light_value = 0; + HSVAnalyticPixel _tmp36_ = {0}; + gfloat _tmp37_ = 0.0F; + gint* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp21_) { +#line 11076 "ColorTransformation.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = n_channels; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp22_ + _tmp23_; +#line 11085 "ColorTransformation.c" + } +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = FALSE; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = i; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = row_end_index; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11097 "ColorTransformation.c" + } +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = pixels; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = pixels_length1; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = i; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp26_[_tmp27_]; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = pixels; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = pixels_length1; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = i; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp29_[_tmp30_ + 1]; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = pixels; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = pixels_length1; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = i; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp32_[_tmp33_ + 2]; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_quantized_components (&pix_rgb, _tmp28_, _tmp31_, _tmp34_); +#line 1189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = pix_rgb; +#line 1189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_init_from_rgb (&pix_hsi, &_tmp35_); +#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = pix_hsi; +#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_.light_value; +#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + quantized_light_value = (gint) (_tmp37_ * 255.0f); +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = self->priv->counts; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = self->priv->counts_length1; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = quantized_light_value; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_[_tmp39_] += 1; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = _tmp38_[_tmp39_]; +#line 11145 "ColorTransformation.c" + } + } + } + } + } + } +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = pixbuf; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = gdk_pixbuf_get_width (_tmp41_); +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp42_; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = pixbuf; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = gdk_pixbuf_get_height (_tmp44_); +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = _tmp45_; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_count = (gfloat) (_tmp43_ * _tmp46_); +#line 1196 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + accumulator = 0.0f; +#line 11168 "ColorTransformation.c" + { + gint i = 0; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 11173 "ColorTransformation.c" + { + gboolean _tmp47_ = FALSE; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = TRUE; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11180 "ColorTransformation.c" + gint _tmp49_ = 0; + gfloat* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + gint* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gfloat _tmp55_ = 0.0F; + gfloat _tmp56_ = 0.0F; + gfloat _tmp57_ = 0.0F; + gfloat* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gfloat _tmp60_ = 0.0F; + gfloat* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + gint _tmp62_ = 0; + gfloat _tmp63_ = 0.0F; + gfloat _tmp64_ = 0.0F; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp47_) { +#line 11203 "ColorTransformation.c" + gint _tmp48_ = 0; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = i; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp48_ + 1; +#line 11209 "ColorTransformation.c" + } +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = FALSE; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp49_ < 256)) { +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11219 "ColorTransformation.c" + } +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = self->priv->probabilities; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50__length1 = self->priv->probabilities_length1; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = i; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = self->priv->counts; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52__length1 = self->priv->counts_length1; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = i; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp52_[_tmp53_]; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = pixel_count; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_[_tmp51_] = ((gfloat) _tmp54_) / _tmp55_; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = _tmp50_[_tmp51_]; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = accumulator; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = self->priv->probabilities; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = self->priv->probabilities_length1; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = i; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = _tmp58_[_tmp59_]; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + accumulator = _tmp57_ + _tmp60_; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = self->priv->cumulative_probabilities; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61__length1 = self->priv->cumulative_probabilities_length1; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = i; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = accumulator; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_[_tmp62_] = _tmp63_; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = _tmp61_[_tmp62_]; +#line 11265 "ColorTransformation.c" + } + } + } +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11271 "ColorTransformation.c" +} + + +IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf) { +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return intensity_histogram_construct (TYPE_INTENSITY_HISTOGRAM, pixbuf); +#line 11278 "ColorTransformation.c" +} + + +gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self, gint level) { + gfloat result = 0.0F; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gfloat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + gfloat _tmp4_ = 0.0F; +#line 1204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_INTENSITY_HISTOGRAM (self), 0.0F); +#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = level; +#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0, 255); +#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + level = _tmp1_; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->cumulative_probabilities; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = self->priv->cumulative_probabilities_length1; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = level; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp2_[_tmp3_]; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp4_; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 11310 "ColorTransformation.c" +} + + +static void value_intensity_histogram_init (GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11317 "ColorTransformation.c" +} + + +static void value_intensity_histogram_free_value (GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_unref (value->data[0].v_pointer); +#line 11326 "ColorTransformation.c" + } +} + + +static void value_intensity_histogram_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = intensity_histogram_ref (src_value->data[0].v_pointer); +#line 11336 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 11340 "ColorTransformation.c" + } +} + + +static gpointer value_intensity_histogram_peek_pointer (const GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 11348 "ColorTransformation.c" +} + + +static gchar* value_intensity_histogram_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 11355 "ColorTransformation.c" + IntensityHistogram* object; + object = collect_values[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11362 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11366 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = intensity_histogram_ref (object); +#line 11370 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11374 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 11378 "ColorTransformation.c" +} + + +static gchar* value_intensity_histogram_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + IntensityHistogram** object_p; + object_p = collect_values[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 11389 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 11395 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 11399 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = intensity_histogram_ref (value->data[0].v_pointer); +#line 11403 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 11407 "ColorTransformation.c" +} + + +GParamSpec* param_spec_intensity_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecIntensityHistogram* spec; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_INTENSITY_HISTOGRAM), NULL); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 11421 "ColorTransformation.c" +} + + +gpointer value_get_intensity_histogram (const GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM), NULL); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 11430 "ColorTransformation.c" +} + + +void value_set_intensity_histogram (GValue* value, gpointer v_object) { + IntensityHistogram* old; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_ref (value->data[0].v_pointer); +#line 11450 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11454 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_unref (old); +#line 11460 "ColorTransformation.c" + } +} + + +void value_take_intensity_histogram (GValue* value, gpointer v_object) { + IntensityHistogram* old; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 11479 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11483 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_unref (old); +#line 11489 "ColorTransformation.c" + } +} + + +static void intensity_histogram_class_init (IntensityHistogramClass * klass) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_parent_class = g_type_class_peek_parent (klass); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((IntensityHistogramClass *) klass)->finalize = intensity_histogram_finalize; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (IntensityHistogramPrivate)); +#line 11501 "ColorTransformation.c" +} + + +static void intensity_histogram_instance_init (IntensityHistogram * self) { + gint* _tmp0_ = NULL; + gfloat* _tmp1_ = NULL; + gfloat* _tmp2_ = NULL; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = INTENSITY_HISTOGRAM_GET_PRIVATE (self); +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_new0 (gint, 256); +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->counts = _tmp0_; +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->counts_length1 = 256; +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_counts_size_ = self->priv->counts_length1; +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gfloat, 256); +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->probabilities = _tmp1_; +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->probabilities_length1 = 256; +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_probabilities_size_ = self->priv->probabilities_length1; +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = g_new0 (gfloat, 256); +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->cumulative_probabilities = _tmp2_; +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->cumulative_probabilities_length1 = 256; +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_cumulative_probabilities_size_ = self->priv->cumulative_probabilities_length1; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 11537 "ColorTransformation.c" +} + + +static void intensity_histogram_finalize (IntensityHistogram* obj) { + IntensityHistogram * self; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INTENSITY_HISTOGRAM, IntensityHistogram); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->counts = (g_free (self->priv->counts), NULL); +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->probabilities = (g_free (self->priv->probabilities), NULL); +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->cumulative_probabilities = (g_free (self->priv->cumulative_probabilities), NULL); +#line 11553 "ColorTransformation.c" +} + + +GType intensity_histogram_get_type (void) { + static volatile gsize intensity_histogram_type_id__volatile = 0; + if (g_once_init_enter (&intensity_histogram_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_intensity_histogram_init, value_intensity_histogram_free_value, value_intensity_histogram_copy_value, value_intensity_histogram_peek_pointer, "p", value_intensity_histogram_collect_value, "p", value_intensity_histogram_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (IntensityHistogramClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) intensity_histogram_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (IntensityHistogram), 0, (GInstanceInitFunc) intensity_histogram_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType intensity_histogram_type_id; + intensity_histogram_type_id = g_type_register_fundamental (g_type_fundamental_next (), "IntensityHistogram", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&intensity_histogram_type_id__volatile, intensity_histogram_type_id); + } + return intensity_histogram_type_id__volatile; +} + + +gpointer intensity_histogram_ref (gpointer instance) { + IntensityHistogram* self; + self = instance; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 11578 "ColorTransformation.c" +} + + +void intensity_histogram_unref (gpointer instance) { + IntensityHistogram* self; + self = instance; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + INTENSITY_HISTOGRAM_GET_CLASS (self)->finalize (self); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11591 "ColorTransformation.c" + } +} + + +ExpansionTransformation* expansion_transformation_construct (GType object_type, IntensityHistogram* histogram) { + ExpansionTransformation* self = NULL; + gfloat* _tmp0_ = NULL; + gfloat LOW_KINK_MASS = 0.0F; + gfloat HIGH_KINK_MASS = 0.0F; +#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_INTENSITY_HISTOGRAM (histogram), NULL); +#line 1220 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_new0 (gfloat, 256); +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp0_; +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 1224 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + LOW_KINK_MASS = EXPANSION_TRANSFORMATION_LOW_DISCARD_MASS; +#line 1225 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->low_kink = 0; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11621 "ColorTransformation.c" + IntensityHistogram* _tmp1_ = NULL; + gint _tmp2_ = 0; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gint _tmp5_ = 0; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = histogram; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->low_kink; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = intensity_histogram_get_cumulative_probability (_tmp1_, _tmp2_); +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = LOW_KINK_MASS; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp3_ < _tmp4_)) { +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11639 "ColorTransformation.c" + } +#line 1227 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = self->priv->low_kink; +#line 1227 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->low_kink = _tmp5_ + 1; +#line 11645 "ColorTransformation.c" + } +#line 1229 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + HIGH_KINK_MASS = 1.0f - EXPANSION_TRANSFORMATION_HIGH_DISCARD_MASS; +#line 1230 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->high_kink = 255; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11653 "ColorTransformation.c" + gboolean _tmp6_ = FALSE; + IntensityHistogram* _tmp7_ = NULL; + gint _tmp8_ = 0; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gint _tmp12_ = 0; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = histogram; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = self->priv->high_kink; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = intensity_histogram_get_cumulative_probability (_tmp7_, _tmp8_); +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = HIGH_KINK_MASS; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp9_ > _tmp10_) { +#line 11670 "ColorTransformation.c" + gint _tmp11_ = 0; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = self->priv->high_kink; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp11_ > 0; +#line 11676 "ColorTransformation.c" + } else { +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = FALSE; +#line 11680 "ColorTransformation.c" + } +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11686 "ColorTransformation.c" + } +#line 1232 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->priv->high_kink; +#line 1232 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->high_kink = _tmp12_ - 1; +#line 11692 "ColorTransformation.c" + } +#line 1234 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_build_remap_table (self); +#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11698 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram) { +#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return expansion_transformation_construct (TYPE_EXPANSION_TRANSFORMATION, histogram); +#line 11705 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point) { + ExpansionTransformation* self = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 1238 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = white_point; +#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0, 255); +#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + white_point = _tmp1_; +#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = black_point; +#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = CLAMP (_tmp2_, 0, 255); +#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + black_point = _tmp3_; +#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = black_point; +#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = white_point; +#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp4_ == _tmp5_) { +#line 11739 "ColorTransformation.c" + gint _tmp6_ = 0; +#line 1244 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = black_point; +#line 1244 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp6_ == 0) { +#line 1245 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + white_point = 1; +#line 11747 "ColorTransformation.c" + } else { + gint _tmp7_ = 0; +#line 1246 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = white_point; +#line 1246 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp7_ == 255) { +#line 1247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + black_point = 254; +#line 11756 "ColorTransformation.c" + } else { + gint _tmp8_ = 0; +#line 1249 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = white_point; +#line 1249 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + black_point = _tmp8_ - 1; +#line 11763 "ColorTransformation.c" + } + } + } +#line 1252 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = black_point; +#line 1252 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->low_kink = _tmp9_; +#line 1253 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = white_point; +#line 1253 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->high_kink = _tmp10_; +#line 1255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_build_remap_table (self); +#line 1237 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11779 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point) { +#line 1237 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return expansion_transformation_construct_from_extrema (TYPE_EXPANSION_TRANSFORMATION, black_point, white_point); +#line 11786 "ColorTransformation.c" +} + + +static gchar* string_chug (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1199 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1200 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1200 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1201 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1201 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strchug (_tmp1_); +#line 1202 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1202 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 11809 "ColorTransformation.c" +} + + +static gchar* string_chomp (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1191 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strchomp (_tmp1_); +#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 11832 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type, const gchar* encoded_transformation) { + ExpansionTransformation* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gint num_captured = 0; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (encoded_transformation != NULL, NULL); +#line 1259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 1261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = encoded_transformation; +#line 1261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_strcanon (_tmp0_, "0123456789. ", ' '); +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = encoded_transformation; +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = string_chug (_tmp1_); +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_; +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (_tmp3_); +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = encoded_transformation; +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = string_chomp (_tmp4_); +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_; +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (_tmp6_); +#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = encoded_transformation; +#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = sscanf (_tmp7_, "%d %d", &self->priv->low_kink, &self->priv->high_kink); +#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + num_captured = _tmp8_; +#line 1268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (num_captured == 2, "num_captured == 2"); +#line 1270 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_build_remap_table (self); +#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11884 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation) { +#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return expansion_transformation_construct_from_string (TYPE_EXPANSION_TRANSFORMATION, encoded_transformation); +#line 11891 "ColorTransformation.c" +} + + +static void expansion_transformation_build_remap_table (ExpansionTransformation* self) { + gfloat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gfloat low_kink_f = 0.0F; + gint _tmp2_ = 0; + gfloat high_kink_f = 0.0F; + gint _tmp3_ = 0; + gfloat slope = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; + gfloat intercept = 0.0F; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat _tmp8_ = 0.0F; + gint i = 0; +#line 1273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_EXPANSION_TRANSFORMATION (self)); +#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->remap_table; +#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = self->priv->remap_table_length1; +#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == NULL) { +#line 11918 "ColorTransformation.c" + gfloat* _tmp1_ = NULL; +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gfloat, 256); +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp1_; +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 11930 "ColorTransformation.c" + } +#line 1277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->low_kink; +#line 1277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + low_kink_f = ((gfloat) _tmp2_) / 255.0f; +#line 1278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->high_kink; +#line 1278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + high_kink_f = ((gfloat) _tmp3_) / 255.0f; +#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = high_kink_f; +#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = low_kink_f; +#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + slope = 1.0f / (_tmp4_ - _tmp5_); +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = low_kink_f; +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = high_kink_f; +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = low_kink_f; +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intercept = -(_tmp6_ / (_tmp7_ - _tmp8_)); +#line 1283 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 11956 "ColorTransformation.c" + { + gboolean _tmp9_ = FALSE; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = TRUE; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11963 "ColorTransformation.c" + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gfloat* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gfloat _tmp15_ = 0.0F; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp9_) { +#line 11972 "ColorTransformation.c" + gint _tmp10_ = 0; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = i; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp10_ + 1; +#line 11978 "ColorTransformation.c" + } +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = FALSE; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = i; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->priv->low_kink; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp11_ <= _tmp12_)) { +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11990 "ColorTransformation.c" + } +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = self->priv->remap_table; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13__length1 = self->priv->remap_table_length1; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = i; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_[_tmp14_] = 0.0f; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp13_[_tmp14_]; +#line 12002 "ColorTransformation.c" + } + } + { + gboolean _tmp16_ = FALSE; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = TRUE; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 12011 "ColorTransformation.c" + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gfloat* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + gfloat _tmp22_ = 0.0F; + gint _tmp23_ = 0; + gfloat _tmp24_ = 0.0F; + gfloat _tmp25_ = 0.0F; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp16_) { +#line 12023 "ColorTransformation.c" + gint _tmp17_ = 0; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = i; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp17_ + 1; +#line 12029 "ColorTransformation.c" + } +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = FALSE; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = i; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = self->priv->high_kink; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp18_ < _tmp19_)) { +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 12041 "ColorTransformation.c" + } +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = self->priv->remap_table; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20__length1 = self->priv->remap_table_length1; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = i; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = slope; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = i; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = intercept; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_[_tmp21_] = (_tmp22_ * (((gfloat) _tmp23_) / 255.0f)) + _tmp24_; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp20_[_tmp21_]; +#line 12059 "ColorTransformation.c" + } + } + { + gboolean _tmp26_ = FALSE; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = TRUE; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 12068 "ColorTransformation.c" + gint _tmp28_ = 0; + gfloat* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + gfloat _tmp31_ = 0.0F; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp26_) { +#line 12076 "ColorTransformation.c" + gint _tmp27_ = 0; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = i; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp27_ + 1; +#line 12082 "ColorTransformation.c" + } +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = FALSE; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = i; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp28_ < 256)) { +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 12092 "ColorTransformation.c" + } +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = self->priv->remap_table; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = self->priv->remap_table_length1; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = i; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_[_tmp30_] = 1.0f; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp29_[_tmp30_]; +#line 12104 "ColorTransformation.c" + } + } +} + + +static void expansion_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) { + ExpansionTransformation * self; + gint remap_index = 0; + HSVAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + HSVAnalyticPixel _result_ = {0}; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gfloat _tmp4_ = 0.0F; + HSVAnalyticPixel _tmp5_ = {0}; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; +#line 1294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (pixel != NULL); +#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *pixel; +#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_.light_value; +#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + remap_index = (gint) (_tmp1_ * 255.0f); +#line 1297 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *pixel; +#line 1297 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp2_; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->remap_table; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3__length1 = self->priv->remap_table_length1; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_[remap_index]; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp4_; +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _result_; +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_.light_value; +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = CLAMP (_tmp6_, 0.0f, 1.0f); +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp7_; +#line 1302 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 1302 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 12157 "ColorTransformation.c" +} + + +static gchar* expansion_transformation_real_to_string (PixelTransformation* base) { + ExpansionTransformation * self; + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; +#line 1305 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->low_kink; +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->high_kink; +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = g_strdup_printf ("{ %d, %d }", _tmp0_, _tmp1_); +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp2_; +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12179 "ColorTransformation.c" +} + + +gint expansion_transformation_get_white_point (ExpansionTransformation* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 1309 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_EXPANSION_TRANSFORMATION (self), 0); +#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->high_kink; +#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12194 "ColorTransformation.c" +} + + +gint expansion_transformation_get_black_point (ExpansionTransformation* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 1313 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_EXPANSION_TRANSFORMATION (self), 0); +#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->low_kink; +#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12209 "ColorTransformation.c" +} + + +static gboolean expansion_transformation_real_is_identity (PixelTransformation* base) { + ExpansionTransformation * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 1317 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->low_kink; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_ == 0) { +#line 12224 "ColorTransformation.c" + gint _tmp2_ = 0; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->high_kink; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp2_ == 255; +#line 12230 "ColorTransformation.c" + } else { +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 12234 "ColorTransformation.c" + } +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12240 "ColorTransformation.c" +} + + +static PixelTransformation* expansion_transformation_real_copy (PixelTransformation* base) { + ExpansionTransformation * self; + PixelTransformation* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + ExpansionTransformation* _tmp2_ = NULL; +#line 1321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->low_kink; +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->high_kink; +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = expansion_transformation_new_from_extrema (_tmp0_, _tmp1_); +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12262 "ColorTransformation.c" +} + + +static void expansion_transformation_class_init (ExpansionTransformationClass * klass) { +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_parent_class = g_type_class_peek_parent (klass); +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = expansion_transformation_finalize; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (ExpansionTransformationPrivate)); +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = expansion_transformation_real_transform_pixel_hsv; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->to_string = expansion_transformation_real_to_string; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = expansion_transformation_real_is_identity; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = expansion_transformation_real_copy; +#line 12281 "ColorTransformation.c" +} + + +static void expansion_transformation_instance_init (ExpansionTransformation * self) { +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = EXPANSION_TRANSFORMATION_GET_PRIVATE (self); +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = NULL; +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 0; +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 12294 "ColorTransformation.c" +} + + +static void expansion_transformation_finalize (PixelTransformation* obj) { + ExpansionTransformation * self; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (expansion_transformation_parent_class)->finalize (obj); +#line 12306 "ColorTransformation.c" +} + + +GType expansion_transformation_get_type (void) { + static volatile gsize expansion_transformation_type_id__volatile = 0; + if (g_once_init_enter (&expansion_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExpansionTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) expansion_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExpansionTransformation), 0, (GInstanceInitFunc) expansion_transformation_instance_init, NULL }; + GType expansion_transformation_type_id; + expansion_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "ExpansionTransformation", &g_define_type_info, 0); + g_once_init_leave (&expansion_transformation_type_id__volatile, expansion_transformation_type_id); + } + return expansion_transformation_type_id__volatile; +} + + +ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity) { + ShadowDetailTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat intensity_adj = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat effect_shift = 0.0F; + gfloat _tmp3_ = 0.0F; + HermiteGammaApproximationFunction* func = NULL; + HermiteGammaApproximationFunction* _tmp4_ = NULL; + gfloat* _tmp5_ = NULL; +#line 1339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ShadowDetailTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_SHADOWS); +#line 1341 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = user_intensity; +#line 1341 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = _tmp0_; +#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->intensity; +#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = CLAMP (_tmp1_ / SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER, 0.0f, 1.0f); +#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_adj = _tmp2_; +#line 1344 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = intensity_adj; +#line 1344 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + effect_shift = SHADOW_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT * _tmp3_; +#line 1345 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = hermite_gamma_approximation_function_new (SHADOW_DETAIL_TRANSFORMATION_TONAL_WIDTH); +#line 1345 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + func = _tmp4_; +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = g_new0 (gfloat, 256); +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp5_; +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 12363 "ColorTransformation.c" + { + gint i = 0; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 12368 "ColorTransformation.c" + { + gboolean _tmp6_ = FALSE; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = TRUE; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 12375 "ColorTransformation.c" + gint _tmp8_ = 0; + gfloat x = 0.0F; + gint _tmp9_ = 0; + gfloat weight = 0.0F; + HermiteGammaApproximationFunction* _tmp10_ = NULL; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 12394 "ColorTransformation.c" + gint _tmp7_ = 0; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp7_ + 1; +#line 12400 "ColorTransformation.c" + } +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = FALSE; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = i; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp8_ < 256)) { +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 12410 "ColorTransformation.c" + } +#line 1350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 1350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = ((gfloat) _tmp9_) / 255.0f; +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = func; +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = x; +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = hermite_gamma_approximation_function_evaluate (_tmp10_, _tmp11_); +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + weight = _tmp12_; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = self->priv->remap_table; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13__length1 = self->priv->remap_table_length1; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = i; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = weight; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = x; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = effect_shift; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = weight; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = x; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_[_tmp14_] = (_tmp15_ * (_tmp16_ + _tmp17_)) + ((1.0f - _tmp18_) * _tmp19_); +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp13_[_tmp14_]; +#line 12444 "ColorTransformation.c" + } + } + } +#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _hermite_gamma_approximation_function_unref0 (func); +#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 12452 "ColorTransformation.c" +} + + +ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity) { +#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return shadow_detail_transformation_construct (TYPE_SHADOW_DETAIL_TRANSFORMATION, user_intensity); +#line 12459 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) { + ShadowDetailTransformation * self; + HSVAnalyticPixel _result_ = {0}; + HSVAnalyticPixel _tmp0_ = {0}; + gfloat* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 1356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (pixel != NULL); +#line 1357 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *pixel; +#line 1357 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp0_; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->remap_table; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1__length1 = self->priv->remap_table_length1; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *pixel; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_.light_value; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp1_[(gint) (_tmp3_ * 255.0f)]; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp5_; +#line 1359 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 1359 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 12499 "ColorTransformation.c" +} + + +static PixelTransformation* shadow_detail_transformation_real_copy (PixelTransformation* base) { + ShadowDetailTransformation * self; + PixelTransformation* result = NULL; + gfloat _tmp0_ = 0.0F; + ShadowDetailTransformation* _tmp1_ = NULL; +#line 1362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = shadow_detail_transformation_new (_tmp0_); +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12518 "ColorTransformation.c" +} + + +static gboolean shadow_detail_transformation_real_is_identity (PixelTransformation* base) { + ShadowDetailTransformation * self; + gboolean result = FALSE; + gfloat _tmp0_ = 0.0F; +#line 1366 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_ == 0.0f; +#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12534 "ColorTransformation.c" +} + + +gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 1370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_SHADOW_DETAIL_TRANSFORMATION (self), 0.0F); +#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12549 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_class_init (ShadowDetailTransformationClass * klass) { +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_detail_transformation_parent_class = g_type_class_peek_parent (klass); +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = shadow_detail_transformation_finalize; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (ShadowDetailTransformationPrivate)); +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = shadow_detail_transformation_real_transform_pixel_hsv; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = shadow_detail_transformation_real_copy; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = shadow_detail_transformation_real_is_identity; +#line 12566 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_instance_init (ShadowDetailTransformation * self) { +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = SHADOW_DETAIL_TRANSFORMATION_GET_PRIVATE (self); +#line 1332 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = 0.0f; +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = NULL; +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 0; +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 12581 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_finalize (PixelTransformation* obj) { + ShadowDetailTransformation * self; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (shadow_detail_transformation_parent_class)->finalize (obj); +#line 12593 "ColorTransformation.c" +} + + +GType shadow_detail_transformation_get_type (void) { + static volatile gsize shadow_detail_transformation_type_id__volatile = 0; + if (g_once_init_enter (&shadow_detail_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShadowDetailTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shadow_detail_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShadowDetailTransformation), 0, (GInstanceInitFunc) shadow_detail_transformation_instance_init, NULL }; + GType shadow_detail_transformation_type_id; + shadow_detail_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "ShadowDetailTransformation", &g_define_type_info, 0); + g_once_init_leave (&shadow_detail_transformation_type_id__volatile, shadow_detail_transformation_type_id); + } + return shadow_detail_transformation_type_id__volatile; +} + + +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type, gfloat user_interval_upper) { + HermiteGammaApproximationFunction* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (HermiteGammaApproximationFunction*) g_type_create_instance (object_type); +#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = user_interval_upper; +#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0.1f, 1.0f); +#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->nonzero_interval_upper = _tmp1_; +#line 1381 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->nonzero_interval_upper; +#line 1381 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->x_scale = 1.0f / _tmp2_; +#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 12628 "ColorTransformation.c" +} + + +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper) { +#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return hermite_gamma_approximation_function_construct (TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, user_interval_upper); +#line 12635 "ColorTransformation.c" +} + + +gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self, gfloat x) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 1384 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION (self), 0.0F); +#line 1385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = x; +#line 1385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ < 0.0f) { +#line 1386 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = 0.0f; +#line 1386 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12652 "ColorTransformation.c" + } else { + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = x; +#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->nonzero_interval_upper; +#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_ > _tmp2_) { +#line 1388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = 0.0f; +#line 1388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12666 "ColorTransformation.c" + } else { + gfloat indep_var = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat dep_var = 0.0F; + gfloat _tmp5_ = 0.0F; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; +#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->x_scale; +#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = x; +#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + indep_var = _tmp3_ * _tmp4_; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dep_var = 6.0f * ((((_tmp5_ * _tmp6_) * _tmp7_) - (2.0f * (_tmp8_ * _tmp9_))) + _tmp10_); +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = dep_var; +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = CLAMP (_tmp11_, 0.0f, 1.0f); +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp12_; +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12708 "ColorTransformation.c" + } + } +} + + +static void value_hermite_gamma_approximation_function_init (GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12717 "ColorTransformation.c" +} + + +static void value_hermite_gamma_approximation_function_free_value (GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_unref (value->data[0].v_pointer); +#line 12726 "ColorTransformation.c" + } +} + + +static void value_hermite_gamma_approximation_function_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = hermite_gamma_approximation_function_ref (src_value->data[0].v_pointer); +#line 12736 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 12740 "ColorTransformation.c" + } +} + + +static gpointer value_hermite_gamma_approximation_function_peek_pointer (const GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 12748 "ColorTransformation.c" +} + + +static gchar* value_hermite_gamma_approximation_function_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 12755 "ColorTransformation.c" + HermiteGammaApproximationFunction* object; + object = collect_values[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12762 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12766 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = hermite_gamma_approximation_function_ref (object); +#line 12770 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12774 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 12778 "ColorTransformation.c" +} + + +static gchar* value_hermite_gamma_approximation_function_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + HermiteGammaApproximationFunction** object_p; + object_p = collect_values[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 12789 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 12795 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 12799 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = hermite_gamma_approximation_function_ref (value->data[0].v_pointer); +#line 12803 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 12807 "ColorTransformation.c" +} + + +GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecHermiteGammaApproximationFunction* spec; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION), NULL); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 12821 "ColorTransformation.c" +} + + +gpointer value_get_hermite_gamma_approximation_function (const GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION), NULL); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 12830 "ColorTransformation.c" +} + + +void value_set_hermite_gamma_approximation_function (GValue* value, gpointer v_object) { + HermiteGammaApproximationFunction* old; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_ref (value->data[0].v_pointer); +#line 12850 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12854 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_unref (old); +#line 12860 "ColorTransformation.c" + } +} + + +void value_take_hermite_gamma_approximation_function (GValue* value, gpointer v_object) { + HermiteGammaApproximationFunction* old; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 12879 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12883 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_unref (old); +#line 12889 "ColorTransformation.c" + } +} + + +static void hermite_gamma_approximation_function_class_init (HermiteGammaApproximationFunctionClass * klass) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_parent_class = g_type_class_peek_parent (klass); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((HermiteGammaApproximationFunctionClass *) klass)->finalize = hermite_gamma_approximation_function_finalize; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (HermiteGammaApproximationFunctionPrivate)); +#line 12901 "ColorTransformation.c" +} + + +static void hermite_gamma_approximation_function_instance_init (HermiteGammaApproximationFunction * self) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_PRIVATE (self); +#line 1376 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->x_scale = 1.0f; +#line 1377 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->nonzero_interval_upper = 1.0f; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 12914 "ColorTransformation.c" +} + + +static void hermite_gamma_approximation_function_finalize (HermiteGammaApproximationFunction* obj) { + HermiteGammaApproximationFunction * self; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 12924 "ColorTransformation.c" +} + + +GType hermite_gamma_approximation_function_get_type (void) { + static volatile gsize hermite_gamma_approximation_function_type_id__volatile = 0; + if (g_once_init_enter (&hermite_gamma_approximation_function_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_hermite_gamma_approximation_function_init, value_hermite_gamma_approximation_function_free_value, value_hermite_gamma_approximation_function_copy_value, value_hermite_gamma_approximation_function_peek_pointer, "p", value_hermite_gamma_approximation_function_collect_value, "p", value_hermite_gamma_approximation_function_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (HermiteGammaApproximationFunctionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hermite_gamma_approximation_function_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HermiteGammaApproximationFunction), 0, (GInstanceInitFunc) hermite_gamma_approximation_function_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType hermite_gamma_approximation_function_type_id; + hermite_gamma_approximation_function_type_id = g_type_register_fundamental (g_type_fundamental_next (), "HermiteGammaApproximationFunction", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&hermite_gamma_approximation_function_type_id__volatile, hermite_gamma_approximation_function_type_id); + } + return hermite_gamma_approximation_function_type_id__volatile; +} + + +gpointer hermite_gamma_approximation_function_ref (gpointer instance) { + HermiteGammaApproximationFunction* self; + self = instance; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 12949 "ColorTransformation.c" +} + + +void hermite_gamma_approximation_function_unref (gpointer instance) { + HermiteGammaApproximationFunction* self; + self = instance; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS (self)->finalize (self); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 12962 "ColorTransformation.c" + } +} + + +HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity) { + HighlightDetailTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat intensity_adj = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat effect_shift = 0.0F; + gfloat _tmp3_ = 0.0F; + HermiteGammaApproximationFunction* func = NULL; + HermiteGammaApproximationFunction* _tmp4_ = NULL; + gfloat* _tmp5_ = NULL; +#line 1413 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (HighlightDetailTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS); +#line 1415 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = user_intensity; +#line 1415 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = _tmp0_; +#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->intensity; +#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = CLAMP (_tmp1_ / HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER, 0.0f, 1.0f); +#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_adj = _tmp2_; +#line 1418 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = intensity_adj; +#line 1418 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + effect_shift = HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT * _tmp3_; +#line 1419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = hermite_gamma_approximation_function_new (HIGHLIGHT_DETAIL_TRANSFORMATION_TONAL_WIDTH); +#line 1419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + func = _tmp4_; +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = g_new0 (gfloat, 256); +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp5_; +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 13008 "ColorTransformation.c" + { + gint i = 0; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 13013 "ColorTransformation.c" + { + gboolean _tmp6_ = FALSE; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = TRUE; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 13020 "ColorTransformation.c" + gint _tmp8_ = 0; + gfloat x = 0.0F; + gint _tmp9_ = 0; + gfloat weight = 0.0F; + HermiteGammaApproximationFunction* _tmp10_ = NULL; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 13039 "ColorTransformation.c" + gint _tmp7_ = 0; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp7_ + 1; +#line 13045 "ColorTransformation.c" + } +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = FALSE; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = i; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp8_ < 256)) { +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13055 "ColorTransformation.c" + } +#line 1424 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 1424 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = ((gfloat) _tmp9_) / 255.0f; +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = func; +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = x; +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = hermite_gamma_approximation_function_evaluate (_tmp10_, 1.0f - _tmp11_); +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + weight = _tmp12_; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = self->priv->remap_table; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13__length1 = self->priv->remap_table_length1; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = i; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = weight; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = x; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = effect_shift; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = weight; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = x; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_[_tmp14_] = (_tmp15_ * (_tmp16_ - _tmp17_)) + ((1.0f - _tmp18_) * _tmp19_); +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp13_[_tmp14_]; +#line 13089 "ColorTransformation.c" + } + } + } +#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _hermite_gamma_approximation_function_unref0 (func); +#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 13097 "ColorTransformation.c" +} + + +HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity) { +#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return highlight_detail_transformation_construct (TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, user_intensity); +#line 13104 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) { + HighlightDetailTransformation * self; + HSVAnalyticPixel _result_ = {0}; + HSVAnalyticPixel _tmp0_ = {0}; + gfloat* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 1430 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1430 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (pixel != NULL); +#line 1431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *pixel; +#line 1431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp0_; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->remap_table; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1__length1 = self->priv->remap_table_length1; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *pixel; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_.light_value; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp1_[(gint) (_tmp3_ * 255.0f)]; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp5_; +#line 1433 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 1433 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 13144 "ColorTransformation.c" +} + + +static PixelTransformation* highlight_detail_transformation_real_copy (PixelTransformation* base) { + HighlightDetailTransformation * self; + PixelTransformation* result = NULL; + gfloat _tmp0_ = 0.0F; + HighlightDetailTransformation* _tmp1_ = NULL; +#line 1436 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = highlight_detail_transformation_new (_tmp0_); +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13163 "ColorTransformation.c" +} + + +static gboolean highlight_detail_transformation_real_is_identity (PixelTransformation* base) { + HighlightDetailTransformation * self; + gboolean result = FALSE; + gfloat _tmp0_ = 0.0F; +#line 1440 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_ == 0.0f; +#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13179 "ColorTransformation.c" +} + + +gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 1444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_HIGHLIGHT_DETAIL_TRANSFORMATION (self), 0.0F); +#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13194 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_class_init (HighlightDetailTransformationClass * klass) { +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + highlight_detail_transformation_parent_class = g_type_class_peek_parent (klass); +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = highlight_detail_transformation_finalize; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (HighlightDetailTransformationPrivate)); +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = highlight_detail_transformation_real_transform_pixel_hsv; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = highlight_detail_transformation_real_copy; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = highlight_detail_transformation_real_is_identity; +#line 13211 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_instance_init (HighlightDetailTransformation * self) { +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = HIGHLIGHT_DETAIL_TRANSFORMATION_GET_PRIVATE (self); +#line 1406 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = 0.0f; +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = NULL; +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 0; +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 13226 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_finalize (PixelTransformation* obj) { + HighlightDetailTransformation * self; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (highlight_detail_transformation_parent_class)->finalize (obj); +#line 13238 "ColorTransformation.c" +} + + +GType highlight_detail_transformation_get_type (void) { + static volatile gsize highlight_detail_transformation_type_id__volatile = 0; + if (g_once_init_enter (&highlight_detail_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (HighlightDetailTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) highlight_detail_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HighlightDetailTransformation), 0, (GInstanceInitFunc) highlight_detail_transformation_instance_init, NULL }; + GType highlight_detail_transformation_type_id; + highlight_detail_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "HighlightDetailTransformation", &g_define_type_info, 0); + g_once_init_leave (&highlight_detail_transformation_type_id__volatile, highlight_detail_transformation_type_id); + } + return highlight_detail_transformation_type_id__volatile; +} + + +PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* adjustments = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + IntensityHistogram* analysis_histogram = NULL; + GdkPixbuf* _tmp1_ = NULL; + IntensityHistogram* _tmp2_ = NULL; + gfloat pct_in_range = 0.0F; + IntensityHistogram* _tmp3_ = NULL; + gfloat _tmp4_ = 0.0F; + IntensityHistogram* _tmp5_ = NULL; + gfloat _tmp6_ = 0.0F; + gfloat shadow_range_mean_prob_val = 0.0F; + IntensityHistogram* _tmp7_ = NULL; + gfloat _tmp8_ = 0.0F; + IntensityHistogram* _tmp9_ = NULL; + gfloat _tmp10_ = 0.0F; + gint shadow_mean_intensity = 0; + gboolean _tmp18_ = FALSE; + gfloat _tmp19_ = 0.0F; + PixelTransformationBundle* _tmp46_ = NULL; + HighlightDetailTransformation* _tmp47_ = NULL; + HighlightDetailTransformation* _tmp48_ = NULL; + PixelTransformationBundle* _tmp49_ = NULL; + TemperatureTransformation* _tmp50_ = NULL; + TemperatureTransformation* _tmp51_ = NULL; + PixelTransformationBundle* _tmp52_ = NULL; + TintTransformation* _tmp53_ = NULL; + TintTransformation* _tmp54_ = NULL; + PixelTransformationBundle* _tmp55_ = NULL; + ExposureTransformation* _tmp56_ = NULL; + ExposureTransformation* _tmp57_ = NULL; + PixelTransformationBundle* _tmp58_ = NULL; + SaturationTransformation* _tmp59_ = NULL; + SaturationTransformation* _tmp60_ = NULL; +#line 1458 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 1459 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_new (); +#line 1459 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjustments = _tmp0_; +#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixbuf; +#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = intensity_histogram_new (_tmp1_); +#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + analysis_histogram = _tmp2_; +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = analysis_histogram; +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = intensity_histogram_get_cumulative_probability (_tmp3_, AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY); +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = analysis_histogram; +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = intensity_histogram_get_cumulative_probability (_tmp5_, AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY); +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pct_in_range = 100.0f * (_tmp4_ - _tmp6_); +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = analysis_histogram; +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = intensity_histogram_get_cumulative_probability (_tmp7_, AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY); +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = analysis_histogram; +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = intensity_histogram_get_cumulative_probability (_tmp9_, AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY); +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_range_mean_prob_val = (_tmp8_ + _tmp10_) * 0.5f; +#line 1473 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_mean_intensity = AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY; +#line 13323 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 13330 "ColorTransformation.c" + gint _tmp13_ = 0; + IntensityHistogram* _tmp14_ = NULL; + gint _tmp15_ = 0; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 13338 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = shadow_mean_intensity; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_mean_intensity = _tmp12_ + 1; +#line 13344 "ColorTransformation.c" + } +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = shadow_mean_intensity; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ <= AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY)) { +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13354 "ColorTransformation.c" + } +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = analysis_histogram; +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = shadow_mean_intensity; +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = intensity_histogram_get_cumulative_probability (_tmp14_, _tmp15_); +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = shadow_range_mean_prob_val; +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp16_ >= _tmp17_) { +#line 1476 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13368 "ColorTransformation.c" + } + } + } +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = pct_in_range; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp19_ > 40.0f) { +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = TRUE; +#line 13378 "ColorTransformation.c" + } else { + gboolean _tmp20_ = FALSE; + gfloat _tmp21_ = 0.0F; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = pct_in_range; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp21_ > 20.0f) { +#line 13386 "ColorTransformation.c" + gint _tmp22_ = 0; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = shadow_mean_intensity; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp22_ < AUTO_ENHANCE_EMPIRICAL_DARK; +#line 13392 "ColorTransformation.c" + } else { +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = FALSE; +#line 13396 "ColorTransformation.c" + } +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _tmp20_; +#line 13400 "ColorTransformation.c" + } +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp18_) { +#line 13404 "ColorTransformation.c" + gfloat shadow_trans_effect_size = 0.0F; + gint _tmp23_ = 0; + gfloat _tmp24_ = 0.0F; + PixelTransformationBundle* _tmp25_ = NULL; + gfloat _tmp26_ = 0.0F; + ShadowDetailTransformation* _tmp27_ = NULL; + ShadowDetailTransformation* _tmp28_ = NULL; + gint discard_point = 0; + PixelTransformationBundle* _tmp35_ = NULL; + gint _tmp36_ = 0; + ExpansionTransformation* _tmp37_ = NULL; + ExpansionTransformation* _tmp38_ = NULL; +#line 1485 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = shadow_mean_intensity; +#line 1485 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_trans_effect_size = ((((gfloat) AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY) - ((gfloat) _tmp23_)) / ((gfloat) AUTO_ENHANCE_SHADOW_DETECT_INTENSITY_RANGE)) * SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER; +#line 1489 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = shadow_trans_effect_size; +#line 1489 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_trans_effect_size = _tmp24_ * AUTO_ENHANCE_SHADOW_AGGRESSIVENESS_MUL; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = adjustments; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = shadow_trans_effect_size; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = shadow_detail_transformation_new (_tmp26_); +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp27_; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp28_); +#line 1495 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + discard_point = 255; +#line 13439 "ColorTransformation.c" + { + gboolean _tmp29_ = FALSE; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = TRUE; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 13446 "ColorTransformation.c" + gint _tmp31_ = 0; + IntensityHistogram* _tmp32_ = NULL; + gint _tmp33_ = 0; + gfloat _tmp34_ = 0.0F; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp29_) { +#line 13453 "ColorTransformation.c" + gint _tmp30_ = 0; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = discard_point; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + discard_point = _tmp30_ - 1; +#line 13459 "ColorTransformation.c" + } +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = FALSE; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = discard_point; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp31_ > -1)) { +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13469 "ColorTransformation.c" + } +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = analysis_histogram; +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = discard_point; +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = intensity_histogram_get_cumulative_probability (_tmp32_, _tmp33_); +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if ((1.0f - _tmp34_) > AUTO_ENHANCE_SHADOW_MODE_HIGH_DISCARD_MASS) { +#line 1499 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13481 "ColorTransformation.c" + } + } + } +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = adjustments; +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = discard_point; +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = expansion_transformation_new_from_extrema (0, _tmp36_); +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp37_; +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp38_); +#line 13497 "ColorTransformation.c" + } else { + PixelTransformationBundle* _tmp39_ = NULL; + IntensityHistogram* _tmp40_ = NULL; + ExpansionTransformation* _tmp41_ = NULL; + ExpansionTransformation* _tmp42_ = NULL; + PixelTransformationBundle* _tmp43_ = NULL; + ShadowDetailTransformation* _tmp44_ = NULL; + ShadowDetailTransformation* _tmp45_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = adjustments; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = analysis_histogram; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = expansion_transformation_new (_tmp40_); +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp41_; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp39_, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp42_); +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = adjustments; +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = shadow_detail_transformation_new ((gfloat) 0); +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_; +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp43_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp45_); +#line 13528 "ColorTransformation.c" + } +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = adjustments; +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = highlight_detail_transformation_new (0.0f); +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = _tmp47_; +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp48_); +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = adjustments; +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = temperature_transformation_new (0.0f); +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_; +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp49_, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp51_); +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = adjustments; +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = tint_transformation_new (0.0f); +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp53_; +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp52_, G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp54_); +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = adjustments; +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = exposure_transformation_new (0.0f); +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = _tmp56_; +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp55_, G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp57_); +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = adjustments; +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = saturation_transformation_new (0.0f); +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = _tmp59_; +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp58_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp60_); +#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = adjustments; +#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _intensity_histogram_unref0 (analysis_histogram); +#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13586 "ColorTransformation.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + -- cgit v1.2.3