summaryrefslogtreecommitdiffstats
path: root/libgimpbase/gimputils.h
blob: ca7b730dcc3c25544d0bef8fcd41e453ec41b240 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* LIBGIMP - The GIMP Library
 * Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
 *
 * 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
 * Library 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_BASE_H_INSIDE__) && !defined (GIMP_BASE_COMPILATION)
#error "Only <libgimpbase/gimpbase.h> can be included directly."
#endif

#ifndef __GIMP_UTILS_H__
#define __GIMP_UTILS_H__

G_BEGIN_DECLS


gchar         * gimp_utf8_strtrim              (const gchar  *str,
                                                gint          max_chars) G_GNUC_MALLOC;
gchar         * gimp_any_to_utf8               (const gchar  *str,
                                                gssize        len,
                                                const gchar  *warning_format,
                                                ...) G_GNUC_PRINTF (3, 4) G_GNUC_MALLOC;
const gchar   * gimp_filename_to_utf8          (const gchar  *filename);

const gchar   * gimp_file_get_utf8_name        (GFile        *file);
gboolean        gimp_file_has_extension        (GFile        *file,
                                                const gchar  *extension);
gboolean        gimp_file_show_in_file_manager (GFile        *file,
                                                GError      **error);

gchar         * gimp_strip_uline               (const gchar  *str) G_GNUC_MALLOC;
gchar         * gimp_escape_uline              (const gchar  *str) G_GNUC_MALLOC;

gchar         * gimp_canonicalize_identifier   (const gchar  *identifier) G_GNUC_MALLOC;

GimpEnumDesc  * gimp_enum_get_desc             (GEnumClass   *enum_class,
                                                gint          value);
gboolean        gimp_enum_get_value            (GType         enum_type,
                                                gint          value,
                                                const gchar **value_name,
                                                const gchar **value_nick,
                                                const gchar **value_desc,
                                                const gchar **value_help);
const gchar   * gimp_enum_value_get_desc       (GEnumClass   *enum_class,
                                                GEnumValue   *enum_value);
const gchar   * gimp_enum_value_get_help       (GEnumClass   *enum_class,
                                                GEnumValue   *enum_value);
const gchar   * gimp_enum_value_get_abbrev     (GEnumClass   *enum_class,
                                                GEnumValue   *enum_value);

GimpFlagsDesc * gimp_flags_get_first_desc      (GFlagsClass  *flags_class,
                                                guint         value);
gboolean        gimp_flags_get_first_value     (GType         flags_type,
                                                guint         value,
                                                const gchar **value_name,
                                                const gchar **value_nick,
                                                const gchar **value_desc,
                                                const gchar **value_help);
const gchar   * gimp_flags_value_get_desc      (GFlagsClass  *flags_class,
                                                GFlagsValue  *flags_value);
const gchar   * gimp_flags_value_get_help      (GFlagsClass  *flags_class,
                                                GFlagsValue  *flags_value);
const gchar   * gimp_flags_value_get_abbrev    (GFlagsClass  *flags_class,
                                                GFlagsValue  *flags_value);

gboolean        gimp_stack_trace_available     (gboolean      optimal);
gboolean        gimp_stack_trace_print         (const gchar  *prog_name,
                                                gpointer      stream,
                                                gchar       **trace);
void            gimp_stack_trace_query         (const gchar  *prog_name);


G_END_DECLS

#endif  /* __GIMP_UTILS_H__ */