Lines Matching refs:app
48 get_widget (app_t *app, const char *name)
50 GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (app->builder, name));
151 get_value (app_t *app, const named_int_t table[], const char *box_name)
153 GtkComboBox *box = GTK_COMBO_BOX (get_widget (app, box_name));
159 copy_to_counterpart (app_t *app, GObject *object)
172 GObject *x = gtk_builder_get_object (app->builder, xy_map[i]);
173 GObject *y = gtk_builder_get_object (app->builder, xy_map[i + 1]);
207 rescale (GtkWidget *may_be_null, app_t *app)
221 GTK_TOGGLE_BUTTON (get_widget (app, "lock_checkbutton"))))
223 copy_to_counterpart (app, G_OBJECT (may_be_null));
226 fscale_x = gtk_adjustment_get_value (app->scale_x_adjustment);
227 fscale_y = gtk_adjustment_get_value (app->scale_y_adjustment);
228 rotation = gtk_adjustment_get_value (app->rotate_adjustment);
233 new_width = pixman_image_get_width (app->original) * fscale_x;
234 new_height = pixman_image_get_height (app->original) * fscale_y;
250 pixman_image_set_transform (app->original, &transform);
256 get_value (app, filters, "reconstruct_x_combo_box"),
257 get_value (app, filters, "reconstruct_y_combo_box"),
258 get_value (app, filters, "sample_x_combo_box"),
259 get_value (app, filters, "sample_y_combo_box"),
260 gtk_adjustment_get_value (app->subsample_adjustment),
261 gtk_adjustment_get_value (app->subsample_adjustment));
263 pixman_image_set_filter (app->original, PIXMAN_FILTER_SEPARABLE_CONVOLUTION, params, n_params);
266 app->original, get_value (app, repeats, "repeat_combo_box"));
270 app->scaled_width = ceil (new_width);
271 app->scaled_height = ceil (new_height);
274 get_widget (app, "drawing_area"), new_width + 0.5, new_height + 0.5);
277 get_widget (app, "drawing_area"));
283 app_t *app = user_data;
295 if (area.x < app->scaled_width && area.y < app->scaled_height)
299 app->original, NULL, tmp,
301 app->scaled_width - area.x, app->scaled_height - area.y);
320 set_up_combo_box (app_t *app, const char *box_name,
323 GtkWidget *widget = get_widget (app, box_name);
349 g_signal_connect (widget, "changed", G_CALLBACK (rescale), app);
353 set_up_filter_box (app_t *app, const char *box_name)
355 set_up_combo_box (app, box_name, G_N_ELEMENTS (filters), filters);
368 app_t *app = g_malloc (sizeof *app);
371 app->builder = gtk_builder_new ();
372 app->original = original;
374 if (!gtk_builder_add_from_file (app->builder, "scale.ui", &err))
377 app->scale_x_adjustment =
378 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "scale_x_adjustment"));
379 app->scale_y_adjustment =
380 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "scale_y_adjustment"));
381 app->rotate_adjustment =
382 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "rotate_adjustment"));
383 app->subsample_adjustment =
384 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "subsample_adjustment"));
386 g_signal_connect (app->scale_x_adjustment, "value_changed", G_CALLBACK (rescale), app);
387 g_signal_connect (app->scale_y_adjustment, "value_changed", G_CALLBACK (rescale), app);
388 g_signal_connect (app->rotate_adjustment, "value_changed", G_CALLBACK (rescale), app);
389 g_signal_connect (app->subsample_adjustment, "value_changed", G_CALLBACK (rescale), app);
391 widget = get_widget (app, "scale_x_scale");
393 g_signal_connect (widget, "format_value", G_CALLBACK (format_value), app);
394 widget = get_widget (app, "scale_y_scale");
396 g_signal_connect (widget, "format_value", G_CALLBACK (format_value), app);
397 widget = get_widget (app, "rotate_scale");
400 widget = get_widget (app, "drawing_area");
401 g_signal_connect (widget, "draw", G_CALLBACK (on_draw), app);
403 set_up_filter_box (app, "reconstruct_x_combo_box");
404 set_up_filter_box (app, "reconstruct_y_combo_box");
405 set_up_filter_box (app, "sample_x_combo_box");
406 set_up_filter_box (app, "sample_y_combo_box");
409 app, "repeat_combo_box", G_N_ELEMENTS (repeats), repeats);
412 gtk_builder_get_object (app->builder, "lock_checkbutton"),
413 "toggled", G_CALLBACK (rescale), app);
415 rescale (NULL, app);
417 return app;
425 app_t *app;
441 app = app_new (image);
443 window = get_widget (app, "main");