Files
gimp/devel-docs/libgimp/html/libgimp-gimpundo.html
2010-08-11 01:21:23 -04:00

312 lines
13 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gimpundo</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
<link rel="start" href="index.html" title="GIMP Library Reference Manual">
<link rel="up" href="libgimp-image.html" title="Manupulating Images and their Properties">
<link rel="prev" href="libgimp-gimptools.html" title="gimptools">
<link rel="next" href="libgimp-gimpvectors.html" title="gimpvectors">
<meta name="generator" content="GTK-Doc V1.8 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="libgimp.html" title="Part&#160;I.&#160;GIMP Library">
<link rel="chapter" href="libgimp-general.html" title="Functions not Related to Specific Images">
<link rel="chapter" href="libgimp-image.html" title="Manupulating Images and their Properties">
<link rel="chapter" href="libgimp-data.html" title="Data Objects">
<link rel="chapter" href="libgimp-selectors.html" title="Controlling the Core's Selection Dialogs">
<link rel="part" href="libgimpui.html" title="Part&#160;II.&#160;GIMP User Interface Library">
<link rel="chapter" href="libgimpui-hierarchy.html" title="Object Hierarchy">
<link rel="index" href="libgimp-index.html" title="Index">
<link rel="index" href="libgimp-index-new-in-2-2.html" title="Index of new symbols in GIMP 2.2">
<link rel="index" href="libgimp-index-new-in-2-4.html" title="Index of new symbols in GIMP 2.4">
<link rel="index" href="libgimp-index-deprecated.html" title="Index of deprecated symbols">
</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="2">
<tr valign="middle">
<td><a accesskey="p" href="libgimp-gimptools.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="libgimp-image.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GIMP Library Reference Manual</th>
<td><a accesskey="n" href="libgimp-gimpvectors.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2579668" class="shortcut">Top</a>
&#160;|&#160;
<a href="#id2676502" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="libgimp-gimpundo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2579668"></a><span class="refentrytitle">gimpundo</span>
</h2>
<p>gimpundo &#8212; Control of undo/redo.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-group-start">gimp_image_undo_group_start</a> (gint32 image_ID);
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-group-end">gimp_image_undo_group_end</a> (gint32 image_ID);
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-is-enabled">gimp_image_undo_is_enabled</a> (gint32 image_ID);
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-disable">gimp_image_undo_disable</a> (gint32 image_ID);
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-enable">gimp_image_undo_enable</a> (gint32 image_ID);
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-freeze">gimp_image_undo_freeze</a> (gint32 image_ID);
gboolean <a href="libgimp-gimpundo.html#gimp-image-undo-thaw">gimp_image_undo_thaw</a> (gint32 image_ID);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2676502"></a><h2>Description</h2>
<p>
Control of undo/redo.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2676518"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2676528"></a><h3>
<a name="gimp-image-undo-group-start"></a>gimp_image_undo_group_start ()</h3>
<a class="indexterm" name="id2676540"></a><pre class="programlisting">gboolean gimp_image_undo_group_start (gint32 image_ID);</pre>
<p>
Starts a group undo.
</p>
<p>
This function is used to start a group undo--necessary for logically
combining two or more undo operations into a single operation. This
call must be used in conjunction with a <a href="libgimp-gimpundo.html#gimp-image-undo-group-end"><code class="function">gimp_image_undo_group_end()</code></a>
call.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The ID of the image in which to open an undo group.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE on success.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2676615"></a><h3>
<a name="gimp-image-undo-group-end"></a>gimp_image_undo_group_end ()</h3>
<a class="indexterm" name="id2676626"></a><pre class="programlisting">gboolean gimp_image_undo_group_end (gint32 image_ID);</pre>
<p>
Finish a group undo.
</p>
<p>
This function must be called once for each
<a href="libgimp-gimpundo.html#gimp-image-undo-group-start"><code class="function">gimp_image_undo_group_start()</code></a> call that is made.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The ID of the image in which to close an undo group.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE on success.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2676699"></a><h3>
<a name="gimp-image-undo-is-enabled"></a>gimp_image_undo_is_enabled ()</h3>
<a class="indexterm" name="id2676710"></a><pre class="programlisting">gboolean gimp_image_undo_is_enabled (gint32 image_ID);</pre>
<p>
Check if the image's undo stack is enabled.
</p>
<p>
This procedure checks if the image's undo stack is currently enabled
or disabled. This is useful when several plugins or scripts call
each other and want to check if their caller has already used
<a href="libgimp-gimpundo.html#gimp-image-undo-disable"><code class="function">gimp_image_undo_disable()</code></a> or <a href="libgimp-gimpundo.html#gimp-image-undo-freeze"><code class="function">gimp_image_undo_freeze()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The image.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE if undo is enabled for this image.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2667767"></a><h3>
<a name="gimp-image-undo-disable"></a>gimp_image_undo_disable ()</h3>
<a class="indexterm" name="id2667778"></a><pre class="programlisting">gboolean gimp_image_undo_disable (gint32 image_ID);</pre>
<p>
Disable the image's undo stack.
</p>
<p>
This procedure disables the image's undo stack, allowing subsequent
operations to ignore their undo steps. This is generally called in
conjunction with <a href="libgimp-gimpundo.html#gimp-image-undo-enable"><code class="function">gimp_image_undo_enable()</code></a> to temporarily disable an
image undo stack. This is advantageous because saving undo steps can
be time and memory intensive.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The image.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE if the image undo has been disabled.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2667854"></a><h3>
<a name="gimp-image-undo-enable"></a>gimp_image_undo_enable ()</h3>
<a class="indexterm" name="id2667865"></a><pre class="programlisting">gboolean gimp_image_undo_enable (gint32 image_ID);</pre>
<p>
Enable the image's undo stack.
</p>
<p>
This procedure enables the image's undo stack, allowing subsequent
operations to store their undo steps. This is generally called in
conjunction with <a href="libgimp-gimpundo.html#gimp-image-undo-disable"><code class="function">gimp_image_undo_disable()</code></a> to temporarily disable an
image undo stack.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The image.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE if the image undo has been enabled.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2667939"></a><h3>
<a name="gimp-image-undo-freeze"></a>gimp_image_undo_freeze ()</h3>
<a class="indexterm" name="id2667950"></a><pre class="programlisting">gboolean gimp_image_undo_freeze (gint32 image_ID);</pre>
<p>
Freeze the image's undo stack.
</p>
<p>
This procedure freezes the image's undo stack, allowing subsequent
operations to ignore their undo steps. This is generally called in
conjunction with <a href="libgimp-gimpundo.html#gimp-image-undo-thaw"><code class="function">gimp_image_undo_thaw()</code></a> to temporarily disable an
image undo stack. This is advantageous because saving undo steps can
be time and memory intensive. <a href="libgimp-gimpundo.html#gimp-image-undo-freeze"><code class="function">gimp_image_undo_freeze()</code></a> /
<a href="libgimp-gimpundo.html#gimp-image-undo-thaw"><code class="function">gimp_image_undo_thaw()</code></a> and <a href="libgimp-gimpundo.html#gimp-image-undo-disable"><code class="function">gimp_image_undo_disable()</code></a> /
<a href="libgimp-gimpundo.html#gimp-image-undo-enable"><code class="function">gimp_image_undo_enable()</code></a> differ in that the former does not free up
all undo steps when undo is thawed, so is more suited to interactive
in-situ previews. It is important in this case that the image is
back to the same state it was frozen in before thawing, else 'undo'
behaviour is undefined.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The image.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE if the image undo has been frozen.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2668066"></a><h3>
<a name="gimp-image-undo-thaw"></a>gimp_image_undo_thaw ()</h3>
<a class="indexterm" name="id2668077"></a><pre class="programlisting">gboolean gimp_image_undo_thaw (gint32 image_ID);</pre>
<p>
Thaw the image's undo stack.
</p>
<p>
This procedure thaws the image's undo stack, allowing subsequent
operations to store their undo steps. This is generally called in
conjunction with <a href="libgimp-gimpundo.html#gimp-image-undo-freeze"><code class="function">gimp_image_undo_freeze()</code></a> to temporarily freeze an
image undo stack. <a href="libgimp-gimpundo.html#gimp-image-undo-thaw"><code class="function">gimp_image_undo_thaw()</code></a> does NOT free the undo
stack as <a href="libgimp-gimpundo.html#gimp-image-undo-enable"><code class="function">gimp_image_undo_enable()</code></a> does, so is suited for situations
where one wishes to leave the undo stack in the same state in which
one found it despite non-destructively playing with the image in the
meantime. An example would be in-situ plugin previews. Balancing
freezes and thaws and ensuring image consistancy is the
responsibility of the caller.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>image_ID</code></em>&#160;:</span></td>
<td> The image.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> TRUE if the image undo has been thawed.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</body>
</html>