1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
/* shotwell-graphics-processor.vapi generated by valac 0.40.4, do not modify. */
namespace AutoEnhance {
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public static PixelTransformationBundle create_auto_enhance_adjustments (Gdk.Pixbuf pixbuf);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public enum CompositionMode {
NONE,
RGB_MATRIX,
HSV_LOOKUP
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public enum PixelFormat {
RGB,
HSV
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public enum PixelTransformationType {
TONE_EXPANSION,
SHADOWS,
HIGHLIGHTS,
TEMPERATURE,
TINT,
SATURATION,
EXPOSURE,
CONTRAST
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class PixelTransformationBundle {
public PixelTransformationBundle ();
public PixelTransformationBundle copy ();
public PixelTransformer generate_transformer ();
public static PixelTransformationBundle? get_copied_color_adjustments ();
public int get_count ();
public PixelTransformation? get_transformation (PixelTransformationType type);
public Gee.Iterable<PixelTransformation> get_transformations ();
public static bool has_copied_color_adjustments ();
public bool is_identity ();
public void load (KeyValueMap store);
public KeyValueMap save (string group);
public void @set (PixelTransformation transformation);
public static void set_copied_color_adjustments (PixelTransformationBundle adjustments);
public void set_to_identity ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public abstract class PixelTransformation {
public PixelTransformation (PixelTransformationType type, PixelFormat preferred_format);
public virtual void compose_with (PixelTransformation other);
public abstract PixelTransformation copy ();
public virtual CompositionMode get_composition_mode ();
public PixelFormat get_preferred_format ();
public PixelTransformationType get_transformation_type ();
public virtual bool is_identity ();
public virtual string to_string ();
public virtual HSVAnalyticPixel transform_pixel_hsv (HSVAnalyticPixel p);
public virtual RGBAnalyticPixel transform_pixel_rgb (RGBAnalyticPixel p);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class RGBTransformation : PixelTransformation {
protected bool identity;
protected float[] matrix_entries;
protected const int MATRIX_SIZE;
public RGBTransformation (PixelTransformationType type);
public override void compose_with (PixelTransformation other);
public override PixelTransformation copy ();
public override CompositionMode get_composition_mode ();
public override bool is_identity ();
public override HSVAnalyticPixel transform_pixel_hsv (HSVAnalyticPixel p);
public override RGBAnalyticPixel transform_pixel_rgb (RGBAnalyticPixel p);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public abstract class HSVTransformation : PixelTransformation {
protected float remap_table[256];
public HSVTransformation (PixelTransformationType type);
public override void compose_with (PixelTransformation other);
public override CompositionMode get_composition_mode ();
public override HSVAnalyticPixel transform_pixel_hsv (HSVAnalyticPixel pixel);
public override RGBAnalyticPixel transform_pixel_rgb (RGBAnalyticPixel p);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class TintTransformation : RGBTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public TintTransformation (float client_param);
public float get_parameter ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class TemperatureTransformation : RGBTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public TemperatureTransformation (float client_parameter);
public float get_parameter ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class SaturationTransformation : RGBTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public SaturationTransformation (float client_parameter);
public float get_parameter ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class ExposureTransformation : RGBTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public ExposureTransformation (float client_parameter);
public float get_parameter ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class ContrastTransformation : RGBTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public ContrastTransformation (float client_parameter);
public float get_parameter ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class PixelTransformer {
public int optimized_slots_used;
public PixelTransformation[] optimized_transformations;
public PixelTransformer ();
public void attach_transformation (PixelTransformation trans);
public PixelTransformer copy ();
public void detach_transformation (PixelTransformation victim);
public void replace_transformation (PixelTransformation old_trans, PixelTransformation new_trans);
public void transform_from_fp (ref float[] fp_pixel_cache, Gdk.Pixbuf dest);
public void transform_pixbuf (Gdk.Pixbuf pixbuf, GLib.Cancellable? cancellable = null);
public void transform_to_other_pixbuf (Gdk.Pixbuf source, Gdk.Pixbuf dest, GLib.Cancellable? cancellable = null, int jobs = -1);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class RGBHistogram {
public const int GRAPHIC_HEIGHT;
public const int GRAPHIC_WIDTH;
public RGBHistogram (Gdk.Pixbuf pixbuf);
public Gdk.Pixbuf get_graphic ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class IntensityHistogram {
public IntensityHistogram (Gdk.Pixbuf pixbuf);
public float get_cumulative_probability (int level);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class ExpansionTransformation : HSVTransformation {
public ExpansionTransformation (IntensityHistogram histogram);
public override PixelTransformation copy ();
public ExpansionTransformation.from_extrema (int black_point, int white_point);
public ExpansionTransformation.from_string (string encoded_transformation);
public int get_black_point ();
public int get_white_point ();
public override bool is_identity ();
public override string to_string ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class ShadowDetailTransformation : HSVTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public ShadowDetailTransformation (float user_intensity);
public override PixelTransformation copy ();
public float get_parameter ();
public override bool is_identity ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class HermiteGammaApproximationFunction {
public HermiteGammaApproximationFunction (float user_interval_upper);
public float evaluate (float x);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class HighlightDetailTransformation : HSVTransformation {
public const float MAX_PARAMETER;
public const float MIN_PARAMETER;
public HighlightDetailTransformation (float user_intensity);
public override PixelTransformation copy ();
public float get_parameter ();
public override bool is_identity ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public class KeyValueMap {
public KeyValueMap (string group);
public KeyValueMap copy ();
public bool get_bool (string key, bool def);
public double get_double (string key, double def);
public float get_float (string key, float def);
public string get_group ();
public int get_int (string key, int def);
public Gee.Set<string> get_keys ();
public Gdk.Point get_point (string key, Gdk.Point def);
public string get_string (string key, string? def);
public bool has_key (string key);
public void set_bool (string key, bool value);
public void set_double (string key, double value);
public void set_float (string key, float value);
public void set_int (string key, int value);
public void set_point (string key, Gdk.Point point);
public void set_string (string key, string value);
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public struct RGBAnalyticPixel {
public float red;
public float green;
public float blue;
public RGBAnalyticPixel ();
public bool equals (RGBAnalyticPixel? rhs);
public RGBAnalyticPixel.from_components (float red, float green, float blue);
public RGBAnalyticPixel.from_hsv (HSVAnalyticPixel hsv_pixel);
public RGBAnalyticPixel.from_quantized_components (uchar red_quantized, uchar green_quantized, uchar blue_quantized);
public uint hash_code ();
public uchar quantized_blue ();
public uchar quantized_green ();
public uchar quantized_red ();
public HSVAnalyticPixel to_hsv ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public struct HSVAnalyticPixel {
public float hue;
public float saturation;
public float light_value;
public HSVAnalyticPixel ();
public bool equals (ref HSVAnalyticPixel rhs);
public HSVAnalyticPixel.from_components (float hue, float saturation, float light_value);
public HSVAnalyticPixel.from_quantized_components (uchar hue_quantized, uchar saturation_quantized, uchar light_value_quantized);
public HSVAnalyticPixel.from_rgb (RGBAnalyticPixel p);
public uint hash_code ();
public RGBAnalyticPixel to_rgb ();
}
[CCode (cheader_filename = "shotwell-graphics-processor.h")]
public const float[] rgb_lookup_table;
|