mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-10-06 01:12:40 +02:00
Compare commits
6 Commits
62821736fb
...
project-su
Author | SHA1 | Date | |
---|---|---|---|
|
37995528e3 | ||
|
fecdee626f | ||
|
c55b2ccfdc | ||
|
81bfe9d592 | ||
|
aabace97bb | ||
|
19efd21671 |
@@ -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:
|
||||
|
@@ -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)
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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 =
|
||||
|
@@ -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);
|
||||
|
@@ -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 =
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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 =
|
||||
|
@@ -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
303
app/gimp-bonobo.c
Normal 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
31
app/gimp-bonobo.h
Normal 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
42
app/gimp-corba.c
Normal 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
32
app/gimp-corba.h
Normal 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
11
app/gimp.goad
Normal 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
|
@@ -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 } }
|
||||
};
|
114
app/interface.c
114
app/interface.c
@@ -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);
|
||||
|
126
app/main.c
126
app/main.c
@@ -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);
|
||||
|
||||
|
187
config.h.in
187
config.h.in
@@ -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
|
22
configure.in
22
configure.in
@@ -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
|
||||
|
@@ -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:
|
||||
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
252
po-libgimp/es.po
252
po-libgimp/es.po
@@ -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"
|
||||
|
12601
po-plug-ins/es.po
12601
po-plug-ins/es.po
File diff suppressed because it is too large
Load Diff
2097
po-script-fu/es.po
2097
po-script-fu/es.po
File diff suppressed because it is too large
Load Diff
4910
po/gimp.pot
4910
po/gimp.pot
File diff suppressed because it is too large
Load Diff
@@ -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."
|
||||
|
@@ -14,7 +14,6 @@
|
||||
gimage
|
||||
gimage_mask
|
||||
gimprc
|
||||
gimphelp
|
||||
gradient
|
||||
gradient_select
|
||||
guides
|
||||
|
@@ -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;
|
Reference in New Issue
Block a user