gimp/app/patterns.h
Michael Natterer 0c922cd3b0 app/airbrush.c app/apptypes.h app/brushes_cmds.c
1999-11-14  Michael Natterer  <mitch@gimp.org>

	* app/airbrush.c
	* app/apptypes.h
	* app/brushes_cmds.c
	* tools/pdbgen/pdb/brushes.pdb
	* app/bucket_fill.c
	* app/clone.c
	* app/gimpbrushpipe.c
	* app/paint_core.c
	* app/patterns.h
	* app/patterns_cmds.c
	* tools/pdbgen/pdb/patterns.pdb: removed the GimpBrushP and
	GPatternP types and use ordinary pointers instead.

	The following stuff makes the "no_data" behaviour consistent. As a
	side-effect it should make the gimp work when there are _really_ no
	brushes/patterns/gradients.

	* app/brush_select.c
	* app/pattern_select.c: set the initial brush/pattern name to "No
	Brushes/Patterns available" instead of "Active".

	* app/devices.c: set the device contexts' brush/pattern/gradient
	names if we started with no_data, so we find them on refresh.

	* app/gimpbrushlist.c: set the name of the standard_brush to
	"Standard".

	* app/gimpcontext.c: don't replace the current
	brush/pattern/gradient's name if the new one to be set is the
	standard one. Together with the change in devices.c, this ensures
	that we get what is set in devicerc. Minor fixes.

	* app/gradient.c: changed gradients_init() to work like the other
	data init functions. Only insert a default gradient in the
	gradients list when the editor is opened (this means that the
	gradients now behave like brushes/patterns when we start with
	"no_data").
	New function gradient_update() avoids tons of useless redraws of
	all clist gradient previews whenever the gradient editor wants to
	update it's large preview.

	* app/gradient_select.c: don't segfault when the user tries to
	drag from an empty gradient list.

	* app/patterns.c: set the index of the standard_pattern to -1 to
	indicate that it's not part of the pattern list.
1999-11-14 10:50:19 +00:00

56 lines
2 KiB
C

/* 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.
*/
#ifndef __PATTERNS_H__
#define __PATTERNS_H__
#include <glib.h>
#include <stdio.h>
#include "temp_buf.h"
typedef struct _GPattern GPattern;
struct _GPattern
{
gchar * filename; /* actual filename--pattern's location on disk */
gchar * name; /* pattern's name--for pattern selection dialog */
gint index; /* pattern's index... */
TempBuf * mask; /* the actual mask... */
};
/* global variables */
extern GSList * pattern_list;
extern gint num_patterns;
void patterns_init (gboolean no_data);
void patterns_free (void);
GPattern * patterns_get_standard_pattern (void);
GPattern * pattern_list_get_pattern_by_index (GSList *list,
gint index);
GPattern * pattern_list_get_pattern (GSList *list,
gchar *name);
/* this is useful for pixmap brushes etc. */
gboolean pattern_load (GPattern *pattern,
FILE *fp,
gchar *filename);
void pattern_free (GPattern *pattern);
#endif /* __PATTERNS_H__ */