gimp/app/gimprc.h

97 lines
3.3 KiB
C
Raw Normal View History

1997-11-25 06:05:25 +08:00
/* 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.
1997-11-25 06:05:25 +08:00
*/
#ifndef __GIMPRC_H__
#define __GIMPRC_H__
#include <glib.h>
#include "libgimp/gimpunit.h"
#include "apptypes.h"
1997-11-25 06:05:25 +08:00
/* global gimprc variables */
extern char * plug_in_path;
extern char * temp_path;
extern char * swap_path;
extern char * brush_path;
extern char * brush_vbr_path;
1997-11-25 06:05:25 +08:00
extern char * default_brush;
extern char * pattern_path;
extern char * default_pattern;
extern char * palette_path;
extern char * default_palette;
extern char * gradient_path;
extern char * default_gradient;
extern char * pluginrc_path;
Bit of a large checkin this - it's basically three things: 1 - GimpModules Sun Jan 11 00:24:21 GMT 1999 Austin Donnelly <austin@greenend.org.uk> Bit of a large checkin this - it's basically three things: 1 - GimpModules using gmodules to dynamically load and initialise modules at gimp start of day. 2 - Color selectors now register themselves with a color notebook. 3 - progress bars have been cleaned up a bit, so now have progress indictations on all transform tool and gradient fill operations. Not done bucket fill, but that seems to be the next candidate. New directories: * modules/: new directory for dynamically loadable modules. New files: * modules/.cvsignore * modules/Makefile.am * modules/colorsel_gtk.c: GTK color selector wrapped up as a color selector the gimp can use. * app/gimpprogress.[ch]: progress bars within gimp core, either as popups, or in the status bar. This is mainly code moved out of plug-in.c * app/color_notebook.[ch]: color selector notebook, implementing very similar interface to color_select.h so it can be used as a drop-in replacement for it. * libgimp/color_selector.h: API color selectors need to implement to become a page in the color_notebook. * libgimp/gimpmodule.h: API gimp modules need to implement to be initialised by gimp at start of day. Modified files: * Makefile.am: add modules/ to SUBDIRS * libgimp/Makefile.am: install gimpmodule.h and color_selector.h * app/gimprc.[ch]: recognise module-path variable. * gimprc.in: set module-path variable to something sensible (currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules"). * app/Makefile.am: build color notebook and gimpprogress * app/app_procs.c: register internal GIMP color selector with color notebook. * app/asupsample.c: call progress function less frequently for better performance. * app/asupsample.h: progress_func_t typedef moved to gimpprogress.h * app/blend.c: make callbacks to a progress function * app/color_area.c: use a color notebook rather than a color selector * app/color_panel.c: ditto * app/color_select.c: export color selector interface for notebook * app/color_select.h: color_select_init() prototype * app/flip_tool.c: flip the image every time, rather than every second click. * app/interface.c: move progress bar stuff out to gimpprogress.c. Make the code actually work while we're at it. * app/interface.h: move prototypes for progress functions out to gimpprogress.h * app/plug_in.c: load and initialise modules (if possible). Move progress bar handling code out to gimpprogress.c * app/plug_in.h: keep only a gimp_progress * for each plugin, not a whole bunch of GtkWidgets. * app/scale_tool.c * app/rotate_tool.c * app/shear_tool.c * app/perspective_tool.c: progress bar during operation. De-sensitise the dialog to discourage the user from running two transforms in parallel. * app/transform_core.c: recalculate grid coords when bounding box changes. Only initialise the action area of the dialog once, to avoid multiple "ok" / "reset" buttons appearing. Undraw transform tool with correct matrix to get rid of handle remains on screen. Call a progress function as we apply the transform matrix. A few new i18n markups. Invalidate floating selection marching ants after applying matrix. * app/transform_core.h: transform_core_do() takes an optional progress callback argument (and data). * plug-ins/oilify/oilify.c: send progress bar updates after every pixel region, not only if they processed a multiple of 5 pixels (which was quite unlikely, and therefore gave a jerky progress indication).
1999-01-11 08:57:33 +08:00
extern char * module_path;
1997-11-25 06:05:25 +08:00
extern int tile_cache_size;
extern int marching_speed;
extern int last_opened_size;
1997-11-25 06:05:25 +08:00
extern double gamma_val;
extern int transparency_type;
extern int perfectmouse;
1997-11-25 06:05:25 +08:00
extern int transparency_size;
extern int levels_of_undo;
extern int color_cube_shades[];
extern int install_cmap;
extern int cycled_marching_ants;
extern int default_threshold;
extern int stingy_memory_use;
extern int allow_resize_windows;
extern int no_cursor_updating;
extern int preview_size;
extern int nav_preview_size;
1997-11-25 06:05:25 +08:00
extern int show_rulers;
extern GUnit default_units;
extern int show_statusbar;
1997-11-25 06:05:25 +08:00
extern int auto_save;
extern InterpolationType interpolation_type;
1997-11-25 06:05:25 +08:00
extern int confirm_on_close;
extern int default_width, default_height;
extern int default_type;
extern GUnit default_resolution_units;
1999-05-19 01:33:39 +08:00
extern double default_xresolution;
extern double default_yresolution;
extern int save_session_info;
1998-08-13 23:25:41 +08:00
extern int save_device_status;
extern int always_restore_session;
1997-11-25 06:05:25 +08:00
extern int show_tips;
extern int last_tip;
extern int show_tool_tips;
1999-05-19 01:33:39 +08:00
extern double monitor_xres;
extern double monitor_yres;
extern int using_xserver_resolution;
extern int num_processors;
extern char * image_title_format;
First version of per-tool paint options. No PDB interface yet. The tool 1999-04-22 Michael Natterer <mitschel@cs.tu-berlin.de> First version of per-tool paint options. No PDB interface yet. The tool options dialog got rather big when in per-tool mode, so it will probably have to become a notebook. It's not yet 100% consistent. If switched off, everything should behave exactly like before. * app/Makefile.am * app/paint_options.h: new file * app/tool_options.c: PaintOptions gui. Maintain a list of all paint tools' ToolOptions to enable switching between global and per-tool paint options. * app/brush_select.[ch]: changed packing boxes, tables, ... The paint options in the brush selection can be hidden now. Moved create_paint_mode_menu() to paint_options.h and tool_options.c and renamed it to paint_mode_menu_new(). * app/gimage_mask.c * app/gimpbrush.[ch] * app/gimpbrushlist.[ch] * app/paint_core.c: moved gimp_brush_[set|get]_spacing() from gimpbrushlist.[ch] to gimpbrush.[ch]. Moved gimp_brush_[get|set]_[opacity|paint_mode]() to paint_options.h and tool_options.c and renamed them to paint_options_*_*(). They are "global paint options" now. * app/airbrush.c * app/blend.c * app/bucket_fill.c * app/clone.c * app/convolve.c * app/eraser.c * app/ink.c * app/paintbrush.c * app/pencil.c: all paint tools' options are derived from "PaintOptions" now. Opacity and paint mode are obtained through macros which take into account the current paint options mode. * app/buildmenu.h: #include <gtk/gtk.h> * app/color_picker.c * app/text_tool.c: changed spacings. * app/gimprc.[ch]: new gimprc option "global-paint-options" * app/preferences_dialog.c: Added a "Tool Options" page. Code cleanup. Some work on the convenience constructors test site. * app/tools.c: fixed "unused variable" warning.
1999-04-22 22:34:00 +08:00
extern int global_paint_options;
extern int show_indicators;
1999-05-19 01:33:39 +08:00
extern int max_new_image_size;
extern int thumbnail_mode;
1997-11-25 06:05:25 +08:00
/* function prototypes */
void parse_buffers_init (); /* this has to be called before any file
* is parsed
*/
void parse_gimprc (void);
gboolean parse_gimprc_file (char *filename);
void save_gimprc (GList **updated_options, GList **conflicting_options);
char * gimprc_find_token (char *token);
char * gimprc_value_to_str (char *name);
void save_gimprc_strings (gchar *token, gchar *value);
1997-11-25 06:05:25 +08:00
#endif /* __GIMPRC_H__ */