gimpfileops_pdb.c 7.28 KB
Newer Older
1
/* LIBGIMP - The GIMP Library
2
 * Copyright (C) 1995-2000 Peter Mattis and Spencer Kimball
3 4 5 6 7 8 9 10 11 12 13
 *
 * gimpfileops_pdb.c
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library 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
14
 * Lesser General Public License for more details.
15 16 17 18 19 20 21
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 */

22
/* NOTE: This file is autogenerated by pdbgen.pl */
23

Sven Neumann's avatar
Sven Neumann committed
24 25
#include "config.h"

26
#include "gimp.h"
27

28 29 30 31
/**
 * gimp_file_load:
 * @run_mode: The run mode.
 * @filename: The name of the file to load.
32
 * @raw_filename: The name as entered by the user.
33 34 35 36 37 38 39 40 41 42 43 44 45
 *
 * Loads a file by extension.
 *
 * This procedure invokes the correct file load handler according to
 * the file's extension and/or prefix. The name of the file to load is
 * typically a full pathname, and the name entered is what the user
 * actually typed before prepending a directory path. The reason for
 * this is that if the user types http://www.xcf/~gimp/ he wants to
 * fetch a URL, and the full pathname will not look like a URL.
 *
 * Returns: The output image.
 */
gint32
46 47 48
gimp_file_load (GimpRunMode  run_mode,
		gchar       *filename,
		gchar       *raw_filename)
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gint32 image_ID = -1;

  return_vals = gimp_run_procedure ("gimp_file_load",
				    &nreturn_vals,
				    GIMP_PDB_INT32, run_mode,
				    GIMP_PDB_STRING, filename,
				    GIMP_PDB_STRING, raw_filename,
				    GIMP_PDB_END);

  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
    image_ID = return_vals[1].data.d_image;

  gimp_destroy_params (return_vals, nreturn_vals);

  return image_ID;
}

/**
 * gimp_file_save:
 * @run_mode: The run mode.
 * @image_ID: Input image.
 * @drawable_ID: Drawable to save.
 * @filename: The name of the file to save the image in.
75
 * @raw_filename: The name as entered by the user.
76 77 78 79 80 81 82 83 84 85 86 87 88
 *
 * Saves a file by extension.
 *
 * This procedure invokes the correct file save handler according to
 * the file's extension and/or prefix. The name of the file to save is
 * typically a full pathname, and the name entered is what the user
 * actually typed before prepending a directory path. The reason for
 * this is that if the user types http://www.xcf/~gimp/ she wants to
 * fetch a URL, and the full pathname will not look like a URL.
 *
 * Returns: TRUE on success.
 */
gboolean
89 90 91 92 93
gimp_file_save (GimpRunMode  run_mode,
		gint32       image_ID,
		gint32       drawable_ID,
		gchar       *filename,
		gchar       *raw_filename)
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

  return_vals = gimp_run_procedure ("gimp_file_save",
				    &nreturn_vals,
				    GIMP_PDB_INT32, run_mode,
				    GIMP_PDB_IMAGE, image_ID,
				    GIMP_PDB_DRAWABLE, drawable_ID,
				    GIMP_PDB_STRING, filename,
				    GIMP_PDB_STRING, raw_filename,
				    GIMP_PDB_END);

  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

  gimp_destroy_params (return_vals, nreturn_vals);

  return success;
}

/**
 * gimp_temp_name:
 * @extension: The extension the file will have.
 *
 * Generates a unique filename.
 *
 * Generates a unique filename using the temp path supplied in the
 * user's gimprc.
 *
 * Returns: The new temp filename.
 */
gchar *
gimp_temp_name (gchar *extension)
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gchar *name = NULL;

  return_vals = gimp_run_procedure ("gimp_temp_name",
				    &nreturn_vals,
				    GIMP_PDB_STRING, extension,
				    GIMP_PDB_END);

  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
    name = g_strdup (return_vals[1].data.d_string);

  gimp_destroy_params (return_vals, nreturn_vals);

  return name;
}

146 147 148 149 150 151 152 153 154 155 156 157 158 159
/**
 * gimp_register_magic_load_handler:
 * @procedure_name: The name of the procedure to be used for loading.
 * @extensions: comma separated list of extensions this handler can load (i.e. \"jpg,jpeg\").
 * @prefixes: comma separated list of prefixes this handler can load (i.e. \"http:,ftp:\").
 * @magics: comma separated list of magic file information this handler can load (i.e. \"0,string,GIF\").
 *
 * Registers a file load handler procedure.
 *
 * Registers a procedural database procedure to be called to load files
 * of a particular file format using magic file information.
 *
 * Returns: TRUE on success.
 */
160
gboolean
161
gimp_register_magic_load_handler (gchar *procedure_name,
162 163 164 165
				  gchar *extensions,
				  gchar *prefixes,
				  gchar *magics)
{
166
  GimpParam *return_vals;
167
  gint nreturn_vals;
168
  gboolean success = TRUE;
169 170 171

  return_vals = gimp_run_procedure ("gimp_register_magic_load_handler",
				    &nreturn_vals,
172 173 174 175 176
				    GIMP_PDB_STRING, procedure_name,
				    GIMP_PDB_STRING, extensions,
				    GIMP_PDB_STRING, prefixes,
				    GIMP_PDB_STRING, magics,
				    GIMP_PDB_END);
177

178 179
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

180
  gimp_destroy_params (return_vals, nreturn_vals);
181 182

  return success;
183 184
}

185 186 187 188 189 190 191 192 193 194 195 196 197
/**
 * gimp_register_load_handler:
 * @procedure_name: The name of the procedure to be used for loading.
 * @extensions: comma separated list of extensions this handler can load (i.e. \"jpg,jpeg\").
 * @prefixes: comma separated list of prefixes this handler can load (i.e. \"http:,ftp:\").
 *
 * Registers a file load handler procedure.
 *
 * Registers a procedural database procedure to be called to load files
 * of a particular file format.
 *
 * Returns: TRUE on success.
 */
198
gboolean
199
gimp_register_load_handler (gchar *procedure_name,
200 201 202
			    gchar *extensions,
			    gchar *prefixes)
{
203
  GimpParam *return_vals;
204
  gint nreturn_vals;
205
  gboolean success = TRUE;
206 207 208

  return_vals = gimp_run_procedure ("gimp_register_load_handler",
				    &nreturn_vals,
209 210 211 212
				    GIMP_PDB_STRING, procedure_name,
				    GIMP_PDB_STRING, extensions,
				    GIMP_PDB_STRING, prefixes,
				    GIMP_PDB_END);
213

214 215
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

216
  gimp_destroy_params (return_vals, nreturn_vals);
217 218

  return success;
219 220
}

221 222 223 224 225 226 227 228 229 230 231 232 233
/**
 * gimp_register_save_handler:
 * @procedure_name: The name of the procedure to be used for saving.
 * @extensions: comma separated list of extensions this handler can save (i.e. \"jpg,jpeg\").
 * @prefixes: comma separated list of prefixes this handler can save (i.e. \"http:,ftp:\").
 *
 * Registers a file save handler procedure.
 *
 * Registers a procedural database procedure to be called to save files
 * in a particular file format.
 *
 * Returns: TRUE on success.
 */
234
gboolean
235
gimp_register_save_handler (gchar *procedure_name,
236 237 238
			    gchar *extensions,
			    gchar *prefixes)
{
239
  GimpParam *return_vals;
240
  gint nreturn_vals;
241
  gboolean success = TRUE;
242 243 244

  return_vals = gimp_run_procedure ("gimp_register_save_handler",
				    &nreturn_vals,
245 246 247 248
				    GIMP_PDB_STRING, procedure_name,
				    GIMP_PDB_STRING, extensions,
				    GIMP_PDB_STRING, prefixes,
				    GIMP_PDB_END);
249

250 251
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

252
  gimp_destroy_params (return_vals, nreturn_vals);
253 254

  return success;
255
}