/* ----------------------------- * p_size_update * ----------------------------- */ static void p_size_update (GapResizePrivateType *res_private, double width, double height, double ratio_x, double ratio_y) { res_private->width = (gint) (width + 0.5); res_private->height = (gint) (height + 0.5); res_private->ratio_x = ratio_x; res_private->ratio_y = ratio_y; if(res_private->in_call) { return; } res_private->in_call = TRUE; if (res_private->offset_area) { gimp_offset_area_set_size (GIMP_OFFSET_AREA (res_private->offset_area), res_private->width, res_private->height); p_resize_bound_off_x(res_private, 0); p_resize_bound_off_y(res_private, 0); p_set_offset_spinbuttons(res_private); } p_set_size_spinbuttons(res_private); res_private->in_call = FALSE; } /* end p_size_update */
/* ----------------------------- * p_res_reset_callback * ----------------------------- */ static void p_res_reset_callback (GtkWidget *widget, gpointer data) { GapResizePrivateType *res_private; res_private = (GapResizePrivateType *)data; if(res_private == NULL) {return;} res_private->width = res_private->orig_width; res_private->height = res_private->orig_height; p_set_size_spinbuttons(res_private); if((res_private->asiz_mode != GAP_ASIZ_SCALE) && (res_private->offset_area)) { res_private->offset_x = 0; res_private->offset_y = 0; p_set_offset_spinbuttons(res_private); gimp_offset_area_set_size (GIMP_OFFSET_AREA (res_private->offset_area), res_private->width, res_private->height); gimp_offset_area_set_offsets (GIMP_OFFSET_AREA (res_private->offset_area), res_private->offset_x, res_private->offset_y); } } /* end p_res_reset_callback */
static WidgetInfo * create_offset_area (void) { GtkWidget *vbox; GtkWidget *frame; GtkWidget *area; GtkWidget *align; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (align), frame); area = gimp_offset_area_new (100, 100); gimp_offset_area_set_size (GIMP_OFFSET_AREA (area), 180, 160); gimp_offset_area_set_offsets (GIMP_OFFSET_AREA (area), 30, 30); gtk_container_add (GTK_CONTAINER (frame), area); gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Offset Area"), FALSE, FALSE, 0); return new_widget_info ("gimp-widget-offset-area", vbox, LARGE); }