~elementary-os/ubuntu-package-imports/simple-scan-utopic

« back to all changes in this revision

Viewing changes to src/page.c

  • Committer: RabbitBot
  • Date: 2014-07-26 08:34:23 UTC
  • Revision ID: rabbitbot@elementaryos.org-20140726083423-zt6u3kod1ucclu8k
Initial import, version 3.13.4.2-0ubuntu1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* page.c generated by valac 0.24.0, the Vala compiler
 
2
 * generated from page.vala, do not modify */
 
3
 
 
4
/*
 
5
 * Copyright (C) 2009-2011 Canonical Ltd.
 
6
 * Author: Robert Ancell <robert.ancell@canonical.com>
 
7
 *
 
8
 * This program is free software: you can redistribute it and/or modify it under
 
9
 * the terms of the GNU General Public License as published by the Free Software
 
10
 * Foundation, either version 3 of the License, or (at your option) any later
 
11
 * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
 
12
 * license.
 
13
 */
 
14
 
 
15
#include <glib.h>
 
16
#include <glib-object.h>
 
17
#include <stdlib.h>
 
18
#include <string.h>
 
19
#include <float.h>
 
20
#include <math.h>
 
21
#include <gdk-pixbuf/gdk-pixbuf.h>
 
22
#include <glib/gstdio.h>
 
23
#include <gtk/gtk.h>
 
24
#include <gdk/gdk.h>
 
25
#include <gio/gio.h>
 
26
#include <gobject/gvaluecollector.h>
 
27
 
 
28
 
 
29
#define TYPE_SCAN_DIRECTION (scan_direction_get_type ())
 
30
 
 
31
#define TYPE_PAGE (page_get_type ())
 
32
#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
 
33
#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
 
34
#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
 
35
#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
 
36
#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
 
37
 
 
38
typedef struct _Page Page;
 
39
typedef struct _PageClass PageClass;
 
40
typedef struct _PagePrivate PagePrivate;
 
41
#define _g_free0(var) (var = (g_free (var), NULL))
 
42
 
 
43
#define TYPE_SCAN_PAGE_INFO (scan_page_info_get_type ())
 
44
#define SCAN_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_PAGE_INFO, ScanPageInfo))
 
45
#define SCAN_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_PAGE_INFO, ScanPageInfoClass))
 
46
#define IS_SCAN_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_PAGE_INFO))
 
47
#define IS_SCAN_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_PAGE_INFO))
 
48
#define SCAN_PAGE_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_PAGE_INFO, ScanPageInfoClass))
 
49
 
 
50
typedef struct _ScanPageInfo ScanPageInfo;
 
51
typedef struct _ScanPageInfoClass ScanPageInfoClass;
 
52
typedef struct _ScanPageInfoPrivate ScanPageInfoPrivate;
 
53
 
 
54
#define TYPE_SCAN_LINE (scan_line_get_type ())
 
55
#define SCAN_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_LINE, ScanLine))
 
56
#define SCAN_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_LINE, ScanLineClass))
 
57
#define IS_SCAN_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_LINE))
 
58
#define IS_SCAN_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_LINE))
 
59
#define SCAN_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_LINE, ScanLineClass))
 
60
 
 
61
typedef struct _ScanLine ScanLine;
 
62
typedef struct _ScanLineClass ScanLineClass;
 
63
typedef struct _ScanLinePrivate ScanLinePrivate;
 
64
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
 
65
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
 
66
 
 
67
#define TYPE_PIXBUF_WRITER (pixbuf_writer_get_type ())
 
68
#define PIXBUF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXBUF_WRITER, PixbufWriter))
 
69
#define PIXBUF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXBUF_WRITER, PixbufWriterClass))
 
70
#define IS_PIXBUF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXBUF_WRITER))
 
71
#define IS_PIXBUF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXBUF_WRITER))
 
72
#define PIXBUF_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXBUF_WRITER, PixbufWriterClass))
 
73
 
 
74
typedef struct _PixbufWriter PixbufWriter;
 
75
typedef struct _PixbufWriterClass PixbufWriterClass;
 
76
#define _pixbuf_writer_unref0(var) ((var == NULL) ? NULL : (var = (pixbuf_writer_unref (var), NULL)))
 
77
typedef struct _ParamSpecPage ParamSpecPage;
 
78
typedef struct _PixbufWriterPrivate PixbufWriterPrivate;
 
79
typedef struct _ParamSpecPixbufWriter ParamSpecPixbufWriter;
 
80
 
 
81
typedef enum  {
 
82
        SCAN_DIRECTION_TOP_TO_BOTTOM,
 
83
        SCAN_DIRECTION_LEFT_TO_RIGHT,
 
84
        SCAN_DIRECTION_BOTTOM_TO_TOP,
 
85
        SCAN_DIRECTION_RIGHT_TO_LEFT
 
86
} ScanDirection;
 
87
 
 
88
struct _Page {
 
89
        GTypeInstance parent_instance;
 
90
        volatile int ref_count;
 
91
        PagePrivate * priv;
 
92
};
 
93
 
 
94
struct _PageClass {
 
95
        GTypeClass parent_class;
 
96
        void (*finalize) (Page *self);
 
97
};
 
98
 
 
99
struct _PagePrivate {
 
100
        gint _dpi;
 
101
        gint expected_rows;
 
102
        gint _depth;
 
103
        gchar* _color_profile;
 
104
        gint _scan_width;
 
105
        gint _scan_height;
 
106
        gint _rowstride;
 
107
        gint _n_channels;
 
108
        guchar* pixels;
 
109
        gint pixels_length1;
 
110
        gint _pixels_size_;
 
111
        gboolean _is_scanning;
 
112
        gboolean _has_data;
 
113
        gint _scan_line;
 
114
        ScanDirection scan_direction_;
 
115
        gboolean _has_crop;
 
116
        gchar* _crop_name;
 
117
        gint _crop_x;
 
118
        gint _crop_y;
 
119
        gint _crop_width;
 
120
        gint _crop_height;
 
121
};
 
122
 
 
123
struct _ScanPageInfo {
 
124
        GTypeInstance parent_instance;
 
125
        volatile int ref_count;
 
126
        ScanPageInfoPrivate * priv;
 
127
        gint width;
 
128
        gint height;
 
129
        gint depth;
 
130
        gint n_channels;
 
131
        gdouble dpi;
 
132
        gchar* device;
 
133
};
 
134
 
 
135
struct _ScanPageInfoClass {
 
136
        GTypeClass parent_class;
 
137
        void (*finalize) (ScanPageInfo *self);
 
138
};
 
139
 
 
140
struct _ScanLine {
 
141
        GTypeInstance parent_instance;
 
142
        volatile int ref_count;
 
143
        ScanLinePrivate * priv;
 
144
        gint number;
 
145
        gint n_lines;
 
146
        gint width;
 
147
        gint depth;
 
148
        gint channel;
 
149
        guchar* data;
 
150
        gint data_length1;
 
151
        gint data_length;
 
152
};
 
153
 
 
154
struct _ScanLineClass {
 
155
        GTypeClass parent_class;
 
156
        void (*finalize) (ScanLine *self);
 
157
};
 
158
 
 
159
struct _ParamSpecPage {
 
160
        GParamSpec parent_instance;
 
161
};
 
162
 
 
163
struct _PixbufWriter {
 
164
        GTypeInstance parent_instance;
 
165
        volatile int ref_count;
 
166
        PixbufWriterPrivate * priv;
 
167
        GFileOutputStream* stream;
 
168
};
 
169
 
 
170
struct _PixbufWriterClass {
 
171
        GTypeClass parent_class;
 
172
        void (*finalize) (PixbufWriter *self);
 
173
};
 
174
 
 
175
struct _ParamSpecPixbufWriter {
 
176
        GParamSpec parent_instance;
 
177
};
 
178
 
 
179
 
 
180
static gpointer page_parent_class = NULL;
 
181
static gpointer pixbuf_writer_parent_class = NULL;
 
182
 
 
183
GType scan_direction_get_type (void) G_GNUC_CONST;
 
184
gpointer page_ref (gpointer instance);
 
185
void page_unref (gpointer instance);
 
186
GParamSpec* param_spec_page (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
 
187
void value_set_page (GValue* value, gpointer v_object);
 
188
void value_take_page (GValue* value, gpointer v_object);
 
189
gpointer value_get_page (const GValue* value);
 
190
GType page_get_type (void) G_GNUC_CONST;
 
191
#define PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PAGE, PagePrivate))
 
192
enum  {
 
193
        PAGE_DUMMY_PROPERTY
 
194
};
 
195
Page* page_new (gint width, gint height, gint dpi, ScanDirection scan_direction);
 
196
Page* page_construct (GType object_type, gint width, gint height, gint dpi, ScanDirection scan_direction);
 
197
static void page_set_scan_width (Page* self, gint value);
 
198
static void page_set_scan_height (Page* self, gint value);
 
199
static void page_set_dpi (Page* self, gint value);
 
200
void page_set_scan_direction (Page* self, ScanDirection value);
 
201
Page* page_new_from_data (gint scan_width, gint scan_height, gint rowstride, gint n_channels, gint depth, gint dpi, ScanDirection scan_direction, const gchar* color_profile, guchar* pixels, int pixels_length1, gboolean has_crop, const gchar* crop_name, gint crop_x, gint crop_y, gint crop_width, gint crop_height);
 
202
Page* page_construct_from_data (GType object_type, gint scan_width, gint scan_height, gint rowstride, gint n_channels, gint depth, gint dpi, ScanDirection scan_direction, const gchar* color_profile, guchar* pixels, int pixels_length1, gboolean has_crop, const gchar* crop_name, gint crop_x, gint crop_y, gint crop_width, gint crop_height);
 
203
static void page_set_rowstride (Page* self, gint value);
 
204
static void page_set_n_channels (Page* self, gint value);
 
205
static void page_set_depth (Page* self, gint value);
 
206
void page_set_color_profile (Page* self, const gchar* value);
 
207
static guchar* _vala_array_dup3 (guchar* self, int length);
 
208
static void page_set_has_data (Page* self, gboolean value);
 
209
static void page_set_has_crop (Page* self, gboolean value);
 
210
static void page_set_crop_name (Page* self, const gchar* value);
 
211
static void page_set_crop_x (Page* self, gint value);
 
212
static void page_set_crop_y (Page* self, gint value);
 
213
static void page_set_crop_width (Page* self, gint value);
 
214
static void page_set_crop_height (Page* self, gint value);
 
215
gpointer scan_page_info_ref (gpointer instance);
 
216
void scan_page_info_unref (gpointer instance);
 
217
GParamSpec* param_spec_scan_page_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
 
218
void value_set_scan_page_info (GValue* value, gpointer v_object);
 
219
void value_take_scan_page_info (GValue* value, gpointer v_object);
 
220
gpointer value_get_scan_page_info (const GValue* value);
 
221
GType scan_page_info_get_type (void) G_GNUC_CONST;
 
222
void page_set_page_info (Page* self, ScanPageInfo* info);
 
223
gint page_get_scan_height (Page* self);
 
224
gint page_get_scan_width (Page* self);
 
225
gint page_get_depth (Page* self);
 
226
gint page_get_n_channels (Page* self);
 
227
gint page_get_rowstride (Page* self);
 
228
void page_start (Page* self);
 
229
static void page_set_is_scanning (Page* self, gboolean value);
 
230
gpointer scan_line_ref (gpointer instance);
 
231
void scan_line_unref (gpointer instance);
 
232
GParamSpec* param_spec_scan_line (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
 
233
void value_set_scan_line (GValue* value, gpointer v_object);
 
234
void value_take_scan_line (GValue* value, gpointer v_object);
 
235
gpointer value_get_scan_line (const GValue* value);
 
236
GType scan_line_get_type (void) G_GNUC_CONST;
 
237
static void page_parse_line (Page* self, ScanLine* line, gint n, gboolean* size_changed);
 
238
static void page_set_scan_line (Page* self, gint value);
 
239
void page_parse_scan_line (Page* self, ScanLine* line);
 
240
void page_finish (Page* self);
 
241
gint page_get_scan_line (Page* self);
 
242
void page_rotate_left (Page* self);
 
243
ScanDirection page_get_scan_direction (Page* self);
 
244
void page_rotate_right (Page* self);
 
245
void page_set_no_crop (Page* self);
 
246
gboolean page_get_has_crop (Page* self);
 
247
void page_set_custom_crop (Page* self, gint width, gint height);
 
248
const gchar* page_get_crop_name (Page* self);
 
249
gint page_get_crop_width (Page* self);
 
250
gint page_get_crop_height (Page* self);
 
251
void page_set_named_crop (Page* self, const gchar* name);
 
252
gint page_get_width (Page* self);
 
253
gint page_get_height (Page* self);
 
254
gint page_get_dpi (Page* self);
 
255
void page_move_crop (Page* self, gint x, gint y);
 
256
void page_rotate_crop (Page* self);
 
257
gint page_get_crop_x (Page* self);
 
258
gint page_get_crop_y (Page* self);
 
259
guchar* page_get_pixels (Page* self, int* result_length1);
 
260
static guchar page_get_sample (Page* self, guchar* pixels, int pixels_length1, gint offset, gint x, gint depth, gint n_channels, gint channel);
 
261
static void page_get_pixel (Page* self, gint x, gint y, guchar* pixel, int pixel_length1, gint offset);
 
262
GdkPixbuf* page_get_image (Page* self, gboolean apply_crop);
 
263
static gchar* page_get_icc_data_encoded (Page* self, const gchar* icc_profile_filename);
 
264
void page_copy_to_clipboard (Page* self, GtkWindow* window);
 
265
void page_save (Page* self, const gchar* type, gint quality, GFile* file, GError** error);
 
266
gpointer pixbuf_writer_ref (gpointer instance);
 
267
void pixbuf_writer_unref (gpointer instance);
 
268
GParamSpec* param_spec_pixbuf_writer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
 
269
void value_set_pixbuf_writer (GValue* value, gpointer v_object);
 
270
void value_take_pixbuf_writer (GValue* value, gpointer v_object);
 
271
gpointer value_get_pixbuf_writer (const GValue* value);
 
272
GType pixbuf_writer_get_type (void) G_GNUC_CONST;
 
273
PixbufWriter* pixbuf_writer_new (GFileOutputStream* stream);
 
274
PixbufWriter* pixbuf_writer_construct (GType object_type, GFileOutputStream* stream);
 
275
const gchar* page_get_color_profile (Page* self);
 
276
void pixbuf_writer_save (PixbufWriter* self, GdkPixbuf* image, const gchar* type, gchar** option_keys, int option_keys_length1, gchar** option_values, int option_values_length1, GError** error);
 
277
gboolean page_get_is_landscape (Page* self);
 
278
gboolean page_get_is_scanning (Page* self);
 
279
gboolean page_get_has_data (Page* self);
 
280
gboolean page_get_is_color (Page* self);
 
281
static void page_finalize (Page* obj);
 
282
enum  {
 
283
        PIXBUF_WRITER_DUMMY_PROPERTY
 
284
};
 
285
static gboolean pixbuf_writer_write_pixbuf_data (PixbufWriter* self, guint8* buf, int buf_length1, GError** error);
 
286
static gboolean _pixbuf_writer_write_pixbuf_data_gdk_pixbuf_save_func (guint8* buf, gsize buf_length1, GError** error, gpointer self);
 
287
static void pixbuf_writer_finalize (PixbufWriter* obj);
 
288
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
 
289
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
 
290
 
 
291
 
 
292
GType scan_direction_get_type (void) {
 
293
        static volatile gsize scan_direction_type_id__volatile = 0;
 
294
        if (g_once_init_enter (&scan_direction_type_id__volatile)) {
 
295
                static const GEnumValue values[] = {{SCAN_DIRECTION_TOP_TO_BOTTOM, "SCAN_DIRECTION_TOP_TO_BOTTOM", "top-to-bottom"}, {SCAN_DIRECTION_LEFT_TO_RIGHT, "SCAN_DIRECTION_LEFT_TO_RIGHT", "left-to-right"}, {SCAN_DIRECTION_BOTTOM_TO_TOP, "SCAN_DIRECTION_BOTTOM_TO_TOP", "bottom-to-top"}, {SCAN_DIRECTION_RIGHT_TO_LEFT, "SCAN_DIRECTION_RIGHT_TO_LEFT", "right-to-left"}, {0, NULL, NULL}};
 
296
                GType scan_direction_type_id;
 
297
                scan_direction_type_id = g_enum_register_static ("ScanDirection", values);
 
298
                g_once_init_leave (&scan_direction_type_id__volatile, scan_direction_type_id);
 
299
        }
 
300
        return scan_direction_type_id__volatile;
 
301
}
 
302
 
 
303
 
 
304
Page* page_construct (GType object_type, gint width, gint height, gint dpi, ScanDirection scan_direction) {
 
305
        Page* self = NULL;
 
306
        gboolean _tmp0_ = FALSE;
 
307
        ScanDirection _tmp1_ = 0;
 
308
        gint _tmp7_ = 0;
 
309
        ScanDirection _tmp8_ = 0;
 
310
#line 174 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
311
        self = (Page*) g_type_create_instance (object_type);
 
312
#line 176 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
313
        _tmp1_ = scan_direction;
 
314
#line 176 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
315
        if (_tmp1_ == SCAN_DIRECTION_TOP_TO_BOTTOM) {
 
316
#line 176 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
317
                _tmp0_ = TRUE;
 
318
#line 319 "page.c"
 
319
        } else {
 
320
                ScanDirection _tmp2_ = 0;
 
321
#line 176 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
322
                _tmp2_ = scan_direction;
 
323
#line 176 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
324
                _tmp0_ = _tmp2_ == SCAN_DIRECTION_BOTTOM_TO_TOP;
 
325
#line 326 "page.c"
 
326
        }
 
327
#line 176 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
328
        if (_tmp0_) {
 
329
#line 330 "page.c"
 
330
                gint _tmp3_ = 0;
 
331
                gint _tmp4_ = 0;
 
332
#line 178 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
333
                _tmp3_ = width;
 
334
#line 178 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
335
                page_set_scan_width (self, _tmp3_);
 
336
#line 179 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
337
                _tmp4_ = height;
 
338
#line 179 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
339
                page_set_scan_height (self, _tmp4_);
 
340
#line 341 "page.c"
 
341
        } else {
 
342
                gint _tmp5_ = 0;
 
343
                gint _tmp6_ = 0;
 
344
#line 183 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
345
                _tmp5_ = height;
 
346
#line 183 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
347
                page_set_scan_width (self, _tmp5_);
 
348
#line 184 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
349
                _tmp6_ = width;
 
350
#line 184 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
351
                page_set_scan_height (self, _tmp6_);
 
352
#line 353 "page.c"
 
353
        }
 
354
#line 186 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
355
        _tmp7_ = dpi;
 
356
#line 186 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
357
        page_set_dpi (self, _tmp7_);
 
358
#line 187 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
359
        _tmp8_ = scan_direction;
 
360
#line 187 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
361
        page_set_scan_direction (self, _tmp8_);
 
362
#line 174 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
363
        return self;
 
364
#line 365 "page.c"
 
365
}
 
366
 
 
367
 
 
368
Page* page_new (gint width, gint height, gint dpi, ScanDirection scan_direction) {
 
369
#line 174 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
370
        return page_construct (TYPE_PAGE, width, height, dpi, scan_direction);
 
371
#line 372 "page.c"
 
372
}
 
373
 
 
374
 
 
375
static guchar* _vala_array_dup3 (guchar* self, int length) {
 
376
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
377
        return g_memdup (self, length * sizeof (guchar));
 
378
#line 379 "page.c"
 
379
}
 
380
 
 
381
 
 
382
Page* page_construct_from_data (GType object_type, gint scan_width, gint scan_height, gint rowstride, gint n_channels, gint depth, gint dpi, ScanDirection scan_direction, const gchar* color_profile, guchar* pixels, int pixels_length1, gboolean has_crop, const gchar* crop_name, gint crop_x, gint crop_y, gint crop_width, gint crop_height) {
 
383
        Page* self = NULL;
 
384
        gint _tmp0_ = 0;
 
385
        gint _tmp1_ = 0;
 
386
        gint _tmp2_ = 0;
 
387
        gint _tmp3_ = 0;
 
388
        gint _tmp4_ = 0;
 
389
        gint _tmp5_ = 0;
 
390
        gint _tmp6_ = 0;
 
391
        ScanDirection _tmp7_ = 0;
 
392
        const gchar* _tmp8_ = NULL;
 
393
        guchar* _tmp9_ = NULL;
 
394
        gint _tmp9__length1 = 0;
 
395
        guchar* _tmp10_ = NULL;
 
396
        gint _tmp10__length1 = 0;
 
397
        guchar* _tmp11_ = NULL;
 
398
        gint _tmp11__length1 = 0;
 
399
        gboolean _tmp12_ = FALSE;
 
400
        const gchar* _tmp13_ = NULL;
 
401
        gint _tmp14_ = 0;
 
402
        gint _tmp15_ = 0;
 
403
        gint _tmp16_ = 0;
 
404
        gint _tmp17_ = 0;
 
405
#line 190 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
406
        self = (Page*) g_type_create_instance (object_type);
 
407
#line 206 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
408
        _tmp0_ = scan_width;
 
409
#line 206 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
410
        page_set_scan_width (self, _tmp0_);
 
411
#line 207 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
412
        _tmp1_ = scan_height;
 
413
#line 207 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
414
        page_set_scan_height (self, _tmp1_);
 
415
#line 208 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
416
        _tmp2_ = scan_height;
 
417
#line 208 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
418
        self->priv->expected_rows = _tmp2_;
 
419
#line 209 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
420
        _tmp3_ = rowstride;
 
421
#line 209 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
422
        page_set_rowstride (self, _tmp3_);
 
423
#line 210 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
424
        _tmp4_ = n_channels;
 
425
#line 210 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
426
        page_set_n_channels (self, _tmp4_);
 
427
#line 211 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
428
        _tmp5_ = depth;
 
429
#line 211 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
430
        page_set_depth (self, _tmp5_);
 
431
#line 212 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
432
        _tmp6_ = dpi;
 
433
#line 212 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
434
        page_set_dpi (self, _tmp6_);
 
435
#line 213 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
436
        _tmp7_ = scan_direction;
 
437
#line 213 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
438
        page_set_scan_direction (self, _tmp7_);
 
439
#line 214 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
440
        _tmp8_ = color_profile;
 
441
#line 214 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
442
        page_set_color_profile (self, _tmp8_);
 
443
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
444
        _tmp9_ = pixels;
 
445
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
446
        _tmp9__length1 = pixels_length1;
 
447
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
448
        _tmp10_ = (_tmp9_ != NULL) ? _vala_array_dup3 (_tmp9_, _tmp9__length1) : ((gpointer) _tmp9_);
 
449
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
450
        _tmp10__length1 = _tmp9__length1;
 
451
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
452
        self->priv->pixels = (g_free (self->priv->pixels), NULL);
 
453
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
454
        self->priv->pixels = _tmp10_;
 
455
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
456
        self->priv->pixels_length1 = _tmp10__length1;
 
457
#line 215 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
458
        self->priv->_pixels_size_ = self->priv->pixels_length1;
 
459
#line 216 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
460
        _tmp11_ = pixels;
 
461
#line 216 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
462
        _tmp11__length1 = pixels_length1;
 
463
#line 216 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
464
        page_set_has_data (self, _tmp11_ != NULL);
 
465
#line 217 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
466
        _tmp12_ = has_crop;
 
467
#line 217 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
468
        page_set_has_crop (self, _tmp12_);
 
469
#line 218 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
470
        _tmp13_ = crop_name;
 
471
#line 218 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
472
        page_set_crop_name (self, _tmp13_);
 
473
#line 219 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
474
        _tmp14_ = crop_x;
 
475
#line 219 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
476
        page_set_crop_x (self, _tmp14_);
 
477
#line 220 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
478
        _tmp15_ = crop_y;
 
479
#line 220 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
480
        page_set_crop_y (self, _tmp15_);
 
481
#line 221 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
482
        _tmp16_ = crop_width;
 
483
#line 221 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
484
        page_set_crop_width (self, _tmp16_);
 
485
#line 222 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
486
        _tmp17_ = crop_height;
 
487
#line 222 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
488
        page_set_crop_height (self, _tmp17_);
 
489
#line 190 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
490
        return self;
 
491
#line 492 "page.c"
 
492
}
 
493
 
 
494
 
 
495
Page* page_new_from_data (gint scan_width, gint scan_height, gint rowstride, gint n_channels, gint depth, gint dpi, ScanDirection scan_direction, const gchar* color_profile, guchar* pixels, int pixels_length1, gboolean has_crop, const gchar* crop_name, gint crop_x, gint crop_y, gint crop_width, gint crop_height) {
 
496
#line 190 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
497
        return page_construct_from_data (TYPE_PAGE, scan_width, scan_height, rowstride, n_channels, depth, dpi, scan_direction, color_profile, pixels, pixels_length1, has_crop, crop_name, crop_x, crop_y, crop_width, crop_height);
 
498
#line 499 "page.c"
 
499
}
 
500
 
 
501
 
 
502
void page_set_page_info (Page* self, ScanPageInfo* info) {
 
503
        ScanPageInfo* _tmp0_ = NULL;
 
504
        gint _tmp1_ = 0;
 
505
        ScanPageInfo* _tmp2_ = NULL;
 
506
        gdouble _tmp3_ = 0.0;
 
507
        ScanPageInfo* _tmp4_ = NULL;
 
508
        gint _tmp5_ = 0;
 
509
        ScanPageInfo* _tmp6_ = NULL;
 
510
        gint _tmp7_ = 0;
 
511
        gint _tmp8_ = 0;
 
512
        ScanPageInfo* _tmp10_ = NULL;
 
513
        gint _tmp11_ = 0;
 
514
        ScanPageInfo* _tmp12_ = NULL;
 
515
        gint _tmp13_ = 0;
 
516
        gint _tmp14_ = 0;
 
517
        gint _tmp15_ = 0;
 
518
        gint _tmp16_ = 0;
 
519
        gint _tmp17_ = 0;
 
520
        gint _tmp18_ = 0;
 
521
        gint _tmp19_ = 0;
 
522
        guchar* _tmp20_ = NULL;
 
523
        gint _tmp20__length1 = 0;
 
524
        gint _tmp21_ = 0;
 
525
#line 225 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
526
        g_return_if_fail (self != NULL);
 
527
#line 225 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
528
        g_return_if_fail (info != NULL);
 
529
#line 227 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
530
        _tmp0_ = info;
 
531
#line 227 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
532
        _tmp1_ = _tmp0_->height;
 
533
#line 227 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
534
        self->priv->expected_rows = _tmp1_;
 
535
#line 228 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
536
        _tmp2_ = info;
 
537
#line 228 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
538
        _tmp3_ = _tmp2_->dpi;
 
539
#line 228 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
540
        page_set_dpi (self, (gint) _tmp3_);
 
541
#line 231 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
542
        _tmp4_ = info;
 
543
#line 231 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
544
        _tmp5_ = _tmp4_->width;
 
545
#line 231 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
546
        page_set_scan_width (self, _tmp5_);
 
547
#line 232 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
548
        _tmp6_ = info;
 
549
#line 232 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
550
        _tmp7_ = _tmp6_->height;
 
551
#line 232 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
552
        page_set_scan_height (self, _tmp7_);
 
553
#line 234 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
554
        _tmp8_ = self->priv->_scan_height;
 
555
#line 234 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
556
        if (_tmp8_ < 0) {
 
557
#line 558 "page.c"
 
558
                gint _tmp9_ = 0;
 
559
#line 235 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
560
                _tmp9_ = self->priv->_scan_width;
 
561
#line 235 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
562
                page_set_scan_height (self, _tmp9_ / 2);
 
563
#line 564 "page.c"
 
564
        }
 
565
#line 236 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
566
        _tmp10_ = info;
 
567
#line 236 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
568
        _tmp11_ = _tmp10_->depth;
 
569
#line 236 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
570
        page_set_depth (self, _tmp11_);
 
571
#line 237 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
572
        _tmp12_ = info;
 
573
#line 237 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
574
        _tmp13_ = _tmp12_->n_channels;
 
575
#line 237 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
576
        page_set_n_channels (self, _tmp13_);
 
577
#line 238 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
578
        _tmp14_ = self->priv->_scan_width;
 
579
#line 238 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
580
        _tmp15_ = self->priv->_depth;
 
581
#line 238 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
582
        _tmp16_ = self->priv->_n_channels;
 
583
#line 238 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
584
        page_set_rowstride (self, (((_tmp14_ * _tmp15_) * _tmp16_) + 7) / 8);
 
585
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
586
        _tmp17_ = self->priv->_scan_height;
 
587
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
588
        _tmp18_ = self->priv->_rowstride;
 
589
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
590
        _tmp19_ = _tmp17_ * _tmp18_;
 
591
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
592
        self->priv->pixels = g_renew (guchar, self->priv->pixels, _tmp17_ * _tmp18_);
 
593
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
594
        (_tmp19_ > self->priv->pixels_length1) ? memset (self->priv->pixels + self->priv->pixels_length1, 0, sizeof (guchar) * (_tmp19_ - self->priv->pixels_length1)) : NULL;
 
595
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
596
        self->priv->pixels_length1 = _tmp19_;
 
597
#line 239 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
598
        self->priv->_pixels_size_ = _tmp19_;
 
599
#line 240 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
600
        _tmp20_ = self->priv->pixels;
 
601
#line 240 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
602
        _tmp20__length1 = self->priv->pixels_length1;
 
603
#line 240 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
604
        g_return_if_fail (_tmp20_ != NULL);
 
605
#line 243 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
606
        _tmp21_ = self->priv->_depth;
 
607
#line 243 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
608
        if (_tmp21_ == 1) {
 
609
#line 610 "page.c"
 
610
                guchar* _tmp22_ = NULL;
 
611
                gint _tmp22__length1 = 0;
 
612
                gint _tmp23_ = 0;
 
613
                gint _tmp24_ = 0;
 
614
#line 244 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
615
                _tmp22_ = self->priv->pixels;
 
616
#line 244 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
617
                _tmp22__length1 = self->priv->pixels_length1;
 
618
#line 244 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
619
                _tmp23_ = self->priv->_scan_height;
 
620
#line 244 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
621
                _tmp24_ = self->priv->_rowstride;
 
622
#line 244 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
623
                memset (_tmp22_, 0x00, (gsize) (_tmp23_ * _tmp24_));
 
624
#line 625 "page.c"
 
625
        } else {
 
626
                guchar* _tmp25_ = NULL;
 
627
                gint _tmp25__length1 = 0;
 
628
                gint _tmp26_ = 0;
 
629
                gint _tmp27_ = 0;
 
630
#line 246 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
631
                _tmp25_ = self->priv->pixels;
 
632
#line 246 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
633
                _tmp25__length1 = self->priv->pixels_length1;
 
634
#line 246 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
635
                _tmp26_ = self->priv->_scan_height;
 
636
#line 246 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
637
                _tmp27_ = self->priv->_rowstride;
 
638
#line 246 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
639
                memset (_tmp25_, 0xFF, (gsize) (_tmp26_ * _tmp27_));
 
640
#line 641 "page.c"
 
641
        }
 
642
#line 248 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
643
        g_signal_emit_by_name (self, "size-changed");
 
644
#line 249 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
645
        g_signal_emit_by_name (self, "pixels-changed");
 
646
#line 647 "page.c"
 
647
}
 
648
 
 
649
 
 
650
void page_start (Page* self) {
 
651
#line 252 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
652
        g_return_if_fail (self != NULL);
 
653
#line 254 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
654
        page_set_is_scanning (self, TRUE);
 
655
#line 255 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
656
        g_signal_emit_by_name (self, "scan-line-changed");
 
657
#line 658 "page.c"
 
658
}
 
659
 
 
660
 
 
661
static void page_parse_line (Page* self, ScanLine* line, gint n, gboolean* size_changed) {
 
662
        gboolean _vala_size_changed = FALSE;
 
663
        gint line_number = 0;
 
664
        ScanLine* _tmp0_ = NULL;
 
665
        gint _tmp1_ = 0;
 
666
        gint _tmp2_ = 0;
 
667
        gint offset = 0;
 
668
        gint _tmp13_ = 0;
 
669
        gint _tmp14_ = 0;
 
670
        gint line_offset = 0;
 
671
        gint _tmp15_ = 0;
 
672
        ScanLine* _tmp16_ = NULL;
 
673
        gint _tmp17_ = 0;
 
674
        gint _tmp32_ = 0;
 
675
#line 258 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
676
        g_return_if_fail (self != NULL);
 
677
#line 258 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
678
        g_return_if_fail (line != NULL);
 
679
#line 260 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
680
        _tmp0_ = line;
 
681
#line 260 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
682
        _tmp1_ = _tmp0_->number;
 
683
#line 260 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
684
        _tmp2_ = n;
 
685
#line 260 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
686
        line_number = _tmp1_ + _tmp2_;
 
687
#line 263 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
688
        _vala_size_changed = FALSE;
 
689
#line 264 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
690
        while (TRUE) {
 
691
#line 692 "page.c"
 
692
                gint _tmp3_ = 0;
 
693
                gint _tmp4_ = 0;
 
694
                gint rows = 0;
 
695
                gint _tmp5_ = 0;
 
696
                gint _tmp6_ = 0;
 
697
                gint _tmp7_ = 0;
 
698
                gint _tmp8_ = 0;
 
699
                gint _tmp9_ = 0;
 
700
                gint _tmp10_ = 0;
 
701
                gint _tmp11_ = 0;
 
702
                gint _tmp12_ = 0;
 
703
#line 264 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
704
                _tmp3_ = line_number;
 
705
#line 264 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
706
                _tmp4_ = self->priv->_scan_height;
 
707
#line 264 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
708
                if (!(_tmp3_ >= _tmp4_)) {
 
709
#line 264 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
710
                        break;
 
711
#line 712 "page.c"
 
712
                }
 
713
#line 267 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
714
                _tmp5_ = self->priv->_scan_height;
 
715
#line 267 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
716
                rows = _tmp5_;
 
717
#line 268 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
718
                _tmp6_ = rows;
 
719
#line 268 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
720
                _tmp7_ = self->priv->_scan_width;
 
721
#line 268 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
722
                page_set_scan_height (self, _tmp6_ + (_tmp7_ / 2));
 
723
#line 269 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
724
                _tmp8_ = rows;
 
725
#line 269 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
726
                _tmp9_ = self->priv->_scan_height;
 
727
#line 269 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
728
                g_debug ("page.vala:269: Extending image from %d lines to %d lines", _tmp8_, _tmp9_);
 
729
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
730
                _tmp10_ = self->priv->_scan_height;
 
731
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
732
                _tmp11_ = self->priv->_rowstride;
 
733
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
734
                _tmp12_ = _tmp10_ * _tmp11_;
 
735
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
736
                self->priv->pixels = g_renew (guchar, self->priv->pixels, _tmp10_ * _tmp11_);
 
737
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
738
                (_tmp12_ > self->priv->pixels_length1) ? memset (self->priv->pixels + self->priv->pixels_length1, 0, sizeof (guchar) * (_tmp12_ - self->priv->pixels_length1)) : NULL;
 
739
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
740
                self->priv->pixels_length1 = _tmp12_;
 
741
#line 270 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
742
                self->priv->_pixels_size_ = _tmp12_;
 
743
#line 272 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
744
                _vala_size_changed = TRUE;
 
745
#line 746 "page.c"
 
746
        }
 
747
#line 276 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
748
        _tmp13_ = line_number;
 
749
#line 276 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
750
        _tmp14_ = self->priv->_rowstride;
 
751
#line 276 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
752
        offset = _tmp13_ * _tmp14_;
 
753
#line 277 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
754
        _tmp15_ = n;
 
755
#line 277 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
756
        _tmp16_ = line;
 
757
#line 277 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
758
        _tmp17_ = _tmp16_->data_length;
 
759
#line 277 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
760
        line_offset = _tmp15_ * _tmp17_;
 
761
#line 762 "page.c"
 
762
        {
 
763
                gint i = 0;
 
764
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
765
                i = 0;
 
766
#line 767 "page.c"
 
767
                {
 
768
                        gboolean _tmp18_ = FALSE;
 
769
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
770
                        _tmp18_ = TRUE;
 
771
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
772
                        while (TRUE) {
 
773
#line 774 "page.c"
 
774
                                gint _tmp20_ = 0;
 
775
                                ScanLine* _tmp21_ = NULL;
 
776
                                gint _tmp22_ = 0;
 
777
                                guchar* _tmp23_ = NULL;
 
778
                                gint _tmp23__length1 = 0;
 
779
                                gint _tmp24_ = 0;
 
780
                                gint _tmp25_ = 0;
 
781
                                ScanLine* _tmp26_ = NULL;
 
782
                                guchar* _tmp27_ = NULL;
 
783
                                gint _tmp27__length1 = 0;
 
784
                                gint _tmp28_ = 0;
 
785
                                gint _tmp29_ = 0;
 
786
                                guchar _tmp30_ = '\0';
 
787
                                guchar _tmp31_ = '\0';
 
788
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
789
                                if (!_tmp18_) {
 
790
#line 791 "page.c"
 
791
                                        gint _tmp19_ = 0;
 
792
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
793
                                        _tmp19_ = i;
 
794
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
795
                                        i = _tmp19_ + 1;
 
796
#line 797 "page.c"
 
797
                                }
 
798
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
799
                                _tmp18_ = FALSE;
 
800
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
801
                                _tmp20_ = i;
 
802
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
803
                                _tmp21_ = line;
 
804
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
805
                                _tmp22_ = _tmp21_->data_length;
 
806
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
807
                                if (!(_tmp20_ < _tmp22_)) {
 
808
#line 278 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
809
                                        break;
 
810
#line 811 "page.c"
 
811
                                }
 
812
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
813
                                _tmp23_ = self->priv->pixels;
 
814
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
815
                                _tmp23__length1 = self->priv->pixels_length1;
 
816
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
817
                                _tmp24_ = offset;
 
818
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
819
                                _tmp25_ = i;
 
820
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
821
                                _tmp26_ = line;
 
822
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
823
                                _tmp27_ = _tmp26_->data;
 
824
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
825
                                _tmp27__length1 = _tmp26_->data_length1;
 
826
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
827
                                _tmp28_ = line_offset;
 
828
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
829
                                _tmp29_ = i;
 
830
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
831
                                _tmp30_ = _tmp27_[_tmp28_ + _tmp29_];
 
832
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
833
                                _tmp23_[_tmp24_ + _tmp25_] = _tmp30_;
 
834
#line 279 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
835
                                _tmp31_ = _tmp23_[_tmp24_ + _tmp25_];
 
836
#line 837 "page.c"
 
837
                        }
 
838
                }
 
839
        }
 
840
#line 281 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
841
        _tmp32_ = line_number;
 
842
#line 281 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
843
        page_set_scan_line (self, _tmp32_);
 
844
#line 258 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
845
        if (size_changed) {
 
846
#line 258 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
847
                *size_changed = _vala_size_changed;
 
848
#line 849 "page.c"
 
849
        }
 
850
}
 
851
 
 
852
 
 
853
void page_parse_scan_line (Page* self, ScanLine* line) {
 
854
        gboolean size_has_changed = FALSE;
 
855
        gboolean _tmp8_ = FALSE;
 
856
#line 284 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
857
        g_return_if_fail (self != NULL);
 
858
#line 284 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
859
        g_return_if_fail (line != NULL);
 
860
#line 286 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
861
        size_has_changed = FALSE;
 
862
#line 863 "page.c"
 
863
        {
 
864
                gint i = 0;
 
865
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
866
                i = 0;
 
867
#line 868 "page.c"
 
868
                {
 
869
                        gboolean _tmp0_ = FALSE;
 
870
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
871
                        _tmp0_ = TRUE;
 
872
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
873
                        while (TRUE) {
 
874
#line 875 "page.c"
 
875
                                gint _tmp2_ = 0;
 
876
                                ScanLine* _tmp3_ = NULL;
 
877
                                gint _tmp4_ = 0;
 
878
                                ScanLine* _tmp5_ = NULL;
 
879
                                gint _tmp6_ = 0;
 
880
                                gboolean _tmp7_ = FALSE;
 
881
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
882
                                if (!_tmp0_) {
 
883
#line 884 "page.c"
 
884
                                        gint _tmp1_ = 0;
 
885
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
886
                                        _tmp1_ = i;
 
887
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
888
                                        i = _tmp1_ + 1;
 
889
#line 890 "page.c"
 
890
                                }
 
891
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
892
                                _tmp0_ = FALSE;
 
893
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
894
                                _tmp2_ = i;
 
895
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
896
                                _tmp3_ = line;
 
897
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
898
                                _tmp4_ = _tmp3_->n_lines;
 
899
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
900
                                if (!(_tmp2_ < _tmp4_)) {
 
901
#line 287 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
902
                                        break;
 
903
#line 904 "page.c"
 
904
                                }
 
905
#line 288 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
906
                                _tmp5_ = line;
 
907
#line 288 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
908
                                _tmp6_ = i;
 
909
#line 288 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
910
                                page_parse_line (self, _tmp5_, _tmp6_, &_tmp7_);
 
911
#line 288 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
912
                                size_has_changed = _tmp7_;
 
913
#line 914 "page.c"
 
914
                        }
 
915
                }
 
916
        }
 
917
#line 290 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
918
        page_set_has_data (self, TRUE);
 
919
#line 292 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
920
        _tmp8_ = size_has_changed;
 
921
#line 292 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
922
        if (_tmp8_) {
 
923
#line 293 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
924
                g_signal_emit_by_name (self, "size-changed");
 
925
#line 926 "page.c"
 
926
        }
 
927
#line 294 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
928
        g_signal_emit_by_name (self, "scan-line-changed");
 
929
#line 295 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
930
        g_signal_emit_by_name (self, "pixels-changed");
 
931
#line 932 "page.c"
 
932
}
 
933
 
 
934
 
 
935
void page_finish (Page* self) {
 
936
        gboolean size_has_changed = FALSE;
 
937
        gboolean _tmp0_ = FALSE;
 
938
        gint _tmp1_ = 0;
 
939
        gboolean _tmp11_ = FALSE;
 
940
#line 298 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
941
        g_return_if_fail (self != NULL);
 
942
#line 300 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
943
        size_has_changed = FALSE;
 
944
#line 303 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
945
        _tmp1_ = self->priv->expected_rows;
 
946
#line 303 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
947
        if (_tmp1_ < 0) {
 
948
#line 949 "page.c"
 
949
                gint _tmp2_ = 0;
 
950
                gint _tmp3_ = 0;
 
951
#line 304 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
952
                _tmp2_ = self->priv->_scan_line;
 
953
#line 304 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
954
                _tmp3_ = self->priv->_scan_height;
 
955
#line 304 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
956
                _tmp0_ = _tmp2_ != _tmp3_;
 
957
#line 958 "page.c"
 
958
        } else {
 
959
#line 303 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
960
                _tmp0_ = FALSE;
 
961
#line 962 "page.c"
 
962
        }
 
963
#line 303 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
964
        if (_tmp0_) {
 
965
#line 966 "page.c"
 
966
                gint rows = 0;
 
967
                gint _tmp4_ = 0;
 
968
                gint _tmp5_ = 0;
 
969
                gint _tmp6_ = 0;
 
970
                gint _tmp7_ = 0;
 
971
                gint _tmp8_ = 0;
 
972
                gint _tmp9_ = 0;
 
973
                gint _tmp10_ = 0;
 
974
#line 306 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
975
                _tmp4_ = self->priv->_scan_height;
 
976
#line 306 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
977
                rows = _tmp4_;
 
978
#line 307 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
979
                _tmp5_ = self->priv->_scan_line;
 
980
#line 307 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
981
                page_set_scan_height (self, _tmp5_);
 
982
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
983
                _tmp6_ = self->priv->_scan_height;
 
984
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
985
                _tmp7_ = self->priv->_rowstride;
 
986
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
987
                _tmp8_ = _tmp6_ * _tmp7_;
 
988
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
989
                self->priv->pixels = g_renew (guchar, self->priv->pixels, _tmp6_ * _tmp7_);
 
990
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
991
                (_tmp8_ > self->priv->pixels_length1) ? memset (self->priv->pixels + self->priv->pixels_length1, 0, sizeof (guchar) * (_tmp8_ - self->priv->pixels_length1)) : NULL;
 
992
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
993
                self->priv->pixels_length1 = _tmp8_;
 
994
#line 308 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
995
                self->priv->_pixels_size_ = _tmp8_;
 
996
#line 309 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
997
                _tmp9_ = rows;
 
998
#line 309 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
999
                _tmp10_ = self->priv->_scan_height;
 
1000
#line 309 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1001
                g_debug ("page.vala:309: Trimming page from %d lines to %d lines", _tmp9_, _tmp10_);
 
1002
#line 311 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1003
                size_has_changed = TRUE;
 
1004
#line 1005 "page.c"
 
1005
        }
 
1006
#line 313 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1007
        page_set_is_scanning (self, FALSE);
 
1008
#line 315 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1009
        _tmp11_ = size_has_changed;
 
1010
#line 315 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1011
        if (_tmp11_) {
 
1012
#line 316 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1013
                g_signal_emit_by_name (self, "size-changed");
 
1014
#line 1015 "page.c"
 
1015
        }
 
1016
#line 317 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1017
        g_signal_emit_by_name (self, "scan-line-changed");
 
1018
#line 318 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1019
        g_signal_emit_by_name (self, "scan-finished");
 
1020
#line 1021 "page.c"
 
1021
}
 
1022
 
 
1023
 
 
1024
void page_rotate_left (Page* self) {
 
1025
        ScanDirection _tmp0_ = 0;
 
1026
        ScanDirection _tmp1_ = 0;
 
1027
#line 321 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1028
        g_return_if_fail (self != NULL);
 
1029
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1030
        _tmp0_ = page_get_scan_direction (self);
 
1031
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1032
        _tmp1_ = _tmp0_;
 
1033
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1034
        switch (_tmp1_) {
 
1035
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1036
                case SCAN_DIRECTION_TOP_TO_BOTTOM:
 
1037
#line 1038 "page.c"
 
1038
                {
 
1039
#line 326 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1040
                        page_set_scan_direction (self, SCAN_DIRECTION_LEFT_TO_RIGHT);
 
1041
#line 327 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1042
                        break;
 
1043
#line 1044 "page.c"
 
1044
                }
 
1045
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1046
                case SCAN_DIRECTION_LEFT_TO_RIGHT:
 
1047
#line 1048 "page.c"
 
1048
                {
 
1049
#line 329 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1050
                        page_set_scan_direction (self, SCAN_DIRECTION_BOTTOM_TO_TOP);
 
1051
#line 330 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1052
                        break;
 
1053
#line 1054 "page.c"
 
1054
                }
 
1055
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1056
                case SCAN_DIRECTION_BOTTOM_TO_TOP:
 
1057
#line 1058 "page.c"
 
1058
                {
 
1059
#line 332 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1060
                        page_set_scan_direction (self, SCAN_DIRECTION_RIGHT_TO_LEFT);
 
1061
#line 333 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1062
                        break;
 
1063
#line 1064 "page.c"
 
1064
                }
 
1065
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1066
                case SCAN_DIRECTION_RIGHT_TO_LEFT:
 
1067
#line 1068 "page.c"
 
1068
                {
 
1069
#line 335 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1070
                        page_set_scan_direction (self, SCAN_DIRECTION_TOP_TO_BOTTOM);
 
1071
#line 336 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1072
                        break;
 
1073
#line 1074 "page.c"
 
1074
                }
 
1075
                default:
 
1076
#line 323 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1077
                break;
 
1078
#line 1079 "page.c"
 
1079
        }
 
1080
}
 
1081
 
 
1082
 
 
1083
void page_rotate_right (Page* self) {
 
1084
        ScanDirection _tmp0_ = 0;
 
1085
        ScanDirection _tmp1_ = 0;
 
1086
#line 340 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1087
        g_return_if_fail (self != NULL);
 
1088
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1089
        _tmp0_ = page_get_scan_direction (self);
 
1090
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1091
        _tmp1_ = _tmp0_;
 
1092
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1093
        switch (_tmp1_) {
 
1094
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1095
                case SCAN_DIRECTION_TOP_TO_BOTTOM:
 
1096
#line 1097 "page.c"
 
1097
                {
 
1098
#line 345 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1099
                        page_set_scan_direction (self, SCAN_DIRECTION_RIGHT_TO_LEFT);
 
1100
#line 346 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1101
                        break;
 
1102
#line 1103 "page.c"
 
1103
                }
 
1104
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1105
                case SCAN_DIRECTION_LEFT_TO_RIGHT:
 
1106
#line 1107 "page.c"
 
1107
                {
 
1108
#line 348 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1109
                        page_set_scan_direction (self, SCAN_DIRECTION_TOP_TO_BOTTOM);
 
1110
#line 349 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1111
                        break;
 
1112
#line 1113 "page.c"
 
1113
                }
 
1114
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1115
                case SCAN_DIRECTION_BOTTOM_TO_TOP:
 
1116
#line 1117 "page.c"
 
1117
                {
 
1118
#line 351 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1119
                        page_set_scan_direction (self, SCAN_DIRECTION_LEFT_TO_RIGHT);
 
1120
#line 352 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1121
                        break;
 
1122
#line 1123 "page.c"
 
1123
                }
 
1124
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1125
                case SCAN_DIRECTION_RIGHT_TO_LEFT:
 
1126
#line 1127 "page.c"
 
1127
                {
 
1128
#line 354 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1129
                        page_set_scan_direction (self, SCAN_DIRECTION_BOTTOM_TO_TOP);
 
1130
#line 355 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1131
                        break;
 
1132
#line 1133 "page.c"
 
1133
                }
 
1134
                default:
 
1135
#line 342 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1136
                break;
 
1137
#line 1138 "page.c"
 
1138
        }
 
1139
}
 
1140
 
 
1141
 
 
1142
void page_set_no_crop (Page* self) {
 
1143
        gboolean _tmp0_ = FALSE;
 
1144
#line 359 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1145
        g_return_if_fail (self != NULL);
 
1146
#line 361 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1147
        _tmp0_ = self->priv->_has_crop;
 
1148
#line 361 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1149
        if (!_tmp0_) {
 
1150
#line 362 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1151
                return;
 
1152
#line 1153 "page.c"
 
1153
        }
 
1154
#line 363 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1155
        page_set_has_crop (self, FALSE);
 
1156
#line 364 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1157
        page_set_crop_name (self, NULL);
 
1158
#line 365 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1159
        page_set_crop_x (self, 0);
 
1160
#line 366 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1161
        page_set_crop_y (self, 0);
 
1162
#line 367 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1163
        page_set_crop_width (self, 0);
 
1164
#line 368 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1165
        page_set_crop_height (self, 0);
 
1166
#line 369 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1167
        g_signal_emit_by_name (self, "crop-changed");
 
1168
#line 1169 "page.c"
 
1169
}
 
1170
 
 
1171
 
 
1172
void page_set_custom_crop (Page* self, gint width, gint height) {
 
1173
        gint _tmp0_ = 0;
 
1174
        gint _tmp1_ = 0;
 
1175
        gboolean _tmp2_ = FALSE;
 
1176
        gboolean _tmp3_ = FALSE;
 
1177
        gboolean _tmp4_ = FALSE;
 
1178
        const gchar* _tmp5_ = NULL;
 
1179
        gint _tmp11_ = 0;
 
1180
        gint _tmp12_ = 0;
 
1181
#line 372 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1182
        g_return_if_fail (self != NULL);
 
1183
#line 374 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1184
        _tmp0_ = width;
 
1185
#line 374 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1186
        g_return_if_fail (_tmp0_ >= 1);
 
1187
#line 375 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1188
        _tmp1_ = height;
 
1189
#line 375 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1190
        g_return_if_fail (_tmp1_ >= 1);
 
1191
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1192
        _tmp5_ = self->priv->_crop_name;
 
1193
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1194
        if (_tmp5_ == NULL) {
 
1195
#line 1196 "page.c"
 
1196
                gboolean _tmp6_ = FALSE;
 
1197
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1198
                _tmp6_ = self->priv->_has_crop;
 
1199
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1200
                _tmp4_ = _tmp6_;
 
1201
#line 1202 "page.c"
 
1202
        } else {
 
1203
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1204
                _tmp4_ = FALSE;
 
1205
#line 1206 "page.c"
 
1206
        }
 
1207
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1208
        if (_tmp4_) {
 
1209
#line 1210 "page.c"
 
1210
                gint _tmp7_ = 0;
 
1211
                gint _tmp8_ = 0;
 
1212
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1213
                _tmp7_ = self->priv->_crop_width;
 
1214
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1215
                _tmp8_ = width;
 
1216
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1217
                _tmp3_ = _tmp7_ == _tmp8_;
 
1218
#line 1219 "page.c"
 
1219
        } else {
 
1220
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1221
                _tmp3_ = FALSE;
 
1222
#line 1223 "page.c"
 
1223
        }
 
1224
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1225
        if (_tmp3_) {
 
1226
#line 1227 "page.c"
 
1227
                gint _tmp9_ = 0;
 
1228
                gint _tmp10_ = 0;
 
1229
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1230
                _tmp9_ = self->priv->_crop_height;
 
1231
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1232
                _tmp10_ = height;
 
1233
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1234
                _tmp2_ = _tmp9_ == _tmp10_;
 
1235
#line 1236 "page.c"
 
1236
        } else {
 
1237
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1238
                _tmp2_ = FALSE;
 
1239
#line 1240 "page.c"
 
1240
        }
 
1241
#line 377 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1242
        if (_tmp2_) {
 
1243
#line 378 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1244
                return;
 
1245
#line 1246 "page.c"
 
1246
        }
 
1247
#line 379 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1248
        page_set_crop_name (self, NULL);
 
1249
#line 380 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1250
        page_set_has_crop (self, TRUE);
 
1251
#line 382 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1252
        _tmp11_ = width;
 
1253
#line 382 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1254
        page_set_crop_width (self, _tmp11_);
 
1255
#line 383 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1256
        _tmp12_ = height;
 
1257
#line 383 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1258
        page_set_crop_height (self, _tmp12_);
 
1259
#line 396 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1260
        g_signal_emit_by_name (self, "crop-changed");
 
1261
#line 1262 "page.c"
 
1262
}
 
1263
 
 
1264
 
 
1265
void page_set_named_crop (Page* self, const gchar* name) {
 
1266
        gdouble w = 0.0;
 
1267
        gdouble h = 0.0;
 
1268
        const gchar* _tmp0_ = NULL;
 
1269
        const gchar* _tmp1_ = NULL;
 
1270
        GQuark _tmp3_ = 0U;
 
1271
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1272
        static GQuark _tmp2_label0 = 0;
 
1273
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1274
        static GQuark _tmp2_label1 = 0;
 
1275
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1276
        static GQuark _tmp2_label2 = 0;
 
1277
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1278
        static GQuark _tmp2_label3 = 0;
 
1279
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1280
        static GQuark _tmp2_label4 = 0;
 
1281
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1282
        static GQuark _tmp2_label5 = 0;
 
1283
#line 1284 "page.c"
 
1284
        const gchar* _tmp5_ = NULL;
 
1285
        gint pw = 0;
 
1286
        gint _tmp6_ = 0;
 
1287
        gint _tmp7_ = 0;
 
1288
        gint ph = 0;
 
1289
        gint _tmp8_ = 0;
 
1290
        gint _tmp9_ = 0;
 
1291
        gint _tmp10_ = 0;
 
1292
        gint _tmp11_ = 0;
 
1293
        gdouble _tmp15_ = 0.0;
 
1294
        gint _tmp16_ = 0;
 
1295
        gdouble _tmp17_ = 0.0;
 
1296
        gint _tmp18_ = 0;
 
1297
        gint _tmp19_ = 0;
 
1298
        gint _tmp20_ = 0;
 
1299
        gint _tmp23_ = 0;
 
1300
        gint _tmp24_ = 0;
 
1301
#line 399 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1302
        g_return_if_fail (self != NULL);
 
1303
#line 399 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1304
        g_return_if_fail (name != NULL);
 
1305
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1306
        _tmp0_ = name;
 
1307
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1308
        _tmp1_ = _tmp0_;
 
1309
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1310
        _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
 
1311
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1312
        if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("A4")))) {
 
1313
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1314
                switch (0) {
 
1315
#line 1316 "page.c"
 
1316
                        default:
 
1317
                        {
 
1318
#line 405 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1319
                                w = 8.3;
 
1320
#line 406 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1321
                                h = 11.7;
 
1322
#line 407 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1323
                                break;
 
1324
#line 1325 "page.c"
 
1325
                        }
 
1326
                }
 
1327
        } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("A5")))) {
 
1328
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1329
                switch (0) {
 
1330
#line 1331 "page.c"
 
1331
                        default:
 
1332
                        {
 
1333
#line 409 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1334
                                w = 5.8;
 
1335
#line 410 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1336
                                h = 8.3;
 
1337
#line 411 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1338
                                break;
 
1339
#line 1340 "page.c"
 
1340
                        }
 
1341
                }
 
1342
        } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("A6")))) {
 
1343
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1344
                switch (0) {
 
1345
#line 1346 "page.c"
 
1346
                        default:
 
1347
                        {
 
1348
#line 413 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1349
                                w = 4.1;
 
1350
#line 414 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1351
                                h = 5.8;
 
1352
#line 415 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1353
                                break;
 
1354
#line 1355 "page.c"
 
1355
                        }
 
1356
                }
 
1357
        } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("letter")))) {
 
1358
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1359
                switch (0) {
 
1360
#line 1361 "page.c"
 
1361
                        default:
 
1362
                        {
 
1363
#line 417 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1364
                                w = 8.5;
 
1365
#line 418 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1366
                                h = (gdouble) 11;
 
1367
#line 419 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1368
                                break;
 
1369
#line 1370 "page.c"
 
1370
                        }
 
1371
                }
 
1372
        } else if (_tmp3_ == ((0 != _tmp2_label4) ? _tmp2_label4 : (_tmp2_label4 = g_quark_from_static_string ("legal")))) {
 
1373
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1374
                switch (0) {
 
1375
#line 1376 "page.c"
 
1376
                        default:
 
1377
                        {
 
1378
#line 421 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1379
                                w = 8.5;
 
1380
#line 422 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1381
                                h = (gdouble) 14;
 
1382
#line 423 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1383
                                break;
 
1384
#line 1385 "page.c"
 
1385
                        }
 
1386
                }
 
1387
        } else if (_tmp3_ == ((0 != _tmp2_label5) ? _tmp2_label5 : (_tmp2_label5 = g_quark_from_static_string ("4x6")))) {
 
1388
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1389
                switch (0) {
 
1390
#line 1391 "page.c"
 
1391
                        default:
 
1392
                        {
 
1393
#line 425 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1394
                                w = (gdouble) 4;
 
1395
#line 426 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1396
                                h = (gdouble) 6;
 
1397
#line 427 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1398
                                break;
 
1399
#line 1400 "page.c"
 
1400
                        }
 
1401
                }
 
1402
        } else {
 
1403
#line 402 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1404
                switch (0) {
 
1405
#line 1406 "page.c"
 
1406
                        default:
 
1407
                        {
 
1408
                                const gchar* _tmp4_ = NULL;
 
1409
#line 429 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1410
                                _tmp4_ = name;
 
1411
#line 429 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1412
                                g_warning ("page.vala:429: Unknown paper size '%s'", _tmp4_);
 
1413
#line 430 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1414
                                return;
 
1415
#line 1416 "page.c"
 
1416
                        }
 
1417
                }
 
1418
        }
 
1419
#line 433 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1420
        _tmp5_ = name;
 
1421
#line 433 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1422
        page_set_crop_name (self, _tmp5_);
 
1423
#line 434 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1424
        page_set_has_crop (self, TRUE);
 
1425
#line 436 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1426
        _tmp6_ = page_get_width (self);
 
1427
#line 436 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1428
        _tmp7_ = _tmp6_;
 
1429
#line 436 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1430
        pw = _tmp7_;
 
1431
#line 437 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1432
        _tmp8_ = page_get_height (self);
 
1433
#line 437 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1434
        _tmp9_ = _tmp8_;
 
1435
#line 437 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1436
        ph = _tmp9_;
 
1437
#line 440 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1438
        _tmp10_ = pw;
 
1439
#line 440 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1440
        _tmp11_ = ph;
 
1441
#line 440 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1442
        if (_tmp10_ > _tmp11_) {
 
1443
#line 1444 "page.c"
 
1444
                gdouble t = 0.0;
 
1445
                gdouble _tmp12_ = 0.0;
 
1446
                gdouble _tmp13_ = 0.0;
 
1447
                gdouble _tmp14_ = 0.0;
 
1448
#line 442 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1449
                _tmp12_ = w;
 
1450
#line 442 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1451
                t = _tmp12_;
 
1452
#line 443 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1453
                _tmp13_ = h;
 
1454
#line 443 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1455
                w = _tmp13_;
 
1456
#line 444 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1457
                _tmp14_ = t;
 
1458
#line 444 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1459
                h = _tmp14_;
 
1460
#line 1461 "page.c"
 
1461
        }
 
1462
#line 448 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1463
        _tmp15_ = w;
 
1464
#line 448 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1465
        _tmp16_ = self->priv->_dpi;
 
1466
#line 448 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1467
        page_set_crop_width (self, (gint) ((_tmp15_ * _tmp16_) + 0.5));
 
1468
#line 449 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1469
        _tmp17_ = h;
 
1470
#line 449 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1471
        _tmp18_ = self->priv->_dpi;
 
1472
#line 449 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1473
        page_set_crop_height (self, (gint) ((_tmp17_ * _tmp18_) + 0.5));
 
1474
#line 451 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1475
        _tmp19_ = self->priv->_crop_width;
 
1476
#line 451 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1477
        _tmp20_ = pw;
 
1478
#line 451 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1479
        if (_tmp19_ < _tmp20_) {
 
1480
#line 1481 "page.c"
 
1481
                gint _tmp21_ = 0;
 
1482
                gint _tmp22_ = 0;
 
1483
#line 452 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1484
                _tmp21_ = pw;
 
1485
#line 452 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1486
                _tmp22_ = self->priv->_crop_width;
 
1487
#line 452 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1488
                page_set_crop_x (self, (_tmp21_ - _tmp22_) / 2);
 
1489
#line 1490 "page.c"
 
1490
        } else {
 
1491
#line 454 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1492
                page_set_crop_x (self, 0);
 
1493
#line 1494 "page.c"
 
1494
        }
 
1495
#line 455 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1496
        _tmp23_ = self->priv->_crop_height;
 
1497
#line 455 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1498
        _tmp24_ = ph;
 
1499
#line 455 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1500
        if (_tmp23_ < _tmp24_) {
 
1501
#line 1502 "page.c"
 
1502
                gint _tmp25_ = 0;
 
1503
                gint _tmp26_ = 0;
 
1504
#line 456 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1505
                _tmp25_ = ph;
 
1506
#line 456 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1507
                _tmp26_ = self->priv->_crop_height;
 
1508
#line 456 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1509
                page_set_crop_y (self, (_tmp25_ - _tmp26_) / 2);
 
1510
#line 1511 "page.c"
 
1511
        } else {
 
1512
#line 458 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1513
                page_set_crop_y (self, 0);
 
1514
#line 1515 "page.c"
 
1515
        }
 
1516
#line 459 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1517
        g_signal_emit_by_name (self, "crop-changed");
 
1518
#line 1519 "page.c"
 
1519
}
 
1520
 
 
1521
 
 
1522
void page_move_crop (Page* self, gint x, gint y) {
 
1523
        gint _tmp0_ = 0;
 
1524
        gint _tmp1_ = 0;
 
1525
        gint _tmp2_ = 0;
 
1526
        gint _tmp3_ = 0;
 
1527
        gint _tmp4_ = 0;
 
1528
        gint _tmp5_ = 0;
 
1529
        gint _tmp6_ = 0;
 
1530
        gint _tmp7_ = 0;
 
1531
        gint _tmp8_ = 0;
 
1532
        gint _tmp9_ = 0;
 
1533
#line 462 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1534
        g_return_if_fail (self != NULL);
 
1535
#line 464 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1536
        _tmp0_ = x;
 
1537
#line 464 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1538
        g_return_if_fail (_tmp0_ >= 0);
 
1539
#line 465 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1540
        _tmp1_ = y;
 
1541
#line 465 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1542
        g_return_if_fail (_tmp1_ >= 0);
 
1543
#line 466 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1544
        _tmp2_ = x;
 
1545
#line 466 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1546
        _tmp3_ = page_get_width (self);
 
1547
#line 466 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1548
        _tmp4_ = _tmp3_;
 
1549
#line 466 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1550
        g_return_if_fail (_tmp2_ < _tmp4_);
 
1551
#line 467 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1552
        _tmp5_ = y;
 
1553
#line 467 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1554
        _tmp6_ = page_get_height (self);
 
1555
#line 467 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1556
        _tmp7_ = _tmp6_;
 
1557
#line 467 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1558
        g_return_if_fail (_tmp5_ < _tmp7_);
 
1559
#line 469 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1560
        _tmp8_ = x;
 
1561
#line 469 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1562
        page_set_crop_x (self, _tmp8_);
 
1563
#line 470 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1564
        _tmp9_ = y;
 
1565
#line 470 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1566
        page_set_crop_y (self, _tmp9_);
 
1567
#line 471 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1568
        g_signal_emit_by_name (self, "crop-changed");
 
1569
#line 1570 "page.c"
 
1570
}
 
1571
 
 
1572
 
 
1573
void page_rotate_crop (Page* self) {
 
1574
        gboolean _tmp0_ = FALSE;
 
1575
        gint t = 0;
 
1576
        gint _tmp1_ = 0;
 
1577
        gint _tmp2_ = 0;
 
1578
        gint _tmp3_ = 0;
 
1579
        const gchar* _tmp4_ = NULL;
 
1580
#line 474 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1581
        g_return_if_fail (self != NULL);
 
1582
#line 476 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1583
        _tmp0_ = self->priv->_has_crop;
 
1584
#line 476 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1585
        if (!_tmp0_) {
 
1586
#line 477 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1587
                return;
 
1588
#line 1589 "page.c"
 
1589
        }
 
1590
#line 479 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1591
        _tmp1_ = self->priv->_crop_width;
 
1592
#line 479 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1593
        t = _tmp1_;
 
1594
#line 480 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1595
        _tmp2_ = self->priv->_crop_height;
 
1596
#line 480 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1597
        page_set_crop_width (self, _tmp2_);
 
1598
#line 481 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1599
        _tmp3_ = t;
 
1600
#line 481 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1601
        page_set_crop_height (self, _tmp3_);
 
1602
#line 484 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1603
        _tmp4_ = self->priv->_crop_name;
 
1604
#line 484 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1605
        if (_tmp4_ == NULL) {
 
1606
#line 1607 "page.c"
 
1607
                gint w = 0;
 
1608
                gint _tmp5_ = 0;
 
1609
                gint _tmp6_ = 0;
 
1610
                gint h = 0;
 
1611
                gint _tmp7_ = 0;
 
1612
                gint _tmp8_ = 0;
 
1613
                gint _tmp9_ = 0;
 
1614
                gint _tmp10_ = 0;
 
1615
                gint _tmp11_ = 0;
 
1616
                gint _tmp14_ = 0;
 
1617
                gint _tmp16_ = 0;
 
1618
                gint _tmp17_ = 0;
 
1619
                gint _tmp18_ = 0;
 
1620
                gint _tmp21_ = 0;
 
1621
#line 486 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1622
                _tmp5_ = page_get_width (self);
 
1623
#line 486 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1624
                _tmp6_ = _tmp5_;
 
1625
#line 486 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1626
                w = _tmp6_;
 
1627
#line 487 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1628
                _tmp7_ = page_get_height (self);
 
1629
#line 487 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1630
                _tmp8_ = _tmp7_;
 
1631
#line 487 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1632
                h = _tmp8_;
 
1633
#line 489 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1634
                _tmp9_ = self->priv->_crop_x;
 
1635
#line 489 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1636
                _tmp10_ = self->priv->_crop_width;
 
1637
#line 489 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1638
                _tmp11_ = w;
 
1639
#line 489 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1640
                if ((_tmp9_ + _tmp10_) > _tmp11_) {
 
1641
#line 1642 "page.c"
 
1642
                        gint _tmp12_ = 0;
 
1643
                        gint _tmp13_ = 0;
 
1644
#line 490 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1645
                        _tmp12_ = w;
 
1646
#line 490 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1647
                        _tmp13_ = self->priv->_crop_width;
 
1648
#line 490 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1649
                        page_set_crop_x (self, _tmp12_ - _tmp13_);
 
1650
#line 1651 "page.c"
 
1651
                }
 
1652
#line 491 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1653
                _tmp14_ = self->priv->_crop_x;
 
1654
#line 491 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1655
                if (_tmp14_ < 0) {
 
1656
#line 1657 "page.c"
 
1657
                        gint _tmp15_ = 0;
 
1658
#line 493 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1659
                        page_set_crop_x (self, 0);
 
1660
#line 494 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1661
                        _tmp15_ = w;
 
1662
#line 494 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1663
                        page_set_crop_width (self, _tmp15_);
 
1664
#line 1665 "page.c"
 
1665
                }
 
1666
#line 496 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1667
                _tmp16_ = self->priv->_crop_y;
 
1668
#line 496 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1669
                _tmp17_ = self->priv->_crop_height;
 
1670
#line 496 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1671
                _tmp18_ = h;
 
1672
#line 496 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1673
                if ((_tmp16_ + _tmp17_) > _tmp18_) {
 
1674
#line 1675 "page.c"
 
1675
                        gint _tmp19_ = 0;
 
1676
                        gint _tmp20_ = 0;
 
1677
#line 497 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1678
                        _tmp19_ = h;
 
1679
#line 497 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1680
                        _tmp20_ = self->priv->_crop_height;
 
1681
#line 497 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1682
                        page_set_crop_y (self, _tmp19_ - _tmp20_);
 
1683
#line 1684 "page.c"
 
1684
                }
 
1685
#line 498 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1686
                _tmp21_ = self->priv->_crop_y;
 
1687
#line 498 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1688
                if (_tmp21_ < 0) {
 
1689
#line 1690 "page.c"
 
1690
                        gint _tmp22_ = 0;
 
1691
#line 500 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1692
                        page_set_crop_y (self, 0);
 
1693
#line 501 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1694
                        _tmp22_ = h;
 
1695
#line 501 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1696
                        page_set_crop_height (self, _tmp22_);
 
1697
#line 1698 "page.c"
 
1698
                }
 
1699
        }
 
1700
#line 505 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1701
        g_signal_emit_by_name (self, "crop-changed");
 
1702
#line 1703 "page.c"
 
1703
}
 
1704
 
 
1705
 
 
1706
guchar* page_get_pixels (Page* self, int* result_length1) {
 
1707
        guchar* result = NULL;
 
1708
        guchar* _tmp0_ = NULL;
 
1709
        gint _tmp0__length1 = 0;
 
1710
        guchar* _tmp1_ = NULL;
 
1711
        gint _tmp1__length1 = 0;
 
1712
#line 508 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1713
        g_return_val_if_fail (self != NULL, NULL);
 
1714
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1715
        _tmp0_ = self->priv->pixels;
 
1716
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1717
        _tmp0__length1 = self->priv->pixels_length1;
 
1718
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1719
        _tmp1_ = _tmp0_;
 
1720
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1721
        _tmp1__length1 = _tmp0__length1;
 
1722
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1723
        if (result_length1) {
 
1724
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1725
                *result_length1 = _tmp1__length1;
 
1726
#line 1727 "page.c"
 
1727
        }
 
1728
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1729
        result = _tmp1_;
 
1730
#line 510 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1731
        return result;
 
1732
#line 1733 "page.c"
 
1733
}
 
1734
 
 
1735
 
 
1736
static guchar page_get_sample (Page* self, guchar* pixels, int pixels_length1, gint offset, gint x, gint depth, gint n_channels, gint channel) {
 
1737
        guchar result = '\0';
 
1738
#line 514 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1739
        g_return_val_if_fail (self != NULL, '\0');
 
1740
#line 517 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1741
        result = (guchar) 0xFF;
 
1742
#line 517 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1743
        return result;
 
1744
#line 1745 "page.c"
 
1745
}
 
1746
 
 
1747
 
 
1748
static void page_get_pixel (Page* self, gint x, gint y, guchar* pixel, int pixel_length1, gint offset) {
 
1749
        ScanDirection _tmp0_ = 0;
 
1750
        ScanDirection _tmp1_ = 0;
 
1751
        gint line_offset = 0;
 
1752
        gint _tmp14_ = 0;
 
1753
        gint _tmp15_ = 0;
 
1754
        gboolean _tmp16_ = FALSE;
 
1755
        gint _tmp17_ = 0;
 
1756
        guchar* _tmp98_ = NULL;
 
1757
        gint _tmp98__length1 = 0;
 
1758
        gint _tmp99_ = 0;
 
1759
        guchar* _tmp100_ = NULL;
 
1760
        gint _tmp100__length1 = 0;
 
1761
        gint _tmp101_ = 0;
 
1762
        gint _tmp102_ = 0;
 
1763
        gint _tmp103_ = 0;
 
1764
        gint _tmp104_ = 0;
 
1765
        guchar _tmp105_ = '\0';
 
1766
        guchar _tmp106_ = '\0';
 
1767
        guchar* _tmp107_ = NULL;
 
1768
        gint _tmp107__length1 = 0;
 
1769
        gint _tmp108_ = 0;
 
1770
        guchar* _tmp109_ = NULL;
 
1771
        gint _tmp109__length1 = 0;
 
1772
        gint _tmp110_ = 0;
 
1773
        gint _tmp111_ = 0;
 
1774
        gint _tmp112_ = 0;
 
1775
        gint _tmp113_ = 0;
 
1776
        guchar _tmp114_ = '\0';
 
1777
        guchar _tmp115_ = '\0';
 
1778
        guchar* _tmp116_ = NULL;
 
1779
        gint _tmp116__length1 = 0;
 
1780
        gint _tmp117_ = 0;
 
1781
        guchar* _tmp118_ = NULL;
 
1782
        gint _tmp118__length1 = 0;
 
1783
        gint _tmp119_ = 0;
 
1784
        gint _tmp120_ = 0;
 
1785
        gint _tmp121_ = 0;
 
1786
        gint _tmp122_ = 0;
 
1787
        guchar _tmp123_ = '\0';
 
1788
        guchar _tmp124_ = '\0';
 
1789
#line 521 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1790
        g_return_if_fail (self != NULL);
 
1791
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1792
        _tmp0_ = page_get_scan_direction (self);
 
1793
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1794
        _tmp1_ = _tmp0_;
 
1795
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1796
        switch (_tmp1_) {
 
1797
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1798
                case SCAN_DIRECTION_TOP_TO_BOTTOM:
 
1799
#line 1800 "page.c"
 
1800
                {
 
1801
#line 526 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1802
                        break;
 
1803
#line 1804 "page.c"
 
1804
                }
 
1805
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1806
                case SCAN_DIRECTION_BOTTOM_TO_TOP:
 
1807
#line 1808 "page.c"
 
1808
                {
 
1809
                        gint _tmp2_ = 0;
 
1810
                        gint _tmp3_ = 0;
 
1811
                        gint _tmp4_ = 0;
 
1812
                        gint _tmp5_ = 0;
 
1813
#line 528 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1814
                        _tmp2_ = self->priv->_scan_width;
 
1815
#line 528 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1816
                        _tmp3_ = x;
 
1817
#line 528 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1818
                        x = (_tmp2_ - _tmp3_) - 1;
 
1819
#line 529 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1820
                        _tmp4_ = self->priv->_scan_height;
 
1821
#line 529 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1822
                        _tmp5_ = y;
 
1823
#line 529 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1824
                        y = (_tmp4_ - _tmp5_) - 1;
 
1825
#line 530 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1826
                        break;
 
1827
#line 1828 "page.c"
 
1828
                }
 
1829
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1830
                case SCAN_DIRECTION_LEFT_TO_RIGHT:
 
1831
#line 1832 "page.c"
 
1832
                {
 
1833
                        gint t = 0;
 
1834
                        gint _tmp6_ = 0;
 
1835
                        gint _tmp7_ = 0;
 
1836
                        gint _tmp8_ = 0;
 
1837
                        gint _tmp9_ = 0;
 
1838
#line 532 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1839
                        _tmp6_ = x;
 
1840
#line 532 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1841
                        t = _tmp6_;
 
1842
#line 533 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1843
                        _tmp7_ = self->priv->_scan_width;
 
1844
#line 533 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1845
                        _tmp8_ = y;
 
1846
#line 533 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1847
                        x = (_tmp7_ - _tmp8_) - 1;
 
1848
#line 534 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1849
                        _tmp9_ = t;
 
1850
#line 534 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1851
                        y = _tmp9_;
 
1852
#line 535 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1853
                        break;
 
1854
#line 1855 "page.c"
 
1855
                }
 
1856
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1857
                case SCAN_DIRECTION_RIGHT_TO_LEFT:
 
1858
#line 1859 "page.c"
 
1859
                {
 
1860
                        gint t = 0;
 
1861
                        gint _tmp10_ = 0;
 
1862
                        gint _tmp11_ = 0;
 
1863
                        gint _tmp12_ = 0;
 
1864
                        gint _tmp13_ = 0;
 
1865
#line 537 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1866
                        _tmp10_ = x;
 
1867
#line 537 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1868
                        t = _tmp10_;
 
1869
#line 538 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1870
                        _tmp11_ = y;
 
1871
#line 538 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1872
                        x = _tmp11_;
 
1873
#line 539 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1874
                        _tmp12_ = self->priv->_scan_height;
 
1875
#line 539 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1876
                        _tmp13_ = t;
 
1877
#line 539 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1878
                        y = (_tmp12_ - _tmp13_) - 1;
 
1879
#line 540 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1880
                        break;
 
1881
#line 1882 "page.c"
 
1882
                }
 
1883
                default:
 
1884
#line 523 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1885
                break;
 
1886
#line 1887 "page.c"
 
1887
        }
 
1888
#line 543 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1889
        _tmp14_ = self->priv->_rowstride;
 
1890
#line 543 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1891
        _tmp15_ = y;
 
1892
#line 543 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1893
        line_offset = _tmp14_ * _tmp15_;
 
1894
#line 546 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1895
        _tmp17_ = self->priv->_depth;
 
1896
#line 546 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1897
        if (_tmp17_ == 8) {
 
1898
#line 1899 "page.c"
 
1899
                gint _tmp18_ = 0;
 
1900
#line 546 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1901
                _tmp18_ = self->priv->_n_channels;
 
1902
#line 546 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1903
                _tmp16_ = _tmp18_ == 3;
 
1904
#line 1905 "page.c"
 
1905
        } else {
 
1906
#line 546 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1907
                _tmp16_ = FALSE;
 
1908
#line 1909 "page.c"
 
1909
        }
 
1910
#line 546 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1911
        if (_tmp16_) {
 
1912
#line 1913 "page.c"
 
1913
                gint o = 0;
 
1914
                gint _tmp19_ = 0;
 
1915
                gint _tmp20_ = 0;
 
1916
                gint _tmp21_ = 0;
 
1917
                guchar* _tmp22_ = NULL;
 
1918
                gint _tmp22__length1 = 0;
 
1919
                gint _tmp23_ = 0;
 
1920
                guchar* _tmp24_ = NULL;
 
1921
                gint _tmp24__length1 = 0;
 
1922
                gint _tmp25_ = 0;
 
1923
                guchar _tmp26_ = '\0';
 
1924
                guchar _tmp27_ = '\0';
 
1925
                guchar* _tmp28_ = NULL;
 
1926
                gint _tmp28__length1 = 0;
 
1927
                gint _tmp29_ = 0;
 
1928
                guchar* _tmp30_ = NULL;
 
1929
                gint _tmp30__length1 = 0;
 
1930
                gint _tmp31_ = 0;
 
1931
                guchar _tmp32_ = '\0';
 
1932
                guchar _tmp33_ = '\0';
 
1933
                guchar* _tmp34_ = NULL;
 
1934
                gint _tmp34__length1 = 0;
 
1935
                gint _tmp35_ = 0;
 
1936
                guchar* _tmp36_ = NULL;
 
1937
                gint _tmp36__length1 = 0;
 
1938
                gint _tmp37_ = 0;
 
1939
                guchar _tmp38_ = '\0';
 
1940
                guchar _tmp39_ = '\0';
 
1941
#line 548 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1942
                _tmp19_ = line_offset;
 
1943
#line 548 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1944
                _tmp20_ = x;
 
1945
#line 548 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1946
                _tmp21_ = self->priv->_n_channels;
 
1947
#line 548 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1948
                o = _tmp19_ + (_tmp20_ * _tmp21_);
 
1949
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1950
                _tmp22_ = pixel;
 
1951
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1952
                _tmp22__length1 = pixel_length1;
 
1953
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1954
                _tmp23_ = offset;
 
1955
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1956
                _tmp24_ = self->priv->pixels;
 
1957
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1958
                _tmp24__length1 = self->priv->pixels_length1;
 
1959
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1960
                _tmp25_ = o;
 
1961
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1962
                _tmp26_ = _tmp24_[_tmp25_];
 
1963
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1964
                _tmp22_[_tmp23_ + 0] = _tmp26_;
 
1965
#line 549 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1966
                _tmp27_ = _tmp22_[_tmp23_ + 0];
 
1967
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1968
                _tmp28_ = pixel;
 
1969
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1970
                _tmp28__length1 = pixel_length1;
 
1971
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1972
                _tmp29_ = offset;
 
1973
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1974
                _tmp30_ = self->priv->pixels;
 
1975
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1976
                _tmp30__length1 = self->priv->pixels_length1;
 
1977
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1978
                _tmp31_ = o;
 
1979
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1980
                _tmp32_ = _tmp30_[_tmp31_ + 1];
 
1981
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1982
                _tmp28_[_tmp29_ + 1] = _tmp32_;
 
1983
#line 550 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1984
                _tmp33_ = _tmp28_[_tmp29_ + 1];
 
1985
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1986
                _tmp34_ = pixel;
 
1987
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1988
                _tmp34__length1 = pixel_length1;
 
1989
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1990
                _tmp35_ = offset;
 
1991
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1992
                _tmp36_ = self->priv->pixels;
 
1993
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1994
                _tmp36__length1 = self->priv->pixels_length1;
 
1995
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1996
                _tmp37_ = o;
 
1997
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
1998
                _tmp38_ = _tmp36_[_tmp37_ + 2];
 
1999
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2000
                _tmp34_[_tmp35_ + 2] = _tmp38_;
 
2001
#line 551 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2002
                _tmp39_ = _tmp34_[_tmp35_ + 2];
 
2003
#line 552 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2004
                return;
 
2005
#line 2006 "page.c"
 
2006
        } else {
 
2007
                gboolean _tmp40_ = FALSE;
 
2008
                gint _tmp41_ = 0;
 
2009
#line 554 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2010
                _tmp41_ = self->priv->_depth;
 
2011
#line 554 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2012
                if (_tmp41_ == 8) {
 
2013
#line 2014 "page.c"
 
2014
                        gint _tmp42_ = 0;
 
2015
#line 554 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2016
                        _tmp42_ = self->priv->_n_channels;
 
2017
#line 554 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2018
                        _tmp40_ = _tmp42_ == 1;
 
2019
#line 2020 "page.c"
 
2020
                } else {
 
2021
#line 554 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2022
                        _tmp40_ = FALSE;
 
2023
#line 2024 "page.c"
 
2024
                }
 
2025
#line 554 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2026
                if (_tmp40_) {
 
2027
#line 2028 "page.c"
 
2028
                        guchar p = '\0';
 
2029
                        guchar* _tmp43_ = NULL;
 
2030
                        gint _tmp43__length1 = 0;
 
2031
                        gint _tmp44_ = 0;
 
2032
                        gint _tmp45_ = 0;
 
2033
                        guchar _tmp46_ = '\0';
 
2034
                        guchar* _tmp47_ = NULL;
 
2035
                        gint _tmp47__length1 = 0;
 
2036
                        gint _tmp48_ = 0;
 
2037
                        guchar* _tmp49_ = NULL;
 
2038
                        gint _tmp49__length1 = 0;
 
2039
                        gint _tmp50_ = 0;
 
2040
                        guchar* _tmp51_ = NULL;
 
2041
                        gint _tmp51__length1 = 0;
 
2042
                        gint _tmp52_ = 0;
 
2043
                        guchar _tmp53_ = '\0';
 
2044
                        guchar _tmp54_ = '\0';
 
2045
                        guchar _tmp55_ = '\0';
 
2046
                        guchar _tmp56_ = '\0';
 
2047
#line 556 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2048
                        _tmp43_ = self->priv->pixels;
 
2049
#line 556 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2050
                        _tmp43__length1 = self->priv->pixels_length1;
 
2051
#line 556 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2052
                        _tmp44_ = line_offset;
 
2053
#line 556 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2054
                        _tmp45_ = x;
 
2055
#line 556 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2056
                        _tmp46_ = _tmp43_[_tmp44_ + _tmp45_];
 
2057
#line 556 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2058
                        p = _tmp46_;
 
2059
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2060
                        _tmp47_ = pixel;
 
2061
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2062
                        _tmp47__length1 = pixel_length1;
 
2063
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2064
                        _tmp48_ = offset;
 
2065
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2066
                        _tmp49_ = pixel;
 
2067
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2068
                        _tmp49__length1 = pixel_length1;
 
2069
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2070
                        _tmp50_ = offset;
 
2071
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2072
                        _tmp51_ = pixel;
 
2073
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2074
                        _tmp51__length1 = pixel_length1;
 
2075
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2076
                        _tmp52_ = offset;
 
2077
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2078
                        _tmp53_ = p;
 
2079
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2080
                        _tmp51_[_tmp52_ + 2] = _tmp53_;
 
2081
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2082
                        _tmp54_ = _tmp51_[_tmp52_ + 2];
 
2083
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2084
                        _tmp49_[_tmp50_ + 1] = _tmp54_;
 
2085
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2086
                        _tmp55_ = _tmp49_[_tmp50_ + 1];
 
2087
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2088
                        _tmp47_[_tmp48_ + 0] = _tmp55_;
 
2089
#line 557 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2090
                        _tmp56_ = _tmp47_[_tmp48_ + 0];
 
2091
#line 558 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2092
                        return;
 
2093
#line 2094 "page.c"
 
2094
                } else {
 
2095
                        gboolean _tmp57_ = FALSE;
 
2096
                        gint _tmp58_ = 0;
 
2097
#line 562 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2098
                        _tmp58_ = self->priv->_depth;
 
2099
#line 562 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2100
                        if (_tmp58_ == 1) {
 
2101
#line 2102 "page.c"
 
2102
                                gint _tmp59_ = 0;
 
2103
#line 562 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2104
                                _tmp59_ = self->priv->_n_channels;
 
2105
#line 562 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2106
                                _tmp57_ = _tmp59_ == 1;
 
2107
#line 2108 "page.c"
 
2108
                        } else {
 
2109
#line 562 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2110
                                _tmp57_ = FALSE;
 
2111
#line 2112 "page.c"
 
2112
                        }
 
2113
#line 562 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2114
                        if (_tmp57_) {
 
2115
#line 2116 "page.c"
 
2116
                                guchar p = '\0';
 
2117
                                guchar* _tmp60_ = NULL;
 
2118
                                gint _tmp60__length1 = 0;
 
2119
                                gint _tmp61_ = 0;
 
2120
                                gint _tmp62_ = 0;
 
2121
                                guchar _tmp63_ = '\0';
 
2122
                                gint _tmp64_ = 0;
 
2123
                                guchar _tmp65_ = '\0';
 
2124
                                gint _tmp66_ = 0;
 
2125
                                guchar* _tmp67_ = NULL;
 
2126
                                gint _tmp67__length1 = 0;
 
2127
                                gint _tmp68_ = 0;
 
2128
                                guchar* _tmp69_ = NULL;
 
2129
                                gint _tmp69__length1 = 0;
 
2130
                                gint _tmp70_ = 0;
 
2131
                                guchar* _tmp71_ = NULL;
 
2132
                                gint _tmp71__length1 = 0;
 
2133
                                gint _tmp72_ = 0;
 
2134
                                guchar _tmp73_ = '\0';
 
2135
                                guchar _tmp74_ = '\0';
 
2136
                                guchar _tmp75_ = '\0';
 
2137
#line 564 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2138
                                _tmp60_ = self->priv->pixels;
 
2139
#line 564 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2140
                                _tmp60__length1 = self->priv->pixels_length1;
 
2141
#line 564 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2142
                                _tmp61_ = line_offset;
 
2143
#line 564 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2144
                                _tmp62_ = x;
 
2145
#line 564 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2146
                                _tmp63_ = _tmp60_[_tmp61_ + (_tmp62_ / 8)];
 
2147
#line 564 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2148
                                p = _tmp63_;
 
2149
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2150
                                _tmp65_ = p;
 
2151
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2152
                                _tmp66_ = x;
 
2153
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2154
                                if (((gint) (_tmp65_ & (0x80 >> (_tmp66_ % 8)))) != 0) {
 
2155
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2156
                                        _tmp64_ = 0x00;
 
2157
#line 2158 "page.c"
 
2158
                                } else {
 
2159
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2160
                                        _tmp64_ = 0xFF;
 
2161
#line 2162 "page.c"
 
2162
                                }
 
2163
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2164
                                _tmp67_ = pixel;
 
2165
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2166
                                _tmp67__length1 = pixel_length1;
 
2167
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2168
                                _tmp68_ = offset;
 
2169
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2170
                                _tmp69_ = pixel;
 
2171
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2172
                                _tmp69__length1 = pixel_length1;
 
2173
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2174
                                _tmp70_ = offset;
 
2175
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2176
                                _tmp71_ = pixel;
 
2177
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2178
                                _tmp71__length1 = pixel_length1;
 
2179
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2180
                                _tmp72_ = offset;
 
2181
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2182
                                _tmp71_[_tmp72_ + 2] = (guchar) _tmp64_;
 
2183
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2184
                                _tmp73_ = _tmp71_[_tmp72_ + 2];
 
2185
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2186
                                _tmp69_[_tmp70_ + 1] = _tmp73_;
 
2187
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2188
                                _tmp74_ = _tmp69_[_tmp70_ + 1];
 
2189
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2190
                                _tmp67_[_tmp68_ + 0] = _tmp74_;
 
2191
#line 565 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2192
                                _tmp75_ = _tmp67_[_tmp68_ + 0];
 
2193
#line 566 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2194
                                return;
 
2195
#line 2196 "page.c"
 
2196
                        } else {
 
2197
                                gboolean _tmp76_ = FALSE;
 
2198
                                gint _tmp77_ = 0;
 
2199
#line 570 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2200
                                _tmp77_ = self->priv->_depth;
 
2201
#line 570 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2202
                                if (_tmp77_ == 2) {
 
2203
#line 2204 "page.c"
 
2204
                                        gint _tmp78_ = 0;
 
2205
#line 570 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2206
                                        _tmp78_ = self->priv->_n_channels;
 
2207
#line 570 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2208
                                        _tmp76_ = _tmp78_ == 1;
 
2209
#line 2210 "page.c"
 
2210
                                } else {
 
2211
#line 570 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2212
                                        _tmp76_ = FALSE;
 
2213
#line 2214 "page.c"
 
2214
                                }
 
2215
#line 570 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2216
                                if (_tmp76_) {
 
2217
#line 2218 "page.c"
 
2218
                                        gint block_shift[4] = {0};
 
2219
                                        gint _tmp79_[4] = {0};
 
2220
                                        guchar p = '\0';
 
2221
                                        guchar* _tmp80_ = NULL;
 
2222
                                        gint _tmp80__length1 = 0;
 
2223
                                        gint _tmp81_ = 0;
 
2224
                                        gint _tmp82_ = 0;
 
2225
                                        guchar _tmp83_ = '\0';
 
2226
                                        gint sample = 0;
 
2227
                                        guchar _tmp84_ = '\0';
 
2228
                                        gint _tmp85_ = 0;
 
2229
                                        gint _tmp86_ = 0;
 
2230
                                        gint _tmp87_ = 0;
 
2231
                                        guchar* _tmp88_ = NULL;
 
2232
                                        gint _tmp88__length1 = 0;
 
2233
                                        gint _tmp89_ = 0;
 
2234
                                        guchar* _tmp90_ = NULL;
 
2235
                                        gint _tmp90__length1 = 0;
 
2236
                                        gint _tmp91_ = 0;
 
2237
                                        guchar* _tmp92_ = NULL;
 
2238
                                        gint _tmp92__length1 = 0;
 
2239
                                        gint _tmp93_ = 0;
 
2240
                                        gint _tmp94_ = 0;
 
2241
                                        guchar _tmp95_ = '\0';
 
2242
                                        guchar _tmp96_ = '\0';
 
2243
                                        guchar _tmp97_ = '\0';
 
2244
#line 572 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2245
                                        _tmp79_[0] = 6;
 
2246
#line 572 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2247
                                        _tmp79_[1] = 4;
 
2248
#line 572 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2249
                                        _tmp79_[2] = 2;
 
2250
#line 572 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2251
                                        _tmp79_[3] = 0;
 
2252
#line 572 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2253
                                        memcpy (block_shift, _tmp79_, 4 * sizeof (gint));
 
2254
#line 574 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2255
                                        _tmp80_ = self->priv->pixels;
 
2256
#line 574 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2257
                                        _tmp80__length1 = self->priv->pixels_length1;
 
2258
#line 574 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2259
                                        _tmp81_ = line_offset;
 
2260
#line 574 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2261
                                        _tmp82_ = x;
 
2262
#line 574 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2263
                                        _tmp83_ = _tmp80_[_tmp81_ + (_tmp82_ / 4)];
 
2264
#line 574 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2265
                                        p = _tmp83_;
 
2266
#line 575 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2267
                                        _tmp84_ = p;
 
2268
#line 575 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2269
                                        _tmp85_ = x;
 
2270
#line 575 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2271
                                        _tmp86_ = block_shift[_tmp85_ % 4];
 
2272
#line 575 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2273
                                        sample = (_tmp84_ >> _tmp86_) & 0x3;
 
2274
#line 576 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2275
                                        _tmp87_ = sample;
 
2276
#line 576 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2277
                                        sample = (_tmp87_ * 255) / 3;
 
2278
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2279
                                        _tmp88_ = pixel;
 
2280
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2281
                                        _tmp88__length1 = pixel_length1;
 
2282
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2283
                                        _tmp89_ = offset;
 
2284
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2285
                                        _tmp90_ = pixel;
 
2286
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2287
                                        _tmp90__length1 = pixel_length1;
 
2288
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2289
                                        _tmp91_ = offset;
 
2290
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2291
                                        _tmp92_ = pixel;
 
2292
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2293
                                        _tmp92__length1 = pixel_length1;
 
2294
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2295
                                        _tmp93_ = offset;
 
2296
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2297
                                        _tmp94_ = sample;
 
2298
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2299
                                        _tmp92_[_tmp93_ + 2] = (guchar) _tmp94_;
 
2300
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2301
                                        _tmp95_ = _tmp92_[_tmp93_ + 2];
 
2302
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2303
                                        _tmp90_[_tmp91_ + 1] = _tmp95_;
 
2304
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2305
                                        _tmp96_ = _tmp90_[_tmp91_ + 1];
 
2306
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2307
                                        _tmp88_[_tmp89_ + 0] = _tmp96_;
 
2308
#line 578 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2309
                                        _tmp97_ = _tmp88_[_tmp89_ + 0];
 
2310
#line 579 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2311
                                        return;
 
2312
#line 2313 "page.c"
 
2313
                                }
 
2314
                        }
 
2315
                }
 
2316
        }
 
2317
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2318
        _tmp98_ = pixel;
 
2319
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2320
        _tmp98__length1 = pixel_length1;
 
2321
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2322
        _tmp99_ = offset;
 
2323
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2324
        _tmp100_ = self->priv->pixels;
 
2325
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2326
        _tmp100__length1 = self->priv->pixels_length1;
 
2327
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2328
        _tmp101_ = line_offset;
 
2329
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2330
        _tmp102_ = x;
 
2331
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2332
        _tmp103_ = self->priv->_depth;
 
2333
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2334
        _tmp104_ = self->priv->_n_channels;
 
2335
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2336
        _tmp105_ = page_get_sample (self, _tmp100_, _tmp100__length1, _tmp101_, _tmp102_, _tmp103_, _tmp104_, 0);
 
2337
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2338
        _tmp98_[_tmp99_ + 0] = _tmp105_;
 
2339
#line 583 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2340
        _tmp106_ = _tmp98_[_tmp99_ + 0];
 
2341
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2342
        _tmp107_ = pixel;
 
2343
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2344
        _tmp107__length1 = pixel_length1;
 
2345
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2346
        _tmp108_ = offset;
 
2347
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2348
        _tmp109_ = self->priv->pixels;
 
2349
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2350
        _tmp109__length1 = self->priv->pixels_length1;
 
2351
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2352
        _tmp110_ = line_offset;
 
2353
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2354
        _tmp111_ = x;
 
2355
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2356
        _tmp112_ = self->priv->_depth;
 
2357
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2358
        _tmp113_ = self->priv->_n_channels;
 
2359
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2360
        _tmp114_ = page_get_sample (self, _tmp109_, _tmp109__length1, _tmp110_, _tmp111_, _tmp112_, _tmp113_, 1);
 
2361
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2362
        _tmp107_[_tmp108_ + 1] = _tmp114_;
 
2363
#line 584 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2364
        _tmp115_ = _tmp107_[_tmp108_ + 1];
 
2365
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2366
        _tmp116_ = pixel;
 
2367
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2368
        _tmp116__length1 = pixel_length1;
 
2369
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2370
        _tmp117_ = offset;
 
2371
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2372
        _tmp118_ = self->priv->pixels;
 
2373
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2374
        _tmp118__length1 = self->priv->pixels_length1;
 
2375
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2376
        _tmp119_ = line_offset;
 
2377
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2378
        _tmp120_ = x;
 
2379
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2380
        _tmp121_ = self->priv->_depth;
 
2381
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2382
        _tmp122_ = self->priv->_n_channels;
 
2383
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2384
        _tmp123_ = page_get_sample (self, _tmp118_, _tmp118__length1, _tmp119_, _tmp120_, _tmp121_, _tmp122_, 2);
 
2385
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2386
        _tmp116_[_tmp117_ + 2] = _tmp123_;
 
2387
#line 585 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2388
        _tmp124_ = _tmp116_[_tmp117_ + 2];
 
2389
#line 2390 "page.c"
 
2390
}
 
2391
 
 
2392
 
 
2393
GdkPixbuf* page_get_image (Page* self, gboolean apply_crop) {
 
2394
        GdkPixbuf* result = NULL;
 
2395
        gint l = 0;
 
2396
        gint r = 0;
 
2397
        gint t = 0;
 
2398
        gint b = 0;
 
2399
        gboolean _tmp0_ = FALSE;
 
2400
        gboolean _tmp1_ = FALSE;
 
2401
        GdkPixbuf* image = NULL;
 
2402
        gint _tmp25_ = 0;
 
2403
        gint _tmp26_ = 0;
 
2404
        gint _tmp27_ = 0;
 
2405
        gint _tmp28_ = 0;
 
2406
        GdkPixbuf* _tmp29_ = NULL;
 
2407
        guint8* image_pixels = NULL;
 
2408
        GdkPixbuf* _tmp30_ = NULL;
 
2409
        guint8* _tmp31_ = NULL;
 
2410
        gint image_pixels_length1 = 0;
 
2411
        gint _image_pixels_size_ = 0;
 
2412
#line 588 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2413
        g_return_val_if_fail (self != NULL, NULL);
 
2414
#line 591 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2415
        _tmp1_ = apply_crop;
 
2416
#line 591 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2417
        if (_tmp1_) {
 
2418
#line 2419 "page.c"
 
2419
                gboolean _tmp2_ = FALSE;
 
2420
#line 591 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2421
                _tmp2_ = self->priv->_has_crop;
 
2422
#line 591 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2423
                _tmp0_ = _tmp2_;
 
2424
#line 2425 "page.c"
 
2425
        } else {
 
2426
#line 591 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2427
                _tmp0_ = FALSE;
 
2428
#line 2429 "page.c"
 
2429
        }
 
2430
#line 591 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2431
        if (_tmp0_) {
 
2432
#line 2433 "page.c"
 
2433
                gint _tmp3_ = 0;
 
2434
                gint _tmp4_ = 0;
 
2435
                gint _tmp5_ = 0;
 
2436
                gint _tmp6_ = 0;
 
2437
                gint _tmp7_ = 0;
 
2438
                gint _tmp8_ = 0;
 
2439
                gint _tmp9_ = 0;
 
2440
                gint _tmp10_ = 0;
 
2441
                gint _tmp11_ = 0;
 
2442
                gint _tmp12_ = 0;
 
2443
                gint _tmp15_ = 0;
 
2444
                gint _tmp16_ = 0;
 
2445
                gint _tmp17_ = 0;
 
2446
                gint _tmp18_ = 0;
 
2447
#line 593 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2448
                _tmp3_ = self->priv->_crop_x;
 
2449
#line 593 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2450
                l = _tmp3_;
 
2451
#line 594 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2452
                _tmp4_ = l;
 
2453
#line 594 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2454
                _tmp5_ = self->priv->_crop_width;
 
2455
#line 594 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2456
                r = _tmp4_ + _tmp5_;
 
2457
#line 595 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2458
                _tmp6_ = self->priv->_crop_y;
 
2459
#line 595 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2460
                t = _tmp6_;
 
2461
#line 596 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2462
                _tmp7_ = t;
 
2463
#line 596 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2464
                _tmp8_ = self->priv->_crop_height;
 
2465
#line 596 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2466
                b = _tmp7_ + _tmp8_;
 
2467
#line 598 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2468
                _tmp9_ = l;
 
2469
#line 598 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2470
                if (_tmp9_ < 0) {
 
2471
#line 599 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2472
                        l = 0;
 
2473
#line 2474 "page.c"
 
2474
                }
 
2475
#line 600 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2476
                _tmp10_ = r;
 
2477
#line 600 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2478
                _tmp11_ = page_get_width (self);
 
2479
#line 600 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2480
                _tmp12_ = _tmp11_;
 
2481
#line 600 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2482
                if (_tmp10_ > _tmp12_) {
 
2483
#line 2484 "page.c"
 
2484
                        gint _tmp13_ = 0;
 
2485
                        gint _tmp14_ = 0;
 
2486
#line 601 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2487
                        _tmp13_ = page_get_width (self);
 
2488
#line 601 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2489
                        _tmp14_ = _tmp13_;
 
2490
#line 601 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2491
                        r = _tmp14_;
 
2492
#line 2493 "page.c"
 
2493
                }
 
2494
#line 602 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2495
                _tmp15_ = t;
 
2496
#line 602 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2497
                if (_tmp15_ < 0) {
 
2498
#line 603 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2499
                        t = 0;
 
2500
#line 2501 "page.c"
 
2501
                }
 
2502
#line 604 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2503
                _tmp16_ = b;
 
2504
#line 604 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2505
                _tmp17_ = page_get_height (self);
 
2506
#line 604 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2507
                _tmp18_ = _tmp17_;
 
2508
#line 604 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2509
                if (_tmp16_ > _tmp18_) {
 
2510
#line 2511 "page.c"
 
2511
                        gint _tmp19_ = 0;
 
2512
                        gint _tmp20_ = 0;
 
2513
#line 605 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2514
                        _tmp19_ = page_get_height (self);
 
2515
#line 605 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2516
                        _tmp20_ = _tmp19_;
 
2517
#line 605 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2518
                        b = _tmp20_;
 
2519
#line 2520 "page.c"
 
2520
                }
 
2521
        } else {
 
2522
                gint _tmp21_ = 0;
 
2523
                gint _tmp22_ = 0;
 
2524
                gint _tmp23_ = 0;
 
2525
                gint _tmp24_ = 0;
 
2526
#line 609 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2527
                l = 0;
 
2528
#line 610 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2529
                _tmp21_ = page_get_width (self);
 
2530
#line 610 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2531
                _tmp22_ = _tmp21_;
 
2532
#line 610 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2533
                r = _tmp22_;
 
2534
#line 611 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2535
                t = 0;
 
2536
#line 612 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2537
                _tmp23_ = page_get_height (self);
 
2538
#line 612 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2539
                _tmp24_ = _tmp23_;
 
2540
#line 612 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2541
                b = _tmp24_;
 
2542
#line 2543 "page.c"
 
2543
        }
 
2544
#line 615 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2545
        _tmp25_ = r;
 
2546
#line 615 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2547
        _tmp26_ = l;
 
2548
#line 615 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2549
        _tmp27_ = b;
 
2550
#line 615 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2551
        _tmp28_ = t;
 
2552
#line 615 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2553
        _tmp29_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, _tmp25_ - _tmp26_, _tmp27_ - _tmp28_);
 
2554
#line 615 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2555
        image = _tmp29_;
 
2556
#line 616 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2557
        _tmp30_ = image;
 
2558
#line 616 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2559
        _tmp31_ = gdk_pixbuf_get_pixels (_tmp30_);
 
2560
#line 616 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2561
        image_pixels = _tmp31_;
 
2562
#line 616 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2563
        image_pixels_length1 = -1;
 
2564
#line 616 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2565
        _image_pixels_size_ = image_pixels_length1;
 
2566
#line 2567 "page.c"
 
2567
        {
 
2568
                gint y = 0;
 
2569
                gint _tmp32_ = 0;
 
2570
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2571
                _tmp32_ = t;
 
2572
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2573
                y = _tmp32_;
 
2574
#line 2575 "page.c"
 
2575
                {
 
2576
                        gboolean _tmp33_ = FALSE;
 
2577
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2578
                        _tmp33_ = TRUE;
 
2579
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2580
                        while (TRUE) {
 
2581
#line 2582 "page.c"
 
2582
                                gint _tmp35_ = 0;
 
2583
                                gint _tmp36_ = 0;
 
2584
                                gint offset = 0;
 
2585
                                GdkPixbuf* _tmp37_ = NULL;
 
2586
                                gint _tmp38_ = 0;
 
2587
                                gint _tmp39_ = 0;
 
2588
                                gint _tmp40_ = 0;
 
2589
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2590
                                if (!_tmp33_) {
 
2591
#line 2592 "page.c"
 
2592
                                        gint _tmp34_ = 0;
 
2593
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2594
                                        _tmp34_ = y;
 
2595
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2596
                                        y = _tmp34_ + 1;
 
2597
#line 2598 "page.c"
 
2598
                                }
 
2599
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2600
                                _tmp33_ = FALSE;
 
2601
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2602
                                _tmp35_ = y;
 
2603
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2604
                                _tmp36_ = b;
 
2605
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2606
                                if (!(_tmp35_ < _tmp36_)) {
 
2607
#line 617 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2608
                                        break;
 
2609
#line 2610 "page.c"
 
2610
                                }
 
2611
#line 619 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2612
                                _tmp37_ = image;
 
2613
#line 619 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2614
                                _tmp38_ = gdk_pixbuf_get_rowstride (_tmp37_);
 
2615
#line 619 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2616
                                _tmp39_ = y;
 
2617
#line 619 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2618
                                _tmp40_ = t;
 
2619
#line 619 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2620
                                offset = _tmp38_ * (_tmp39_ - _tmp40_);
 
2621
#line 2622 "page.c"
 
2622
                                {
 
2623
                                        gint x = 0;
 
2624
                                        gint _tmp41_ = 0;
 
2625
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2626
                                        _tmp41_ = l;
 
2627
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2628
                                        x = _tmp41_;
 
2629
#line 2630 "page.c"
 
2630
                                        {
 
2631
                                                gboolean _tmp42_ = FALSE;
 
2632
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2633
                                                _tmp42_ = TRUE;
 
2634
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2635
                                                while (TRUE) {
 
2636
#line 2637 "page.c"
 
2637
                                                        gint _tmp44_ = 0;
 
2638
                                                        gint _tmp45_ = 0;
 
2639
                                                        gint _tmp46_ = 0;
 
2640
                                                        gint _tmp47_ = 0;
 
2641
                                                        guint8* _tmp48_ = NULL;
 
2642
                                                        gint _tmp48__length1 = 0;
 
2643
                                                        gint _tmp49_ = 0;
 
2644
                                                        gint _tmp50_ = 0;
 
2645
                                                        gint _tmp51_ = 0;
 
2646
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2647
                                                        if (!_tmp42_) {
 
2648
#line 2649 "page.c"
 
2649
                                                                gint _tmp43_ = 0;
 
2650
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2651
                                                                _tmp43_ = x;
 
2652
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2653
                                                                x = _tmp43_ + 1;
 
2654
#line 2655 "page.c"
 
2655
                                                        }
 
2656
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2657
                                                        _tmp42_ = FALSE;
 
2658
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2659
                                                        _tmp44_ = x;
 
2660
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2661
                                                        _tmp45_ = r;
 
2662
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2663
                                                        if (!(_tmp44_ < _tmp45_)) {
 
2664
#line 620 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2665
                                                                break;
 
2666
#line 2667 "page.c"
 
2667
                                                        }
 
2668
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2669
                                                        _tmp46_ = x;
 
2670
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2671
                                                        _tmp47_ = y;
 
2672
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2673
                                                        _tmp48_ = image_pixels;
 
2674
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2675
                                                        _tmp48__length1 = image_pixels_length1;
 
2676
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2677
                                                        _tmp49_ = offset;
 
2678
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2679
                                                        _tmp50_ = x;
 
2680
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2681
                                                        _tmp51_ = l;
 
2682
#line 621 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2683
                                                        page_get_pixel (self, _tmp46_, _tmp47_, _tmp48_, _tmp48__length1, _tmp49_ + ((_tmp50_ - _tmp51_) * 3));
 
2684
#line 2685 "page.c"
 
2685
                                                }
 
2686
                                        }
 
2687
                                }
 
2688
                        }
 
2689
                }
 
2690
        }
 
2691
#line 624 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2692
        result = image;
 
2693
#line 624 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2694
        return result;
 
2695
#line 2696 "page.c"
 
2696
}
 
2697
 
 
2698
 
 
2699
static gchar* string_to_utf8 (const gchar* self, int* result_length1) {
 
2700
        gchar* result = NULL;
 
2701
        gchar* _result_ = NULL;
 
2702
        gint _tmp0_ = 0;
 
2703
        gint _tmp1_ = 0;
 
2704
        gchar* _tmp2_ = NULL;
 
2705
        gint _result__length1 = 0;
 
2706
        gint __result__size_ = 0;
 
2707
        gint _tmp3_ = 0;
 
2708
        gchar* _tmp4_ = NULL;
 
2709
        gint _tmp4__length1 = 0;
 
2710
        gint _tmp5_ = 0;
 
2711
        gint _tmp6_ = 0;
 
2712
        gchar* _tmp7_ = NULL;
 
2713
        gint _tmp7__length1 = 0;
 
2714
#line 1303 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2715
        g_return_val_if_fail (self != NULL, NULL);
 
2716
#line 1304 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2717
        _tmp0_ = strlen (self);
 
2718
#line 1304 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2719
        _tmp1_ = _tmp0_;
 
2720
#line 1304 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2721
        _tmp2_ = g_new0 (gchar, _tmp1_ + 1);
 
2722
#line 1304 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2723
        _result_ = _tmp2_;
 
2724
#line 1304 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2725
        _result__length1 = _tmp1_ + 1;
 
2726
#line 1304 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2727
        __result__size_ = _result__length1;
 
2728
#line 1305 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2729
        _tmp3_ = _result__length1;
 
2730
#line 1305 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2731
        _result__length1 = _tmp3_ - 1;
 
2732
#line 1306 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2733
        _tmp4_ = _result_;
 
2734
#line 1306 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2735
        _tmp4__length1 = _result__length1;
 
2736
#line 1306 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2737
        _tmp5_ = strlen (self);
 
2738
#line 1306 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2739
        _tmp6_ = _tmp5_;
 
2740
#line 1306 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2741
        memcpy (_tmp4_, self, (gsize) _tmp6_);
 
2742
#line 1307 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2743
        _tmp7_ = _result_;
 
2744
#line 1307 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2745
        _tmp7__length1 = _result__length1;
 
2746
#line 1307 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2747
        if (result_length1) {
 
2748
#line 1307 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2749
                *result_length1 = _tmp7__length1;
 
2750
#line 2751 "page.c"
 
2751
        }
 
2752
#line 1307 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2753
        result = _tmp7_;
 
2754
#line 1307 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
 
2755
        return result;
 
2756
#line 2757 "page.c"
 
2757
}
 
2758
 
 
2759
 
 
2760
static gchar* page_get_icc_data_encoded (Page* self, const gchar* icc_profile_filename) {
 
2761
        gchar* result = NULL;
 
2762
        gchar* contents = NULL;
 
2763
        const gchar* _tmp4_ = NULL;
 
2764
        gint _tmp5_ = 0;
 
2765
        gchar* _tmp6_ = NULL;
 
2766
        guchar* _tmp7_ = NULL;
 
2767
        gint _tmp7__length1 = 0;
 
2768
        gchar* _tmp8_ = NULL;
 
2769
        gchar* _tmp9_ = NULL;
 
2770
        GError * _inner_error_ = NULL;
 
2771
#line 627 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2772
        g_return_val_if_fail (self != NULL, NULL);
 
2773
#line 627 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2774
        g_return_val_if_fail (icc_profile_filename != NULL, NULL);
 
2775
#line 2776 "page.c"
 
2776
        {
 
2777
                const gchar* _tmp0_ = NULL;
 
2778
                gchar* _tmp1_ = NULL;
 
2779
#line 633 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2780
                _tmp0_ = icc_profile_filename;
 
2781
#line 633 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2782
                g_file_get_contents (_tmp0_, &_tmp1_, NULL, &_inner_error_);
 
2783
#line 633 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2784
                _g_free0 (contents);
 
2785
#line 633 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2786
                contents = _tmp1_;
 
2787
#line 633 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2788
                if (_inner_error_ != NULL) {
 
2789
#line 2790 "page.c"
 
2790
                        goto __catch3_g_error;
 
2791
                }
 
2792
        }
 
2793
        goto __finally3;
 
2794
        __catch3_g_error:
 
2795
        {
 
2796
                GError* e = NULL;
 
2797
                GError* _tmp2_ = NULL;
 
2798
                const gchar* _tmp3_ = NULL;
 
2799
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2800
                e = _inner_error_;
 
2801
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2802
                _inner_error_ = NULL;
 
2803
#line 637 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2804
                _tmp2_ = e;
 
2805
#line 637 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2806
                _tmp3_ = _tmp2_->message;
 
2807
#line 637 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2808
                g_warning ("page.vala:637: failed to get icc profile data: %s", _tmp3_);
 
2809
#line 638 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2810
                result = NULL;
 
2811
#line 638 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2812
                _g_error_free0 (e);
 
2813
#line 638 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2814
                _g_free0 (contents);
 
2815
#line 638 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2816
                return result;
 
2817
#line 2818 "page.c"
 
2818
        }
 
2819
        __finally3:
 
2820
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2821
        if (_inner_error_ != NULL) {
 
2822
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2823
                _g_free0 (contents);
 
2824
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2825
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
 
2826
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2827
                g_clear_error (&_inner_error_);
 
2828
#line 631 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2829
                return NULL;
 
2830
#line 2831 "page.c"
 
2831
        }
 
2832
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2833
        _tmp4_ = contents;
 
2834
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2835
        _tmp6_ = string_to_utf8 (_tmp4_, &_tmp5_);
 
2836
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2837
        _tmp7_ = (guchar*) _tmp6_;
 
2838
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2839
        _tmp7__length1 = (_tmp5_ * sizeof (gchar)) / sizeof (guchar);
 
2840
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2841
        _tmp8_ = g_base64_encode (_tmp7_, (_tmp5_ * sizeof (gchar)) / sizeof (guchar));
 
2842
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2843
        _tmp9_ = _tmp8_;
 
2844
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2845
        _tmp7_ = (g_free (_tmp7_), NULL);
 
2846
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2847
        result = _tmp9_;
 
2848
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2849
        _g_free0 (contents);
 
2850
#line 642 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2851
        return result;
 
2852
#line 2853 "page.c"
 
2853
}
 
2854
 
 
2855
 
 
2856
static gpointer _g_object_ref0 (gpointer self) {
 
2857
#line 647 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2858
        return self ? g_object_ref (self) : NULL;
 
2859
#line 2860 "page.c"
 
2860
}
 
2861
 
 
2862
 
 
2863
void page_copy_to_clipboard (Page* self, GtkWindow* window) {
 
2864
        GdkDisplay* display = NULL;
 
2865
        GtkWindow* _tmp0_ = NULL;
 
2866
        GdkDisplay* _tmp1_ = NULL;
 
2867
        GdkDisplay* _tmp2_ = NULL;
 
2868
        GtkClipboard* clipboard = NULL;
 
2869
        GtkClipboard* _tmp3_ = NULL;
 
2870
        GtkClipboard* _tmp4_ = NULL;
 
2871
        GdkPixbuf* image = NULL;
 
2872
        GdkPixbuf* _tmp5_ = NULL;
 
2873
#line 645 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2874
        g_return_if_fail (self != NULL);
 
2875
#line 645 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2876
        g_return_if_fail (window != NULL);
 
2877
#line 647 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2878
        _tmp0_ = window;
 
2879
#line 647 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2880
        _tmp1_ = gtk_widget_get_display ((GtkWidget*) _tmp0_);
 
2881
#line 647 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2882
        _tmp2_ = _g_object_ref0 (_tmp1_);
 
2883
#line 647 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2884
        display = _tmp2_;
 
2885
#line 648 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2886
        _tmp3_ = gtk_clipboard_get_for_display (display, GDK_SELECTION_CLIPBOARD);
 
2887
#line 648 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2888
        _tmp4_ = _g_object_ref0 (_tmp3_);
 
2889
#line 648 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2890
        clipboard = _tmp4_;
 
2891
#line 649 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2892
        _tmp5_ = page_get_image (self, TRUE);
 
2893
#line 649 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2894
        image = _tmp5_;
 
2895
#line 650 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2896
        gtk_clipboard_set_image (clipboard, image);
 
2897
#line 645 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2898
        _g_object_unref0 (image);
 
2899
#line 645 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2900
        _g_object_unref0 (clipboard);
 
2901
#line 645 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2902
        _g_object_unref0 (display);
 
2903
#line 2904 "page.c"
 
2904
}
 
2905
 
 
2906
 
 
2907
void page_save (Page* self, const gchar* type, gint quality, GFile* file, GError** error) {
 
2908
        GFileOutputStream* stream = NULL;
 
2909
        GFile* _tmp0_ = NULL;
 
2910
        GFileOutputStream* _tmp1_ = NULL;
 
2911
        PixbufWriter* writer = NULL;
 
2912
        GFileOutputStream* _tmp2_ = NULL;
 
2913
        PixbufWriter* _tmp3_ = NULL;
 
2914
        GdkPixbuf* image = NULL;
 
2915
        GdkPixbuf* _tmp4_ = NULL;
 
2916
        gchar* icc_profile_data = NULL;
 
2917
        const gchar* _tmp5_ = NULL;
 
2918
        GCompareFunc _tmp8_ = NULL;
 
2919
        const gchar* _tmp9_ = NULL;
 
2920
        gint _tmp10_ = 0;
 
2921
        GError * _inner_error_ = NULL;
 
2922
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2923
        g_return_if_fail (self != NULL);
 
2924
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2925
        g_return_if_fail (type != NULL);
 
2926
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2927
        g_return_if_fail (file != NULL);
 
2928
#line 655 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2929
        _tmp0_ = file;
 
2930
#line 655 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2931
        _tmp1_ = g_file_replace (_tmp0_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &_inner_error_);
 
2932
#line 655 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2933
        stream = _tmp1_;
 
2934
#line 655 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2935
        if (_inner_error_ != NULL) {
 
2936
#line 655 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2937
                g_propagate_error (error, _inner_error_);
 
2938
#line 655 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2939
                return;
 
2940
#line 2941 "page.c"
 
2941
        }
 
2942
#line 656 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2943
        _tmp2_ = stream;
 
2944
#line 656 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2945
        _tmp3_ = pixbuf_writer_new (_tmp2_);
 
2946
#line 656 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2947
        writer = _tmp3_;
 
2948
#line 657 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2949
        _tmp4_ = page_get_image (self, TRUE);
 
2950
#line 657 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2951
        image = _tmp4_;
 
2952
#line 659 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2953
        icc_profile_data = NULL;
 
2954
#line 660 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2955
        _tmp5_ = self->priv->_color_profile;
 
2956
#line 660 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2957
        if (_tmp5_ != NULL) {
 
2958
#line 2959 "page.c"
 
2959
                const gchar* _tmp6_ = NULL;
 
2960
                gchar* _tmp7_ = NULL;
 
2961
#line 661 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2962
                _tmp6_ = self->priv->_color_profile;
 
2963
#line 661 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2964
                _tmp7_ = page_get_icc_data_encoded (self, _tmp6_);
 
2965
#line 661 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2966
                _g_free0 (icc_profile_data);
 
2967
#line 661 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2968
                icc_profile_data = _tmp7_;
 
2969
#line 2970 "page.c"
 
2970
        }
 
2971
#line 663 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2972
        _tmp8_ = g_strcmp0;
 
2973
#line 663 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2974
        _tmp9_ = type;
 
2975
#line 663 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2976
        _tmp10_ = _tmp8_ (_tmp9_, "jpeg");
 
2977
#line 663 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
2978
        if (_tmp10_ == 0) {
 
2979
#line 2980 "page.c"
 
2980
                gchar** keys = NULL;
 
2981
                gchar* _tmp11_ = NULL;
 
2982
                gchar* _tmp12_ = NULL;
 
2983
                gchar* _tmp13_ = NULL;
 
2984
                gchar* _tmp14_ = NULL;
 
2985
                gchar* _tmp15_ = NULL;
 
2986
                gchar** _tmp16_ = NULL;
 
2987
                gint keys_length1 = 0;
 
2988
                gint _keys_size_ = 0;
 
2989
                gchar** values = NULL;
 
2990
                gint _tmp17_ = 0;
 
2991
                gchar* _tmp18_ = NULL;
 
2992
                gchar* _tmp19_ = NULL;
 
2993
                gint _tmp20_ = 0;
 
2994
                gchar* _tmp21_ = NULL;
 
2995
                gint _tmp22_ = 0;
 
2996
                gchar* _tmp23_ = NULL;
 
2997
                const gchar* _tmp24_ = NULL;
 
2998
                gchar* _tmp25_ = NULL;
 
2999
                gchar** _tmp26_ = NULL;
 
3000
                gint values_length1 = 0;
 
3001
                gint _values_size_ = 0;
 
3002
                const gchar* _tmp27_ = NULL;
 
3003
                PixbufWriter* _tmp30_ = NULL;
 
3004
                GdkPixbuf* _tmp31_ = NULL;
 
3005
                gchar** _tmp32_ = NULL;
 
3006
                gint _tmp32__length1 = 0;
 
3007
                gchar** _tmp33_ = NULL;
 
3008
                gint _tmp33__length1 = 0;
 
3009
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3010
                _tmp11_ = g_strdup ("quality");
 
3011
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3012
                _tmp12_ = g_strdup ("density-unit");
 
3013
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3014
                _tmp13_ = g_strdup ("x-density");
 
3015
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3016
                _tmp14_ = g_strdup ("y-density");
 
3017
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3018
                _tmp15_ = g_strdup ("icc-profile");
 
3019
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3020
                _tmp16_ = g_new0 (gchar*, 6 + 1);
 
3021
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3022
                _tmp16_[0] = _tmp11_;
 
3023
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3024
                _tmp16_[1] = _tmp12_;
 
3025
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3026
                _tmp16_[2] = _tmp13_;
 
3027
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3028
                _tmp16_[3] = _tmp14_;
 
3029
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3030
                _tmp16_[4] = _tmp15_;
 
3031
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3032
                _tmp16_[5] = NULL;
 
3033
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3034
                keys = _tmp16_;
 
3035
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3036
                keys_length1 = 6;
 
3037
#line 665 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3038
                _keys_size_ = keys_length1;
 
3039
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3040
                _tmp17_ = quality;
 
3041
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3042
                _tmp18_ = g_strdup_printf ("%d", _tmp17_);
 
3043
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3044
                _tmp19_ = g_strdup ("dots-per-inch");
 
3045
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3046
                _tmp20_ = self->priv->_dpi;
 
3047
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3048
                _tmp21_ = g_strdup_printf ("%d", _tmp20_);
 
3049
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3050
                _tmp22_ = self->priv->_dpi;
 
3051
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3052
                _tmp23_ = g_strdup_printf ("%d", _tmp22_);
 
3053
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3054
                _tmp24_ = icc_profile_data;
 
3055
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3056
                _tmp25_ = g_strdup (_tmp24_);
 
3057
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3058
                _tmp26_ = g_new0 (gchar*, 6 + 1);
 
3059
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3060
                _tmp26_[0] = _tmp18_;
 
3061
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3062
                _tmp26_[1] = _tmp19_;
 
3063
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3064
                _tmp26_[2] = _tmp21_;
 
3065
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3066
                _tmp26_[3] = _tmp23_;
 
3067
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3068
                _tmp26_[4] = _tmp25_;
 
3069
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3070
                _tmp26_[5] = NULL;
 
3071
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3072
                values = _tmp26_;
 
3073
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3074
                values_length1 = 6;
 
3075
#line 666 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3076
                _values_size_ = values_length1;
 
3077
#line 667 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3078
                _tmp27_ = icc_profile_data;
 
3079
#line 667 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3080
                if (_tmp27_ == NULL) {
 
3081
#line 3082 "page.c"
 
3082
                        gchar** _tmp28_ = NULL;
 
3083
                        gint _tmp28__length1 = 0;
 
3084
                        gchar* _tmp29_ = NULL;
 
3085
#line 668 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3086
                        _tmp28_ = keys;
 
3087
#line 668 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3088
                        _tmp28__length1 = keys_length1;
 
3089
#line 668 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3090
                        _g_free0 (_tmp28_[4]);
 
3091
#line 668 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3092
                        _tmp28_[4] = NULL;
 
3093
#line 668 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3094
                        _tmp29_ = _tmp28_[4];
 
3095
#line 3096 "page.c"
 
3096
                }
 
3097
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3098
                _tmp30_ = writer;
 
3099
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3100
                _tmp31_ = image;
 
3101
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3102
                _tmp32_ = keys;
 
3103
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3104
                _tmp32__length1 = keys_length1;
 
3105
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3106
                _tmp33_ = values;
 
3107
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3108
                _tmp33__length1 = values_length1;
 
3109
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3110
                pixbuf_writer_save (_tmp30_, _tmp31_, "jpeg", _tmp32_, _tmp32__length1, _tmp33_, _tmp33__length1, &_inner_error_);
 
3111
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3112
                if (_inner_error_ != NULL) {
 
3113
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3114
                        g_propagate_error (error, _inner_error_);
 
3115
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3116
                        values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
 
3117
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3118
                        keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
 
3119
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3120
                        _g_free0 (icc_profile_data);
 
3121
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3122
                        _g_object_unref0 (image);
 
3123
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3124
                        _pixbuf_writer_unref0 (writer);
 
3125
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3126
                        _g_object_unref0 (stream);
 
3127
#line 669 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3128
                        return;
 
3129
#line 3130 "page.c"
 
3130
                }
 
3131
#line 663 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3132
                values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
 
3133
#line 663 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3134
                keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
 
3135
#line 3136 "page.c"
 
3136
        } else {
 
3137
                GCompareFunc _tmp34_ = NULL;
 
3138
                const gchar* _tmp35_ = NULL;
 
3139
                gint _tmp36_ = 0;
 
3140
#line 671 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3141
                _tmp34_ = g_strcmp0;
 
3142
#line 671 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3143
                _tmp35_ = type;
 
3144
#line 671 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3145
                _tmp36_ = _tmp34_ (_tmp35_, "png");
 
3146
#line 671 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3147
                if (_tmp36_ == 0) {
 
3148
#line 3149 "page.c"
 
3149
                        gchar** keys = NULL;
 
3150
                        gchar* _tmp37_ = NULL;
 
3151
                        gchar** _tmp38_ = NULL;
 
3152
                        gint keys_length1 = 0;
 
3153
                        gint _keys_size_ = 0;
 
3154
                        gchar** values = NULL;
 
3155
                        const gchar* _tmp39_ = NULL;
 
3156
                        gchar* _tmp40_ = NULL;
 
3157
                        gchar** _tmp41_ = NULL;
 
3158
                        gint values_length1 = 0;
 
3159
                        gint _values_size_ = 0;
 
3160
                        const gchar* _tmp42_ = NULL;
 
3161
                        PixbufWriter* _tmp45_ = NULL;
 
3162
                        GdkPixbuf* _tmp46_ = NULL;
 
3163
                        gchar** _tmp47_ = NULL;
 
3164
                        gint _tmp47__length1 = 0;
 
3165
                        gchar** _tmp48_ = NULL;
 
3166
                        gint _tmp48__length1 = 0;
 
3167
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3168
                        _tmp37_ = g_strdup ("icc-profile");
 
3169
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3170
                        _tmp38_ = g_new0 (gchar*, 2 + 1);
 
3171
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3172
                        _tmp38_[0] = _tmp37_;
 
3173
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3174
                        _tmp38_[1] = NULL;
 
3175
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3176
                        keys = _tmp38_;
 
3177
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3178
                        keys_length1 = 2;
 
3179
#line 673 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3180
                        _keys_size_ = keys_length1;
 
3181
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3182
                        _tmp39_ = icc_profile_data;
 
3183
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3184
                        _tmp40_ = g_strdup (_tmp39_);
 
3185
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3186
                        _tmp41_ = g_new0 (gchar*, 2 + 1);
 
3187
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3188
                        _tmp41_[0] = _tmp40_;
 
3189
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3190
                        _tmp41_[1] = NULL;
 
3191
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3192
                        values = _tmp41_;
 
3193
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3194
                        values_length1 = 2;
 
3195
#line 674 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3196
                        _values_size_ = values_length1;
 
3197
#line 675 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3198
                        _tmp42_ = icc_profile_data;
 
3199
#line 675 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3200
                        if (_tmp42_ == NULL) {
 
3201
#line 3202 "page.c"
 
3202
                                gchar** _tmp43_ = NULL;
 
3203
                                gint _tmp43__length1 = 0;
 
3204
                                gchar* _tmp44_ = NULL;
 
3205
#line 676 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3206
                                _tmp43_ = keys;
 
3207
#line 676 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3208
                                _tmp43__length1 = keys_length1;
 
3209
#line 676 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3210
                                _g_free0 (_tmp43_[0]);
 
3211
#line 676 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3212
                                _tmp43_[0] = NULL;
 
3213
#line 676 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3214
                                _tmp44_ = _tmp43_[0];
 
3215
#line 3216 "page.c"
 
3216
                        }
 
3217
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3218
                        _tmp45_ = writer;
 
3219
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3220
                        _tmp46_ = image;
 
3221
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3222
                        _tmp47_ = keys;
 
3223
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3224
                        _tmp47__length1 = keys_length1;
 
3225
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3226
                        _tmp48_ = values;
 
3227
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3228
                        _tmp48__length1 = values_length1;
 
3229
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3230
                        pixbuf_writer_save (_tmp45_, _tmp46_, "png", _tmp47_, _tmp47__length1, _tmp48_, _tmp48__length1, &_inner_error_);
 
3231
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3232
                        if (_inner_error_ != NULL) {
 
3233
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3234
                                g_propagate_error (error, _inner_error_);
 
3235
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3236
                                values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
 
3237
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3238
                                keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
 
3239
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3240
                                _g_free0 (icc_profile_data);
 
3241
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3242
                                _g_object_unref0 (image);
 
3243
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3244
                                _pixbuf_writer_unref0 (writer);
 
3245
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3246
                                _g_object_unref0 (stream);
 
3247
#line 677 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3248
                                return;
 
3249
#line 3250 "page.c"
 
3250
                        }
 
3251
#line 671 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3252
                        values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
 
3253
#line 671 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3254
                        keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
 
3255
#line 3256 "page.c"
 
3256
                } else {
 
3257
                        GCompareFunc _tmp49_ = NULL;
 
3258
                        const gchar* _tmp50_ = NULL;
 
3259
                        gint _tmp51_ = 0;
 
3260
#line 679 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3261
                        _tmp49_ = g_strcmp0;
 
3262
#line 679 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3263
                        _tmp50_ = type;
 
3264
#line 679 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3265
                        _tmp51_ = _tmp49_ (_tmp50_, "tiff");
 
3266
#line 679 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3267
                        if (_tmp51_ == 0) {
 
3268
#line 3269 "page.c"
 
3269
                                gchar** keys = NULL;
 
3270
                                gchar* _tmp52_ = NULL;
 
3271
                                gchar* _tmp53_ = NULL;
 
3272
                                gchar** _tmp54_ = NULL;
 
3273
                                gint keys_length1 = 0;
 
3274
                                gint _keys_size_ = 0;
 
3275
                                gchar** values = NULL;
 
3276
                                gchar* _tmp55_ = NULL;
 
3277
                                const gchar* _tmp56_ = NULL;
 
3278
                                gchar* _tmp57_ = NULL;
 
3279
                                gchar** _tmp58_ = NULL;
 
3280
                                gint values_length1 = 0;
 
3281
                                gint _values_size_ = 0;
 
3282
                                const gchar* _tmp59_ = NULL;
 
3283
                                PixbufWriter* _tmp62_ = NULL;
 
3284
                                GdkPixbuf* _tmp63_ = NULL;
 
3285
                                gchar** _tmp64_ = NULL;
 
3286
                                gint _tmp64__length1 = 0;
 
3287
                                gchar** _tmp65_ = NULL;
 
3288
                                gint _tmp65__length1 = 0;
 
3289
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3290
                                _tmp52_ = g_strdup ("compression");
 
3291
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3292
                                _tmp53_ = g_strdup ("icc-profile");
 
3293
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3294
                                _tmp54_ = g_new0 (gchar*, 3 + 1);
 
3295
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3296
                                _tmp54_[0] = _tmp52_;
 
3297
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3298
                                _tmp54_[1] = _tmp53_;
 
3299
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3300
                                _tmp54_[2] = NULL;
 
3301
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3302
                                keys = _tmp54_;
 
3303
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3304
                                keys_length1 = 3;
 
3305
#line 681 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3306
                                _keys_size_ = keys_length1;
 
3307
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3308
                                _tmp55_ = g_strdup ("8");
 
3309
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3310
                                _tmp56_ = icc_profile_data;
 
3311
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3312
                                _tmp57_ = g_strdup (_tmp56_);
 
3313
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3314
                                _tmp58_ = g_new0 (gchar*, 3 + 1);
 
3315
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3316
                                _tmp58_[0] = _tmp55_;
 
3317
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3318
                                _tmp58_[1] = _tmp57_;
 
3319
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3320
                                _tmp58_[2] = NULL;
 
3321
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3322
                                values = _tmp58_;
 
3323
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3324
                                values_length1 = 3;
 
3325
#line 682 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3326
                                _values_size_ = values_length1;
 
3327
#line 683 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3328
                                _tmp59_ = icc_profile_data;
 
3329
#line 683 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3330
                                if (_tmp59_ == NULL) {
 
3331
#line 3332 "page.c"
 
3332
                                        gchar** _tmp60_ = NULL;
 
3333
                                        gint _tmp60__length1 = 0;
 
3334
                                        gchar* _tmp61_ = NULL;
 
3335
#line 684 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3336
                                        _tmp60_ = keys;
 
3337
#line 684 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3338
                                        _tmp60__length1 = keys_length1;
 
3339
#line 684 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3340
                                        _g_free0 (_tmp60_[1]);
 
3341
#line 684 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3342
                                        _tmp60_[1] = NULL;
 
3343
#line 684 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3344
                                        _tmp61_ = _tmp60_[1];
 
3345
#line 3346 "page.c"
 
3346
                                }
 
3347
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3348
                                _tmp62_ = writer;
 
3349
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3350
                                _tmp63_ = image;
 
3351
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3352
                                _tmp64_ = keys;
 
3353
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3354
                                _tmp64__length1 = keys_length1;
 
3355
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3356
                                _tmp65_ = values;
 
3357
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3358
                                _tmp65__length1 = values_length1;
 
3359
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3360
                                pixbuf_writer_save (_tmp62_, _tmp63_, "tiff", _tmp64_, _tmp64__length1, _tmp65_, _tmp65__length1, &_inner_error_);
 
3361
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3362
                                if (_inner_error_ != NULL) {
 
3363
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3364
                                        g_propagate_error (error, _inner_error_);
 
3365
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3366
                                        values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
 
3367
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3368
                                        keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
 
3369
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3370
                                        _g_free0 (icc_profile_data);
 
3371
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3372
                                        _g_object_unref0 (image);
 
3373
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3374
                                        _pixbuf_writer_unref0 (writer);
 
3375
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3376
                                        _g_object_unref0 (stream);
 
3377
#line 685 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3378
                                        return;
 
3379
#line 3380 "page.c"
 
3380
                                }
 
3381
#line 679 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3382
                                values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
 
3383
#line 679 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3384
                                keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
 
3385
#line 3386 "page.c"
 
3386
                        } else {
 
3387
                        }
 
3388
                }
 
3389
        }
 
3390
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3391
        _g_free0 (icc_profile_data);
 
3392
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3393
        _g_object_unref0 (image);
 
3394
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3395
        _pixbuf_writer_unref0 (writer);
 
3396
#line 653 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3397
        _g_object_unref0 (stream);
 
3398
#line 3399 "page.c"
 
3399
}
 
3400
 
 
3401
 
 
3402
gint page_get_width (Page* self) {
 
3403
        gint result;
 
3404
        gboolean _tmp0_ = FALSE;
 
3405
        ScanDirection _tmp1_ = 0;
 
3406
        ScanDirection _tmp2_ = 0;
 
3407
#line 25 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3408
        g_return_val_if_fail (self != NULL, 0);
 
3409
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3410
        _tmp1_ = page_get_scan_direction (self);
 
3411
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3412
        _tmp2_ = _tmp1_;
 
3413
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3414
        if (_tmp2_ == SCAN_DIRECTION_TOP_TO_BOTTOM) {
 
3415
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3416
                _tmp0_ = TRUE;
 
3417
#line 3418 "page.c"
 
3418
        } else {
 
3419
                ScanDirection _tmp3_ = 0;
 
3420
                ScanDirection _tmp4_ = 0;
 
3421
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3422
                _tmp3_ = page_get_scan_direction (self);
 
3423
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3424
                _tmp4_ = _tmp3_;
 
3425
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3426
                _tmp0_ = _tmp4_ == SCAN_DIRECTION_BOTTOM_TO_TOP;
 
3427
#line 3428 "page.c"
 
3428
        }
 
3429
#line 27 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3430
        if (_tmp0_) {
 
3431
#line 3432 "page.c"
 
3432
                gint _tmp5_ = 0;
 
3433
#line 28 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3434
                _tmp5_ = self->priv->_scan_width;
 
3435
#line 28 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3436
                result = _tmp5_;
 
3437
#line 28 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3438
                return result;
 
3439
#line 3440 "page.c"
 
3440
        } else {
 
3441
                gint _tmp6_ = 0;
 
3442
#line 30 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3443
                _tmp6_ = self->priv->_scan_height;
 
3444
#line 30 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3445
                result = _tmp6_;
 
3446
#line 30 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3447
                return result;
 
3448
#line 3449 "page.c"
 
3449
        }
 
3450
}
 
3451
 
 
3452
 
 
3453
gint page_get_height (Page* self) {
 
3454
        gint result;
 
3455
        gboolean _tmp0_ = FALSE;
 
3456
        ScanDirection _tmp1_ = 0;
 
3457
        ScanDirection _tmp2_ = 0;
 
3458
#line 37 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3459
        g_return_val_if_fail (self != NULL, 0);
 
3460
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3461
        _tmp1_ = page_get_scan_direction (self);
 
3462
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3463
        _tmp2_ = _tmp1_;
 
3464
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3465
        if (_tmp2_ == SCAN_DIRECTION_TOP_TO_BOTTOM) {
 
3466
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3467
                _tmp0_ = TRUE;
 
3468
#line 3469 "page.c"
 
3469
        } else {
 
3470
                ScanDirection _tmp3_ = 0;
 
3471
                ScanDirection _tmp4_ = 0;
 
3472
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3473
                _tmp3_ = page_get_scan_direction (self);
 
3474
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3475
                _tmp4_ = _tmp3_;
 
3476
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3477
                _tmp0_ = _tmp4_ == SCAN_DIRECTION_BOTTOM_TO_TOP;
 
3478
#line 3479 "page.c"
 
3479
        }
 
3480
#line 39 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3481
        if (_tmp0_) {
 
3482
#line 3483 "page.c"
 
3483
                gint _tmp5_ = 0;
 
3484
#line 40 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3485
                _tmp5_ = self->priv->_scan_height;
 
3486
#line 40 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3487
                result = _tmp5_;
 
3488
#line 40 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3489
                return result;
 
3490
#line 3491 "page.c"
 
3491
        } else {
 
3492
                gint _tmp6_ = 0;
 
3493
#line 42 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3494
                _tmp6_ = self->priv->_scan_width;
 
3495
#line 42 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3496
                result = _tmp6_;
 
3497
#line 42 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3498
                return result;
 
3499
#line 3500 "page.c"
 
3500
        }
 
3501
}
 
3502
 
 
3503
 
 
3504
gboolean page_get_is_landscape (Page* self) {
 
3505
        gboolean result;
 
3506
        gint _tmp0_ = 0;
 
3507
        gint _tmp1_ = 0;
 
3508
        gint _tmp2_ = 0;
 
3509
        gint _tmp3_ = 0;
 
3510
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3511
        g_return_val_if_fail (self != NULL, FALSE);
 
3512
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3513
        _tmp0_ = page_get_width (self);
 
3514
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3515
        _tmp1_ = _tmp0_;
 
3516
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3517
        _tmp2_ = page_get_height (self);
 
3518
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3519
        _tmp3_ = _tmp2_;
 
3520
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3521
        result = _tmp1_ > _tmp3_;
 
3522
#line 47 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3523
        return result;
 
3524
#line 3525 "page.c"
 
3525
}
 
3526
 
 
3527
 
 
3528
gint page_get_dpi (Page* self) {
 
3529
        gint result;
 
3530
        gint _tmp0_ = 0;
 
3531
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3532
        g_return_val_if_fail (self != NULL, 0);
 
3533
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3534
        _tmp0_ = self->priv->_dpi;
 
3535
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3536
        result = _tmp0_;
 
3537
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3538
        return result;
 
3539
#line 3540 "page.c"
 
3540
}
 
3541
 
 
3542
 
 
3543
static void page_set_dpi (Page* self, gint value) {
 
3544
        gint _tmp0_ = 0;
 
3545
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3546
        g_return_if_fail (self != NULL);
 
3547
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3548
        _tmp0_ = value;
 
3549
#line 50 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3550
        self->priv->_dpi = _tmp0_;
 
3551
#line 3552 "page.c"
 
3552
}
 
3553
 
 
3554
 
 
3555
gint page_get_depth (Page* self) {
 
3556
        gint result;
 
3557
        gint _tmp0_ = 0;
 
3558
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3559
        g_return_val_if_fail (self != NULL, 0);
 
3560
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3561
        _tmp0_ = self->priv->_depth;
 
3562
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3563
        result = _tmp0_;
 
3564
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3565
        return result;
 
3566
#line 3567 "page.c"
 
3567
}
 
3568
 
 
3569
 
 
3570
static void page_set_depth (Page* self, gint value) {
 
3571
        gint _tmp0_ = 0;
 
3572
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3573
        g_return_if_fail (self != NULL);
 
3574
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3575
        _tmp0_ = value;
 
3576
#line 56 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3577
        self->priv->_depth = _tmp0_;
 
3578
#line 3579 "page.c"
 
3579
}
 
3580
 
 
3581
 
 
3582
const gchar* page_get_color_profile (Page* self) {
 
3583
        const gchar* result;
 
3584
        const gchar* _tmp0_ = NULL;
 
3585
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3586
        g_return_val_if_fail (self != NULL, NULL);
 
3587
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3588
        _tmp0_ = self->priv->_color_profile;
 
3589
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3590
        result = _tmp0_;
 
3591
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3592
        return result;
 
3593
#line 3594 "page.c"
 
3594
}
 
3595
 
 
3596
 
 
3597
void page_set_color_profile (Page* self, const gchar* value) {
 
3598
        const gchar* _tmp0_ = NULL;
 
3599
        gchar* _tmp1_ = NULL;
 
3600
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3601
        g_return_if_fail (self != NULL);
 
3602
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3603
        _tmp0_ = value;
 
3604
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3605
        _tmp1_ = g_strdup (_tmp0_);
 
3606
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3607
        _g_free0 (self->priv->_color_profile);
 
3608
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3609
        self->priv->_color_profile = _tmp1_;
 
3610
#line 3611 "page.c"
 
3611
}
 
3612
 
 
3613
 
 
3614
gint page_get_scan_width (Page* self) {
 
3615
        gint result;
 
3616
        gint _tmp0_ = 0;
 
3617
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3618
        g_return_val_if_fail (self != NULL, 0);
 
3619
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3620
        _tmp0_ = self->priv->_scan_width;
 
3621
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3622
        result = _tmp0_;
 
3623
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3624
        return result;
 
3625
#line 3626 "page.c"
 
3626
}
 
3627
 
 
3628
 
 
3629
static void page_set_scan_width (Page* self, gint value) {
 
3630
        gint _tmp0_ = 0;
 
3631
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3632
        g_return_if_fail (self != NULL);
 
3633
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3634
        _tmp0_ = value;
 
3635
#line 62 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3636
        self->priv->_scan_width = _tmp0_;
 
3637
#line 3638 "page.c"
 
3638
}
 
3639
 
 
3640
 
 
3641
gint page_get_scan_height (Page* self) {
 
3642
        gint result;
 
3643
        gint _tmp0_ = 0;
 
3644
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3645
        g_return_val_if_fail (self != NULL, 0);
 
3646
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3647
        _tmp0_ = self->priv->_scan_height;
 
3648
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3649
        result = _tmp0_;
 
3650
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3651
        return result;
 
3652
#line 3653 "page.c"
 
3653
}
 
3654
 
 
3655
 
 
3656
static void page_set_scan_height (Page* self, gint value) {
 
3657
        gint _tmp0_ = 0;
 
3658
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3659
        g_return_if_fail (self != NULL);
 
3660
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3661
        _tmp0_ = value;
 
3662
#line 65 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3663
        self->priv->_scan_height = _tmp0_;
 
3664
#line 3665 "page.c"
 
3665
}
 
3666
 
 
3667
 
 
3668
gint page_get_rowstride (Page* self) {
 
3669
        gint result;
 
3670
        gint _tmp0_ = 0;
 
3671
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3672
        g_return_val_if_fail (self != NULL, 0);
 
3673
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3674
        _tmp0_ = self->priv->_rowstride;
 
3675
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3676
        result = _tmp0_;
 
3677
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3678
        return result;
 
3679
#line 3680 "page.c"
 
3680
}
 
3681
 
 
3682
 
 
3683
static void page_set_rowstride (Page* self, gint value) {
 
3684
        gint _tmp0_ = 0;
 
3685
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3686
        g_return_if_fail (self != NULL);
 
3687
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3688
        _tmp0_ = value;
 
3689
#line 68 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3690
        self->priv->_rowstride = _tmp0_;
 
3691
#line 3692 "page.c"
 
3692
}
 
3693
 
 
3694
 
 
3695
gint page_get_n_channels (Page* self) {
 
3696
        gint result;
 
3697
        gint _tmp0_ = 0;
 
3698
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3699
        g_return_val_if_fail (self != NULL, 0);
 
3700
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3701
        _tmp0_ = self->priv->_n_channels;
 
3702
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3703
        result = _tmp0_;
 
3704
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3705
        return result;
 
3706
#line 3707 "page.c"
 
3707
}
 
3708
 
 
3709
 
 
3710
static void page_set_n_channels (Page* self, gint value) {
 
3711
        gint _tmp0_ = 0;
 
3712
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3713
        g_return_if_fail (self != NULL);
 
3714
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3715
        _tmp0_ = value;
 
3716
#line 71 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3717
        self->priv->_n_channels = _tmp0_;
 
3718
#line 3719 "page.c"
 
3719
}
 
3720
 
 
3721
 
 
3722
gboolean page_get_is_scanning (Page* self) {
 
3723
        gboolean result;
 
3724
        gboolean _tmp0_ = FALSE;
 
3725
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3726
        g_return_val_if_fail (self != NULL, FALSE);
 
3727
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3728
        _tmp0_ = self->priv->_is_scanning;
 
3729
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3730
        result = _tmp0_;
 
3731
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3732
        return result;
 
3733
#line 3734 "page.c"
 
3734
}
 
3735
 
 
3736
 
 
3737
static void page_set_is_scanning (Page* self, gboolean value) {
 
3738
        gboolean _tmp0_ = FALSE;
 
3739
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3740
        g_return_if_fail (self != NULL);
 
3741
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3742
        _tmp0_ = value;
 
3743
#line 77 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3744
        self->priv->_is_scanning = _tmp0_;
 
3745
#line 3746 "page.c"
 
3746
}
 
3747
 
 
3748
 
 
3749
gboolean page_get_has_data (Page* self) {
 
3750
        gboolean result;
 
3751
        gboolean _tmp0_ = FALSE;
 
3752
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3753
        g_return_val_if_fail (self != NULL, FALSE);
 
3754
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3755
        _tmp0_ = self->priv->_has_data;
 
3756
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3757
        result = _tmp0_;
 
3758
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3759
        return result;
 
3760
#line 3761 "page.c"
 
3761
}
 
3762
 
 
3763
 
 
3764
static void page_set_has_data (Page* self, gboolean value) {
 
3765
        gboolean _tmp0_ = FALSE;
 
3766
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3767
        g_return_if_fail (self != NULL);
 
3768
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3769
        _tmp0_ = value;
 
3770
#line 80 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3771
        self->priv->_has_data = _tmp0_;
 
3772
#line 3773 "page.c"
 
3773
}
 
3774
 
 
3775
 
 
3776
gint page_get_scan_line (Page* self) {
 
3777
        gint result;
 
3778
        gint _tmp0_ = 0;
 
3779
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3780
        g_return_val_if_fail (self != NULL, 0);
 
3781
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3782
        _tmp0_ = self->priv->_scan_line;
 
3783
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3784
        result = _tmp0_;
 
3785
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3786
        return result;
 
3787
#line 3788 "page.c"
 
3788
}
 
3789
 
 
3790
 
 
3791
static void page_set_scan_line (Page* self, gint value) {
 
3792
        gint _tmp0_ = 0;
 
3793
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3794
        g_return_if_fail (self != NULL);
 
3795
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3796
        _tmp0_ = value;
 
3797
#line 83 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3798
        self->priv->_scan_line = _tmp0_;
 
3799
#line 3800 "page.c"
 
3800
}
 
3801
 
 
3802
 
 
3803
gboolean page_get_is_color (Page* self) {
 
3804
        gboolean result;
 
3805
        gint _tmp0_ = 0;
 
3806
#line 86 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3807
        g_return_val_if_fail (self != NULL, FALSE);
 
3808
#line 86 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3809
        _tmp0_ = self->priv->_n_channels;
 
3810
#line 86 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3811
        result = _tmp0_ > 1;
 
3812
#line 86 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3813
        return result;
 
3814
#line 3815 "page.c"
 
3815
}
 
3816
 
 
3817
 
 
3818
ScanDirection page_get_scan_direction (Page* self) {
 
3819
        ScanDirection result;
 
3820
        ScanDirection _tmp0_ = 0;
 
3821
#line 92 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3822
        g_return_val_if_fail (self != NULL, 0);
 
3823
#line 92 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3824
        _tmp0_ = self->priv->scan_direction_;
 
3825
#line 92 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3826
        result = _tmp0_;
 
3827
#line 92 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3828
        return result;
 
3829
#line 3830 "page.c"
 
3830
}
 
3831
 
 
3832
 
 
3833
void page_set_scan_direction (Page* self, ScanDirection value) {
 
3834
        ScanDirection _tmp0_ = 0;
 
3835
        ScanDirection _tmp1_ = 0;
 
3836
        gboolean size_has_changed = FALSE;
 
3837
        gint left_steps = 0;
 
3838
        ScanDirection _tmp2_ = 0;
 
3839
        ScanDirection _tmp3_ = 0;
 
3840
        gint _tmp4_ = 0;
 
3841
        gint _tmp6_ = 0;
 
3842
        gboolean _tmp7_ = FALSE;
 
3843
        ScanDirection _tmp35_ = 0;
 
3844
        gboolean _tmp36_ = FALSE;
 
3845
        gboolean _tmp37_ = FALSE;
 
3846
#line 94 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3847
        g_return_if_fail (self != NULL);
 
3848
#line 96 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3849
        _tmp0_ = self->priv->scan_direction_;
 
3850
#line 96 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3851
        _tmp1_ = value;
 
3852
#line 96 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3853
        if (_tmp0_ == _tmp1_) {
 
3854
#line 97 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3855
                return;
 
3856
#line 3857 "page.c"
 
3857
        }
 
3858
#line 100 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3859
        size_has_changed = FALSE;
 
3860
#line 101 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3861
        _tmp2_ = value;
 
3862
#line 101 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3863
        _tmp3_ = self->priv->scan_direction_;
 
3864
#line 101 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3865
        left_steps = (gint) (_tmp2_ - _tmp3_);
 
3866
#line 102 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3867
        _tmp4_ = left_steps;
 
3868
#line 102 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3869
        if (_tmp4_ < 0) {
 
3870
#line 3871 "page.c"
 
3871
                gint _tmp5_ = 0;
 
3872
#line 103 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3873
                _tmp5_ = left_steps;
 
3874
#line 103 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3875
                left_steps = _tmp5_ + 4;
 
3876
#line 3877 "page.c"
 
3877
        }
 
3878
#line 104 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3879
        _tmp6_ = left_steps;
 
3880
#line 104 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3881
        if (_tmp6_ != 2) {
 
3882
#line 105 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3883
                size_has_changed = TRUE;
 
3884
#line 3885 "page.c"
 
3885
        }
 
3886
#line 108 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3887
        _tmp7_ = self->priv->_has_crop;
 
3888
#line 108 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3889
        if (_tmp7_) {
 
3890
#line 3891 "page.c"
 
3891
                gint _tmp8_ = 0;
 
3892
#line 110 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3893
                _tmp8_ = left_steps;
 
3894
#line 110 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3895
                switch (_tmp8_) {
 
3896
#line 110 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3897
                        case 1:
 
3898
#line 3899 "page.c"
 
3899
                        {
 
3900
                                gint t = 0;
 
3901
                                gint _tmp9_ = 0;
 
3902
                                gint _tmp10_ = 0;
 
3903
                                gint _tmp11_ = 0;
 
3904
                                gint _tmp12_ = 0;
 
3905
                                gint _tmp13_ = 0;
 
3906
                                gint _tmp14_ = 0;
 
3907
                                gint _tmp15_ = 0;
 
3908
                                gint _tmp16_ = 0;
 
3909
                                gint _tmp17_ = 0;
 
3910
#line 114 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3911
                                _tmp9_ = self->priv->_crop_x;
 
3912
#line 114 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3913
                                t = _tmp9_;
 
3914
#line 115 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3915
                                _tmp10_ = self->priv->_crop_y;
 
3916
#line 115 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3917
                                page_set_crop_x (self, _tmp10_);
 
3918
#line 116 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3919
                                _tmp11_ = page_get_width (self);
 
3920
#line 116 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3921
                                _tmp12_ = _tmp11_;
 
3922
#line 116 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3923
                                _tmp13_ = t;
 
3924
#line 116 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3925
                                _tmp14_ = self->priv->_crop_width;
 
3926
#line 116 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3927
                                page_set_crop_y (self, _tmp12_ - (_tmp13_ + _tmp14_));
 
3928
#line 117 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3929
                                _tmp15_ = self->priv->_crop_width;
 
3930
#line 117 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3931
                                t = _tmp15_;
 
3932
#line 118 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3933
                                _tmp16_ = self->priv->_crop_height;
 
3934
#line 118 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3935
                                page_set_crop_width (self, _tmp16_);
 
3936
#line 119 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3937
                                _tmp17_ = t;
 
3938
#line 119 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3939
                                page_set_crop_height (self, _tmp17_);
 
3940
#line 120 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3941
                                break;
 
3942
#line 3943 "page.c"
 
3943
                        }
 
3944
#line 110 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3945
                        case 2:
 
3946
#line 3947 "page.c"
 
3947
                        {
 
3948
                                gint _tmp18_ = 0;
 
3949
                                gint _tmp19_ = 0;
 
3950
                                gint _tmp20_ = 0;
 
3951
                                gint _tmp21_ = 0;
 
3952
                                gint _tmp22_ = 0;
 
3953
                                gint _tmp23_ = 0;
 
3954
                                gint _tmp24_ = 0;
 
3955
                                gint _tmp25_ = 0;
 
3956
#line 123 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3957
                                _tmp18_ = page_get_width (self);
 
3958
#line 123 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3959
                                _tmp19_ = _tmp18_;
 
3960
#line 123 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3961
                                _tmp20_ = self->priv->_crop_x;
 
3962
#line 123 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3963
                                _tmp21_ = self->priv->_crop_width;
 
3964
#line 123 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3965
                                page_set_crop_x (self, _tmp19_ - (_tmp20_ + _tmp21_));
 
3966
#line 124 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3967
                                _tmp22_ = page_get_width (self);
 
3968
#line 124 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3969
                                _tmp23_ = _tmp22_;
 
3970
#line 124 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3971
                                _tmp24_ = self->priv->_crop_y;
 
3972
#line 124 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3973
                                _tmp25_ = self->priv->_crop_height;
 
3974
#line 124 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3975
                                page_set_crop_y (self, _tmp23_ - (_tmp24_ + _tmp25_));
 
3976
#line 125 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3977
                                break;
 
3978
#line 3979 "page.c"
 
3979
                        }
 
3980
#line 110 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3981
                        case 3:
 
3982
#line 3983 "page.c"
 
3983
                        {
 
3984
                                gint t = 0;
 
3985
                                gint _tmp26_ = 0;
 
3986
                                gint _tmp27_ = 0;
 
3987
                                gint _tmp28_ = 0;
 
3988
                                gint _tmp29_ = 0;
 
3989
                                gint _tmp30_ = 0;
 
3990
                                gint _tmp31_ = 0;
 
3991
                                gint _tmp32_ = 0;
 
3992
                                gint _tmp33_ = 0;
 
3993
                                gint _tmp34_ = 0;
 
3994
#line 128 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3995
                                _tmp26_ = self->priv->_crop_y;
 
3996
#line 128 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3997
                                t = _tmp26_;
 
3998
#line 129 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
3999
                                _tmp27_ = self->priv->_crop_x;
 
4000
#line 129 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4001
                                page_set_crop_y (self, _tmp27_);
 
4002
#line 130 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4003
                                _tmp28_ = page_get_height (self);
 
4004
#line 130 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4005
                                _tmp29_ = _tmp28_;
 
4006
#line 130 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4007
                                _tmp30_ = t;
 
4008
#line 130 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4009
                                _tmp31_ = self->priv->_crop_height;
 
4010
#line 130 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4011
                                page_set_crop_x (self, _tmp29_ - (_tmp30_ + _tmp31_));
 
4012
#line 131 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4013
                                _tmp32_ = self->priv->_crop_width;
 
4014
#line 131 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4015
                                t = _tmp32_;
 
4016
#line 132 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4017
                                _tmp33_ = self->priv->_crop_height;
 
4018
#line 132 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4019
                                page_set_crop_width (self, _tmp33_);
 
4020
#line 133 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4021
                                _tmp34_ = t;
 
4022
#line 133 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4023
                                page_set_crop_height (self, _tmp34_);
 
4024
#line 134 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4025
                                break;
 
4026
#line 4027 "page.c"
 
4027
                        }
 
4028
                        default:
 
4029
#line 110 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4030
                        break;
 
4031
#line 4032 "page.c"
 
4032
                }
 
4033
        }
 
4034
#line 138 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4035
        _tmp35_ = value;
 
4036
#line 138 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4037
        self->priv->scan_direction_ = _tmp35_;
 
4038
#line 139 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4039
        _tmp36_ = size_has_changed;
 
4040
#line 139 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4041
        if (_tmp36_) {
 
4042
#line 140 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4043
                g_signal_emit_by_name (self, "size-changed");
 
4044
#line 4045 "page.c"
 
4045
        }
 
4046
#line 141 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4047
        g_signal_emit_by_name (self, "scan-direction-changed");
 
4048
#line 142 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4049
        _tmp37_ = self->priv->_has_crop;
 
4050
#line 142 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4051
        if (_tmp37_) {
 
4052
#line 143 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4053
                g_signal_emit_by_name (self, "crop-changed");
 
4054
#line 4055 "page.c"
 
4055
        }
 
4056
}
 
4057
 
 
4058
 
 
4059
gboolean page_get_has_crop (Page* self) {
 
4060
        gboolean result;
 
4061
        gboolean _tmp0_ = FALSE;
 
4062
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4063
        g_return_val_if_fail (self != NULL, FALSE);
 
4064
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4065
        _tmp0_ = self->priv->_has_crop;
 
4066
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4067
        result = _tmp0_;
 
4068
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4069
        return result;
 
4070
#line 4071 "page.c"
 
4071
}
 
4072
 
 
4073
 
 
4074
static void page_set_has_crop (Page* self, gboolean value) {
 
4075
        gboolean _tmp0_ = FALSE;
 
4076
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4077
        g_return_if_fail (self != NULL);
 
4078
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4079
        _tmp0_ = value;
 
4080
#line 150 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4081
        self->priv->_has_crop = _tmp0_;
 
4082
#line 4083 "page.c"
 
4083
}
 
4084
 
 
4085
 
 
4086
const gchar* page_get_crop_name (Page* self) {
 
4087
        const gchar* result;
 
4088
        const gchar* _tmp0_ = NULL;
 
4089
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4090
        g_return_val_if_fail (self != NULL, NULL);
 
4091
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4092
        _tmp0_ = self->priv->_crop_name;
 
4093
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4094
        result = _tmp0_;
 
4095
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4096
        return result;
 
4097
#line 4098 "page.c"
 
4098
}
 
4099
 
 
4100
 
 
4101
static void page_set_crop_name (Page* self, const gchar* value) {
 
4102
        const gchar* _tmp0_ = NULL;
 
4103
        gchar* _tmp1_ = NULL;
 
4104
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4105
        g_return_if_fail (self != NULL);
 
4106
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4107
        _tmp0_ = value;
 
4108
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4109
        _tmp1_ = g_strdup (_tmp0_);
 
4110
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4111
        _g_free0 (self->priv->_crop_name);
 
4112
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4113
        self->priv->_crop_name = _tmp1_;
 
4114
#line 4115 "page.c"
 
4115
}
 
4116
 
 
4117
 
 
4118
gint page_get_crop_x (Page* self) {
 
4119
        gint result;
 
4120
        gint _tmp0_ = 0;
 
4121
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4122
        g_return_val_if_fail (self != NULL, 0);
 
4123
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4124
        _tmp0_ = self->priv->_crop_x;
 
4125
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4126
        result = _tmp0_;
 
4127
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4128
        return result;
 
4129
#line 4130 "page.c"
 
4130
}
 
4131
 
 
4132
 
 
4133
static void page_set_crop_x (Page* self, gint value) {
 
4134
        gint _tmp0_ = 0;
 
4135
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4136
        g_return_if_fail (self != NULL);
 
4137
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4138
        _tmp0_ = value;
 
4139
#line 156 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4140
        self->priv->_crop_x = _tmp0_;
 
4141
#line 4142 "page.c"
 
4142
}
 
4143
 
 
4144
 
 
4145
gint page_get_crop_y (Page* self) {
 
4146
        gint result;
 
4147
        gint _tmp0_ = 0;
 
4148
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4149
        g_return_val_if_fail (self != NULL, 0);
 
4150
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4151
        _tmp0_ = self->priv->_crop_y;
 
4152
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4153
        result = _tmp0_;
 
4154
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4155
        return result;
 
4156
#line 4157 "page.c"
 
4157
}
 
4158
 
 
4159
 
 
4160
static void page_set_crop_y (Page* self, gint value) {
 
4161
        gint _tmp0_ = 0;
 
4162
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4163
        g_return_if_fail (self != NULL);
 
4164
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4165
        _tmp0_ = value;
 
4166
#line 159 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4167
        self->priv->_crop_y = _tmp0_;
 
4168
#line 4169 "page.c"
 
4169
}
 
4170
 
 
4171
 
 
4172
gint page_get_crop_width (Page* self) {
 
4173
        gint result;
 
4174
        gint _tmp0_ = 0;
 
4175
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4176
        g_return_val_if_fail (self != NULL, 0);
 
4177
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4178
        _tmp0_ = self->priv->_crop_width;
 
4179
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4180
        result = _tmp0_;
 
4181
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4182
        return result;
 
4183
#line 4184 "page.c"
 
4184
}
 
4185
 
 
4186
 
 
4187
static void page_set_crop_width (Page* self, gint value) {
 
4188
        gint _tmp0_ = 0;
 
4189
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4190
        g_return_if_fail (self != NULL);
 
4191
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4192
        _tmp0_ = value;
 
4193
#line 162 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4194
        self->priv->_crop_width = _tmp0_;
 
4195
#line 4196 "page.c"
 
4196
}
 
4197
 
 
4198
 
 
4199
gint page_get_crop_height (Page* self) {
 
4200
        gint result;
 
4201
        gint _tmp0_ = 0;
 
4202
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4203
        g_return_val_if_fail (self != NULL, 0);
 
4204
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4205
        _tmp0_ = self->priv->_crop_height;
 
4206
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4207
        result = _tmp0_;
 
4208
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4209
        return result;
 
4210
#line 4211 "page.c"
 
4211
}
 
4212
 
 
4213
 
 
4214
static void page_set_crop_height (Page* self, gint value) {
 
4215
        gint _tmp0_ = 0;
 
4216
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4217
        g_return_if_fail (self != NULL);
 
4218
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4219
        _tmp0_ = value;
 
4220
#line 165 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4221
        self->priv->_crop_height = _tmp0_;
 
4222
#line 4223 "page.c"
 
4223
}
 
4224
 
 
4225
 
 
4226
static void value_page_init (GValue* value) {
 
4227
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4228
        value->data[0].v_pointer = NULL;
 
4229
#line 4230 "page.c"
 
4230
}
 
4231
 
 
4232
 
 
4233
static void value_page_free_value (GValue* value) {
 
4234
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4235
        if (value->data[0].v_pointer) {
 
4236
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4237
                page_unref (value->data[0].v_pointer);
 
4238
#line 4239 "page.c"
 
4239
        }
 
4240
}
 
4241
 
 
4242
 
 
4243
static void value_page_copy_value (const GValue* src_value, GValue* dest_value) {
 
4244
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4245
        if (src_value->data[0].v_pointer) {
 
4246
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4247
                dest_value->data[0].v_pointer = page_ref (src_value->data[0].v_pointer);
 
4248
#line 4249 "page.c"
 
4249
        } else {
 
4250
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4251
                dest_value->data[0].v_pointer = NULL;
 
4252
#line 4253 "page.c"
 
4253
        }
 
4254
}
 
4255
 
 
4256
 
 
4257
static gpointer value_page_peek_pointer (const GValue* value) {
 
4258
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4259
        return value->data[0].v_pointer;
 
4260
#line 4261 "page.c"
 
4261
}
 
4262
 
 
4263
 
 
4264
static gchar* value_page_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 
4265
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4266
        if (collect_values[0].v_pointer) {
 
4267
#line 4268 "page.c"
 
4268
                Page* object;
 
4269
                object = collect_values[0].v_pointer;
 
4270
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4271
                if (object->parent_instance.g_class == NULL) {
 
4272
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4273
                        return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
 
4274
#line 4275 "page.c"
 
4275
                } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
 
4276
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4277
                        return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
 
4278
#line 4279 "page.c"
 
4279
                }
 
4280
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4281
                value->data[0].v_pointer = page_ref (object);
 
4282
#line 4283 "page.c"
 
4283
        } else {
 
4284
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4285
                value->data[0].v_pointer = NULL;
 
4286
#line 4287 "page.c"
 
4287
        }
 
4288
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4289
        return NULL;
 
4290
#line 4291 "page.c"
 
4291
}
 
4292
 
 
4293
 
 
4294
static gchar* value_page_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 
4295
        Page** object_p;
 
4296
        object_p = collect_values[0].v_pointer;
 
4297
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4298
        if (!object_p) {
 
4299
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4300
                return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
 
4301
#line 4302 "page.c"
 
4302
        }
 
4303
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4304
        if (!value->data[0].v_pointer) {
 
4305
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4306
                *object_p = NULL;
 
4307
#line 4308 "page.c"
 
4308
        } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
 
4309
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4310
                *object_p = value->data[0].v_pointer;
 
4311
#line 4312 "page.c"
 
4312
        } else {
 
4313
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4314
                *object_p = page_ref (value->data[0].v_pointer);
 
4315
#line 4316 "page.c"
 
4316
        }
 
4317
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4318
        return NULL;
 
4319
#line 4320 "page.c"
 
4320
}
 
4321
 
 
4322
 
 
4323
GParamSpec* param_spec_page (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
 
4324
        ParamSpecPage* spec;
 
4325
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4326
        g_return_val_if_fail (g_type_is_a (object_type, TYPE_PAGE), NULL);
 
4327
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4328
        spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
 
4329
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4330
        G_PARAM_SPEC (spec)->value_type = object_type;
 
4331
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4332
        return G_PARAM_SPEC (spec);
 
4333
#line 4334 "page.c"
 
4334
}
 
4335
 
 
4336
 
 
4337
gpointer value_get_page (const GValue* value) {
 
4338
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4339
        g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PAGE), NULL);
 
4340
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4341
        return value->data[0].v_pointer;
 
4342
#line 4343 "page.c"
 
4343
}
 
4344
 
 
4345
 
 
4346
void value_set_page (GValue* value, gpointer v_object) {
 
4347
        Page* old;
 
4348
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4349
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PAGE));
 
4350
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4351
        old = value->data[0].v_pointer;
 
4352
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4353
        if (v_object) {
 
4354
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4355
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PAGE));
 
4356
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4357
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 
4358
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4359
                value->data[0].v_pointer = v_object;
 
4360
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4361
                page_ref (value->data[0].v_pointer);
 
4362
#line 4363 "page.c"
 
4363
        } else {
 
4364
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4365
                value->data[0].v_pointer = NULL;
 
4366
#line 4367 "page.c"
 
4367
        }
 
4368
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4369
        if (old) {
 
4370
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4371
                page_unref (old);
 
4372
#line 4373 "page.c"
 
4373
        }
 
4374
}
 
4375
 
 
4376
 
 
4377
void value_take_page (GValue* value, gpointer v_object) {
 
4378
        Page* old;
 
4379
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4380
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PAGE));
 
4381
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4382
        old = value->data[0].v_pointer;
 
4383
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4384
        if (v_object) {
 
4385
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4386
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PAGE));
 
4387
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4388
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 
4389
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4390
                value->data[0].v_pointer = v_object;
 
4391
#line 4392 "page.c"
 
4392
        } else {
 
4393
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4394
                value->data[0].v_pointer = NULL;
 
4395
#line 4396 "page.c"
 
4396
        }
 
4397
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4398
        if (old) {
 
4399
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4400
                page_unref (old);
 
4401
#line 4402 "page.c"
 
4402
        }
 
4403
}
 
4404
 
 
4405
 
 
4406
static void page_class_init (PageClass * klass) {
 
4407
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4408
        page_parent_class = g_type_class_peek_parent (klass);
 
4409
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4410
        PAGE_CLASS (klass)->finalize = page_finalize;
 
4411
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4412
        g_type_class_add_private (klass, sizeof (PagePrivate));
 
4413
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4414
        g_signal_new ("pixels_changed", TYPE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
4415
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4416
        g_signal_new ("size_changed", TYPE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
4417
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4418
        g_signal_new ("scan_line_changed", TYPE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
4419
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4420
        g_signal_new ("scan_direction_changed", TYPE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
4421
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4422
        g_signal_new ("crop_changed", TYPE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
4423
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4424
        g_signal_new ("scan_finished", TYPE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
4425
#line 4426 "page.c"
 
4426
}
 
4427
 
 
4428
 
 
4429
static void page_instance_init (Page * self) {
 
4430
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4431
        self->priv = PAGE_GET_PRIVATE (self);
 
4432
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4433
        self->ref_count = 1;
 
4434
#line 4435 "page.c"
 
4435
}
 
4436
 
 
4437
 
 
4438
static void page_finalize (Page* obj) {
 
4439
        Page * self;
 
4440
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4441
        self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PAGE, Page);
 
4442
#line 59 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4443
        _g_free0 (self->priv->_color_profile);
 
4444
#line 74 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4445
        self->priv->pixels = (g_free (self->priv->pixels), NULL);
 
4446
#line 153 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4447
        _g_free0 (self->priv->_crop_name);
 
4448
#line 4449 "page.c"
 
4449
}
 
4450
 
 
4451
 
 
4452
GType page_get_type (void) {
 
4453
        static volatile gsize page_type_id__volatile = 0;
 
4454
        if (g_once_init_enter (&page_type_id__volatile)) {
 
4455
                static const GTypeValueTable g_define_type_value_table = { value_page_init, value_page_free_value, value_page_copy_value, value_page_peek_pointer, "p", value_page_collect_value, "p", value_page_lcopy_value };
 
4456
                static const GTypeInfo g_define_type_info = { sizeof (PageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Page), 0, (GInstanceInitFunc) page_instance_init, &g_define_type_value_table };
 
4457
                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) };
 
4458
                GType page_type_id;
 
4459
                page_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Page", &g_define_type_info, &g_define_type_fundamental_info, 0);
 
4460
                g_once_init_leave (&page_type_id__volatile, page_type_id);
 
4461
        }
 
4462
        return page_type_id__volatile;
 
4463
}
 
4464
 
 
4465
 
 
4466
gpointer page_ref (gpointer instance) {
 
4467
        Page* self;
 
4468
        self = instance;
 
4469
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4470
        g_atomic_int_inc (&self->ref_count);
 
4471
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4472
        return instance;
 
4473
#line 4474 "page.c"
 
4474
}
 
4475
 
 
4476
 
 
4477
void page_unref (gpointer instance) {
 
4478
        Page* self;
 
4479
        self = instance;
 
4480
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4481
        if (g_atomic_int_dec_and_test (&self->ref_count)) {
 
4482
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4483
                PAGE_GET_CLASS (self)->finalize (self);
 
4484
#line 20 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4485
                g_type_free_instance ((GTypeInstance *) self);
 
4486
#line 4487 "page.c"
 
4487
        }
 
4488
}
 
4489
 
 
4490
 
 
4491
PixbufWriter* pixbuf_writer_construct (GType object_type, GFileOutputStream* stream) {
 
4492
        PixbufWriter* self = NULL;
 
4493
        GFileOutputStream* _tmp0_ = NULL;
 
4494
        GFileOutputStream* _tmp1_ = NULL;
 
4495
#line 696 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4496
        g_return_val_if_fail (stream != NULL, NULL);
 
4497
#line 696 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4498
        self = (PixbufWriter*) g_type_create_instance (object_type);
 
4499
#line 698 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4500
        _tmp0_ = stream;
 
4501
#line 698 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4502
        _tmp1_ = _g_object_ref0 (_tmp0_);
 
4503
#line 698 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4504
        _g_object_unref0 (self->stream);
 
4505
#line 698 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4506
        self->stream = _tmp1_;
 
4507
#line 696 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4508
        return self;
 
4509
#line 4510 "page.c"
 
4510
}
 
4511
 
 
4512
 
 
4513
PixbufWriter* pixbuf_writer_new (GFileOutputStream* stream) {
 
4514
#line 696 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4515
        return pixbuf_writer_construct (TYPE_PIXBUF_WRITER, stream);
 
4516
#line 4517 "page.c"
 
4517
}
 
4518
 
 
4519
 
 
4520
static gboolean _pixbuf_writer_write_pixbuf_data_gdk_pixbuf_save_func (guint8* buf, gsize buf_length1, GError** error, gpointer self) {
 
4521
        gboolean result;
 
4522
        result = pixbuf_writer_write_pixbuf_data ((PixbufWriter*) self, buf, buf_length1, error);
 
4523
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4524
        return result;
 
4525
#line 4526 "page.c"
 
4526
}
 
4527
 
 
4528
 
 
4529
void pixbuf_writer_save (PixbufWriter* self, GdkPixbuf* image, const gchar* type, gchar** option_keys, int option_keys_length1, gchar** option_values, int option_values_length1, GError** error) {
 
4530
        GdkPixbuf* _tmp0_ = NULL;
 
4531
        const gchar* _tmp1_ = NULL;
 
4532
        gchar** _tmp2_ = NULL;
 
4533
        gint _tmp2__length1 = 0;
 
4534
        gchar** _tmp3_ = NULL;
 
4535
        gint _tmp3__length1 = 0;
 
4536
        GError * _inner_error_ = NULL;
 
4537
#line 701 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4538
        g_return_if_fail (self != NULL);
 
4539
#line 701 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4540
        g_return_if_fail (image != NULL);
 
4541
#line 701 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4542
        g_return_if_fail (type != NULL);
 
4543
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4544
        _tmp0_ = image;
 
4545
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4546
        _tmp1_ = type;
 
4547
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4548
        _tmp2_ = option_keys;
 
4549
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4550
        _tmp2__length1 = option_keys_length1;
 
4551
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4552
        _tmp3_ = option_values;
 
4553
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4554
        _tmp3__length1 = option_values_length1;
 
4555
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4556
        gdk_pixbuf_save_to_callbackv (_tmp0_, _pixbuf_writer_write_pixbuf_data_gdk_pixbuf_save_func, self, _tmp1_, _tmp2_, _tmp3_, &_inner_error_);
 
4557
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4558
        if (_inner_error_ != NULL) {
 
4559
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4560
                g_propagate_error (error, _inner_error_);
 
4561
#line 703 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4562
                return;
 
4563
#line 4564 "page.c"
 
4564
        }
 
4565
}
 
4566
 
 
4567
 
 
4568
static gboolean pixbuf_writer_write_pixbuf_data (PixbufWriter* self, guint8* buf, int buf_length1, GError** error) {
 
4569
        gboolean result = FALSE;
 
4570
        GFileOutputStream* _tmp0_ = NULL;
 
4571
        guint8* _tmp1_ = NULL;
 
4572
        gint _tmp1__length1 = 0;
 
4573
        GError * _inner_error_ = NULL;
 
4574
#line 706 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4575
        g_return_val_if_fail (self != NULL, FALSE);
 
4576
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4577
        _tmp0_ = self->stream;
 
4578
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4579
        _tmp1_ = buf;
 
4580
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4581
        _tmp1__length1 = buf_length1;
 
4582
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4583
        g_output_stream_write_all ((GOutputStream*) _tmp0_, _tmp1_, (gsize) _tmp1__length1, NULL, NULL, &_inner_error_);
 
4584
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4585
        if (_inner_error_ != NULL) {
 
4586
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4587
                g_propagate_error (error, _inner_error_);
 
4588
#line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4589
                return FALSE;
 
4590
#line 4591 "page.c"
 
4591
        }
 
4592
#line 709 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4593
        result = TRUE;
 
4594
#line 709 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4595
        return result;
 
4596
#line 4597 "page.c"
 
4597
}
 
4598
 
 
4599
 
 
4600
static void value_pixbuf_writer_init (GValue* value) {
 
4601
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4602
        value->data[0].v_pointer = NULL;
 
4603
#line 4604 "page.c"
 
4604
}
 
4605
 
 
4606
 
 
4607
static void value_pixbuf_writer_free_value (GValue* value) {
 
4608
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4609
        if (value->data[0].v_pointer) {
 
4610
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4611
                pixbuf_writer_unref (value->data[0].v_pointer);
 
4612
#line 4613 "page.c"
 
4613
        }
 
4614
}
 
4615
 
 
4616
 
 
4617
static void value_pixbuf_writer_copy_value (const GValue* src_value, GValue* dest_value) {
 
4618
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4619
        if (src_value->data[0].v_pointer) {
 
4620
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4621
                dest_value->data[0].v_pointer = pixbuf_writer_ref (src_value->data[0].v_pointer);
 
4622
#line 4623 "page.c"
 
4623
        } else {
 
4624
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4625
                dest_value->data[0].v_pointer = NULL;
 
4626
#line 4627 "page.c"
 
4627
        }
 
4628
}
 
4629
 
 
4630
 
 
4631
static gpointer value_pixbuf_writer_peek_pointer (const GValue* value) {
 
4632
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4633
        return value->data[0].v_pointer;
 
4634
#line 4635 "page.c"
 
4635
}
 
4636
 
 
4637
 
 
4638
static gchar* value_pixbuf_writer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 
4639
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4640
        if (collect_values[0].v_pointer) {
 
4641
#line 4642 "page.c"
 
4642
                PixbufWriter* object;
 
4643
                object = collect_values[0].v_pointer;
 
4644
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4645
                if (object->parent_instance.g_class == NULL) {
 
4646
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4647
                        return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
 
4648
#line 4649 "page.c"
 
4649
                } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
 
4650
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4651
                        return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
 
4652
#line 4653 "page.c"
 
4653
                }
 
4654
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4655
                value->data[0].v_pointer = pixbuf_writer_ref (object);
 
4656
#line 4657 "page.c"
 
4657
        } else {
 
4658
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4659
                value->data[0].v_pointer = NULL;
 
4660
#line 4661 "page.c"
 
4661
        }
 
4662
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4663
        return NULL;
 
4664
#line 4665 "page.c"
 
4665
}
 
4666
 
 
4667
 
 
4668
static gchar* value_pixbuf_writer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 
4669
        PixbufWriter** object_p;
 
4670
        object_p = collect_values[0].v_pointer;
 
4671
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4672
        if (!object_p) {
 
4673
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4674
                return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
 
4675
#line 4676 "page.c"
 
4676
        }
 
4677
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4678
        if (!value->data[0].v_pointer) {
 
4679
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4680
                *object_p = NULL;
 
4681
#line 4682 "page.c"
 
4682
        } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
 
4683
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4684
                *object_p = value->data[0].v_pointer;
 
4685
#line 4686 "page.c"
 
4686
        } else {
 
4687
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4688
                *object_p = pixbuf_writer_ref (value->data[0].v_pointer);
 
4689
#line 4690 "page.c"
 
4690
        }
 
4691
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4692
        return NULL;
 
4693
#line 4694 "page.c"
 
4694
}
 
4695
 
 
4696
 
 
4697
GParamSpec* param_spec_pixbuf_writer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
 
4698
        ParamSpecPixbufWriter* spec;
 
4699
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4700
        g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXBUF_WRITER), NULL);
 
4701
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4702
        spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
 
4703
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4704
        G_PARAM_SPEC (spec)->value_type = object_type;
 
4705
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4706
        return G_PARAM_SPEC (spec);
 
4707
#line 4708 "page.c"
 
4708
}
 
4709
 
 
4710
 
 
4711
gpointer value_get_pixbuf_writer (const GValue* value) {
 
4712
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4713
        g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXBUF_WRITER), NULL);
 
4714
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4715
        return value->data[0].v_pointer;
 
4716
#line 4717 "page.c"
 
4717
}
 
4718
 
 
4719
 
 
4720
void value_set_pixbuf_writer (GValue* value, gpointer v_object) {
 
4721
        PixbufWriter* old;
 
4722
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4723
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXBUF_WRITER));
 
4724
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4725
        old = value->data[0].v_pointer;
 
4726
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4727
        if (v_object) {
 
4728
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4729
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXBUF_WRITER));
 
4730
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4731
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 
4732
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4733
                value->data[0].v_pointer = v_object;
 
4734
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4735
                pixbuf_writer_ref (value->data[0].v_pointer);
 
4736
#line 4737 "page.c"
 
4737
        } else {
 
4738
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4739
                value->data[0].v_pointer = NULL;
 
4740
#line 4741 "page.c"
 
4741
        }
 
4742
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4743
        if (old) {
 
4744
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4745
                pixbuf_writer_unref (old);
 
4746
#line 4747 "page.c"
 
4747
        }
 
4748
}
 
4749
 
 
4750
 
 
4751
void value_take_pixbuf_writer (GValue* value, gpointer v_object) {
 
4752
        PixbufWriter* old;
 
4753
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4754
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXBUF_WRITER));
 
4755
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4756
        old = value->data[0].v_pointer;
 
4757
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4758
        if (v_object) {
 
4759
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4760
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXBUF_WRITER));
 
4761
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4762
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 
4763
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4764
                value->data[0].v_pointer = v_object;
 
4765
#line 4766 "page.c"
 
4766
        } else {
 
4767
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4768
                value->data[0].v_pointer = NULL;
 
4769
#line 4770 "page.c"
 
4770
        }
 
4771
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4772
        if (old) {
 
4773
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4774
                pixbuf_writer_unref (old);
 
4775
#line 4776 "page.c"
 
4776
        }
 
4777
}
 
4778
 
 
4779
 
 
4780
static void pixbuf_writer_class_init (PixbufWriterClass * klass) {
 
4781
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4782
        pixbuf_writer_parent_class = g_type_class_peek_parent (klass);
 
4783
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4784
        PIXBUF_WRITER_CLASS (klass)->finalize = pixbuf_writer_finalize;
 
4785
#line 4786 "page.c"
 
4786
}
 
4787
 
 
4788
 
 
4789
static void pixbuf_writer_instance_init (PixbufWriter * self) {
 
4790
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4791
        self->ref_count = 1;
 
4792
#line 4793 "page.c"
 
4793
}
 
4794
 
 
4795
 
 
4796
static void pixbuf_writer_finalize (PixbufWriter* obj) {
 
4797
        PixbufWriter * self;
 
4798
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4799
        self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXBUF_WRITER, PixbufWriter);
 
4800
#line 694 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4801
        _g_object_unref0 (self->stream);
 
4802
#line 4803 "page.c"
 
4803
}
 
4804
 
 
4805
 
 
4806
GType pixbuf_writer_get_type (void) {
 
4807
        static volatile gsize pixbuf_writer_type_id__volatile = 0;
 
4808
        if (g_once_init_enter (&pixbuf_writer_type_id__volatile)) {
 
4809
                static const GTypeValueTable g_define_type_value_table = { value_pixbuf_writer_init, value_pixbuf_writer_free_value, value_pixbuf_writer_copy_value, value_pixbuf_writer_peek_pointer, "p", value_pixbuf_writer_collect_value, "p", value_pixbuf_writer_lcopy_value };
 
4810
                static const GTypeInfo g_define_type_info = { sizeof (PixbufWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixbuf_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixbufWriter), 0, (GInstanceInitFunc) pixbuf_writer_instance_init, &g_define_type_value_table };
 
4811
                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) };
 
4812
                GType pixbuf_writer_type_id;
 
4813
                pixbuf_writer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixbufWriter", &g_define_type_info, &g_define_type_fundamental_info, 0);
 
4814
                g_once_init_leave (&pixbuf_writer_type_id__volatile, pixbuf_writer_type_id);
 
4815
        }
 
4816
        return pixbuf_writer_type_id__volatile;
 
4817
}
 
4818
 
 
4819
 
 
4820
gpointer pixbuf_writer_ref (gpointer instance) {
 
4821
        PixbufWriter* self;
 
4822
        self = instance;
 
4823
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4824
        g_atomic_int_inc (&self->ref_count);
 
4825
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4826
        return instance;
 
4827
#line 4828 "page.c"
 
4828
}
 
4829
 
 
4830
 
 
4831
void pixbuf_writer_unref (gpointer instance) {
 
4832
        PixbufWriter* self;
 
4833
        self = instance;
 
4834
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4835
        if (g_atomic_int_dec_and_test (&self->ref_count)) {
 
4836
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4837
                PIXBUF_WRITER_GET_CLASS (self)->finalize (self);
 
4838
#line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 
4839
                g_type_free_instance ((GTypeInstance *) self);
 
4840
#line 4841 "page.c"
 
4841
        }
 
4842
}
 
4843
 
 
4844
 
 
4845
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
 
4846
        if ((array != NULL) && (destroy_func != NULL)) {
 
4847
                int i;
 
4848
                for (i = 0; i < array_length; i = i + 1) {
 
4849
                        if (((gpointer*) array)[i] != NULL) {
 
4850
                                destroy_func (((gpointer*) array)[i]);
 
4851
                        }
 
4852
                }
 
4853
        }
 
4854
}
 
4855
 
 
4856
 
 
4857
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
 
4858
        _vala_array_destroy (array, array_length, destroy_func);
 
4859
        g_free (array);
 
4860
}
 
4861
 
 
4862
 
 
4863