1999-08-26 22:29:37 +00:00
|
|
|
#include "config.h"
|
|
|
|
|
2001-12-29 13:26:29 +00:00
|
|
|
#include <gtk/gtk.h>
|
|
|
|
|
2003-02-04 12:50:42 +00:00
|
|
|
#include <libgimp/gimp.h>
|
2002-11-19 20:25:57 +00:00
|
|
|
#include <libgimp/gimpui.h>
|
|
|
|
|
1999-08-26 22:29:37 +00:00
|
|
|
#include "gimpressionist.h"
|
2004-07-02 13:31:25 +00:00
|
|
|
#include "placement.h"
|
2001-12-29 13:26:29 +00:00
|
|
|
|
|
|
|
#include "libgimp/stdplugins-intl.h"
|
1999-08-26 22:29:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
#define NUMPLACERADIO 2
|
|
|
|
|
2002-11-19 20:25:57 +00:00
|
|
|
static GtkWidget *placeradio[NUMPLACERADIO];
|
2004-07-02 13:31:25 +00:00
|
|
|
static GtkWidget *placecenter = NULL;
|
|
|
|
static GtkObject *brushdensityadjust = NULL;
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2004-07-02 13:31:25 +00:00
|
|
|
void place_restore()
|
1999-08-26 22:29:37 +00:00
|
|
|
{
|
2004-07-02 13:31:25 +00:00
|
|
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(placeradio[pcvals.placetype]), TRUE);
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(placecenter), pcvals.placecenter);
|
|
|
|
gtk_adjustment_set_value (GTK_ADJUSTMENT(brushdensityadjust), pcvals.brushdensity);
|
|
|
|
}
|
|
|
|
|
|
|
|
void place_store()
|
|
|
|
{
|
|
|
|
pcvals.placecenter = GTK_TOGGLE_BUTTON(placecenter)->active;
|
1999-08-26 22:29:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void create_placementpage(GtkNotebook *notebook)
|
|
|
|
{
|
2004-05-25 15:27:46 +00:00
|
|
|
GtkWidget *vbox;
|
2002-12-12 20:11:24 +00:00
|
|
|
GtkWidget *label, *tmpw, *table, *frame;
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2002-11-19 20:25:57 +00:00
|
|
|
label = gtk_label_new_with_mnemonic (_("Pl_acement"));
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2004-05-25 15:27:46 +00:00
|
|
|
vbox = gtk_vbox_new(FALSE, 12);
|
|
|
|
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
|
|
|
|
gtk_widget_show(vbox);
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2003-11-14 18:05:39 +00:00
|
|
|
frame = gimp_int_radio_group_new (TRUE, _("Placement"),
|
|
|
|
G_CALLBACK (gimp_radio_button_update),
|
|
|
|
&pcvals.placetype, 0,
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2004-07-02 13:31:25 +00:00
|
|
|
_("Randomly"), PLACEMENT_TYPE_RANDOM,
|
|
|
|
&placeradio[PLACEMENT_TYPE_RANDOM],
|
|
|
|
_("Evenly distributed"), PLACEMENT_TYPE_EVEN_DIST,
|
|
|
|
&placeradio[PLACEMENT_TYPE_EVEN_DIST],
|
2003-11-14 18:05:39 +00:00
|
|
|
|
|
|
|
NULL);
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2004-05-25 15:27:46 +00:00
|
|
|
gimp_help_set_help_data
|
2004-07-02 13:31:25 +00:00
|
|
|
(placeradio[PLACEMENT_TYPE_RANDOM],
|
|
|
|
_("Place strokes randomly around the image"), NULL);
|
2004-05-25 15:27:46 +00:00
|
|
|
gimp_help_set_help_data
|
2004-07-02 13:31:25 +00:00
|
|
|
(placeradio[PLACEMENT_TYPE_EVEN_DIST],
|
|
|
|
_("The strokes are evenly distributed across the image"),
|
2003-10-24 20:57:29 +00:00
|
|
|
NULL);
|
2004-05-25 15:27:46 +00:00
|
|
|
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
|
|
|
|
gtk_widget_show (frame);
|
1999-08-26 22:29:37 +00:00
|
|
|
|
2004-05-25 15:27:46 +00:00
|
|
|
gtk_toggle_button_set_active
|
2002-11-19 20:25:57 +00:00
|
|
|
(GTK_TOGGLE_BUTTON (placeradio[pcvals.placetype]), TRUE);
|
|
|
|
|
|
|
|
table = gtk_table_new (1, 3, FALSE);
|
2004-05-25 15:27:46 +00:00
|
|
|
gtk_table_set_col_spacings (GTK_TABLE(table), 6);
|
|
|
|
gtk_box_pack_start(GTK_BOX (vbox), table, FALSE, FALSE, 0);
|
2002-11-19 20:25:57 +00:00
|
|
|
gtk_widget_show (table);
|
|
|
|
|
2004-05-25 15:27:46 +00:00
|
|
|
brushdensityadjust =
|
|
|
|
gimp_scale_entry_new (GTK_TABLE(table), 0, 0,
|
2002-11-19 20:25:57 +00:00
|
|
|
_("Stroke _density:"),
|
2004-05-25 15:27:46 +00:00
|
|
|
100, -1, pcvals.brushdensity,
|
|
|
|
1.0, 50.0, 1.0, 5.0, 0,
|
2002-11-19 20:25:57 +00:00
|
|
|
TRUE, 0, 0,
|
|
|
|
_("The relative density of the brush strokes"),
|
|
|
|
NULL);
|
|
|
|
g_signal_connect (brushdensityadjust, "value_changed",
|
|
|
|
G_CALLBACK (gimp_double_adjustment_update),
|
|
|
|
&pcvals.brushdensity);
|
|
|
|
|
|
|
|
placecenter = tmpw = gtk_check_button_new_with_mnemonic( _("Centerize"));
|
2004-05-25 15:27:46 +00:00
|
|
|
gtk_box_pack_start(GTK_BOX (vbox), tmpw, FALSE, FALSE, 0);
|
1999-08-26 22:29:37 +00:00
|
|
|
gtk_widget_show (tmpw);
|
2004-05-25 15:27:46 +00:00
|
|
|
gimp_help_set_help_data
|
2003-10-24 20:57:29 +00:00
|
|
|
(tmpw, _("Focus the brush strokes around the center of the image"), NULL);
|
2002-11-19 20:25:57 +00:00
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmpw), pcvals.placecenter);
|
2004-05-25 15:27:46 +00:00
|
|
|
|
|
|
|
gtk_notebook_append_page_menu (notebook, vbox, label, NULL);
|
1999-08-26 22:29:37 +00:00
|
|
|
}
|