Пример #1
0
/* -----------------------------
 * 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 */
Пример #2
0
/* -----------------------------
 * 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 */
Пример #3
0
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);
}