home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2002 April / pcpro0402.iso / essentials / graphics / Gimp / gimp-src-20001226.exe / src / gimp / app / gimpobject.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-12-20  |  1.7 KB  |  59 lines

  1. /* The GIMP -- an image manipulation program
  2.  * Copyright (C) 1995-1997 Spencer Kimball and Peter Mattis
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify
  5.  * it under the terms of the GNU General Public License as published by
  6.  * the Free Software Foundation; either version 2 of the License, or
  7.  * (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17.  */
  18.  
  19. #ifndef __GIMP_OBJECT_H__
  20. #define __GIMP_OBJECT_H__
  21.  
  22.  
  23. #include <gtk/gtk.h>
  24.  
  25.  
  26. #define GIMP_TYPE_OBJECT    gimp_object_get_type ()
  27. #define GIMP_OBJECT(obj)    GTK_CHECK_CAST (obj, GIMP_TYPE_OBJECT, GimpObject)
  28. #define GIMP_IS_OBJECT(obj) GTK_CHECK_TYPE (obj, GIMP_TYPE_OBJECT)
  29. #define GIMP_OBJECT_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, GIMP_TYPE_OBJECT, GimpObjectClass)
  30.  
  31.  
  32. struct _GimpObject
  33. {
  34.   GtkObject object;
  35. };
  36.  
  37. typedef struct
  38. {
  39.   GtkObjectClass parent_class;
  40. } GimpObjectClass;
  41.  
  42.  
  43. #define GIMP_TYPE_INIT(typevar, obtype, classtype, obinit, classinit, parent) \
  44. if(!typevar){ \
  45.     GtkTypeInfo _info={#obtype, \
  46.                sizeof(obtype), \
  47.                sizeof(classtype), \
  48.                (GtkClassInitFunc)classinit, \
  49.                (GtkObjectInitFunc)obinit, \
  50.                NULL, NULL, NULL}; \
  51.     typevar=gtk_type_unique(parent, &_info); \
  52. }
  53.  
  54.  
  55. GtkType  gimp_object_get_type (void);
  56.  
  57.  
  58. #endif  /* __GIMP_OBJECT_H__ */
  59.