1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
5
<refentry id="libgimp-gimptile">
7
<refentrytitle role="top_of_page" id="libgimp-gimptile.top_of_page">gimptile</refentrytitle>
8
<manvolnum>3</manvolnum>
9
<refmiscinfo>LIBGIMP Library</refmiscinfo>
13
<refname>gimptile</refname>
14
<refpurpose>Functions for working with tiles.</refpurpose>
17
<refsynopsisdiv id="libgimp-gimptile.synopsis" role="synopsis">
18
<title role="synopsis.title">Synopsis</title>
21
<link linkend="GimpTile">GimpTile</link>;
22
<link linkend="void">void</link> <link linkend="gimp-tile-ref">gimp_tile_ref</link> (<link linkend="GimpTile">GimpTile</link> *tile);
23
<link linkend="void">void</link> <link linkend="gimp-tile-ref-zero">gimp_tile_ref_zero</link> (<link linkend="GimpTile">GimpTile</link> *tile);
24
<link linkend="void">void</link> <link linkend="gimp-tile-unref">gimp_tile_unref</link> (<link linkend="GimpTile">GimpTile</link> *tile,
25
<link linkend="gboolean">gboolean</link> dirty);
26
<link linkend="void">void</link> <link linkend="gimp-tile-flush">gimp_tile_flush</link> (<link linkend="GimpTile">GimpTile</link> *tile);
27
<link linkend="void">void</link> <link linkend="gimp-tile-cache-size">gimp_tile_cache_size</link> (<link linkend="gulong">gulong</link> kilobytes);
28
<link linkend="void">void</link> <link linkend="gimp-tile-cache-ntiles">gimp_tile_cache_ntiles</link> (<link linkend="gulong">gulong</link> ntiles);
40
<refsect1 id="libgimp-gimptile.description" role="desc">
41
<title role="desc.title">Description</title>
43
Functions for working with tiles.
47
<refsect1 id="libgimp-gimptile.details" role="details">
48
<title role="details.title">Details</title>
49
<refsect2 id="GimpTile" role="struct">
50
<title>GimpTile</title>
51
<indexterm zone="GimpTile"><primary sortas="GimpTile">GimpTile</primary></indexterm><programlisting>typedef struct {
52
guint ewidth; /* the effective width of the tile */
53
guint eheight; /* the effective height of the tile */
54
guint bpp; /* the bytes per pixel (1, 2, 3 or 4 ) */
55
guint tile_num; /* the number of this tile within the drawable */
56
guint16 ref_count; /* reference count for the tile */
57
guint dirty : 1; /* is the tile dirty? has it been modified? */
58
guint shadow: 1; /* is this a shadow tile */
59
guchar *data; /* the pixel data for the tile */
60
GimpDrawable *drawable; /* the drawable this tile came from */
65
<refsect2 id="gimp-tile-ref" role="function">
66
<title>gimp_tile_ref ()</title>
67
<indexterm zone="gimp-tile-ref"><primary sortas="gimp_tile_ref">gimp_tile_ref</primary></indexterm><programlisting><link linkend="void">void</link> gimp_tile_ref (<link linkend="GimpTile">GimpTile</link> *tile);</programlisting>
69
</para><variablelist role="params">
70
<varlistentry><term><parameter>tile</parameter> :</term>
72
</simpara></listitem></varlistentry>
73
</variablelist></refsect2>
74
<refsect2 id="gimp-tile-ref-zero" role="function">
75
<title>gimp_tile_ref_zero ()</title>
76
<indexterm zone="gimp-tile-ref-zero"><primary sortas="gimp_tile_ref_zero">gimp_tile_ref_zero</primary></indexterm><programlisting><link linkend="void">void</link> gimp_tile_ref_zero (<link linkend="GimpTile">GimpTile</link> *tile);</programlisting>
78
</para><variablelist role="params">
79
<varlistentry><term><parameter>tile</parameter> :</term>
81
</simpara></listitem></varlistentry>
82
</variablelist></refsect2>
83
<refsect2 id="gimp-tile-unref" role="function">
84
<title>gimp_tile_unref ()</title>
85
<indexterm zone="gimp-tile-unref"><primary sortas="gimp_tile_unref">gimp_tile_unref</primary></indexterm><programlisting><link linkend="void">void</link> gimp_tile_unref (<link linkend="GimpTile">GimpTile</link> *tile,
86
<link linkend="gboolean">gboolean</link> dirty);</programlisting>
88
</para><variablelist role="params">
89
<varlistentry><term><parameter>tile</parameter> :</term>
91
</simpara></listitem></varlistentry>
92
<varlistentry><term><parameter>dirty</parameter> :</term>
94
</simpara></listitem></varlistentry>
95
</variablelist></refsect2>
96
<refsect2 id="gimp-tile-flush" role="function">
97
<title>gimp_tile_flush ()</title>
98
<indexterm zone="gimp-tile-flush"><primary sortas="gimp_tile_flush">gimp_tile_flush</primary></indexterm><programlisting><link linkend="void">void</link> gimp_tile_flush (<link linkend="GimpTile">GimpTile</link> *tile);</programlisting>
100
</para><variablelist role="params">
101
<varlistentry><term><parameter>tile</parameter> :</term>
103
</simpara></listitem></varlistentry>
104
</variablelist></refsect2>
105
<refsect2 id="gimp-tile-cache-size" role="function">
106
<title>gimp_tile_cache_size ()</title>
107
<indexterm zone="gimp-tile-cache-size"><primary sortas="gimp_tile_cache_size">gimp_tile_cache_size</primary></indexterm><programlisting><link linkend="void">void</link> gimp_tile_cache_size (<link linkend="gulong">gulong</link> kilobytes);</programlisting>
109
Sets the size of the tile cache on the plug-in side. The tile cache
110
is used to reduce the number of tiles exchanged between the GIMP core
111
and the plug-in. See also <link linkend="gimp-tile-cache-ntiles"><function>gimp_tile_cache_ntiles()</function></link>.</para>
113
</para><variablelist role="params">
114
<varlistentry><term><parameter>kilobytes</parameter> :</term>
115
<listitem><simpara> new cache size in kilobytes
116
</simpara></listitem></varlistentry>
117
</variablelist></refsect2>
118
<refsect2 id="gimp-tile-cache-ntiles" role="function">
119
<title>gimp_tile_cache_ntiles ()</title>
120
<indexterm zone="gimp-tile-cache-ntiles"><primary sortas="gimp_tile_cache_ntiles">gimp_tile_cache_ntiles</primary></indexterm><programlisting><link linkend="void">void</link> gimp_tile_cache_ntiles (<link linkend="gulong">gulong</link> ntiles);</programlisting>
122
Sets the size of the tile cache on the plug-in side. This function
123
is similar to <link linkend="gimp-tile-cache-size"><function>gimp_tile_cache_size()</function></link> but allows to specify the
124
number of tiles directly.
127
If your plug-in access pixels tile-by-tile, it doesn't need a tile
128
cache at all. If however the plug-in accesses drawable pixel data
129
row-by-row, it should set the tile cache large enough to hold the
130
number of tiles per row. Double this size if your plug-in uses
133
</para><variablelist role="params">
134
<varlistentry><term><parameter>ntiles</parameter> :</term>
135
<listitem><simpara> number of tiles that should fit into the cache
136
</simpara></listitem></varlistentry>
137
</variablelist></refsect2>