2019-08-13 19:59:33 +08:00
|
|
|
/* LIBGIMP - The GIMP Library
|
|
|
|
* Copyright (C) 1995-2000 Peter Mattis and Spencer Kimball
|
|
|
|
*
|
|
|
|
* gimpitem.h
|
|
|
|
* Copyright (C) Jehan
|
|
|
|
*
|
|
|
|
* This library is free software: you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 3 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library 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
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library. If not, see
|
|
|
|
* <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#if !defined (__GIMP_H_INSIDE__) && !defined (GIMP_COMPILATION)
|
|
|
|
#error "Only <libgimp/gimp.h> can be included directly."
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef __GIMP_ITEM_H__
|
|
|
|
#define __GIMP_ITEM_H__
|
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
/* For information look into the C source or the html documentation */
|
|
|
|
|
2019-08-27 22:47:17 +08:00
|
|
|
|
2021-04-06 18:39:52 +08:00
|
|
|
#define GIMP_TYPE_ITEM (gimp_item_get_type ())
|
|
|
|
G_DECLARE_DERIVABLE_TYPE (GimpItem, gimp_item, GIMP, ITEM, GObject)
|
2019-08-13 19:59:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
struct _GimpItemClass
|
|
|
|
{
|
|
|
|
GObjectClass parent_class;
|
|
|
|
|
|
|
|
/* Padding for future expansion */
|
|
|
|
void (*_gimp_reserved1) (void);
|
|
|
|
void (*_gimp_reserved2) (void);
|
|
|
|
void (*_gimp_reserved3) (void);
|
|
|
|
void (*_gimp_reserved4) (void);
|
|
|
|
void (*_gimp_reserved5) (void);
|
|
|
|
void (*_gimp_reserved6) (void);
|
|
|
|
void (*_gimp_reserved7) (void);
|
|
|
|
void (*_gimp_reserved8) (void);
|
|
|
|
};
|
|
|
|
|
2019-08-27 22:47:17 +08:00
|
|
|
|
app, libgimp, pdb, plug-ins: new GimpGroupLayer class in libgimp.
Also:
- renaming gimp_layer_group_new() to gimp_group_layer_new() in order to keep the
same name as in core code (i.e. GimpGroupLayer, not GimpLayerGroup).
- renaming gimp_image_merge_layer_group() to gimp_group_layer_merge()
- new functions: gimp_procedure_add_group_layer_argument(),
gimp_procedure_add_group_layer_aux_argument() and
gimp_procedure_add_group_layer_return_value().
This can be tested, e.g. in Python with these calls:
```py
i = Gimp.get_images()[0]
g = Gimp.GroupLayer.new(i, "hello")
i.insert_layer(g, None, 1)
g2 = Gimp.GroupLayer.new(i, "world")
i.insert_layer(g2, g, 1)
g.merge()
```
This was work started long ago, stored in an old stash which I finally
finish now! :-)
2024-07-06 23:24:11 +08:00
|
|
|
gint32 gimp_item_get_id (GimpItem *item);
|
|
|
|
GimpItem * gimp_item_get_by_id (gint32 item_id);
|
|
|
|
|
|
|
|
gboolean gimp_item_is_valid (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_drawable (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_layer (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_text_layer (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_group_layer (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_channel (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_layer_mask (GimpItem *item);
|
|
|
|
gboolean gimp_item_is_selection (GimpItem *item);
|
2024-07-09 07:39:51 +08:00
|
|
|
gboolean gimp_item_is_path (GimpItem *item);
|
2019-09-03 17:10:43 +08:00
|
|
|
|
|
|
|
GList * gimp_item_list_children (GimpItem *item);
|
2019-08-14 17:08:42 +08:00
|
|
|
|
2019-08-13 19:59:33 +08:00
|
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|
|
|
|
#endif /* __GIMP_ITEM_H__ */
|