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

  1. /* The GIMP -- an image manipulation program
  2.  * Copyright (C) 1995 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 __GIMPDRAWABLEP_H__
  20. #define __GIMPDRAWABLEP_H__
  21.  
  22. #include "gimpobject.h"
  23. #include "gimpdrawable.h"
  24.  
  25.  
  26. struct _GimpDrawable
  27. {
  28.   GimpObject data;
  29.  
  30.   gchar         *name;                  /* name of drawable               */
  31.   TileManager   *tiles;                 /* tiles for drawable data        */
  32.   gboolean       visible;               /* controls visibility            */
  33.   gint           width, height;        /* size of drawable               */
  34.   gint           offset_x, offset_y;    /* offset of layer in image       */
  35.  
  36.   gint           bytes;            /* bytes per pixel                */
  37.   gint           ID;            /* provides a unique ID           */
  38.   guint32        tattoo;        /* provides a perminant ID        */
  39.   GimpImage     *gimage;        /* gimage owner                   */
  40.   GimpImageType  type;            /* type of drawable               */
  41.   gboolean       has_alpha;        /* drawable has alpha             */
  42.  
  43.   ParasiteList  *parasites;             /* Plug-in parasite data          */
  44.  
  45.   /*  Preview variables  */
  46.   GSList        *preview_cache;               /* preview caches of the channel  */
  47.   gboolean       preview_valid;        /* is the preview valid?          */
  48. };
  49.  
  50. struct _GimpDrawableClass
  51. {
  52.   GimpObjectClass parent_class;
  53.  
  54.   void (* invalidate_preview) (GtkObject *);
  55. };
  56.  
  57. typedef struct _GimpDrawableClass GimpDrawableClass;
  58.  
  59. #define GIMP_DRAWABLE_CLASS(klass)     (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_DRAWABLE, GimpDrawableClass))
  60.  
  61. #define GIMP_IS_DRAWABLE_CLASS(klass)  (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_DRAWABLE))
  62.  
  63. void gimp_drawable_configure (GimpDrawable *, GimpImage *,
  64.                   gint, gint, GimpImageType, gchar *);
  65.  
  66. #endif /* __GIMPDRAWABLEP_H__ */
  67.  
  68.