diff options
Diffstat (limited to '')
-rw-r--r-- | devel-docs/libgimpbase/html/libgimpbase-gimputils.html | 1127 |
1 files changed, 1127 insertions, 0 deletions
diff --git a/devel-docs/libgimpbase/html/libgimpbase-gimputils.html b/devel-docs/libgimpbase/html/libgimpbase-gimputils.html new file mode 100644 index 0000000..7f65968 --- /dev/null +++ b/devel-docs/libgimpbase/html/libgimpbase-gimputils.html @@ -0,0 +1,1127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>gimputils: GIMP Base Library Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="GIMP Base Library Reference Manual"> +<link rel="up" href="pt01.html" title="Part I. GIMP Base Library"> +<link rel="prev" href="libgimpbase-gimpunit.html" title="gimpunit"> +<link rel="next" href="libgimpbase-GimpValueArray.html" title="GimpValueArray"> +<meta name="generator" content="GTK-Doc V1.32 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#libgimpbase-gimputils.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="libgimpbase-gimpunit.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="libgimpbase-GimpValueArray.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="libgimpbase-gimputils"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="libgimpbase-gimputils.top_of_page"></a>gimputils</span></h2> +<p>gimputils — Utilities of general interest</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="libgimpbase-gimputils.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_proto_type"> +<col class="functions_proto_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-any-to-utf8" title="gimp_any_to_utf8 ()">gimp_any_to_utf8</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-filename-to-utf8" title="gimp_filename_to_utf8 ()">gimp_filename_to_utf8</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-file-get-utf8-name" title="gimp_file_get_utf8_name ()">gimp_file_get_utf8_name</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gboolean</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-file-has-extension" title="gimp_file_has_extension ()">gimp_file_has_extension</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gboolean</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-file-show-in-file-manager" title="gimp_file_show_in_file_manager ()">gimp_file_show_in_file_manager</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-utf8-strtrim" title="gimp_utf8_strtrim ()">gimp_utf8_strtrim</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-escape-uline" title="gimp_escape_uline ()">gimp_escape_uline</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-strip-uline" title="gimp_strip_uline ()">gimp_strip_uline</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-canonicalize-identifier" title="gimp_canonicalize_identifier ()">gimp_canonicalize_identifier</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="libgimpbase-gimpbasetypes.html#GimpEnumDesc" title="struct GimpEnumDesc"><span class="returnvalue">GimpEnumDesc</span></a> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-enum-get-desc" title="gimp_enum_get_desc ()">gimp_enum_get_desc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gboolean</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-enum-get-value" title="gimp_enum_get_value ()">gimp_enum_get_value</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-enum-value-get-desc" title="gimp_enum_value_get_desc ()">gimp_enum_value_get_desc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-enum-value-get-help" title="gimp_enum_value_get_help ()">gimp_enum_value_get_help</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-enum-value-get-abbrev" title="gimp_enum_value_get_abbrev ()">gimp_enum_value_get_abbrev</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="libgimpbase-gimpbasetypes.html#GimpFlagsDesc" title="struct GimpFlagsDesc"><span class="returnvalue">GimpFlagsDesc</span></a> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-flags-get-first-desc" title="gimp_flags_get_first_desc ()">gimp_flags_get_first_desc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gboolean</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-flags-get-first-value" title="gimp_flags_get_first_value ()">gimp_flags_get_first_value</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-flags-value-get-desc" title="gimp_flags_value_get_desc ()">gimp_flags_value_get_desc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-flags-value-get-help" title="gimp_flags_value_get_help ()">gimp_flags_value_get_help</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">gchar</span> * +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-flags-value-get-abbrev" title="gimp_flags_value_get_abbrev ()">gimp_flags_value_get_abbrev</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gboolean</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-stack-trace-available" title="gimp_stack_trace_available ()">gimp_stack_trace_available</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">gboolean</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-stack-trace-print" title="gimp_stack_trace_print ()">gimp_stack_trace_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="libgimpbase-gimputils.html#gimp-stack-trace-query" title="gimp_stack_trace_query ()">gimp_stack_trace_query</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="libgimpbase-gimputils.description"></a><h2>Description</h2> +<p>Utilities of general interest</p> +</div> +<div class="refsect1"> +<a name="libgimpbase-gimputils.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="gimp-any-to-utf8"></a><h3>gimp_any_to_utf8 ()</h3> +<pre class="programlisting"><span class="returnvalue">gchar</span> * +gimp_any_to_utf8 (<em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>, + <em class="parameter"><code><span class="type">gssize</span> len</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> *warning_format</code></em>, + <em class="parameter"><code>...</code></em>);</pre> +<p>This function takes any string (UTF-8 or not) and always returns a valid +UTF-8 string.</p> +<p>If <em class="parameter"><code>str</code></em> + is valid UTF-8, a copy of the string is returned.</p> +<p>If UTF-8 validation fails, <code class="function">g_locale_to_utf8()</code> is tried and if it +succeeds the resulting string is returned.</p> +<p>Otherwise, the portion of <em class="parameter"><code>str</code></em> + that is UTF-8, concatenated +with "(invalid UTF-8 string)" is returned. If not even the start +of <em class="parameter"><code>str</code></em> + is valid UTF-8, only "(invalid UTF-8 string)" is returned.</p> +<div class="refsect3"> +<a name="gimp-any-to-utf8.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>The string to be converted to UTF-8.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>len</p></td> +<td class="parameter_description"><p>The length of the string, or -1 if the string +is nul-terminated.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>warning_format</p></td> +<td class="parameter_description"><p>The message format for the warning message if conversion +to UTF-8 fails. See the <code class="function"><code class="function">printf()</code></code> +documentation.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>...</p></td> +<td class="parameter_description"><p>The parameters to insert into the format string.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-any-to-utf8.returns"></a><h4>Returns</h4> +<p> The UTF-8 string as described above.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-filename-to-utf8"></a><h3>gimp_filename_to_utf8 ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_filename_to_utf8 (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);</pre> +<p>Convert a filename in the filesystem's encoding to UTF-8 +temporarily. The return value is a pointer to a string that is +guaranteed to be valid only during the current iteration of the +main loop or until the next call to <a class="link" href="libgimpbase-gimputils.html#gimp-filename-to-utf8" title="gimp_filename_to_utf8 ()"><code class="function">gimp_filename_to_utf8()</code></a>.</p> +<p>The only purpose of this function is to provide an easy way to pass +a filename in the filesystem encoding to a function that expects an +UTF-8 encoded filename.</p> +<div class="refsect3"> +<a name="gimp-filename-to-utf8.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>The filename to be converted to UTF-8.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-filename-to-utf8.returns"></a><h4>Returns</h4> +<p> A temporarily valid UTF-8 representation of <em class="parameter"><code>filename</code></em> +. +This string must not be changed or freed.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-file-get-utf8-name"></a><h3>gimp_file_get_utf8_name ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_file_get_utf8_name (<em class="parameter"><code><span class="type">GFile</span> *file</code></em>);</pre> +<p>This function works like <a class="link" href="libgimpbase-gimputils.html#gimp-filename-to-utf8" title="gimp_filename_to_utf8 ()"><code class="function">gimp_filename_to_utf8()</code></a> and returns +a UTF-8 encoded string that does not need to be freed.</p> +<p>It converts a <span class="type">GFile</span>'s path or uri to UTF-8 temporarily. The +return value is a pointer to a string that is guaranteed to be +valid only during the current iteration of the main loop or until +the next call to <a class="link" href="libgimpbase-gimputils.html#gimp-file-get-utf8-name" title="gimp_file_get_utf8_name ()"><code class="function">gimp_file_get_utf8_name()</code></a>.</p> +<p>The only purpose of this function is to provide an easy way to pass +a <span class="type">GFile</span>'s name to a function that expects an UTF-8 encoded string.</p> +<p>See <code class="function">g_file_get_parse_name()</code>.</p> +<div class="refsect3"> +<a name="gimp-file-get-utf8-name.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>file</p></td> +<td class="parameter_description"><p>a <span class="type">GFile</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-file-get-utf8-name.returns"></a><h4>Returns</h4> +<p> A temporarily valid UTF-8 representation of <em class="parameter"><code>file</code></em> +'s name. +This string must not be changed or freed.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-file-has-extension"></a><h3>gimp_file_has_extension ()</h3> +<pre class="programlisting"><span class="returnvalue">gboolean</span> +gimp_file_has_extension (<em class="parameter"><code><span class="type">GFile</span> *file</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> *extension</code></em>);</pre> +<p>This function checks if <em class="parameter"><code>file</code></em> +'s URI ends with <em class="parameter"><code>extension</code></em> +. It behaves +like <code class="function">g_str_has_suffix()</code> on <code class="function">g_file_get_uri()</code>, except that the string +comparison is done case-insensitively using <code class="function">g_ascii_strcasecmp()</code>.</p> +<div class="refsect3"> +<a name="gimp-file-has-extension.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>file</p></td> +<td class="parameter_description"><p>a <span class="type">GFile</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extension</p></td> +<td class="parameter_description"><p>an ASCII extension</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-file-has-extension.returns"></a><h4>Returns</h4> +<p> <code class="literal">TRUE</code> if <em class="parameter"><code>file</code></em> +'s URI ends with <em class="parameter"><code>extension</code></em> +, +<code class="literal">FALSE</code> otherwise.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-file-show-in-file-manager"></a><h3>gimp_file_show_in_file_manager ()</h3> +<pre class="programlisting"><span class="returnvalue">gboolean</span> +gimp_file_show_in_file_manager (<em class="parameter"><code><span class="type">GFile</span> *file</code></em>, + <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> +<p>Shows <em class="parameter"><code>file</code></em> + in the system file manager.</p> +<div class="refsect3"> +<a name="gimp-file-show-in-file-manager.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>file</p></td> +<td class="parameter_description"><p>a <span class="type">GFile</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>error</p></td> +<td class="parameter_description"><p>return location for a <span class="type">GError</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-file-show-in-file-manager.returns"></a><h4>Returns</h4> +<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise. On <code class="literal">FALSE</code>, <em class="parameter"><code>error</code></em> +is set.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-utf8-strtrim"></a><h3>gimp_utf8_strtrim ()</h3> +<pre class="programlisting"><span class="returnvalue">gchar</span> * +gimp_utf8_strtrim (<em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>, + <em class="parameter"><code><span class="type">gint</span> max_chars</code></em>);</pre> +<p>Creates a (possibly trimmed) copy of <em class="parameter"><code>str</code></em> +. The string is cut if it +exceeds <em class="parameter"><code>max_chars</code></em> + characters or on the first newline. The fact +that the string was trimmed is indicated by appending an ellipsis.</p> +<div class="refsect3"> +<a name="gimp-utf8-strtrim.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>an UTF-8 encoded string (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>max_chars</p></td> +<td class="parameter_description"><p>the maximum number of characters before the string get +trimmed</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-utf8-strtrim.returns"></a><h4>Returns</h4> +<p> A (possibly trimmed) copy of <em class="parameter"><code>str</code></em> +which should be freed +using <code class="function">g_free()</code> when it is not needed any longer.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-escape-uline"></a><h3>gimp_escape_uline ()</h3> +<pre class="programlisting"><span class="returnvalue">gchar</span> * +gimp_escape_uline (<em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>);</pre> +<p>This function returns a copy of <em class="parameter"><code>str</code></em> + with all underline converted +to two adjacent underlines. This comes in handy when needing to display +strings with underlines (like filenames) in a place that would convert +them to mnemonics.</p> +<div class="refsect3"> +<a name="gimp-escape-uline.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>Underline infested string (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-escape-uline.returns"></a><h4>Returns</h4> +<p> A (possibly escaped) copy of <em class="parameter"><code>str</code></em> +which should be +freed using <code class="function">g_free()</code> when it is not needed any longer.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-strip-uline"></a><h3>gimp_strip_uline ()</h3> +<pre class="programlisting"><span class="returnvalue">gchar</span> * +gimp_strip_uline (<em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>);</pre> +<p>This function returns a copy of <em class="parameter"><code>str</code></em> + stripped of underline +characters. This comes in handy when needing to strip mnemonics +from menu paths etc.</p> +<p>In some languages, mnemonics are handled by adding the mnemonic +character in brackets (like "File (_F)"). This function recognizes +this construct and removes the whole bracket construction to get +rid of the mnemonic (see bug 157561).</p> +<div class="refsect3"> +<a name="gimp-strip-uline.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>str</p></td> +<td class="parameter_description"><p>underline infested string (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-strip-uline.returns"></a><h4>Returns</h4> +<p> A (possibly stripped) copy of <em class="parameter"><code>str</code></em> +which should be +freed using <code class="function">g_free()</code> when it is not needed any longer.</p> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-canonicalize-identifier"></a><h3>gimp_canonicalize_identifier ()</h3> +<pre class="programlisting"><span class="returnvalue">gchar</span> * +gimp_canonicalize_identifier (<em class="parameter"><code>const <span class="type">gchar</span> *identifier</code></em>);</pre> +<p>Turns any input string into a canonicalized string.</p> +<p>Canonical identifiers are e.g. expected by the PDB for procedure +and parameter names. Every character of the input string that is +not either '-', 'a-z', 'A-Z' or '0-9' will be replaced by a '-'.</p> +<div class="refsect3"> +<a name="gimp-canonicalize-identifier.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>identifier</p></td> +<td class="parameter_description"><p>The identifier string to canonicalize.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-canonicalize-identifier.returns"></a><h4>Returns</h4> +<p> The canonicalized identifier. This is a newly +allocated string that should be freed with <code class="function">g_free()</code> +when no longer needed.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-enum-get-desc"></a><h3>gimp_enum_get_desc ()</h3> +<pre class="programlisting"><a class="link" href="libgimpbase-gimpbasetypes.html#GimpEnumDesc" title="struct GimpEnumDesc"><span class="returnvalue">GimpEnumDesc</span></a> * +gimp_enum_get_desc (<em class="parameter"><code><span class="type">GEnumClass</span> *enum_class</code></em>, + <em class="parameter"><code><span class="type">gint</span> value</code></em>);</pre> +<p>Retrieves <a class="link" href="libgimpbase-gimpbasetypes.html#GimpEnumDesc" title="struct GimpEnumDesc"><span class="type">GimpEnumDesc</span></a> associated with the given value, or <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gimp-enum-get-desc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>enum_class</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value</p></td> +<td class="parameter_description"><p>a value from <em class="parameter"><code>enum_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-enum-get-desc.returns"></a><h4>Returns</h4> +<p> the value's <a class="link" href="libgimpbase-gimpbasetypes.html#GimpEnumDesc" title="struct GimpEnumDesc"><span class="type">GimpEnumDesc</span></a>.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-enum-get-value"></a><h3>gimp_enum_get_value ()</h3> +<pre class="programlisting"><span class="returnvalue">gboolean</span> +gimp_enum_get_value (<em class="parameter"><code><span class="type">GType</span> enum_type</code></em>, + <em class="parameter"><code><span class="type">gint</span> value</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_name</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_nick</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_desc</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_help</code></em>);</pre> +<p>Checks if <em class="parameter"><code>value</code></em> + is valid for the enum registered as <em class="parameter"><code>enum_type</code></em> +. +If the value exists in that enum, its name, nick and its translated +description and help are returned (if <em class="parameter"><code>value_name</code></em> +, <em class="parameter"><code>value_nick</code></em> +, +<em class="parameter"><code>value_desc</code></em> + and <em class="parameter"><code>value_help</code></em> + are not <code class="literal">NULL</code>).</p> +<div class="refsect3"> +<a name="gimp-enum-get-value.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>enum_type</p></td> +<td class="parameter_description"><p>the <span class="type">GType</span> of a registered enum</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value</p></td> +<td class="parameter_description"><p>an integer value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_name</p></td> +<td class="parameter_description"><p>return location for the value's name (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_nick</p></td> +<td class="parameter_description"><p>return location for the value's nick (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_desc</p></td> +<td class="parameter_description"><p>return location for the value's translated description (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_help</p></td> +<td class="parameter_description"><p>return location for the value's translated help (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-enum-get-value.returns"></a><h4>Returns</h4> +<p> <code class="literal">TRUE</code> if <em class="parameter"><code>value</code></em> +is valid for the <em class="parameter"><code>enum_type</code></em> +, +<code class="literal">FALSE</code> otherwise</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-enum-value-get-desc"></a><h3>gimp_enum_value_get_desc ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_enum_value_get_desc (<em class="parameter"><code><span class="type">GEnumClass</span> *enum_class</code></em>, + <em class="parameter"><code><span class="type">GEnumValue</span> *enum_value</code></em>);</pre> +<p>Retrieves the translated description for a given <em class="parameter"><code>enum_value</code></em> +.</p> +<div class="refsect3"> +<a name="gimp-enum-value-get-desc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>enum_class</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>enum_value</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumValue</span> from <em class="parameter"><code>enum_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-enum-value-get-desc.returns"></a><h4>Returns</h4> +<p> the translated description of the enum value</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-enum-value-get-help"></a><h3>gimp_enum_value_get_help ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_enum_value_get_help (<em class="parameter"><code><span class="type">GEnumClass</span> *enum_class</code></em>, + <em class="parameter"><code><span class="type">GEnumValue</span> *enum_value</code></em>);</pre> +<p>Retrieves the translated help for a given <em class="parameter"><code>enum_value</code></em> +.</p> +<div class="refsect3"> +<a name="gimp-enum-value-get-help.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>enum_class</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>enum_value</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumValue</span> from <em class="parameter"><code>enum_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-enum-value-get-help.returns"></a><h4>Returns</h4> +<p> the translated help of the enum value</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-enum-value-get-abbrev"></a><h3>gimp_enum_value_get_abbrev ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_enum_value_get_abbrev (<em class="parameter"><code><span class="type">GEnumClass</span> *enum_class</code></em>, + <em class="parameter"><code><span class="type">GEnumValue</span> *enum_value</code></em>);</pre> +<p>Retrieves the translated abbreviation for a given <em class="parameter"><code>enum_value</code></em> +.</p> +<div class="refsect3"> +<a name="gimp-enum-value-get-abbrev.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>enum_class</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>enum_value</p></td> +<td class="parameter_description"><p>a <span class="type">GEnumValue</span> from <em class="parameter"><code>enum_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-enum-value-get-abbrev.returns"></a><h4>Returns</h4> +<p> the translated abbreviation of the enum value</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-flags-get-first-desc"></a><h3>gimp_flags_get_first_desc ()</h3> +<pre class="programlisting"><a class="link" href="libgimpbase-gimpbasetypes.html#GimpFlagsDesc" title="struct GimpFlagsDesc"><span class="returnvalue">GimpFlagsDesc</span></a> * +gimp_flags_get_first_desc (<em class="parameter"><code><span class="type">GFlagsClass</span> *flags_class</code></em>, + <em class="parameter"><code><span class="type">guint</span> value</code></em>);</pre> +<p>Retrieves the first <a class="link" href="libgimpbase-gimpbasetypes.html#GimpFlagsDesc" title="struct GimpFlagsDesc"><span class="type">GimpFlagsDesc</span></a> that matches the given value, or <code class="literal">NULL</code>.</p> +<div class="refsect3"> +<a name="gimp-flags-get-first-desc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>flags_class</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value</p></td> +<td class="parameter_description"><p>a value from <em class="parameter"><code>flags_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-flags-get-first-desc.returns"></a><h4>Returns</h4> +<p> the value's <a class="link" href="libgimpbase-gimpbasetypes.html#GimpFlagsDesc" title="struct GimpFlagsDesc"><span class="type">GimpFlagsDesc</span></a>.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-flags-get-first-value"></a><h3>gimp_flags_get_first_value ()</h3> +<pre class="programlisting"><span class="returnvalue">gboolean</span> +gimp_flags_get_first_value (<em class="parameter"><code><span class="type">GType</span> flags_type</code></em>, + <em class="parameter"><code><span class="type">guint</span> value</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_name</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_nick</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_desc</code></em>, + <em class="parameter"><code>const <span class="type">gchar</span> **value_help</code></em>);</pre> +<p>Checks if <em class="parameter"><code>value</code></em> + is valid for the flags registered as <em class="parameter"><code>flags_type</code></em> +. +If the value exists in that flags, its name, nick and its +translated description and help are returned (if <em class="parameter"><code>value_name</code></em> +, +<em class="parameter"><code>value_nick</code></em> +, <em class="parameter"><code>value_desc</code></em> + and <em class="parameter"><code>value_help</code></em> + are not <code class="literal">NULL</code>).</p> +<div class="refsect3"> +<a name="gimp-flags-get-first-value.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>flags_type</p></td> +<td class="parameter_description"><p>the <span class="type">GType</span> of registered flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value</p></td> +<td class="parameter_description"><p>an integer value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_name</p></td> +<td class="parameter_description"><p>return location for the value's name (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_nick</p></td> +<td class="parameter_description"><p>return location for the value's nick (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_desc</p></td> +<td class="parameter_description"><p>return location for the value's translated description (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>value_help</p></td> +<td class="parameter_description"><p>return location for the value's translated help (or <code class="literal">NULL</code>)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-flags-get-first-value.returns"></a><h4>Returns</h4> +<p> <code class="literal">TRUE</code> if <em class="parameter"><code>value</code></em> +is valid for the <em class="parameter"><code>flags_type</code></em> +, +<code class="literal">FALSE</code> otherwise</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-flags-value-get-desc"></a><h3>gimp_flags_value_get_desc ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_flags_value_get_desc (<em class="parameter"><code><span class="type">GFlagsClass</span> *flags_class</code></em>, + <em class="parameter"><code><span class="type">GFlagsValue</span> *flags_value</code></em>);</pre> +<p>Retrieves the translated description for a given <em class="parameter"><code>flags_value</code></em> +.</p> +<div class="refsect3"> +<a name="gimp-flags-value-get-desc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>flags_class</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags_value</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsValue</span> from <em class="parameter"><code>flags_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-flags-value-get-desc.returns"></a><h4>Returns</h4> +<p> the translated description of the flags value</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-flags-value-get-help"></a><h3>gimp_flags_value_get_help ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_flags_value_get_help (<em class="parameter"><code><span class="type">GFlagsClass</span> *flags_class</code></em>, + <em class="parameter"><code><span class="type">GFlagsValue</span> *flags_value</code></em>);</pre> +<p>Retrieves the translated help for a given <em class="parameter"><code>flags_value</code></em> +.</p> +<div class="refsect3"> +<a name="gimp-flags-value-get-help.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>flags_class</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags_value</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsValue</span> from <em class="parameter"><code>flags_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-flags-value-get-help.returns"></a><h4>Returns</h4> +<p> the translated help of the flags value</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-2.html#api-index-2.2">2.2</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-flags-value-get-abbrev"></a><h3>gimp_flags_value_get_abbrev ()</h3> +<pre class="programlisting">const <span class="returnvalue">gchar</span> * +gimp_flags_value_get_abbrev (<em class="parameter"><code><span class="type">GFlagsClass</span> *flags_class</code></em>, + <em class="parameter"><code><span class="type">GFlagsValue</span> *flags_value</code></em>);</pre> +<p>Retrieves the translated abbreviation for a given <em class="parameter"><code>flags_value</code></em> +.</p> +<div class="refsect3"> +<a name="gimp-flags-value-get-abbrev.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>flags_class</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsClass</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags_value</p></td> +<td class="parameter_description"><p>a <span class="type">GFlagsValue</span> from <em class="parameter"><code>flags_class</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-flags-value-get-abbrev.returns"></a><h4>Returns</h4> +<p> the translated abbreviation of the flags value</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-stack-trace-available"></a><h3>gimp_stack_trace_available ()</h3> +<pre class="programlisting"><span class="returnvalue">gboolean</span> +gimp_stack_trace_available (<em class="parameter"><code><span class="type">gboolean</span> optimal</code></em>);</pre> +<p>Returns <span class="type">TRUE</span> if we have dependencies to generate backtraces. If +<em class="parameter"><code>optimal</code></em> + is <span class="type">TRUE</span>, the function will return <span class="type">TRUE</span> only when we +are able to generate optimal traces (i.e. with GDB or LLDB); +otherwise we return <span class="type">TRUE</span> even if only <code class="function">backtrace()</code> API is available.</p> +<p>On Win32, we return TRUE if Dr. Mingw is built-in, FALSE otherwise.</p> +<p>Note: this function is not crash-safe, i.e. you should not try to use +it in a callback when the program is already crashing. In such a +case, call <a class="link" href="libgimpbase-gimputils.html#gimp-stack-trace-print" title="gimp_stack_trace_print ()"><code class="function">gimp_stack_trace_print()</code></a> or <a class="link" href="libgimpbase-gimputils.html#gimp-stack-trace-query" title="gimp_stack_trace_query ()"><code class="function">gimp_stack_trace_query()</code></a> +directly.</p> +<div class="refsect3"> +<a name="gimp-stack-trace-available.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>optimal</p></td> +<td class="parameter_description"><p>whether we get optimal traces.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-stack-trace-print"></a><h3>gimp_stack_trace_print ()</h3> +<pre class="programlisting"><span class="returnvalue">gboolean</span> +gimp_stack_trace_print (<em class="parameter"><code>const <span class="type">gchar</span> *prog_name</code></em>, + <em class="parameter"><code><span class="type">gpointer</span> stream</code></em>, + <em class="parameter"><code><span class="type">gchar</span> **trace</code></em>);</pre> +<p>Attempts to generate a stack trace at current code position in +<em class="parameter"><code>prog_name</code></em> +. <em class="parameter"><code>prog_name</code></em> + is mostly a helper and can be set to NULL. +Nevertheless if set, it has to be the current program name (argv[0]). +This function is not meant to generate stack trace for third-party +programs, and will attach the current process id only. +Internally, this function uses <code class="literal">gdb</code> or <code class="literal">lldb</code> if they are available, +or the <code class="function">stacktrace()</code> API on platforms where it is available. It always +fails on Win32.</p> +<p>The stack trace, once generated, will either be printed to <em class="parameter"><code>stream</code></em> + or +returned as a newly allocated string in <em class="parameter"><code>trace</code></em> +, if not <span class="type">NULL</span>.</p> +<p>In some error cases (e.g. segmentation fault), trying to allocate +more memory will trigger more segmentation faults and therefore loop +our error handling (which is just wrong). Therefore printing to a +file description is an implementation without any memory allocation.</p> +<div class="refsect3"> +<a name="gimp-stack-trace-print.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>prog_name</p></td> +<td class="parameter_description"><p>the program to attach to.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>stream</p></td> +<td class="parameter_description"><p>a <span class="type">FILE</span> * stream.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>trace</p></td> +<td class="parameter_description"><p>location to store a newly allocated string of the trace.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="gimp-stack-trace-print.returns"></a><h4>Returns</h4> +<p> <span class="type">TRUE</span> if a stack trace could be generated, <span class="type">FALSE</span> +otherwise.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +<hr> +<div class="refsect2"> +<a name="gimp-stack-trace-query"></a><h3>gimp_stack_trace_query ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +gimp_stack_trace_query (<em class="parameter"><code>const <span class="type">gchar</span> *prog_name</code></em>);</pre> +<p>This is mostly the same as <code class="function">g_on_error_query()</code> except that we use our +own backtrace function, much more complete. +<em class="parameter"><code>prog_name</code></em> + must be the current program name (argv[0]). +It does nothing on Win32.</p> +<div class="refsect3"> +<a name="gimp-stack-trace-query.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>prog_name</p></td> +<td class="parameter_description"><p>the program to attach to.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.32</div> +</body> +</html>
\ No newline at end of file |