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));
131 get_value (app_t *app, const named_int_t table[], const char *box_name)
133 GtkComboBox *box = GTK_COMBO_BOX (get_widget (app, box_name));
139 copy_to_counterpart (app_t *app, GObject *object)
152 GObject *x = gtk_builder_get_object (app->builder, xy_map[i]);
153 GObject *y = gtk_builder_get_object (app->builder, xy_map[i + 1]);
187 rescale (GtkWidget *may_be_null, app_t *app)
201 GTK_TOGGLE_BUTTON (get_widget (app, "lock_checkbutton"))))
203 copy_to_counterpart (app, G_OBJECT (may_be_null));
206 fscale_x = gtk_adjustment_get_value (app->scale_x_adjustment);
207 fscale_y = gtk_adjustment_get_value (app->scale_y_adjustment);
208 rotation = gtk_adjustment_get_value (app->rotate_adjustment);
213 new_width = pixman_image_get_width (app->original) * fscale_x;
214 new_height = pixman_image_get_height (app->original) * fscale_y;
230 pixman_image_set_transform (app->original, &transform);
236 get_value (app, filters, "reconstruct_x_combo_box"),
237 get_value (app, filters, "reconstruct_y_combo_box"),
238 get_value (app, filters, "sample_x_combo_box"),
239 get_value (app, filters, "sample_y_combo_box"),
240 gtk_adjustment_get_value (app->subsample_adjustment),
241 gtk_adjustment_get_value (app->subsample_adjustment));
243 pixman_image_set_filter (app->original, PIXMAN_FILTER_SEPARABLE_CONVOLUTION, params, n_params);
246 app->original, get_value (app, repeats, "repeat_combo_box"));
250 app->scaled_width = ceil (new_width);
251 app->scaled_height = ceil (new_height);
254 get_widget (app, "drawing_area"), new_width + 0.5, new_height + 0.5);
257 get_widget (app, "drawing_area"));
263 app_t *app = data;
274 if (area->x < app->scaled_width && area->y < app->scaled_height)
278 app->original, NULL, tmp,
280 app->scaled_width - area->x, app->scaled_height - area->y);
302 set_up_combo_box (app_t *app, const char *box_name,
305 GtkWidget *widget = get_widget (app, box_name);
331 g_signal_connect (widget, "changed", G_CALLBACK (rescale), app);
335 set_up_filter_box (app_t *app, const char *box_name)
337 set_up_combo_box (app, box_name, G_N_ELEMENTS (filters), filters);
350 app_t *app = g_malloc (sizeof *app);
353 app->builder = gtk_builder_new ();
354 app->original = original;
356 if (!gtk_builder_add_from_file (app->builder, "scale.ui", &err))
359 app->scale_x_adjustment =
360 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "scale_x_adjustment"));
361 app->scale_y_adjustment =
362 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "scale_y_adjustment"));
363 app->rotate_adjustment =
364 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "rotate_adjustment"));
365 app->subsample_adjustment =
366 GTK_ADJUSTMENT (gtk_builder_get_object (app->builder, "subsample_adjustment"));
368 g_signal_connect (app->scale_x_adjustment, "value_changed", G_CALLBACK (rescale), app);
369 g_signal_connect (app->scale_y_adjustment, "value_changed", G_CALLBACK (rescale), app);
370 g_signal_connect (app->rotate_adjustment, "value_changed", G_CALLBACK (rescale), app);
371 g_signal_connect (app->subsample_adjustment, "value_changed", G_CALLBACK (rescale), app);
373 widget = get_widget (app, "scale_x_scale");
375 g_signal_connect (widget, "format_value", G_CALLBACK (format_value), app);
376 widget = get_widget (app, "scale_y_scale");
378 g_signal_connect (widget, "format_value", G_CALLBACK (format_value), app);
379 widget = get_widget (app, "rotate_scale");
382 widget = get_widget (app, "drawing_area");
383 g_signal_connect (widget, "expose_event", G_CALLBACK (on_expose), app);
385 set_up_filter_box (app, "reconstruct_x_combo_box");
386 set_up_filter_box (app, "reconstruct_y_combo_box");
387 set_up_filter_box (app, "sample_x_combo_box");
388 set_up_filter_box (app, "sample_y_combo_box");
391 app, "repeat_combo_box", G_N_ELEMENTS (repeats), repeats);
394 gtk_builder_get_object (app->builder, "lock_checkbutton"),
395 "toggled", G_CALLBACK (rescale), app);
397 rescale (NULL, app);
399 return app;
407 app_t *app;
423 app = app_new (image);
425 window = get_widget (app, "main");