ported to GimpPreviewArea.
* plug-ins/common/diffraction.c: ported to GimpPreviewArea.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2004-07-31 DindinX <david@dindinx.org>
|
||||||
|
|
||||||
|
* plug-ins/common/diffraction.c: ported to GimpPreviewArea.
|
||||||
|
|
||||||
2004-07-31 DindinX <david@dindinx.org>
|
2004-07-31 DindinX <david@dindinx.org>
|
||||||
|
|
||||||
* plug-ins/common/despeckle.c: use even more GimpPreviewArea's
|
* plug-ins/common/despeckle.c: use even more GimpPreviewArea's
|
||||||
|
@ -30,11 +30,6 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#warning GTK_DISABLE_DEPRECATED
|
|
||||||
#endif
|
|
||||||
#undef GTK_DISABLE_DEPRECATED
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
#include <libgimp/gimp.h>
|
#include <libgimp/gimp.h>
|
||||||
@ -76,7 +71,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
GtkWidget *preview;
|
GtkWidget *preview;
|
||||||
GtkWidget *progress;
|
GtkWidget *progress;
|
||||||
guchar preview_row[PREVIEW_WIDTH * 3];
|
guchar preview_buffer[PREVIEW_WIDTH * PREVIEW_HEIGHT * 3];
|
||||||
} diffraction_interface_t;
|
} diffraction_interface_t;
|
||||||
|
|
||||||
|
|
||||||
@ -139,7 +134,7 @@ static diffraction_interface_t dint =
|
|||||||
{
|
{
|
||||||
NULL, /* preview */
|
NULL, /* preview */
|
||||||
NULL, /* progress */
|
NULL, /* progress */
|
||||||
{ 0 } /* preview_row */
|
{ 0 } /* preview_buffer */
|
||||||
};
|
};
|
||||||
|
|
||||||
static gdouble cos_lut[ITERATIONS + 1];
|
static gdouble cos_lut[ITERATIONS + 1];
|
||||||
@ -461,13 +456,13 @@ diffraction_dialog (void)
|
|||||||
gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
|
||||||
gtk_widget_show (vbox);
|
gtk_widget_show (vbox);
|
||||||
|
|
||||||
frame = gtk_frame_new (NULL);
|
frame = gtk_aspect_frame_new (NULL, 0.5, 0.5, 1.0, TRUE);
|
||||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
|
||||||
gtk_widget_show (frame);
|
gtk_widget_show (frame);
|
||||||
|
|
||||||
dint.preview = gtk_preview_new (GTK_PREVIEW_COLOR);
|
dint.preview = gimp_preview_area_new ();
|
||||||
gtk_preview_size (GTK_PREVIEW(dint.preview), PREVIEW_WIDTH, PREVIEW_HEIGHT);
|
gtk_widget_set_size_request (dint.preview, PREVIEW_WIDTH, PREVIEW_HEIGHT);
|
||||||
gtk_container_add (GTK_CONTAINER (frame), dint.preview);
|
gtk_container_add (GTK_CONTAINER (frame), dint.preview);
|
||||||
gtk_widget_show (dint.preview);
|
gtk_widget_show (dint.preview);
|
||||||
|
|
||||||
@ -675,10 +670,10 @@ dialog_update_preview (void)
|
|||||||
|
|
||||||
py = top;
|
py = top;
|
||||||
|
|
||||||
|
p = dint.preview_buffer;
|
||||||
for (y = 0; y < PREVIEW_HEIGHT; y++)
|
for (y = 0; y < PREVIEW_HEIGHT; y++)
|
||||||
{
|
{
|
||||||
px = left;
|
px = left;
|
||||||
p = dint.preview_row;
|
|
||||||
|
|
||||||
for (x = 0; x < PREVIEW_WIDTH; x++)
|
for (x = 0; x < PREVIEW_WIDTH; x++)
|
||||||
{
|
{
|
||||||
@ -691,19 +686,22 @@ dialog_update_preview (void)
|
|||||||
px += dx;
|
px += dx;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_preview_draw_row (GTK_PREVIEW (dint.preview),
|
if ((y%10)==0)
|
||||||
dint.preview_row, 0, y, PREVIEW_WIDTH);
|
{
|
||||||
|
|
||||||
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (dint.progress),
|
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (dint.progress),
|
||||||
(gdouble) y /
|
(gdouble) y /
|
||||||
(gdouble) (PREVIEW_HEIGHT - 1));
|
(gdouble) (PREVIEW_HEIGHT - 1));
|
||||||
while (gtk_events_pending ())
|
while (gtk_events_pending ())
|
||||||
gtk_main_iteration ();
|
gtk_main_iteration ();
|
||||||
|
}
|
||||||
py += dy;
|
py += dy;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_widget_queue_draw (dint.preview);
|
gimp_preview_area_draw (GIMP_PREVIEW_AREA (dint.preview),
|
||||||
|
0, 0, PREVIEW_WIDTH, PREVIEW_HEIGHT,
|
||||||
|
GIMP_RGB_IMAGE,
|
||||||
|
dint.preview_buffer,
|
||||||
|
3 * PREVIEW_WIDTH);
|
||||||
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (dint.progress), 0.0);
|
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (dint.progress), 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user