gimp/app/core/gimpviewable.h
Michael Natterer f029c6b59f app/Makefile.am app/apptypes.h new object. Everything that can have a
2001-02-04  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h
	* app/gimpviewable.[ch]: new object. Everything that can have a
	preview will be a GimpViewable. The virtual functions are
	"invalidate_preview", "preview" and "preview_new".

	* app/gimpmarshal.[ch]: new marshaller needed for the viewable.

	* app/gimpdrawable.[ch]
	* app/gimpimage.[ch]: derived from GimpViewable. Removed the
	preview stuff from the public interface.

	Made a single boolean out of GimpImage's "comp_preview_valid"
	array because we have only one copposite preview.

	* app/gimplayer.c: made the preview stuff private.

	* app/gimppreviewcache.[ch]: removed gimp_preview_scale()...

	* app/temp_buf.[ch]: ...and added it as temp_buf_scale() here.

	* app/gimpdrawablepreview.[ch]: is a private method of
	GimpDrawable now.

	* app/channels_dialog.c
	* app/convert.c
	* app/drawable.c
	* app/fileops.c
	* app/floating_sel.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimpchannel.c
	* app/gimpcontainer.c
	* app/gimpdnd.c
	* app/layer_select.c
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/nav_window.c
	* app/palette_import.c
	* app/undo.c
	* app/undo_history.c
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/tools/crop.c
	* app/tools/edit_selection.c
	* app/tools/ink.c
	* app/tools/paint_core.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb
	* po/POTFILES.in: changed accordingly.
2001-02-04 22:10:54 +00:00

66 lines
2.2 KiB
C

/* The GIMP -- an image manipulation program
* Copyright (C) 1995-1997 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 __GIMP_VIEWABLE_H__
#define __GIMP_VIEWABLE_H__
#include "gimpobject.h"
#define GIMP_TYPE_VIEWABLE (gimp_viewable_get_type ())
#define GIMP_VIEWABLE(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_VIEWABLE, GimpViewable))
#define GIMP_VIEWABLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_VIEWABLE, GimpViewableClass))
#define GIMP_IS_VIEWABLE(obj) (GTK_CHECK_TYPE ((obj), GIMP_TYPE_VIEWABLE))
#define GIMP_IS_VIEWABLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_VIEWABLE))
typedef struct _GimpViewableClass GimpViewableClass;
struct _GimpViewable
{
GimpObject parent_instance;
};
struct _GimpViewableClass
{
GimpObjectClass parent_class;
void (* invalidate_preview) (GimpViewable *viewable);
TempBuf * (* preview) (GimpViewable *viewable,
gint width,
gint height);
TempBuf * (* preview_new) (GimpViewable *viewable,
gint width,
gint height);
};
GtkType gimp_viewable_get_type (void);
void gimp_viewable_invalidate_preview (GimpViewable *viewable);
TempBuf * gimp_viewable_preview (GimpViewable *viewable,
gint width,
gint height);
TempBuf * gimp_viewable_preview_new (GimpViewable *viewable,
gint width,
gint height);
#endif /* __GIMP_VIEWABLE_H__ */