1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Elliot Lee
37995528e3 Bonobo works for all intents & purposes. Just don't complain about
Bonobo works for all intents & purposes. Just don't complain about
leftover ~/.gimp-temp files :)
1999-07-19 17:17:19 +00:00
Elliot Lee
fecdee626f When freeing local_image_comments, set it to NULL so some nut doesn't try
When freeing local_image_comments, set it to NULL so some nut doesn't try to reuse that pointer elsewhere.
1999-07-19 16:24:51 +00:00
Elliot Lee
c55b2ccfdc It works (until you try to load/save from a stream - found another bonobo
It works (until you try to load/save from a stream - found another bonobo bug).
1999-07-16 22:36:27 +00:00
Elliot Lee
81bfe9d592 Should be able to load from & save to a GNOME_Stream now (go ahead, laugh
Should be able to load from & save to a GNOME_Stream now (go ahead, laugh at my bad hack!).
1999-07-16 17:14:57 +00:00
Elliot Lee
aabace97bb Basic bonobo framework, plus clean up the gnome initialization code.
Basic bonobo framework, plus clean up the gnome initialization code.
1999-07-16 05:31:27 +00:00
Elliot Lee
19efd21671 The initial cut.
The initial cut.
1999-07-16 02:51:19 +00:00
38 changed files with 906 additions and 20385 deletions

View File

@@ -49,6 +49,9 @@
#undef USE_PTHREADS
#undef HAVE_GNOME
#undef HAVE_BONOBO
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:

View File

@@ -27,7 +27,20 @@ libgimpim_a_SOURCES = \
gimpsignal.c \
gimpsignal.h
# XXX TODO: Find a way to conditionally compile these in based on whether
# we are having GNOME & Bonobo support or not.
gimp_GNOME_SOURCES=\
gimp-corba.c \
gimp-corba.h
gimp_BONOBO_SOURCES=\
gimp-bonobo.c \
gimp-bonobo.h
gimp_SOURCES = \
$(gimp_GNOME_SOURCES) \
$(gimp_BONOBO_SOURCES) \
about_dialog.c \
about_dialog.h \
actionarea.c \
@@ -414,15 +427,20 @@ AM_CPPFLAGS = \
@GIMP_THREAD_FLAGS@ \
@GIMP_MP_FLAGS@
GNOME_LIBS=@GNOME_LIBS@
GNOME_CFLAGS=@GNOME_CFLAGS@
INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/intl \
$(GTK_CFLAGS) \
-I$(includedir)
-I$(includedir) \
$(GNOME_CFLAGS)
gimp_LDADD = \
libgimpim.a \
$(top_builddir)/libgimp/libgimpi.a \
$(GNOME_LIBS) \
$(GTK_LIBS) \
$(GIMP_THREAD_LIBS) \
$(GIMP_MP_LIBS) \
@@ -473,3 +491,8 @@ endif # WITH_GNU_MAKE
endif # ENABLE_GCG_DEPS
endif # WITH_GCG
# end GCG stuff
gnorbadir = $(sysconfdir)/CORBA/servers
gnorba_DATA = gimp.goad
EXTRA_DIST = $(gnorba_DATA)

View File

@@ -97,7 +97,7 @@ channel_new_invoker (Argument *args)
if (success)
{
opacity = (int) ((opacity_arg * 255) / 100);
channel_set_opacity (channel, opacity);
channel = channel_new (gimage, width, height, name, opacity, color);
success = channel != NULL;
}
@@ -642,7 +642,7 @@ channel_set_opacity_invoker (Argument *args)
success = FALSE;
if (success)
channel_set_opacity (channel, opacity);
channel->opacity = (int) ((opacity * 255) / 100);
return procedural_db_return_args (&channel_set_opacity_proc, success);
}
@@ -754,7 +754,7 @@ channel_set_color_invoker (Argument *args)
color = (guchar *) args[1].value.pdb_pointer;
if (success)
channel_set_color(channel, color);
channel_set_color(channel, color);
return procedural_db_return_args (&channel_set_color_proc, success);
}

View File

@@ -78,10 +78,10 @@ static guint gdisplay_hash (GDisplay *);
static GHashTable *display_ht = NULL;
GDisplay*
gdisplay_new (GimpImage *gimage,
unsigned int scale)
gdisplay_new_with_info (GimpImage *gimage,
unsigned int scale,
gboolean embeddable)
{
GDisplay *gdisp;
char title [MAX_TITLE_BUF];
@@ -116,7 +116,7 @@ gdisplay_new (GimpImage *gimage,
gdisp->proximity = FALSE;
gdisp->have_cursor = FALSE;
gdisp->using_override_cursor = FALSE;
gdisp->is_embeddable = embeddable?1:0;
gdisp->progressid = FALSE;
gdisp->idle_render.idleid = -1;
@@ -161,6 +161,13 @@ gdisplay_new (GimpImage *gimage,
return gdisp;
}
GDisplay*
gdisplay_new (GimpImage *gimage,
unsigned int scale)
{
return gdisplay_new_with_info (gimage, scale, FALSE);
}
static int print (char *, int, int, const char *, ...) G_GNUC_PRINTF (4, 5);
@@ -1103,8 +1110,9 @@ gdisplay_resize_cursor_label (GDisplay *gdisp)
(gdouble) gdisp->gimage->height * unit_factor /
gdisp->gimage->yresolution);
}
cursor_label_width =
gdk_string_width (gtk_widget_get_style (gdisp->cursor_label)->font, buffer);
gdk_string_width (gtk_widget_get_style(gdisp->cursor_label)->font, buffer);
/* find out how many pixels the label's parent frame is bigger than
* the label itself */
@@ -1776,7 +1784,9 @@ gdisplay_update_title (GDisplay *gdisp)
/* format the title */
gdisplay_format_title (gdisp, title, MAX_TITLE_BUF);
gdk_window_set_title (gdisp->shell->window, title);
if (!gdisp->is_embeddable)
gtk_window_set_title (gdisp->shell, title);
/* update the statusbar */
context_id =

View File

@@ -150,6 +150,8 @@ struct _GDisplay
short have_cursor; /* is cursor currently drawn ? */
IdleRenderStruct idle_render; /* state of this gdisplay's render thread */
guint8 is_embeddable : 1; /* Is this display not in a toplevel window? */
};
@@ -157,6 +159,7 @@ struct _GDisplay
/* member function declarations */
GDisplay * gdisplay_new (GimpImage *, unsigned int);
GDisplay * gdisplay_new_with_info (GimpImage *, unsigned int, gboolean embeddable);
void gdisplay_reconnect (GDisplay *, GimpImage *);
void gdisplay_remove_and_delete (GDisplay *);
int gdisplay_mask_value (GDisplay *, int, int);

View File

@@ -78,10 +78,10 @@ static guint gdisplay_hash (GDisplay *);
static GHashTable *display_ht = NULL;
GDisplay*
gdisplay_new (GimpImage *gimage,
unsigned int scale)
gdisplay_new_with_info (GimpImage *gimage,
unsigned int scale,
gboolean embeddable)
{
GDisplay *gdisp;
char title [MAX_TITLE_BUF];
@@ -116,7 +116,7 @@ gdisplay_new (GimpImage *gimage,
gdisp->proximity = FALSE;
gdisp->have_cursor = FALSE;
gdisp->using_override_cursor = FALSE;
gdisp->is_embeddable = embeddable?1:0;
gdisp->progressid = FALSE;
gdisp->idle_render.idleid = -1;
@@ -161,6 +161,13 @@ gdisplay_new (GimpImage *gimage,
return gdisp;
}
GDisplay*
gdisplay_new (GimpImage *gimage,
unsigned int scale)
{
return gdisplay_new_with_info (gimage, scale, FALSE);
}
static int print (char *, int, int, const char *, ...) G_GNUC_PRINTF (4, 5);
@@ -1103,8 +1110,9 @@ gdisplay_resize_cursor_label (GDisplay *gdisp)
(gdouble) gdisp->gimage->height * unit_factor /
gdisp->gimage->yresolution);
}
cursor_label_width =
gdk_string_width (gtk_widget_get_style (gdisp->cursor_label)->font, buffer);
gdk_string_width (gtk_widget_get_style(gdisp->cursor_label)->font, buffer);
/* find out how many pixels the label's parent frame is bigger than
* the label itself */
@@ -1776,7 +1784,9 @@ gdisplay_update_title (GDisplay *gdisp)
/* format the title */
gdisplay_format_title (gdisp, title, MAX_TITLE_BUF);
gdk_window_set_title (gdisp->shell->window, title);
if (!gdisp->is_embeddable)
gtk_window_set_title (gdisp->shell, title);
/* update the statusbar */
context_id =

View File

@@ -150,6 +150,8 @@ struct _GDisplay
short have_cursor; /* is cursor currently drawn ? */
IdleRenderStruct idle_render; /* state of this gdisplay's render thread */
guint8 is_embeddable : 1; /* Is this display not in a toplevel window? */
};
@@ -157,6 +159,7 @@ struct _GDisplay
/* member function declarations */
GDisplay * gdisplay_new (GimpImage *, unsigned int);
GDisplay * gdisplay_new_with_info (GimpImage *, unsigned int, gboolean embeddable);
void gdisplay_reconnect (GDisplay *, GimpImage *);
void gdisplay_remove_and_delete (GDisplay *);
int gdisplay_mask_value (GDisplay *, int, int);

View File

@@ -642,6 +642,49 @@ toolbox_raise_callback (GtkWidget *widget,
gdk_window_raise(toolbox_shell->window);
}
static void
do_gdisplay_resize_cursor_label (GtkWidget *widget, GDisplay *display)
{
gdisplay_resize_cursor_label (display);
}
static void
do_qmaskon_pixmap_creation (GtkWidget *widget, GDisplay *gdisp)
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
GtkWidget *pixmap;
style = gtk_widget_get_style(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasksel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskon), pixmap);
gtk_widget_show(pixmap);
}
static void
do_qmaskoff_pixmap_creation (GtkWidget *widget, GDisplay *gdisp)
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
GtkWidget *pixmap;
style = gtk_widget_get_style(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasknosel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskoff), pixmap);
gtk_widget_show(pixmap);
}
void
create_display_shell (GDisplay* gdisp,
int width,
@@ -658,7 +701,6 @@ create_display_shell (GDisplay* gdisp,
GtkWidget *table_lower;
GtkWidget *frame;
GtkWidget *arrow;
GtkWidget *pixmap;
GSList *group = NULL;
@@ -699,16 +741,27 @@ create_display_shell (GDisplay* gdisp,
gdisp->vsbdata = GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, height, 1, 1, height));
/* The toplevel shell */
gdisp->shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_ref (gdisp->shell);
gtk_window_set_title (GTK_WINDOW (gdisp->shell), title);
gtk_window_set_wmclass (GTK_WINDOW (gdisp->shell), "image_window", "Gimp");
gtk_window_set_policy (GTK_WINDOW (gdisp->shell), TRUE, TRUE, TRUE);
if(gdisp->is_embeddable) {
gdisp->shell = gtk_event_box_new();
} else {
gdisp->shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (gdisp->shell), title);
gtk_window_set_wmclass (GTK_WINDOW (gdisp->shell), "image_window", "Gimp");
gtk_window_set_policy (GTK_WINDOW (gdisp->shell), TRUE, TRUE, TRUE);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "delete_event",
GTK_SIGNAL_FUNC (gdisplay_delete),
gdisp);
}
gtk_widget_set_events (gdisp->shell,
GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK);
gtk_object_set_user_data (GTK_OBJECT (gdisp->shell), (gpointer) gdisp);
gtk_widget_set_events (gdisp->shell, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "delete_event",
GTK_SIGNAL_FUNC (gdisplay_delete),
gdisp);
gtk_widget_ref (gdisp->shell);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "destroy",
(GtkSignalFunc) gdisplay_destroy,
@@ -804,32 +857,12 @@ create_display_shell (GDisplay* gdisp,
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gdisp->qmaskoff), TRUE);
gtk_widget_set_usize(GTK_WIDGET(gdisp->qmaskon), 15, 15);
gtk_widget_set_usize(GTK_WIDGET(gdisp->qmaskoff), 15, 15);
/* Draw pixmaps - note: you must realize the parent prior to doing the
rest! */
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
style = gtk_widget_get_style(gdisp->shell);
gtk_widget_realize(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasksel_xpm);
gtk_signal_connect (GTK_OBJECT(gdisp->qmaskon), "realize",
GTK_SIGNAL_FUNC(do_qmaskon_pixmap_creation), gdisp);
gtk_signal_connect (GTK_OBJECT(gdisp->qmaskoff), "realize",
GTK_SIGNAL_FUNC(do_qmaskoff_pixmap_creation), gdisp);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskon), pixmap);
gtk_widget_show(pixmap);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasknosel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskoff), pixmap);
gtk_widget_show(pixmap);
}
gdisp->canvas = gtk_drawing_area_new ();
gtk_drawing_area_size (GTK_DRAWING_AREA (gdisp->canvas), n_width, n_height);
gtk_widget_set_events (gdisp->canvas, CANVAS_EVENT_MASK);
@@ -892,8 +925,8 @@ create_display_shell (GDisplay* gdisp,
/* we need to realize the cursor_label widget here, so the size gets
computed correctly */
gtk_widget_realize (gdisp->cursor_label);
gdisplay_resize_cursor_label (gdisp);
gtk_signal_connect (GTK_OBJECT(gdisp->cursor_label), "realize",
GTK_SIGNAL_FUNC(do_gdisplay_resize_cursor_label), gdisp);
gdisp->statusbar = gtk_statusbar_new ();
gtk_widget_set_usize (gdisp->statusbar, 1, -1);
@@ -918,7 +951,10 @@ create_display_shell (GDisplay* gdisp,
gdisp->popup = image_popup_menu;
/* the accelerator table for images */
gtk_window_add_accel_group (GTK_WINDOW (gdisp->shell), image_accel_group);
if( !gdisp->is_embeddable)
gtk_window_add_accel_group (GTK_WINDOW (gdisp->shell), image_accel_group);
else
/* XXX FIXME: Dunno how to handle accel groups here */;
gtk_widget_show (arrow);
gtk_widget_show (gdisp->qmaskon);
@@ -952,11 +988,15 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (vbox);
gtk_widget_show (gdisp->shell);
#if 0
#ifdef __GNUC__
#warning DODGY?
#endif /*__GNUC__ */
gtk_widget_realize (gdisp->canvas);
gdk_window_set_back_pixmap(gdisp->canvas->window, NULL, 0);
#endif
/* set the focus to the canvas area */
gtk_widget_grab_focus (gdisp->canvas);

View File

@@ -642,6 +642,49 @@ toolbox_raise_callback (GtkWidget *widget,
gdk_window_raise(toolbox_shell->window);
}
static void
do_gdisplay_resize_cursor_label (GtkWidget *widget, GDisplay *display)
{
gdisplay_resize_cursor_label (display);
}
static void
do_qmaskon_pixmap_creation (GtkWidget *widget, GDisplay *gdisp)
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
GtkWidget *pixmap;
style = gtk_widget_get_style(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasksel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskon), pixmap);
gtk_widget_show(pixmap);
}
static void
do_qmaskoff_pixmap_creation (GtkWidget *widget, GDisplay *gdisp)
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
GtkWidget *pixmap;
style = gtk_widget_get_style(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasknosel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskoff), pixmap);
gtk_widget_show(pixmap);
}
void
create_display_shell (GDisplay* gdisp,
int width,
@@ -658,7 +701,6 @@ create_display_shell (GDisplay* gdisp,
GtkWidget *table_lower;
GtkWidget *frame;
GtkWidget *arrow;
GtkWidget *pixmap;
GSList *group = NULL;
@@ -699,16 +741,27 @@ create_display_shell (GDisplay* gdisp,
gdisp->vsbdata = GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, height, 1, 1, height));
/* The toplevel shell */
gdisp->shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_ref (gdisp->shell);
gtk_window_set_title (GTK_WINDOW (gdisp->shell), title);
gtk_window_set_wmclass (GTK_WINDOW (gdisp->shell), "image_window", "Gimp");
gtk_window_set_policy (GTK_WINDOW (gdisp->shell), TRUE, TRUE, TRUE);
if(gdisp->is_embeddable) {
gdisp->shell = gtk_event_box_new();
} else {
gdisp->shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (gdisp->shell), title);
gtk_window_set_wmclass (GTK_WINDOW (gdisp->shell), "image_window", "Gimp");
gtk_window_set_policy (GTK_WINDOW (gdisp->shell), TRUE, TRUE, TRUE);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "delete_event",
GTK_SIGNAL_FUNC (gdisplay_delete),
gdisp);
}
gtk_widget_set_events (gdisp->shell,
GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK);
gtk_object_set_user_data (GTK_OBJECT (gdisp->shell), (gpointer) gdisp);
gtk_widget_set_events (gdisp->shell, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "delete_event",
GTK_SIGNAL_FUNC (gdisplay_delete),
gdisp);
gtk_widget_ref (gdisp->shell);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "destroy",
(GtkSignalFunc) gdisplay_destroy,
@@ -804,32 +857,12 @@ create_display_shell (GDisplay* gdisp,
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gdisp->qmaskoff), TRUE);
gtk_widget_set_usize(GTK_WIDGET(gdisp->qmaskon), 15, 15);
gtk_widget_set_usize(GTK_WIDGET(gdisp->qmaskoff), 15, 15);
/* Draw pixmaps - note: you must realize the parent prior to doing the
rest! */
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
style = gtk_widget_get_style(gdisp->shell);
gtk_widget_realize(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasksel_xpm);
gtk_signal_connect (GTK_OBJECT(gdisp->qmaskon), "realize",
GTK_SIGNAL_FUNC(do_qmaskon_pixmap_creation), gdisp);
gtk_signal_connect (GTK_OBJECT(gdisp->qmaskoff), "realize",
GTK_SIGNAL_FUNC(do_qmaskoff_pixmap_creation), gdisp);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskon), pixmap);
gtk_widget_show(pixmap);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasknosel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskoff), pixmap);
gtk_widget_show(pixmap);
}
gdisp->canvas = gtk_drawing_area_new ();
gtk_drawing_area_size (GTK_DRAWING_AREA (gdisp->canvas), n_width, n_height);
gtk_widget_set_events (gdisp->canvas, CANVAS_EVENT_MASK);
@@ -892,8 +925,8 @@ create_display_shell (GDisplay* gdisp,
/* we need to realize the cursor_label widget here, so the size gets
computed correctly */
gtk_widget_realize (gdisp->cursor_label);
gdisplay_resize_cursor_label (gdisp);
gtk_signal_connect (GTK_OBJECT(gdisp->cursor_label), "realize",
GTK_SIGNAL_FUNC(do_gdisplay_resize_cursor_label), gdisp);
gdisp->statusbar = gtk_statusbar_new ();
gtk_widget_set_usize (gdisp->statusbar, 1, -1);
@@ -918,7 +951,10 @@ create_display_shell (GDisplay* gdisp,
gdisp->popup = image_popup_menu;
/* the accelerator table for images */
gtk_window_add_accel_group (GTK_WINDOW (gdisp->shell), image_accel_group);
if( !gdisp->is_embeddable)
gtk_window_add_accel_group (GTK_WINDOW (gdisp->shell), image_accel_group);
else
/* XXX FIXME: Dunno how to handle accel groups here */;
gtk_widget_show (arrow);
gtk_widget_show (gdisp->qmaskon);
@@ -952,11 +988,15 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (vbox);
gtk_widget_show (gdisp->shell);
#if 0
#ifdef __GNUC__
#warning DODGY?
#endif /*__GNUC__ */
gtk_widget_realize (gdisp->canvas);
gdk_window_set_back_pixmap(gdisp->canvas->window, NULL, 0);
#endif
/* set the focus to the canvas area */
gtk_widget_grab_focus (gdisp->canvas);

View File

@@ -603,7 +603,7 @@ file_save_type_callback (GtkWidget *w,
save_file_proc = proc;
}
static GimpImage*
GimpImage*
file_open_image (char *filename, char *raw_filename, RunModeType runmode)
{
PlugInProcDef *file_proc;
@@ -649,20 +649,33 @@ file_open_image (char *filename, char *raw_filename, RunModeType runmode)
return NULL;
}
GimpImage *
file_open_new_image (char *filename, char *raw_filename)
{
GimpImage *gimage;
gimage = file_open_image (filename, raw_filename, RUN_INTERACTIVE);
if(!gimage)
return NULL;
/* enable & clear all undo steps */
gimage_enable_undo (gimage);
/* set the image to clean */
gimage_clean_all (gimage);
return gimage;
}
int
file_open (char *filename, char *raw_filename)
{
GimpImage *gimage;
GDisplay *gdisplay;
if ((gimage = file_open_image (filename, raw_filename, RUN_INTERACTIVE)) != NULL)
if ((gimage = file_open_new_image (filename, raw_filename)) != NULL)
{
/* enable & clear all undo steps */
gimage_enable_undo (gimage);
/* set the image to clean */
gimage_clean_all (gimage);
/* display the image */
gdisplay = gdisplay_new (gimage, 0x0101);

View File

@@ -45,6 +45,7 @@ void file_save_by_extension_callback (GtkWidget *w,
gpointer client_data);
int file_open (char *filename,
char *raw_filename);
GimpImage *file_open_new_image (char *filename, char *raw_filename);
int file_save (GimpImage* gimage,
char *filename,
char *raw_filename,

View File

@@ -78,10 +78,10 @@ static guint gdisplay_hash (GDisplay *);
static GHashTable *display_ht = NULL;
GDisplay*
gdisplay_new (GimpImage *gimage,
unsigned int scale)
gdisplay_new_with_info (GimpImage *gimage,
unsigned int scale,
gboolean embeddable)
{
GDisplay *gdisp;
char title [MAX_TITLE_BUF];
@@ -116,7 +116,7 @@ gdisplay_new (GimpImage *gimage,
gdisp->proximity = FALSE;
gdisp->have_cursor = FALSE;
gdisp->using_override_cursor = FALSE;
gdisp->is_embeddable = embeddable?1:0;
gdisp->progressid = FALSE;
gdisp->idle_render.idleid = -1;
@@ -161,6 +161,13 @@ gdisplay_new (GimpImage *gimage,
return gdisp;
}
GDisplay*
gdisplay_new (GimpImage *gimage,
unsigned int scale)
{
return gdisplay_new_with_info (gimage, scale, FALSE);
}
static int print (char *, int, int, const char *, ...) G_GNUC_PRINTF (4, 5);
@@ -1103,8 +1110,9 @@ gdisplay_resize_cursor_label (GDisplay *gdisp)
(gdouble) gdisp->gimage->height * unit_factor /
gdisp->gimage->yresolution);
}
cursor_label_width =
gdk_string_width (gtk_widget_get_style (gdisp->cursor_label)->font, buffer);
gdk_string_width (gtk_widget_get_style(gdisp->cursor_label)->font, buffer);
/* find out how many pixels the label's parent frame is bigger than
* the label itself */
@@ -1776,7 +1784,9 @@ gdisplay_update_title (GDisplay *gdisp)
/* format the title */
gdisplay_format_title (gdisp, title, MAX_TITLE_BUF);
gdk_window_set_title (gdisp->shell->window, title);
if (!gdisp->is_embeddable)
gtk_window_set_title (gdisp->shell, title);
/* update the statusbar */
context_id =

View File

@@ -150,6 +150,8 @@ struct _GDisplay
short have_cursor; /* is cursor currently drawn ? */
IdleRenderStruct idle_render; /* state of this gdisplay's render thread */
guint8 is_embeddable : 1; /* Is this display not in a toplevel window? */
};
@@ -157,6 +159,7 @@ struct _GDisplay
/* member function declarations */
GDisplay * gdisplay_new (GimpImage *, unsigned int);
GDisplay * gdisplay_new_with_info (GimpImage *, unsigned int, gboolean embeddable);
void gdisplay_reconnect (GDisplay *, GimpImage *);
void gdisplay_remove_and_delete (GDisplay *);
int gdisplay_mask_value (GDisplay *, int, int);

303
app/gimp-bonobo.c Normal file
View File

@@ -0,0 +1,303 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995, 1996, 1997 Spencer Kimball and Peter Mattis
* Copyright (C) 1999 Elliot Lee
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Bonobo support for the GIMP.
*
* Author: Elliot Lee <sopwith@redhat.com>
*/
#include "config.h"
#include "gimp-bonobo.h"
#include "gimpimage.h"
#include "gdisplay.h"
#include "fileops.h"
/* Random header files in case they might be needed */
#include "appenv.h"
#include "actionarea.h"
#include "file_new_dialog.h"
#include "gimage.h"
#include "gimpcontext.h"
#include "gimprc.h"
#include "global_edit.h"
#include "interface.h"
#include "lc_dialog.h"
#include "plug_in.h"
#include "tile_manager_pvt.h"
#include "gdisplay.h"
#include "libgimp/gimpchainbutton.h"
#include "libgimp/gimplimits.h"
#include "libgimp/gimpsizeentry.h"
#include "libgimp/gimpintl.h"
#include <stdlib.h>
#include <time.h>
typedef struct {
GnomeEmbeddable *bonobo_object;
GList *views;
GimpImage *gimp_image;
char *tmpfile;
} bonobo_object_data_t;
typedef struct {
GDisplay *gdisplay;
bonobo_object_data_t *parent;
} bonobo_view_t;
#define IO_CHUNK_SIZE 65536
static GnomeObject *
gimp_object_factory (GnomeEmbeddableFactory *this, void *data);
static GnomeView *
gimp_view_factory (GnomeEmbeddable *bonobo_object,
const GNOME_ViewFrame view_frame,
void *data);
static void
gimp_view_destroy (GnomeView *view, bonobo_view_t *view_data);
static int
gimp_stream_load_image (GnomePersistStream *ps, GNOME_Stream stream, void *data);
static int
gimp_stream_save_image (GnomePersistStream *ps, GNOME_Stream stream, void *data);
void
gimp_bonobo_init(void)
{
gnome_embeddable_factory_new ("bonobo-object-factory:gimp-image",
gimp_object_factory, NULL);
srand(time(NULL));
}
static GnomeObject *
gimp_object_factory (GnomeEmbeddableFactory *this, void *data)
{
GnomeEmbeddable *bonobo_object;
GnomePersistStream *stream;
bonobo_object_data_t *bonobo_object_data;
GimpImage *gimage;
bonobo_object_data = g_new0 (bonobo_object_data_t, 1);
bonobo_object = gnome_embeddable_new (gimp_view_factory, bonobo_object_data);
if (!bonobo_object)
goto out;
stream = gnome_persist_stream_new (gimp_stream_load_image,
gimp_stream_save_image,
bonobo_object_data);
if (!stream)
goto out;
bonobo_object_data->bonobo_object = bonobo_object;
gnome_object_add_interface (GNOME_OBJECT (bonobo_object),
GNOME_OBJECT (stream));
/* Make a basic blank image */
bonobo_object_data->gimp_image = gimage = gimp_image_new(320, 200, RGB);
bonobo_object_data->gimp_image->ref_count++;
gimp_image_set_resolution (gimage, 72.0, 72.0);
gimp_image_set_unit (gimage, UNIT_INCH);
gimage_disable_undo(bonobo_object_data->gimp_image);
{
Layer *layer;
layer = layer_new (gimage, gimage->width, gimage->height,
RGBA_GIMAGE, _("Background"), OPAQUE_OPACITY, NORMAL);
if (layer) {
gimage_add_layer(gimage, layer, 0);
drawable_fill(GIMP_DRAWABLE(layer), WHITE_FILL);
}
}
gimage_enable_undo(bonobo_object_data->gimp_image);
gimage_clean_all(bonobo_object_data->gimp_image);
return (GnomeObject *) bonobo_object;
out:
if (bonobo_object)
gtk_object_unref (GTK_OBJECT (bonobo_object));
if (bonobo_object_data)
g_free (bonobo_object_data);
return NULL;
}
static GnomeView *
gimp_view_factory (GnomeEmbeddable *bonobo_object,
const GNOME_ViewFrame view_frame,
void *data)
{
bonobo_object_data_t *bonobo_object_data = data;
bonobo_view_t *view_data;
GnomeView *view;
view_data = g_new0 (bonobo_view_t, 1);
view_data->parent = bonobo_object_data;
view_data->gdisplay = gdisplay_new_with_info (bonobo_object_data->gimp_image, 0x0101, TRUE);
view = gnome_view_new(view_data->gdisplay->shell);
gtk_signal_connect (GTK_OBJECT (view), "destroy",
GTK_SIGNAL_FUNC(gimp_view_destroy), view_data);
bonobo_object_data->views = g_list_prepend (bonobo_object_data->views,
view_data);
return view;
}
static void
gimp_view_destroy (GnomeView *view, bonobo_view_t *view_data)
{
view_data->parent->views = g_list_remove(view_data->parent->views, view_data);
gdisplay_remove_and_delete(view_data->gdisplay);
g_free(view_data);
}
/* Right now for file save/load we save the whole stream to a tmpfile, then edit that */
static int
gimp_stream_load_image (GnomePersistStream *ps, GNOME_Stream stream, void *data)
{
GimpImage *new_image;
char *new_tmpfile;
GNOME_Stream_iobuf *iobuf = NULL;
CORBA_long nread;
CORBA_Environment ev;
FILE *fh = NULL;
GList *ltmp;
bonobo_object_data_t *bonobo_object_data = data;
/* Find a tmpfile to use */
while((new_tmpfile = g_strdup_printf("%s/.gimp-temp-%x%x", g_get_home_dir(), rand(), rand()))
&& !access(new_tmpfile, F_OK))
g_free(new_tmpfile);
CORBA_exception_init(&ev);
fh = fopen(new_tmpfile, "w");
if(!fh) goto out;
nread = IO_CHUNK_SIZE;
while(nread == IO_CHUNK_SIZE) {
nread = GNOME_Stream_read(stream, IO_CHUNK_SIZE, &iobuf, &ev);
if(ev._major != CORBA_NO_EXCEPTION) {
iobuf = NULL;
goto out;
}
fwrite(iobuf->_buffer, iobuf->_length, 1, fh);
CORBA_free(iobuf);
}
fclose(fh); fh = NULL; iobuf = NULL;
new_image = file_open_new_image(new_tmpfile, "Embedded Image");
if(!new_image)
goto out;
for(ltmp = bonobo_object_data->views; ltmp; ltmp = g_list_next(ltmp)) {
bonobo_view_t *view;
view = (bonobo_view_t *)ltmp->data;
gdisplay_reconnect(view->gdisplay, new_image);
}
if(bonobo_object_data->gimp_image)
gimage_delete(bonobo_object_data->gimp_image);
bonobo_object_data->gimp_image = new_image;
gtk_object_ref(GTK_OBJECT(new_image));
gtk_object_sink(GTK_OBJECT(new_image));
if(bonobo_object_data->tmpfile) {
unlink(bonobo_object_data->tmpfile);
g_free(bonobo_object_data->tmpfile);
}
bonobo_object_data->tmpfile = new_tmpfile;
CORBA_exception_free(&ev);
return 0;
out:
if(fh)
fclose(fh);
CORBA_free(iobuf);
if(new_tmpfile) {
unlink(new_tmpfile);
g_free(new_tmpfile);
}
CORBA_exception_free(&ev);
return -1;
}
static int
gimp_stream_save_image (GnomePersistStream *ps, GNOME_Stream stream, void *data)
{
GNOME_Stream_iobuf iobuf;
char cbuf[IO_CHUNK_SIZE];
CORBA_long nread;
CORBA_Environment ev;
FILE *fh = NULL;
bonobo_object_data_t *bonobo_object_data = data;
file_save(bonobo_object_data->gimp_image, bonobo_object_data->tmpfile, "Embedded Image", 0);
CORBA_exception_init(&ev);
fh = fopen(bonobo_object_data->tmpfile, "r");
if(!fh) goto out;
iobuf._buffer = cbuf;
CORBA_sequence_set_release(&iobuf, CORBA_FALSE);
while(1) {
nread = fread(cbuf, 1, IO_CHUNK_SIZE, fh);
if(nread <= 0)
break;
iobuf._length = nread;
nread = GNOME_Stream_write(stream, &iobuf, &ev);
if(ev._major != CORBA_NO_EXCEPTION)
goto out;
if(nread < IO_CHUNK_SIZE)
break;
}
fclose(fh); fh = NULL;
CORBA_exception_free(&ev);
return 0;
out:
if(fh)
fclose(fh);
CORBA_exception_free(&ev);
return -1;
}

31
app/gimp-bonobo.h Normal file
View File

@@ -0,0 +1,31 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995, 1996, 1997 Spencer Kimball and Peter Mattis
* Copyright (C) 1999 Elliot Lee
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Bonobo support for the GIMP.
*
* Author: Elliot Lee <sopwith@redhat.com>
*/
#ifndef GIMP_BONOBO_H
#define GIMP_BONOBO_H 1
#include <bonobo/gnome-bonobo.h>
void gimp_bonobo_init(void);
#endif

42
app/gimp-corba.c Normal file
View File

@@ -0,0 +1,42 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
* Copyright (C) 1999 Elliot Lee
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* GNOME CORBA integration for the GIMP.
*
* Author: Elliot Lee <sopwith@redhat.com>
*/
#include "config.h"
#include "gimp-corba.h"
#ifdef HAVE_BONOBO
#include "gimp-bonobo.h"
#endif
void
gimp_corba_init(void)
{
const char *goad_id;
goad_id = goad_server_activation_id();
/* Check for various functionality requests in the goad_id here... */
#ifdef HAVE_BONOBO
gimp_bonobo_init();
#endif
}

32
app/gimp-corba.h Normal file
View File

@@ -0,0 +1,32 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
* Copyright (C) 1999 Elliot Lee
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* GNOME CORBA integration for the GIMP.
*
* Author: Elliot Lee <sopwith@redhat.com>
*/
#ifndef GIMP_CORBA_H
#define GIMP_CORBA_H 1
#include <gnome.h>
#include <libgnorba/gnorba.h>
void gimp_corba_init(void);
#endif

11
app/gimp.goad Normal file
View File

@@ -0,0 +1,11 @@
[bonobo-object-factory:gimp-image]
type=exe
repo_id=IDL:GNOME/EmbeddableFactory:1.0 IDL:GNOME/GenericFactory:1.0
description=GIMP bonobo object factory
location_info=gimp
[bonobo-object:gimp-image]
type=factory
repo_id=IDL:BonoboObject/gimp-image:1.0 IDL:GNOME/Embeddable:1.0
description=GIMP image bonobo object
location_info=bonobo-object-factory:gimp-image

View File

@@ -1,72 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995-1999 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* NOTE: This file is autogenerated by pdbgen.pl. */
#include "procedural_db.h"
#include "gimphelp.h"
static ProcRecord help_proc;
void
register_gimphelp_procs (void)
{
procedural_db_register (&help_proc);
}
static Argument *
help_invoker (Argument *args)
{
gboolean success = TRUE;
gchar *path;
path = (gchar *) args[0].value.pdb_pointer;
if (path == NULL)
success = FALSE;
if (success)
gimp_help (path);
return procedural_db_return_args (&help_proc, success);
}
static ProcArg help_inargs[] =
{
{
PDB_STRING,
"path",
"The location of the help page"
}
};
static ProcRecord help_proc =
{
"gimp_help",
"Load a help page.",
"This procedure loads the specified help page into the helpbrowser or what ever is configured as help viewer. The location of the jelp page is given relative to the help rootdir.",
"Michael Natterer <mitch@gimp.org>",
"Michael Natterer <mitch@gimp.org>",
"1999",
PDB_INTERNAL,
1,
help_inargs,
0,
NULL,
{ { help_invoker } }
};

View File

@@ -642,6 +642,49 @@ toolbox_raise_callback (GtkWidget *widget,
gdk_window_raise(toolbox_shell->window);
}
static void
do_gdisplay_resize_cursor_label (GtkWidget *widget, GDisplay *display)
{
gdisplay_resize_cursor_label (display);
}
static void
do_qmaskon_pixmap_creation (GtkWidget *widget, GDisplay *gdisp)
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
GtkWidget *pixmap;
style = gtk_widget_get_style(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasksel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskon), pixmap);
gtk_widget_show(pixmap);
}
static void
do_qmaskoff_pixmap_creation (GtkWidget *widget, GDisplay *gdisp)
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
GtkWidget *pixmap;
style = gtk_widget_get_style(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasknosel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskoff), pixmap);
gtk_widget_show(pixmap);
}
void
create_display_shell (GDisplay* gdisp,
int width,
@@ -658,7 +701,6 @@ create_display_shell (GDisplay* gdisp,
GtkWidget *table_lower;
GtkWidget *frame;
GtkWidget *arrow;
GtkWidget *pixmap;
GSList *group = NULL;
@@ -699,16 +741,27 @@ create_display_shell (GDisplay* gdisp,
gdisp->vsbdata = GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, height, 1, 1, height));
/* The toplevel shell */
gdisp->shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_ref (gdisp->shell);
gtk_window_set_title (GTK_WINDOW (gdisp->shell), title);
gtk_window_set_wmclass (GTK_WINDOW (gdisp->shell), "image_window", "Gimp");
gtk_window_set_policy (GTK_WINDOW (gdisp->shell), TRUE, TRUE, TRUE);
if(gdisp->is_embeddable) {
gdisp->shell = gtk_event_box_new();
} else {
gdisp->shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (gdisp->shell), title);
gtk_window_set_wmclass (GTK_WINDOW (gdisp->shell), "image_window", "Gimp");
gtk_window_set_policy (GTK_WINDOW (gdisp->shell), TRUE, TRUE, TRUE);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "delete_event",
GTK_SIGNAL_FUNC (gdisplay_delete),
gdisp);
}
gtk_widget_set_events (gdisp->shell,
GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK);
gtk_object_set_user_data (GTK_OBJECT (gdisp->shell), (gpointer) gdisp);
gtk_widget_set_events (gdisp->shell, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "delete_event",
GTK_SIGNAL_FUNC (gdisplay_delete),
gdisp);
gtk_widget_ref (gdisp->shell);
gtk_signal_connect (GTK_OBJECT (gdisp->shell), "destroy",
(GtkSignalFunc) gdisplay_destroy,
@@ -804,32 +857,12 @@ create_display_shell (GDisplay* gdisp,
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gdisp->qmaskoff), TRUE);
gtk_widget_set_usize(GTK_WIDGET(gdisp->qmaskon), 15, 15);
gtk_widget_set_usize(GTK_WIDGET(gdisp->qmaskoff), 15, 15);
/* Draw pixmaps - note: you must realize the parent prior to doing the
rest! */
{
GdkPixmap *pxmp;
GdkBitmap *mask;
GtkStyle *style;
style = gtk_widget_get_style(gdisp->shell);
gtk_widget_realize(gdisp->shell);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasksel_xpm);
gtk_signal_connect (GTK_OBJECT(gdisp->qmaskon), "realize",
GTK_SIGNAL_FUNC(do_qmaskon_pixmap_creation), gdisp);
gtk_signal_connect (GTK_OBJECT(gdisp->qmaskoff), "realize",
GTK_SIGNAL_FUNC(do_qmaskoff_pixmap_creation), gdisp);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskon), pixmap);
gtk_widget_show(pixmap);
pxmp = gdk_pixmap_create_from_xpm_d(gdisp->shell->window, &mask,
&style->bg[GTK_STATE_NORMAL],
qmasknosel_xpm);
pixmap = gtk_pixmap_new (pxmp, mask);
gtk_container_add (GTK_CONTAINER (gdisp->qmaskoff), pixmap);
gtk_widget_show(pixmap);
}
gdisp->canvas = gtk_drawing_area_new ();
gtk_drawing_area_size (GTK_DRAWING_AREA (gdisp->canvas), n_width, n_height);
gtk_widget_set_events (gdisp->canvas, CANVAS_EVENT_MASK);
@@ -892,8 +925,8 @@ create_display_shell (GDisplay* gdisp,
/* we need to realize the cursor_label widget here, so the size gets
computed correctly */
gtk_widget_realize (gdisp->cursor_label);
gdisplay_resize_cursor_label (gdisp);
gtk_signal_connect (GTK_OBJECT(gdisp->cursor_label), "realize",
GTK_SIGNAL_FUNC(do_gdisplay_resize_cursor_label), gdisp);
gdisp->statusbar = gtk_statusbar_new ();
gtk_widget_set_usize (gdisp->statusbar, 1, -1);
@@ -918,7 +951,10 @@ create_display_shell (GDisplay* gdisp,
gdisp->popup = image_popup_menu;
/* the accelerator table for images */
gtk_window_add_accel_group (GTK_WINDOW (gdisp->shell), image_accel_group);
if( !gdisp->is_embeddable)
gtk_window_add_accel_group (GTK_WINDOW (gdisp->shell), image_accel_group);
else
/* XXX FIXME: Dunno how to handle accel groups here */;
gtk_widget_show (arrow);
gtk_widget_show (gdisp->qmaskon);
@@ -952,11 +988,15 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (vbox);
gtk_widget_show (gdisp->shell);
#if 0
#ifdef __GNUC__
#warning DODGY?
#endif /*__GNUC__ */
gtk_widget_realize (gdisp->canvas);
gdk_window_set_back_pixmap(gdisp->canvas->window, NULL, 0);
#endif
/* set the focus to the canvas area */
gtk_widget_grab_focus (gdisp->canvas);

View File

@@ -46,6 +46,15 @@
#include "libgimp/gimpintl.h"
#ifdef HAVE_GNOME
#include <gnome.h>
#include "gimp-corba.h"
#ifdef HAVE_BONOBO
#include <bonobo/gnome-bonobo.h>
#include "gimp-bonobo.h"
#endif
#endif
static RETSIGTYPE on_signal (int);
#ifdef SIGCHLD
static RETSIGTYPE on_sig_child (int);
@@ -80,6 +89,8 @@ char **batch_cmds;
static int gimp_argc;
static char **gimp_argv;
static int do_batch_cmds = 0;
/*
* argv processing:
* Arguments are either switches, their associated
@@ -101,15 +112,48 @@ static char **gimp_argv;
* commands.
*/
#ifdef HAVE_GNOME
static const struct poptOption gimp_options[] = {
{"no-interface", 'n', POPT_ARG_NONE, &no_interface, 0,
"No user interface", NULL},
{"batch", 'b', POPT_ARG_NONE, &do_batch_cmds, 0,
"Run batch command", NULL},
{"system-gimprc", '\0', POPT_ARG_STRING, &alternate_system_gimprc, 0,
"Specify an alternate system gimprc", "FILENAME"},
{"gimprc", 'g', POPT_ARG_STRING, &alternate_gimprc, 0,
"Specify an alternate user gimprc", "FILENAME"},
{"no-data", '\0', POPT_ARG_NONE, &no_data, 0,
"No data", NULL},
{"no-splash", '\0', POPT_ARG_NONE, &no_splash, 0,
"No splash screen", NULL},
{"no-splash-image", '\0', POPT_ARG_NONE, &no_splash_image, 0,
"No image on splash screen", NULL},
{"verbose", '\0', POPT_ARG_NONE, &be_verbose, 0,
"Be verbose", NULL},
{"shm", '\0', POPT_ARG_INT, &use_shm, 0,
"Use shared memory", "0/1"},
{"debug-handlers", '\0', POPT_ARG_NONE, &use_debug_handler, 0,
"Use debug handler", NULL},
{"console-messages", '\0', POPT_ARG_NONE, &console_messages, 0,
"Show console messages", NULL},
{"restore-session", 'r', POPT_ARG_NONE, &restore_session, 0,
"Restore previous session", NULL},
{NULL, '\0', POPT_ARG_NONE, NULL, 0, NULL, NULL}
};
#endif
int
main (int argc, char **argv)
{
int show_version;
int show_help;
int i, j;
#ifdef HAVE_PUTENV
#if defined(HAVE_PUTENV) && !defined(HAVE_GNOME)
gchar *display_name, *display_env;
#endif
#ifdef HAVE_GNOME
poptContext poptctx;
#else
int i, j;
#endif
g_atexit (g_mem_profile);
@@ -134,16 +178,6 @@ main (int argc, char **argv)
#endif
textdomain("gimp");
gtk_init (&argc, &argv);
#ifdef HAVE_PUTENV
display_name = gdk_get_display ();
display_env = g_new (gchar, strlen (display_name) + 9);
*display_env = 0;
strcat (display_env, "DISPLAY=");
strcat (display_env, display_name);
putenv (display_env);
#endif
no_interface = FALSE;
no_data = FALSE;
@@ -171,6 +205,65 @@ main (int argc, char **argv)
show_version = FALSE;
show_help = FALSE;
#ifdef HAVE_GNOME
#ifdef HAVE_BONOBO
{
CORBA_Environment ev;
CORBA_exception_init(&ev);
gnome_CORBA_init_with_popt_table ("gimp", GIMP_VERSION, &argc, argv,
gimp_options, 0, &poptctx,
GNORBA_INIT_SERVER_FUNC, &ev);
bonobo_init(CORBA_OBJECT_NIL, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
gimp_corba_init();
CORBA_exception_free(&ev);
}
#else
gnome_init_with_popt_table ("gimp", GIMP_VERSION, argc, argv,
gimp_options, 0, &poptctx);
#endif
{ /* Copy the leftover arguments array from popt */
int n;
char **ctmp;
ctmp = poptGetArgs(poptctx);
if(ctmp) {
for(n = 0; ctmp[n]; n++) /**/ ;
if(do_batch_cmds) {
for(n = 0; ctmp[n]; n++)
batch_cmds[n] = ctmp[n];
batch_cmds[n] = NULL;
} else {
gimp_argc = n;
gimp_argv = g_new(char *, n);
for(n = 0; ctmp[n]; n++)
gimp_argv[n] = ctmp[n];
}
} else {
static char * dummy[1];
dummy[0] = argv[0];
gimp_argc = 1;
gimp_argv = dummy;
}
}
poptFreeContext(poptctx);
#else /* start !HAVE_GNOME */
gtk_init (&argc, &argv);
#ifdef HAVE_PUTENV
display_name = gdk_get_display ();
display_env = g_new (gchar, strlen (display_name) + 9);
*display_env = 0;
strcat (display_env, "DISPLAY=");
strcat (display_env, display_name);
putenv (display_env);
#endif
test_gserialize ();
for (i = 1; i < argc; i++)
@@ -282,6 +375,11 @@ main (int argc, char **argv)
show_help = TRUE;
}
}
/* Keep the command line arguments--for use in gimp_init */
gimp_argc = argc - 1;
gimp_argv = argv + 1;
#endif /* end !HAVE_GNOME */
if (show_version)
g_print ( "%s %s\n", _("GIMP version"), GIMP_VERSION);
@@ -350,10 +448,6 @@ main (int argc, char **argv)
g_log_set_handler (NULL, G_LOG_LEVEL_ERROR | G_LOG_FLAG_FATAL,
on_error, NULL);
/* Keep the command line arguments--for use in gimp_init */
gimp_argc = argc - 1;
gimp_argv = argv + 1;
/* Check the installation */
install_verify (init);

View File

@@ -1,187 +0,0 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if using alloca.c. */
#undef C_ALLOCA
/* Define to empty if the keyword does not work. */
#undef const
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
#undef CRAY_STACKSEG_END
/* Define if you have alloca, as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you don't have vprintf but do have _doprnt. */
#undef HAVE_DOPRNT
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define if you have <unistd.h>. */
#undef HAVE_UNISTD_H
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
#undef STACK_DIRECTION
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
#undef ENABLE_MP
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef HAVE_DIRENT_H
#undef HAVE_DOPRNT
#undef HAVE_GETTEXT
#undef HAVE_IPC_H
#undef HAVE_LC_MESSAGES
#undef HAVE_NDIR_H
#undef HAVE_PROGRESSIVE_JPEG
#undef HAVE_PUTENV
#undef HAVE_RINT
#undef HAVE_SHM_H
#undef HAVE_STPCPY
#undef HAVE_SYS_DIR_H
#undef HAVE_SYS_NDIR_H
#undef HAVE_SYS_PARAM_H
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_SYS_TIMES_H
#undef HAVE_UNISTD_H
#undef HAVE_VPRINTF
#undef HAVE_VSNPRINTF
#undef HAVE_XSHM_H
#undef IPC_RMID_DEFERRED_RELEASE
#undef NO_DIFFTIME
#undef NO_FD_SET
#undef RAND_FUNC
#undef SRAND_FUNC
#undef USE_PTHREADS
/* Define if you have the __argz_count function. */
#undef HAVE___ARGZ_COUNT
/* Define if you have the __argz_next function. */
#undef HAVE___ARGZ_NEXT
/* Define if you have the __argz_stringify function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define if you have the _exit function. */
#undef HAVE__EXIT
/* Define if you have the dcgettext function. */
#undef HAVE_DCGETTEXT
/* Define if you have the getcwd function. */
#undef HAVE_GETCWD
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the munmap function. */
#undef HAVE_MUNMAP
/* Define if you have the putenv function. */
#undef HAVE_PUTENV
/* Define if you have the setenv function. */
#undef HAVE_SETENV
/* Define if you have the setlocale function. */
#undef HAVE_SETLOCALE
/* Define if you have the stpcpy function. */
#undef HAVE_STPCPY
/* Define if you have the strcasecmp function. */
#undef HAVE_STRCASECMP
/* Define if you have the strchr function. */
#undef HAVE_STRCHR
/* Define if you have the strdup function. */
#undef HAVE_STRDUP
/* Define if you have the vsnprintf function. */
#undef HAVE_VSNPRINTF
/* Define if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the i library (-li). */
#undef HAVE_LIBI

View File

@@ -551,6 +551,28 @@ EOF
fi
fi
AC_ARG_WITH(gnome, [ --with-gnome Turn on GNOME support.],
[if test "x$with_gnome" != xno; then
AC_MSG_CHECKING(for GNOME)
if test -f `which gnome-config`; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GNOME)
if test -f `gnome-config --libdir`/bonoboConf.sh; then
AC_DEFINE(HAVE_BONOBO)
GNOME_CFLAGS=`gnome-config --cflags bonobo gnorba gnomeui`
GNOME_LIBS=`gnome-config --libs bonobo gnorba gnomeui`
else
GNOME_CFLAGS=`gnome-config --cflags gnorba gnomeui`
GNOME_LIBS=`gnome-config --libs gnorba gnomeui`
fi
else
AC_MSG_RESULT(no)
fi
fi], )
AC_SUBST(GNOME_LIBS)
AC_SUBST(GNOME_CFLAGS)
GIMPDOCS=
if test -n "$DISTMAKE"; then
WEBBROWSER=webbrowser TIFF=tiff JPEG=jpeg PNG=png AA=aa MPEG=mpeg

View File

@@ -1,44 +0,0 @@
<!-- ##### SECTION Title ##### -->
gimpsignal
<!-- ##### SECTION Short_Description ##### -->
Portable signal handling.
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### MACRO gimp_signal_syscallrestart ##### -->
<para>
</para>
@x:
@y:
<!-- ##### USER_FUNCTION GimpRetSigType ##### -->
<para>
</para>
@Param1:
<!-- ##### FUNCTION gimp_signal_private ##### -->
<para>
</para>
@signum:
@gimp_sighandler:
@sa_flags:
@Returns:

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -535,7 +535,7 @@ load_image (char *filename, GRunModeType runmode)
/* if we had any comments then make a parasite for them */
if(local_image_comments) {
char *string=local_image_comments->str;
g_string_free(local_image_comments,FALSE);
g_string_free(local_image_comments,FALSE); local_image_comments = NULL;
comment_parasite = parasite_new("gimp-comment", PARASITE_PERSISTENT,
strlen(string)+1,string);
} else {

View File

@@ -1,252 +0,0 @@
# This is the Spanish locale definition for libgimp.
#
# <20>ste es el fichero con los mensajes en espa<70>ol de Gimp.
# Preguntas, consejos y correcciones _constructivas_ son
# bienvenidos.
#
# * Este fichero est<73> sin terminar *
#
# Copyright (C) 1998-2000 Free Software Foundation, Inc.
# Rodrigo Sancho Senosiain <ruy_ikari@bigfoot.com>
#
# NOTAS PERSONALES:
# - Usar may<61>sculas para nombres de elementos ("Gradiente")
# - "Cubo de relleno" no es muy afortunada
# - Hay que aclarar el significado de dodge/burn
# - De momento pongo "dibujable" por "drawable"
# - Hay que revisar los largos mensajes de instalaci<63>n
#
msgid ""
msgstr ""
"Project-Id-Version: GIMP 1.1.20\n"
"POT-Creation-Date: 2000-04-20 19:32+0200\n"
"PO-Revision-Date: 2000-04-23 12:56+02:00\n"
"Last-Translator: Rodrigo Sancho Senosiain <ruy_ikari@bigfoot.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"\n"
#: libgimp/gimpcolorbutton.c:116
msgid "/Use Foreground Color"
msgstr "/Usar color de Frente"
#: libgimp/gimpcolorbutton.c:117
msgid "/Use Background Color"
msgstr "/Usar color de Fondo"
#: libgimp/gimpexport.c:158
msgid "can't Handle Layers"
msgstr "no puedo manejar Capas"
#: libgimp/gimpexport.c:159 libgimp/gimpexport.c:168
msgid "Merge Visible Layers"
msgstr "Mezclar Capas visibles"
#: libgimp/gimpexport.c:167 libgimp/gimpexport.c:176
msgid "can only Handle Layers as Animation Frames"
msgstr "s<>lo puedo manejar Capas como Fotogramas de Animaci<63>n"
#: libgimp/gimpexport.c:168 libgimp/gimpexport.c:177
msgid "Save as Animation"
msgstr "Guardar como Animaci<63>n"
#: libgimp/gimpexport.c:177 libgimp/gimpexport.c:186
msgid "Flatten Image"
msgstr "Aplanar Imagen"
#: libgimp/gimpexport.c:185
msgid "can't Handle Transparency"
msgstr "no puedo manejar transparencia"
#: libgimp/gimpexport.c:194
msgid "can only Handle RGB Images"
msgstr "s<>lo puedo manejar im<69>genes RGB"
#: libgimp/gimpexport.c:195 libgimp/gimpexport.c:223 libgimp/gimpexport.c:232
msgid "Convert to RGB"
msgstr "Convertir a RGB"
#: libgimp/gimpexport.c:203
msgid "can only Handle Grayscale Images"
msgstr "s<>lo puedo manejar im<69>genes en escala de grises"
#: libgimp/gimpexport.c:204 libgimp/gimpexport.c:223 libgimp/gimpexport.c:244
msgid "Convert to Grayscale"
msgstr "Convertir a Escala de grises"
#: libgimp/gimpexport.c:212
msgid "can only Handle Indexed Images"
msgstr "s<>lo puedo manejar im<69>genes indexadas"
#: libgimp/gimpexport.c:213 libgimp/gimpexport.c:232 libgimp/gimpexport.c:242
msgid ""
"Convert to indexed using default settings\n"
"(Do it manually to tune the result)"
msgstr ""
"Convertir a indexada usando ajustes por defecto\n"
"(H<>galo manualmente para afinar el resultado)"
#: libgimp/gimpexport.c:222
msgid "can only Handle RGB or Grayscale Images"
msgstr "s<>lo puedo manejar im<69>genes RGB o Escala de grises"
#: libgimp/gimpexport.c:231
msgid "can only Handle RGB or Indexed Images"
msgstr "s<>lo puedo manejar im<69>genes RGB o indexadas"
#: libgimp/gimpexport.c:241
msgid "can only Handle Grayscale or Indexed Images"
msgstr "s<>lo puedo manejar im<69>genes indexadas o Escala de grises"
#: libgimp/gimpexport.c:252
msgid "needs an Alpha Channel"
msgstr "necesita un Canal alfa"
#: libgimp/gimpexport.c:253
msgid "Add Alpha Channel"
msgstr "A<>adir Canal alfa"
#.
#. * Plug-ins have called gtk_init () before calling gimp_export ().
#. * Otherwise bad things will happen now!!
#.
#. the dialog
#: libgimp/gimpexport.c:322
msgid "Export File"
msgstr "Exportar fichero"
#: libgimp/gimpexport.c:327
msgid "Export"
msgstr "Exportar"
#: libgimp/gimpexport.c:329
msgid "Ignore"
msgstr "Ignorar"
#: libgimp/gimpexport.c:331 libgimp/gimpquerybox.c:180
#: libgimp/gimpquerybox.c:234 libgimp/gimpquerybox.c:290
#: libgimp/gimpquerybox.c:353 libgimp/gimpunitmenu.c:497
msgid "Cancel"
msgstr "Cancelar"
#: libgimp/gimpexport.c:346
msgid ""
"Your image should be exported before it can be saved for the following "
"reasons:"
msgstr ""
"Su imagen deber<65>a ser exportada antes de que pueda guardarse por las "
"siguientes razones:"
#. the footline
#: libgimp/gimpexport.c:409
msgid "The export conversion won't modify your original image."
msgstr "La conversi<73>n de exportaci<63>n no modificar<61> su imagen original"
#: libgimp/gimpfileselection.c:388
msgid "Select File"
msgstr "Seleccione fichero"
#: libgimp/gimpquerybox.c:180 libgimp/gimpquerybox.c:234
#: libgimp/gimpquerybox.c:290 libgimp/gimpquerybox.c:353
#: libgimp/gimpunitmenu.c:495
msgid "OK"
msgstr "Aceptar"
#. pseudo unit
#: libgimp/gimpunit.c:47
msgid "pixel"
msgstr "p<>xel"
#: libgimp/gimpunit.c:47
msgid "pixels"
msgstr "p<>xeles"
#. standard units
#: libgimp/gimpunit.c:50
msgid "inch"
msgstr "pulgada"
#: libgimp/gimpunit.c:50
msgid "inches"
msgstr "pulgadas"
#: libgimp/gimpunit.c:51
msgid "millimeter"
msgstr "mil<69>metro"
#: libgimp/gimpunit.c:51
msgid "millimeters"
msgstr "mil<69>metros"
#. professional units
#: libgimp/gimpunit.c:54
msgid "point"
msgstr "punto"
#: libgimp/gimpunit.c:54
msgid "points"
msgstr "puntos"
#: libgimp/gimpunit.c:55
msgid "pica"
msgstr "pica"
#: libgimp/gimpunit.c:55
msgid "picas"
msgstr "picas"
#: libgimp/gimpunit.c:62
msgid "percent"
msgstr "por ciento"
#: libgimp/gimpunitmenu.c:234
msgid "More..."
msgstr "M<>s..."
#: libgimp/gimpunitmenu.c:490
msgid "Unit Selection"
msgstr "Selecci<63>n de Unidad"
#: libgimp/gimpunitmenu.c:527
msgid "Unit"
msgstr "Unidad"
#: libgimp/gimpunitmenu.c:528
msgid "Factor"
msgstr "Factor"
#: libgimp/gimpwidgets.c:706
msgid ""
"If the \"Time\" button is not pressed, use this value for random number "
"generator seed - this allows you to repeat a given \"random\" operation"
msgstr ""
"Si el bot<6F>n \"Tiempo\" no est<73> pulsado, use este valor como semilla para el "
"generador de n<>meros aleatorios - permite que repita cualquier operaci<63>n "
"\"aleatoria\""
#: libgimp/gimpwidgets.c:711
msgid "Time"
msgstr "Tiempo"
#: libgimp/gimpwidgets.c:720
msgid ""
"Seed random number generator from the current time - this guarantees a "
"reasonable randomization"
msgstr ""
"Tomar semilla para generador de n<>meros aleatorios del tiempo actual - "
"garantiza una aleatoriedad razonable"
#: libgimp/gimpwidgets.c:1032
msgid "Bytes"
msgstr "Bytes"
#: libgimp/gimpwidgets.c:1033
msgid "KiloBytes"
msgstr "KiloBytes"
#: libgimp/gimpwidgets.c:1034
msgid "MegaBytes"
msgstr "MegaBytes"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,22 @@
#!/bin/sh
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "I am going to run $srcdir/configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
fi
echo processing...
THEDIR=`pwd`
cd $srcdir &&
aclocal $ACLOCAL_FLAGS &&
automake -a --foreign &&
autoconf &&
./configure "$@"
cd $THEDIR &&
$srcdir/configure "$@"
if [ $? -eq 0 ];then
echo "Now run './configure', then 'make' to compile GCG."

View File

@@ -14,7 +14,6 @@
gimage
gimage_mask
gimprc
gimphelp
gradient
gradient_select
guides

View File

@@ -1,55 +0,0 @@
# The GIMP -- an image manipulation program
# Copyright (C) 1995 Spencer Kimball and Peter Mattis
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# "Perlized" from C source by Sven Neumann <sven@gimp.org>
sub pdb_misc {
$author = $copyright = 'Michael Natterer <mitch@gimp.org>';
$date = '1999';
}
sub help {
my $path = $_;
$blurb = "Load a help page.";
$help = <<HELP;
This procedure loads the specified help page into the helpbrowser or what ever
is configured as help viewer. The location of the jelp page is given relative
to the help rootdir.
HELP
&pdb_misc;
@inargs = (
{ name => 'path', type => 'string',
desc => 'The location of the help page' }
);
%invoke = (
code => 'gimp_help (path);'
);
}
@headers = qw("gimphelp.h");
@procs = qw(help);
%exports = (app => [@procs]);
$desc = 'Help procedures';
1;