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

2296 lines
88 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>gimpdrawabletransform</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<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-gimpdrawable.html" title="gimpdrawable">
<link rel="next" href="libgimp-gimpedit.html" title="gimpedit">
<meta name="generator" content="GTK-Doc V1.9 (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-gimpdrawable.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-gimpedit.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="#id2597468" class="shortcut">Top</a>
&#160;|&#160;
<a href="#id2650030" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="libgimp-gimpdrawabletransform"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2597468"></a><span class="refentrytitle">gimpdrawabletransform</span>
</h2>
<p>gimpdrawabletransform</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-flip-simple">gimp_drawable_transform_flip_simple</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpOrientationType">GimpOrientationType</a> flip_type,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> axis,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-flip">gimp_drawable_transform_flip</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-flip-default">gimp_drawable_transform_flip_default</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-perspective">gimp_drawable_transform_perspective</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x3,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y3,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-perspective-default">gimp_drawable_transform_perspective_default</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x3,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y3,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-rotate-simple">gimp_drawable_transform_rotate_simple</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpRotationType">GimpRotationType</a> rotate_type,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_y,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-rotate">gimp_drawable_transform_rotate</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_y,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-rotate-default">gimp_drawable_transform_rotate_default</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_y,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-scale">gimp_drawable_transform_scale</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-scale-default">gimp_drawable_transform_scale_default</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-shear">gimp_drawable_transform_shear</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpOrientationType">GimpOrientationType</a> shear_type,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> magnitude,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-shear-default">gimp_drawable_transform_shear_default</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpOrientationType">GimpOrientationType</a> shear_type,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> magnitude,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-2d">gimp_drawable_transform_2d</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_y,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-2d-default">gimp_drawable_transform_2d_default</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_y,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-matrix">gimp_drawable_transform_matrix</a> (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_2,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-matrix-default">gimp_drawable_transform_matrix_default</a>
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_2,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2650030"></a><h2>Description</h2>
<p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2650044"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2650053"></a><h3>
<a name="gimp-drawable-transform-flip-simple"></a>gimp_drawable_transform_flip_simple ()</h3>
<a class="indexterm" name="id2650066"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_flip_simple (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpOrientationType">GimpOrientationType</a> flip_type,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> axis,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);</pre>
<p>
Flip the specified drawable either vertically or horizontally.
</p>
<p>
This procedure flips the specified drawable if no selection exists.
If a selection exists, the portion of the drawable which lies under
the selection is cut from the drawable and made into a floating
selection which is then flipped. If auto_center is set to TRUE, the
flip is around the selection's center. Otherwise, the coordinate of
the axis needs to be specified. The return value is the ID of the
flipped drawable. If there was no selection, this will be equal to
the drawable ID supplied as input. Otherwise, this will be the newly
created and flipped drawable.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flip_type</code></em>&#160;:</span></p></td>
<td> Type of flip.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>auto_center</code></em>&#160;:</span></p></td>
<td> Whether to automatically position the axis in the selection center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>axis</code></em>&#160;:</span></p></td>
<td> coord. of flip axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> Whether to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The flipped drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2650218"></a><h3>
<a name="gimp-drawable-transform-flip"></a>gimp_drawable_transform_flip ()</h3>
<a class="indexterm" name="id2650232"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_flip (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);</pre>
<p>
Flip the specified drawable around a given line.
</p>
<p>
This procedure flips the specified drawable if no selection exists.
If a selection exists, the portion of the drawable which lies under
the selection is cut from the drawable and made into a floating
selection which is then flipped. The axis to flip around is
specified by specifying two points from that line. The return value
is the ID of the flipped drawable. If there was no selection, this
will be equal to the drawable ID supplied as input. Otherwise, this
will be the newly created and flipped drawable. The clip results
parameter specifies wheter current selection will affect the
transform.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
<td> horz. coord. of one end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
<td> vert. coord. of one end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x1</code></em>&#160;:</span></p></td>
<td> horz. coord. of other end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y1</code></em>&#160;:</span></p></td>
<td> vert. coord. of other end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> Whether to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The flipped drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2650485"></a><h3>
<a name="gimp-drawable-transform-flip-default"></a>gimp_drawable_transform_flip_default ()</h3>
<a class="indexterm" name="id2650500"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_flip_default
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);</pre>
<p>
Flip the specified drawable around a given line.
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-flip"><code class="function">gimp_drawable_transform_flip()</code></a> which
uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
<td> horz. coord. of one end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
<td> vert. coord. of one end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x1</code></em>&#160;:</span></p></td>
<td> horz. coord. of other end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y1</code></em>&#160;:</span></p></td>
<td> vert. coord. of other end of axis.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> Whether to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The flipped drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2650696"></a><h3>
<a name="gimp-drawable-transform-perspective"></a>gimp_drawable_transform_perspective ()</h3>
<a class="indexterm" name="id2650711"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_perspective (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x3,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y3,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Perform a possibly non-affine transformation on the specified
drawable, with extra parameters.
</p>
<p>
This procedure performs a possibly non-affine transformation on the
specified drawable by allowing the corners of the original bounding
box to be arbitrarily remapped to any values. The specified drawable
is remapped if no selection exists. However, if a selection exists,
the portion of the drawable which lies under the selection is cut
from the drawable and made into a floating selection which is then
remapped as specified. The return value is the ID of the remapped
drawable. If there was no selection, this will be equal to the
drawable ID supplied as input. Otherwise, this will be the newly
created and remapped drawable. The 4 coordinates specify the new
locations of each corner of the original bounding box. By specifying
these values, any affine transformation (rotation, scaling,
translation) can be affected. Additionally, these values can be
specified such that the resulting transformed drawable will appear
to have been projected via a perspective transform.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
<td> The new x coordinate of upper-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
<td> The new y coordinate of upper-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x1</code></em>&#160;:</span></p></td>
<td> The new x coordinate of upper-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y1</code></em>&#160;:</span></p></td>
<td> The new y coordinate of upper-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x2</code></em>&#160;:</span></p></td>
<td> The new x coordinate of lower-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y2</code></em>&#160;:</span></p></td>
<td> The new y coordinate of lower-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x3</code></em>&#160;:</span></p></td>
<td> The new x coordinate of lower-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y3</code></em>&#160;:</span></p></td>
<td> The new y coordinate of lower-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The newly mapped drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2651056"></a><h3>
<a name="gimp-drawable-transform-perspective-default"></a>gimp_drawable_transform_perspective_default ()</h3>
<a class="indexterm" name="id2651072"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_perspective_default
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x3,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y3,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Perform a possibly non-affine transformation on the specified
drawable, with extra parameters.
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-perspective"><code class="function">gimp_drawable_transform_perspective()</code></a>
which uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
<td> The new x coordinate of upper-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
<td> The new y coordinate of upper-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x1</code></em>&#160;:</span></p></td>
<td> The new x coordinate of upper-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y1</code></em>&#160;:</span></p></td>
<td> The new y coordinate of upper-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x2</code></em>&#160;:</span></p></td>
<td> The new x coordinate of lower-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y2</code></em>&#160;:</span></p></td>
<td> The new y coordinate of lower-left corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x3</code></em>&#160;:</span></p></td>
<td> The new x coordinate of lower-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y3</code></em>&#160;:</span></p></td>
<td> The new y coordinate of lower-right corner of original bounding box.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The newly mapped drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2651353"></a><h3>
<a name="gimp-drawable-transform-rotate-simple"></a>gimp_drawable_transform_rotate_simple ()</h3>
<a class="indexterm" name="id2651368"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_rotate_simple
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpRotationType">GimpRotationType</a> rotate_type,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_y,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> clip_result);</pre>
<p>
Rotate the specified drawable about given coordinates through the
specified angle.
</p>
<p>
This function rotates the specified drawable if no selection exists.
If a selection exists, the portion of the drawable which lies under
the selection is cut from the drawable and made into a floating
selection which is then rotated by the specified amount. The return
value is the ID of the rotated drawable. If there was no selection,
this will be equal to the drawable ID supplied as input. Otherwise,
this will be the newly created and rotated drawable.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>rotate_type</code></em>&#160;:</span></p></td>
<td> Type of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>auto_center</code></em>&#160;:</span></p></td>
<td> Whether to automatically rotate around the selection center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>center_x</code></em>&#160;:</span></p></td>
<td> The hor. coordinate of the center of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>center_y</code></em>&#160;:</span></p></td>
<td> The vert. coordinate of the center of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> Whether to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The rotated drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2651541"></a><h3>
<a name="gimp-drawable-transform-rotate"></a>gimp_drawable_transform_rotate ()</h3>
<a class="indexterm" name="id2651555"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_rotate (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_y,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Rotate the specified drawable about given coordinates through the
specified angle.
</p>
<p>
This function rotates the specified drawable if no selection exists.
If a selection exists, the portion of the drawable which lies under
the selection is cut from the drawable and made into a floating
selection which is then rotated by the specified amount. The return
value is the ID of the rotated drawable. If there was no selection,
this will be equal to the drawable ID supplied as input. Otherwise,
this will be the newly created and rotated drawable.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>angle</code></em>&#160;:</span></p></td>
<td> The angle of rotation (radians).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>auto_center</code></em>&#160;:</span></p></td>
<td> Whether to automatically rotate around the selection center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>center_x</code></em>&#160;:</span></p></td>
<td> The hor. coordinate of the center of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>center_y</code></em>&#160;:</span></p></td>
<td> The vert. coordinate of the center of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The rotated drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2651808"></a><h3>
<a name="gimp-drawable-transform-rotate-default"></a>gimp_drawable_transform_rotate_default ()</h3>
<a class="indexterm" name="id2651823"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_rotate_default
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> auto_center,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> center_y,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Rotate the specified drawable about given coordinates through the
specified angle.
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-rotate"><code class="function">gimp_drawable_transform_rotate()</code></a>
which uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>angle</code></em>&#160;:</span></p></td>
<td> The angle of rotation (radians).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>auto_center</code></em>&#160;:</span></p></td>
<td> Whether to automatically rotate around the selection center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>center_x</code></em>&#160;:</span></p></td>
<td> The hor. coordinate of the center of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>center_y</code></em>&#160;:</span></p></td>
<td> The vert. coordinate of the center of rotation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The rotated drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2652021"></a><h3>
<a name="gimp-drawable-transform-scale"></a>gimp_drawable_transform_scale ()</h3>
<a class="indexterm" name="id2652036"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_scale (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Scale the specified drawable with extra parameters
</p>
<p>
This procedure scales the specified drawable if no selection exists.
If a selection exists, the portion of the drawable which lies under
the selection is cut from the drawable and made into a floating
selection which is then scaled by the specified amount. The return
value is the ID of the scaled drawable. If there was no selection,
this will be equal to the drawable ID supplied as input. Otherwise,
this will be the newly created and scaled drawable.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
<td> The new x coordinate of the upper-left corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
<td> The new y coordinate of the upper-left corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x1</code></em>&#160;:</span></p></td>
<td> The new x coordinate of the lower-right corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y1</code></em>&#160;:</span></p></td>
<td> The new y coordinate of the lower-right corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The scaled drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2652289"></a><h3>
<a name="gimp-drawable-transform-scale-default"></a>gimp_drawable_transform_scale_default ()</h3>
<a class="indexterm" name="id2652304"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_scale_default
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> x1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> y1,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Scale the specified drawable with extra parameters
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-scale"><code class="function">gimp_drawable_transform_scale()</code></a> which
uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
<td> The new x coordinate of the upper-left corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
<td> The new y coordinate of the upper-left corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x1</code></em>&#160;:</span></p></td>
<td> The new x coordinate of the lower-right corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y1</code></em>&#160;:</span></p></td>
<td> The new y coordinate of the lower-right corner of the scaled region.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The scaled drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2652503"></a><h3>
<a name="gimp-drawable-transform-shear"></a>gimp_drawable_transform_shear ()</h3>
<a class="indexterm" name="id2652517"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_shear (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpOrientationType">GimpOrientationType</a> shear_type,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> magnitude,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Shear the specified drawable about its center by the specified
magnitude, with extra parameters.
</p>
<p>
This procedure shears the specified drawable if no selection exists.
If a selection exists, the portion of the drawable which lies under
the selection is cut from the drawable and made into a floating
selection which is then sheard by the specified amount. The return
value is the ID of the sheard drawable. If there was no selection,
this will be equal to the drawable ID supplied as input. Otherwise,
this will be the newly created and sheard drawable. The shear type
parameter indicates whether the shear will be applied horizontally
or vertically. The magnitude can be either positive or negative and
indicates the extent (in pixels) to shear by.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>shear_type</code></em>&#160;:</span></p></td>
<td> Type of shear.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>magnitude</code></em>&#160;:</span></p></td>
<td> The magnitude of the shear.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The sheared drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2652732"></a><h3>
<a name="gimp-drawable-transform-shear-default"></a>gimp_drawable_transform_shear_default ()</h3>
<a class="indexterm" name="id2652747"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_shear_default
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a class="link" href="libgimp-gimpenums.html#GimpOrientationType">GimpOrientationType</a> shear_type,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> magnitude,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Shear the specified drawable about its center by the specified
magnitude, with extra parameters.
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-shear"><code class="function">gimp_drawable_transform_shear()</code></a> which
uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>shear_type</code></em>&#160;:</span></p></td>
<td> Type of shear.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>magnitude</code></em>&#160;:</span></p></td>
<td> The magnitude of the shear.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The sheared drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2652904"></a><h3>
<a name="gimp-drawable-transform-2d"></a>gimp_drawable_transform_2d ()</h3>
<a class="indexterm" name="id2652917"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_2d (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_y,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Transform the specified drawable in 2d, with extra parameters.
</p>
<p>
This procedure transforms the specified drawable if no selection
exists. If a selection exists, the portion of the drawable which
lies under the selection is cut from the drawable and made into a
floating selection which is then transformed. The transformation is
done by scaling the image by the x and y scale factors about the
point (source_x, source_y), then rotating around the same point,
then translating that point to the new position (dest_x, dest_y).
The return value is the ID of the rotated drawable. If there was no
selection, this will be equal to the drawable ID supplied as input.
Otherwise, this will be the newly created and transformed drawable.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>source_x</code></em>&#160;:</span></p></td>
<td> X coordinate of the transformation center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>source_y</code></em>&#160;:</span></p></td>
<td> Y coordinate of the transformation center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>scale_x</code></em>&#160;:</span></p></td>
<td> Amount to scale in x direction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>scale_y</code></em>&#160;:</span></p></td>
<td> Amount to scale in y direction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>angle</code></em>&#160;:</span></p></td>
<td> The angle of rotation (radians).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest_x</code></em>&#160;:</span></p></td>
<td> X coordinate of where the center goes.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest_y</code></em>&#160;:</span></p></td>
<td> Y coordinate of where the center goes.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The transformed drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2653265"></a><h3>
<a name="gimp-drawable-transform-2d-default"></a>gimp_drawable_transform_2d_default ()</h3>
<a class="indexterm" name="id2653282"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_2d_default (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> source_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> scale_y,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> angle,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_x,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> dest_y,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Transform the specified drawable in 2d, with extra parameters.
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-2d"><code class="function">gimp_drawable_transform_2d()</code></a> which
uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>source_x</code></em>&#160;:</span></p></td>
<td> X coordinate of the transformation center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>source_y</code></em>&#160;:</span></p></td>
<td> Y coordinate of the transformation center.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>scale_x</code></em>&#160;:</span></p></td>
<td> Amount to scale in x direction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>scale_y</code></em>&#160;:</span></p></td>
<td> Amount to scale in y direction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>angle</code></em>&#160;:</span></p></td>
<td> The angle of rotation (radians).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest_x</code></em>&#160;:</span></p></td>
<td> X coordinate of where the center goes.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest_y</code></em>&#160;:</span></p></td>
<td> Y coordinate of where the center goes.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The transformed drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2653563"></a><h3>
<a name="gimp-drawable-transform-matrix"></a>gimp_drawable_transform_matrix ()</h3>
<a class="indexterm" name="id2653579"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_matrix (<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_2,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformDirection"
>GimpTransformDirection</a> transform_direction,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpInterpolationType"
>GimpInterpolationType</a> interpolation,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> supersample,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> recursion_level,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Transform the specified drawable in 2d, with extra parameters.
</p>
<p>
This procedure transforms the specified drawable if no selection
exists. If a selection exists, the portion of the drawable which
lies under the selection is cut from the drawable and made into a
floating selection which is then transformed. The transformation is
done by assembling a 3x3 matrix from the coefficients passed. The
return value is the ID of the rotated drawable. If there was no
selection, this will be equal to the drawable ID supplied as input.
Otherwise, this will be the newly created and transformed drawable.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_0_0</code></em>&#160;:</span></p></td>
<td> coefficient (0,0) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_0_1</code></em>&#160;:</span></p></td>
<td> coefficient (0,1) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_0_2</code></em>&#160;:</span></p></td>
<td> coefficient (0,2) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_1_0</code></em>&#160;:</span></p></td>
<td> coefficient (1,0) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_1_1</code></em>&#160;:</span></p></td>
<td> coefficient (1,1) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_1_2</code></em>&#160;:</span></p></td>
<td> coefficient (1,2) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_2_0</code></em>&#160;:</span></p></td>
<td> coefficient (2,0) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_2_1</code></em>&#160;:</span></p></td>
<td> coefficient (2,1) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_2_2</code></em>&#160;:</span></p></td>
<td> coefficient (2,2) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>transform_direction</code></em>&#160;:</span></p></td>
<td> Direction of transformation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolation</code></em>&#160;:</span></p></td>
<td> Type of interpolation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supersample</code></em>&#160;:</span></p></td>
<td> This parameter is ignored, supersampling is performed based on the interpolation type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>recursion_level</code></em>&#160;:</span></p></td>
<td> Maximum recursion level used for supersampling (3 is a nice value).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The transformed drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2653971"></a><h3>
<a name="gimp-drawable-transform-matrix-default"></a>gimp_drawable_transform_matrix_default ()</h3>
<a class="indexterm" name="id2653987"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> gimp_drawable_transform_matrix_default
(<a
href="../glib/glib-Basic-Types.html#gint32"
>gint32</a> drawable_ID,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_0_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_1_2,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_0,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_1,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> coeff_2_2,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> interpolate,
<a
href="../libgimpbase/libgimpbase-gimpbaseenums.html#GimpTransformResize"
>GimpTransformResize</a> clip_result);</pre>
<p>
Transform the specified drawable in 2d, with extra parameters.
</p>
<p>
This procedure is a variant of <a class="link" href="libgimp-gimpdrawabletransform.html#gimp-drawable-transform-matrix"><code class="function">gimp_drawable_transform_matrix()</code></a>
which uses no interpolation/supersampling at all, or default values
(depending on the 'interpolate' parameter).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drawable_ID</code></em>&#160;:</span></p></td>
<td> The affected drawable.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_0_0</code></em>&#160;:</span></p></td>
<td> coefficient (0,0) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_0_1</code></em>&#160;:</span></p></td>
<td> coefficient (0,1) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_0_2</code></em>&#160;:</span></p></td>
<td> coefficient (0,2) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_1_0</code></em>&#160;:</span></p></td>
<td> coefficient (1,0) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_1_1</code></em>&#160;:</span></p></td>
<td> coefficient (1,1) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_1_2</code></em>&#160;:</span></p></td>
<td> coefficient (1,2) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_2_0</code></em>&#160;:</span></p></td>
<td> coefficient (2,0) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_2_1</code></em>&#160;:</span></p></td>
<td> coefficient (2,1) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coeff_2_2</code></em>&#160;:</span></p></td>
<td> coefficient (2,2) of the transformation matrix.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interpolate</code></em>&#160;:</span></p></td>
<td> Whether to use interpolation and supersampling.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clip_result</code></em>&#160;:</span></p></td>
<td> How to clip results.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> The transformed drawable.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since GIMP 2.2
</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id2654317"></a><div class="refsect2" lang="en"><a name="id2654318"></a></div>
<hr>
<div class="refsect2" lang="en"><a name="id2654319"></a></div>
</div>
</div>
</body>
</html>