1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995-1997 Spencer Kimball and Peter Mattis 3 * 4 * gimpitemstack.h 5 * Copyright (C) 2008 Michael Natterer <mitch@gimp.org> 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <https://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef __GIMP_ITEM_STACK_H__ 22 #define __GIMP_ITEM_STACK_H__ 23 24 #include "gimpfilterstack.h" 25 26 27 #define GIMP_TYPE_ITEM_STACK (gimp_item_stack_get_type ()) 28 #define GIMP_ITEM_STACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_ITEM_STACK, GimpItemStack)) 29 #define GIMP_ITEM_STACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_ITEM_STACK, GimpItemStackClass)) 30 #define GIMP_IS_ITEM_STACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_ITEM_STACK)) 31 #define GIMP_IS_ITEM_STACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_ITEM_STACK)) 32 33 34 typedef struct _GimpItemStackClass GimpItemStackClass; 35 36 struct _GimpItemStack 37 { 38 GimpFilterStack parent_instance; 39 }; 40 41 struct _GimpItemStackClass 42 { 43 GimpFilterStackClass parent_class; 44 }; 45 46 47 GType gimp_item_stack_get_type (void) G_GNUC_CONST; 48 GimpContainer * gimp_item_stack_new (GType item_type); 49 50 gint gimp_item_stack_get_n_items (GimpItemStack *stack); 51 gboolean gimp_item_stack_is_flat (GimpItemStack *stack); 52 GList * gimp_item_stack_get_item_iter (GimpItemStack *stack); 53 GList * gimp_item_stack_get_item_list (GimpItemStack *stack); 54 GimpItem * gimp_item_stack_get_item_by_tattoo (GimpItemStack *stack, 55 GimpTattoo tattoo); 56 GimpItem * gimp_item_stack_get_item_by_path (GimpItemStack *stack, 57 GList *path); 58 GimpItem * gimp_item_stack_get_parent_by_path (GimpItemStack *stack, 59 GList *path, 60 gint *index); 61 62 void gimp_item_stack_invalidate_previews (GimpItemStack *stack); 63 void gimp_item_stack_profile_changed (GimpItemStack *stack); 64 65 66 #endif /* __GIMP_ITEM_STACK_H__ */ 67