Commit 33c454a7 authored by Manish Singh's avatar Manish Singh
Browse files

Updated various plugins with new versions from the registry

-Yosh
parent 0f1c6e81
Thu Dec 25 23:04:00 PST 1997 Manish Singh <yosh@gimp.org>
* Updates from the plugin registry: Compose, Film, FITS, ps,
refract, sunras, twist
Thu Dec 18 11:15:17 1997 Scott Goehring <scott@poverty.bloomington.in.us>
* app/main.c (main): Freeing arguments to putenv afterwards is
......
......@@ -24,8 +24,9 @@
/* Event history:
* V 1.00, PK, 29-Jul-97, Creation
* V 1.01, nn, 20-Dec-97, Add default case in switch for hsv_to_rgb ()
*/
static char ident[] = "@(#) GIMP Compose plug-in v1.00 29-Jul-97";
static char ident[] = "@(#) GIMP Compose plug-in v1.01 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......@@ -786,10 +787,10 @@ hsv_to_rgb (unsigned char *h,
blue = (int)(q * 255.0);
break;
default:
red = 0;
green = 0;
blue = 0;
break;
red = 0;
green = 0;
blue = 0;
break;
}
if (red < 0) red = 0; else if (red > 255) red = 255;
if (green < 0) green = 0; else if (green > 255) green = 255;
......
......@@ -25,8 +25,11 @@
/* Event history:
* V 1.00, PK, 01-Jul-97, Creation
* V 1.01, PK, 24-Jul-97, Fix problem with previews on Irix
* V 1.02, PK, 24-Sep-97, Try different font sizes when inquire failed.
* Fit film height to images
* V 1.03, nn, 20-Dec-97, Initialize layers in film()
*/
static char ident[] = "@(#) GIMP Film plug-in v1.01 24-Jul-97";
static char ident[] = "@(#) GIMP Film plug-in v1.03 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......@@ -65,6 +68,7 @@ typedef struct {
unsigned char number_color[3]; /* color of number */
char number_fontf[256]; /* font family to use for numbering */
int number_pos[2]; /* flags where to draw numbers (top/bottom) */
int keep_height; /* flag if to keep max. image height */
int num_images; /* number of images */
gint32 image[MAX_FILM_PICTURES]; /* list of image IDs */
} FilmVals;
......@@ -89,6 +93,7 @@ typedef struct
int prv_width, prv_height;
CSEL csel[2];
int number_pos[2];
int keep_height;
gint run;
} FilmInterface;
......@@ -143,6 +148,8 @@ static void film_ok_callback (GtkWidget *widget,
gpointer data);
static void numbering_toggle_update (GtkWidget *widget,
gpointer data);
static void keepheight_toggle_update (GtkWidget *widget,
gpointer data);
static void color_select_ok_callback (GtkWidget *widget,
gpointer data);
static void color_select_cancel_callback (GtkWidget *widget,
......@@ -174,6 +181,7 @@ static FilmVals filmvals =
{ 239, 159, 0 }, /* Color of number */
"courier", /* Font family for numbering */
{ 1, 1 }, /* Numbering on top and bottom */
0, /* Dont keep max. image height */
0, /* Number of images */
{ 0 } /* Input image list */
};
......@@ -208,7 +216,7 @@ query ()
{ PARAM_IMAGE, "image", "Input image (only used as default image\
in interactive mode)" },
{ PARAM_DRAWABLE, "drawable", "Input drawable (not used)" },
{ PARAM_INT32, "film_height", "Height of film" },
{ PARAM_INT32, "film_height", "Height of film (0: fit to images)" },
{ PARAM_COLOR, "film_color", "Color of the film" },
{ PARAM_INT32, "number_start", "Start index for numbering" },
{ PARAM_STRING, "number_fontf", "Font family for drawing numbers" },
......@@ -278,7 +286,9 @@ run (char *name,
status = STATUS_CALLING_ERROR;
if (status == STATUS_SUCCESS)
{
filmvals.film_height = param[3].data.d_int32;
filmvals.keep_height = (param[3].data.d_int32 <= 0);
filmvals.film_height = filmvals.keep_height ?
128 : param[3].data.d_int32;
filmvals.film_color[0] = param[4].data.d_color.red;
filmvals.film_color[1] = param[4].data.d_color.green;
filmvals.film_color[2] = param[4].data.d_color.blue;
......@@ -374,9 +384,23 @@ film (void)
/* Save foreground colour */
gimp_palette_get_foreground (&f_red, &f_green, &f_blue);
film_height = filmvals.film_height;
picture_height = film_height * filmvals.picture_height;
picture_space = film_height * filmvals.picture_space;
if (filmvals.keep_height) /* Search maximum picture height */
{
picture_height = 0;
for (j = 0; j < num_images; j++)
{
height = gimp_image_height (image_ID_src[j]);
if (height > picture_height) picture_height = height;
}
film_height = (int)(picture_height / filmvals.picture_height + 0.5);
filmvals.film_height = film_height;
}
else
{
film_height = filmvals.film_height;
picture_height = (int)(film_height * filmvals.picture_height + 0.5);
}
picture_space = (int)(film_height * filmvals.picture_space + 0.5);
picture_y0 = (film_height - picture_height)/2;
number_height = film_height * filmvals.number_height;
......@@ -855,7 +879,7 @@ draw_number (gint32 layer_ID,
{char buf[32];
GDrawable *drw;
GParam *params;
gint nreturn_vals;
gint nreturn_vals, k, delta, max_delta;
gint32 image_ID, descent;
char *family = filmvals.number_fontf;
......@@ -864,18 +888,32 @@ draw_number (gint32 layer_ID,
drw = gimp_drawable_get (layer_ID);
image_ID = gimp_drawable_image_id (layer_ID);
max_delta = height / 10;
if (max_delta < 1) max_delta = 1;
/* Numbers dont need the descent. Inquire it and move the text down */
params = gimp_run_procedure ("gimp_text_get_extents", &nreturn_vals,
PARAM_STRING, buf,
PARAM_FLOAT, (gfloat)height,
PARAM_INT32, (gint32)0, /* use pixelsize */
PARAM_STRING, "*", /* foundry */
PARAM_STRING, family, /* family */
PARAM_STRING, "*", /* weight */
PARAM_STRING, "*", /* slant */
PARAM_STRING, "*", /* set_width */
PARAM_STRING, "*", /* spacing */
PARAM_END);
for (k = 0; k < max_delta*2 + 1; k++)
{ /* Try different font sizes if inquire of extent failed */
delta = (k+1) / 2;
if ((k & 1) == 0) delta = -delta;
params = gimp_run_procedure ("gimp_text_get_extents", &nreturn_vals,
PARAM_STRING, buf,
PARAM_FLOAT, (gfloat)(height+delta),
PARAM_INT32, (gint32)0, /* use pixelsize */
PARAM_STRING, "*", /* foundry */
PARAM_STRING, family, /* family */
PARAM_STRING, "*", /* weight */
PARAM_STRING, "*", /* slant */
PARAM_STRING, "*", /* set_width */
PARAM_STRING, "*", /* spacing */
PARAM_END);
if (params[0].data.d_status == STATUS_SUCCESS)
{
height += delta;
break;
}
}
if (params[0].data.d_status == STATUS_SUCCESS)
descent = params[4].data.d_int32;
......@@ -1245,6 +1283,17 @@ film_dialog (gint32 image_ID)
gtk_container_border_width (GTK_CONTAINER (vbox), 5);
gtk_container_add (GTK_CONTAINER (frame), vbox);
/* Keep maximum image height */
toggle = gtk_check_button_new_with_label ("Fit height to images");
gtk_box_pack_start (GTK_BOX (vbox), toggle, TRUE, TRUE, 0);
filmint.keep_height = filmvals.keep_height;
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
(GtkSignalFunc) keepheight_toggle_update,
&(filmint.keep_height));
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
filmint.keep_height);
gtk_widget_show (toggle);
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 5);
gtk_table_set_col_spacings (GTK_TABLE (table), 5);
......@@ -1425,6 +1474,9 @@ film_ok_callback (GtkWidget *widget,
filmvals.number_pos[0] = filmint.number_pos[0];
filmvals.number_pos[1] = filmint.number_pos[1];
/* Read keep max. image height */
filmvals.keep_height = filmint.keep_height;
/* Read image list */
num_images = 0;
if (filmint.image_list_film != NULL)
......@@ -1470,6 +1522,22 @@ numbering_toggle_update (GtkWidget *widget,
}
static void
keepheight_toggle_update (GtkWidget *widget,
gpointer data)
{
int *toggle_val;
toggle_val = (int *) data;
*toggle_val = ((GTK_TOGGLE_BUTTON (widget)->active) != 0);
if (filmint.left_entry[0] != NULL)
gtk_widget_set_sensitive (filmint.left_entry[0], *toggle_val == 0);
}
static void
color_select_ok_callback (GtkWidget *widget,
gpointer data)
......
This diff is collapsed.
This diff is collapsed.
......@@ -32,8 +32,9 @@
* V 1.92, PK, 18-May-97: Ignore EOF-error on reading image data
* V 1.93, PK, 05-Oct-97: Parse rc file
* V 1.94, PK, 12-Oct-97: No progress bars for non-interactive mode
* V 1.95, nn, 20-Dec-97: Initialize some variable
*/
static char ident[] = "@(#) GIMP SunRaster file-plugin v1.94 12-Oct-97";
static char ident[] = "@(#) GIMP SunRaster file-plugin v1.95 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......
......@@ -24,8 +24,9 @@
/* Event history:
* V 1.00, PK, 29-Jul-97, Creation
* V 1.01, nn, 20-Dec-97, Add default case in switch for hsv_to_rgb ()
*/
static char ident[] = "@(#) GIMP Compose plug-in v1.00 29-Jul-97";
static char ident[] = "@(#) GIMP Compose plug-in v1.01 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......@@ -786,10 +787,10 @@ hsv_to_rgb (unsigned char *h,
blue = (int)(q * 255.0);
break;
default:
red = 0;
green = 0;
blue = 0;
break;
red = 0;
green = 0;
blue = 0;
break;
}
if (red < 0) red = 0; else if (red > 255) red = 255;
if (green < 0) green = 0; else if (green > 255) green = 255;
......
......@@ -25,8 +25,11 @@
/* Event history:
* V 1.00, PK, 01-Jul-97, Creation
* V 1.01, PK, 24-Jul-97, Fix problem with previews on Irix
* V 1.02, PK, 24-Sep-97, Try different font sizes when inquire failed.
* Fit film height to images
* V 1.03, nn, 20-Dec-97, Initialize layers in film()
*/
static char ident[] = "@(#) GIMP Film plug-in v1.01 24-Jul-97";
static char ident[] = "@(#) GIMP Film plug-in v1.03 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......@@ -65,6 +68,7 @@ typedef struct {
unsigned char number_color[3]; /* color of number */
char number_fontf[256]; /* font family to use for numbering */
int number_pos[2]; /* flags where to draw numbers (top/bottom) */
int keep_height; /* flag if to keep max. image height */
int num_images; /* number of images */
gint32 image[MAX_FILM_PICTURES]; /* list of image IDs */
} FilmVals;
......@@ -89,6 +93,7 @@ typedef struct
int prv_width, prv_height;
CSEL csel[2];
int number_pos[2];
int keep_height;
gint run;
} FilmInterface;
......@@ -143,6 +148,8 @@ static void film_ok_callback (GtkWidget *widget,
gpointer data);
static void numbering_toggle_update (GtkWidget *widget,
gpointer data);
static void keepheight_toggle_update (GtkWidget *widget,
gpointer data);
static void color_select_ok_callback (GtkWidget *widget,
gpointer data);
static void color_select_cancel_callback (GtkWidget *widget,
......@@ -174,6 +181,7 @@ static FilmVals filmvals =
{ 239, 159, 0 }, /* Color of number */
"courier", /* Font family for numbering */
{ 1, 1 }, /* Numbering on top and bottom */
0, /* Dont keep max. image height */
0, /* Number of images */
{ 0 } /* Input image list */
};
......@@ -208,7 +216,7 @@ query ()
{ PARAM_IMAGE, "image", "Input image (only used as default image\
in interactive mode)" },
{ PARAM_DRAWABLE, "drawable", "Input drawable (not used)" },
{ PARAM_INT32, "film_height", "Height of film" },
{ PARAM_INT32, "film_height", "Height of film (0: fit to images)" },
{ PARAM_COLOR, "film_color", "Color of the film" },
{ PARAM_INT32, "number_start", "Start index for numbering" },
{ PARAM_STRING, "number_fontf", "Font family for drawing numbers" },
......@@ -278,7 +286,9 @@ run (char *name,
status = STATUS_CALLING_ERROR;
if (status == STATUS_SUCCESS)
{
filmvals.film_height = param[3].data.d_int32;
filmvals.keep_height = (param[3].data.d_int32 <= 0);
filmvals.film_height = filmvals.keep_height ?
128 : param[3].data.d_int32;
filmvals.film_color[0] = param[4].data.d_color.red;
filmvals.film_color[1] = param[4].data.d_color.green;
filmvals.film_color[2] = param[4].data.d_color.blue;
......@@ -374,9 +384,23 @@ film (void)
/* Save foreground colour */
gimp_palette_get_foreground (&f_red, &f_green, &f_blue);
film_height = filmvals.film_height;
picture_height = film_height * filmvals.picture_height;
picture_space = film_height * filmvals.picture_space;
if (filmvals.keep_height) /* Search maximum picture height */
{
picture_height = 0;
for (j = 0; j < num_images; j++)
{
height = gimp_image_height (image_ID_src[j]);
if (height > picture_height) picture_height = height;
}
film_height = (int)(picture_height / filmvals.picture_height + 0.5);
filmvals.film_height = film_height;
}
else
{
film_height = filmvals.film_height;
picture_height = (int)(film_height * filmvals.picture_height + 0.5);
}
picture_space = (int)(film_height * filmvals.picture_space + 0.5);
picture_y0 = (film_height - picture_height)/2;
number_height = film_height * filmvals.number_height;
......@@ -855,7 +879,7 @@ draw_number (gint32 layer_ID,
{char buf[32];
GDrawable *drw;
GParam *params;
gint nreturn_vals;
gint nreturn_vals, k, delta, max_delta;
gint32 image_ID, descent;
char *family = filmvals.number_fontf;
......@@ -864,18 +888,32 @@ draw_number (gint32 layer_ID,
drw = gimp_drawable_get (layer_ID);
image_ID = gimp_drawable_image_id (layer_ID);
max_delta = height / 10;
if (max_delta < 1) max_delta = 1;
/* Numbers dont need the descent. Inquire it and move the text down */
params = gimp_run_procedure ("gimp_text_get_extents", &nreturn_vals,
PARAM_STRING, buf,
PARAM_FLOAT, (gfloat)height,
PARAM_INT32, (gint32)0, /* use pixelsize */
PARAM_STRING, "*", /* foundry */
PARAM_STRING, family, /* family */
PARAM_STRING, "*", /* weight */
PARAM_STRING, "*", /* slant */
PARAM_STRING, "*", /* set_width */
PARAM_STRING, "*", /* spacing */
PARAM_END);
for (k = 0; k < max_delta*2 + 1; k++)
{ /* Try different font sizes if inquire of extent failed */
delta = (k+1) / 2;
if ((k & 1) == 0) delta = -delta;
params = gimp_run_procedure ("gimp_text_get_extents", &nreturn_vals,
PARAM_STRING, buf,
PARAM_FLOAT, (gfloat)(height+delta),
PARAM_INT32, (gint32)0, /* use pixelsize */
PARAM_STRING, "*", /* foundry */
PARAM_STRING, family, /* family */
PARAM_STRING, "*", /* weight */
PARAM_STRING, "*", /* slant */
PARAM_STRING, "*", /* set_width */
PARAM_STRING, "*", /* spacing */
PARAM_END);
if (params[0].data.d_status == STATUS_SUCCESS)
{
height += delta;
break;
}
}
if (params[0].data.d_status == STATUS_SUCCESS)
descent = params[4].data.d_int32;
......@@ -1245,6 +1283,17 @@ film_dialog (gint32 image_ID)
gtk_container_border_width (GTK_CONTAINER (vbox), 5);
gtk_container_add (GTK_CONTAINER (frame), vbox);
/* Keep maximum image height */
toggle = gtk_check_button_new_with_label ("Fit height to images");
gtk_box_pack_start (GTK_BOX (vbox), toggle, TRUE, TRUE, 0);
filmint.keep_height = filmvals.keep_height;
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
(GtkSignalFunc) keepheight_toggle_update,
&(filmint.keep_height));
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
filmint.keep_height);
gtk_widget_show (toggle);
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 5);
gtk_table_set_col_spacings (GTK_TABLE (table), 5);
......@@ -1425,6 +1474,9 @@ film_ok_callback (GtkWidget *widget,
filmvals.number_pos[0] = filmint.number_pos[0];
filmvals.number_pos[1] = filmint.number_pos[1];
/* Read keep max. image height */
filmvals.keep_height = filmint.keep_height;
/* Read image list */
num_images = 0;
if (filmint.image_list_film != NULL)
......@@ -1470,6 +1522,22 @@ numbering_toggle_update (GtkWidget *widget,
}
static void
keepheight_toggle_update (GtkWidget *widget,
gpointer data)
{
int *toggle_val;
toggle_val = (int *) data;
*toggle_val = ((GTK_TOGGLE_BUTTON (widget)->active) != 0);
if (filmint.left_entry[0] != NULL)
gtk_widget_set_sensitive (filmint.left_entry[0], *toggle_val == 0);
}
static void
color_select_ok_callback (GtkWidget *widget,
gpointer data)
......
......@@ -26,8 +26,9 @@
* V 1.02, PK, 08-Jun-97: Bug with saving gray images fixed
* V 1.03, PK, 05-Oct-97: Parse rc-file
* V 1.04, PK, 12-Oct-97: No progress bars for non-interactive mode
* V 1.05, nn, 20-Dec-97: Initialize image_ID in run()
*/
static char ident[] = "@(#) GIMP FITS file-plugin v1.04 12-Oct-97";
static char ident[] = "@(#) GIMP FITS file-plugin v1.05 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......
FITS file plugin V1.04 for the GIMP Peter Kirchgessner, 12-Oct-97
FITS file plugin V1.05 for the GIMP Peter Kirchgessner, 23-Dec-97
================================== e-mail: pkirchg@aol.com
WWW : http://members.aol.com/pkirchg
......@@ -19,14 +19,16 @@ you will find the following files:
fits.linux.386.elf.tgz : gzipped tarfile with Linux exectuable
News:
V 1.01:
- Bug with compilation on Irix fixed
V 1.02:
- Bug with saving GRAY-images fixed
V 1.03:
- Parse rc file (changes font for dialogues)
V 1.04:
- no progress bars for non-interactive mode
V 1.05, 23-Dec-97:
Add changes that came with gimp V 0.99.16 (initialize variables)
V 1.04:
no progress bars for non-interactive mode
V 1.03:
Parse rc file (changes font for dialogues)
V 1.02:
Bug with saving GRAY-images fixed
V 1.01:
Bug with compilation on Irix fixed
FITS-reading support
--------------------
......
......@@ -37,10 +37,11 @@
/* */
/* Author : P. Kirchgessner */
/* Date of Gen. : 12-Apr-97 */
/* Last modified : 17-May-97 */
/* Version : 0.10 */
/* Last modified : 20-Dec-97 */
/* Version : 0.11 */
/* Compiler Opt. : */
/* Changes : */
/* #MOD-0001, nn, 20-Dec-97, Initialize some variables */
/* */
/* #END-HDR */
/******************************************************************************/
......@@ -54,9 +55,9 @@
/* */
/******************************************************************************/
#define VERSIO 0.10
#define VERSIO 0.11
/* Identifikation: "@(#) <product> <ver> <dd-mmm-yy>" */
static char ident[] = "@(#) libfits.c 0.10 17-May-97 (%I%)";
static char ident[] = "@(#) libfits.c 0.11 20-Dec-97 (%I%)";
/******************************************************************************/
/* FITS reading/writing library */
......
This diff is collapsed.
PostScript file plugin V1.02 for the GIMP Peter Kirchgessner, 12-Oct-97
PostScript file plugin V1.04 for the GIMP Peter Kirchgessner, 23-Dec-97
========================================= e-mail: pkirchg@aol.com
WWW : http://members.aol.com/pkirchg
......@@ -16,15 +16,21 @@ you will find the following files:
ps.linux.386.elf.tgz : gzipped tarfile with Linux executable
News:
V 1.02 support for anti-aliasing (George White).
no progress bars for non-interactive mode.
new procedure file_ps_load_setargs to set
load arguments non-interactively.
Check for GS_OPTIONS. If not set, use at least "-dSAFER".
V 1.01 parse rc file (changes font in dialogue).
V 1.00 clip everything outside BoundingBox.
support for multi page documents.
PDF input.
V 1.04, 23-Dec-97:
add Encapsulated PostScript output and device independant preview
add achanges that came with gimp V 0.99.16
V 1.02:
support for anti-aliasing (George White).
no progress bars for non-interactive mode.
new procedure file_ps_load_setargs to set
load arguments non-interactively.
Check for GS_OPTIONS. If not set, use at least "-dSAFER".
V 1.01:
parse rc file (changes font in dialogue).
V 1.00:
clip everything outside BoundingBox.
support for multi page documents.
PDF input.
The PostScript file plugin handles reading and writing of PostScript files.
For interpreting PostScript, ghostscript must be installed. The gs-
......@@ -64,6 +70,12 @@ file_ps_load_setargs are:
PARAM_INT32: text antialiasing: 1: none, 2: weak, 4: strong
PARAM_INT32: graphics antialiasing: 1: none, 2: weak, 4: strong
When saving PostScript, Encapsulated PostScript can be choosen.
Also a device independant preview can be added to the output file.
The size of the prview can be choosen, but it can not exceed
the size of the original image. The preview consists of a b/w-bitmap
that shows a representation of the image.
Installation:
To tell the GIMP about the PostScript-file-plugin, copy the ps-executable
to /usr/local/lib/gimp/0.99.x/plug-ins .
......
This diff is collapsed.
......@@ -32,8 +32,9 @@
* V 1.92, PK, 18-May-97: Ignore EOF-error on reading image data
* V 1.93, PK, 05-Oct-97: Parse rc file
* V 1.94, PK, 12-Oct-97: No progress bars for non-interactive mode
* V 1.95, nn, 20-Dec-97: Initialize some variable
*/
static char ident[] = "@(#) GIMP SunRaster file-plugin v1.94 12-Oct-97";
static char ident[] = "@(#) GIMP SunRaster file-plugin v1.95 20-Dec-97";
#include <stdio.h>
#include <stdlib.h>
......
......@@ -43,8 +43,8 @@
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "gtk/gtk.h"
#include "libgimp/gimp.h"
#include <gtk/gtk.h>
#include <libgimp/gimp.h>
#define ENTRY_WIDTH 70
......@@ -58,6 +58,10 @@
/* The number of available functions */
#define N_FUNCTIONS 8
/* I learned that in general PI is not defined in math.h */
/* (Thanks to all who pointed this out.) Now this #define */
/* solves the problem rather brutally but once and for all. */
#define TWIST_PI 3.1415927
/* Identifiers for the distortion function types */
#define FUNCTION_R_r 0
......@@ -324,15 +328,7 @@ static ObjectAndLabel create_slider_with_label(gchar *text,
static void create_functions_menu(GtkWidget *container);
static void create_effects_menu(GtkWidget *container);
static void create_effects_panel(GtkWidget *container,
gchar *text1,