<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Clutter Reference Manual: ClutterImage</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Clutter Reference Manual">
<link rel="up" href="ch07.html" title="Content">
<link rel="prev" href="ClutterCanvas.html" title="ClutterCanvas">
<link rel="next" href="ch08.html" title="Paint Objects">
<meta name="generator" content="GTK-Doc V1.19.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
<td width="100%" align="left">
<a href="#" class="shortcut">Top</a>
                   | 
                  <a href="#ClutterImage.description" class="shortcut">Description</a>
                   | 
                  <a href="#ClutterImage.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#ClutterImage.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ClutterCanvas.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ch08.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="ClutterImage"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ClutterImage.top_of_page"></a>ClutterImage</span></h2>
<p>ClutterImage — Image data content</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="ClutterImage.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct              <a class="link" href="ClutterImage.html#ClutterImage-struct" title="struct ClutterImage">ClutterImage</a>;
struct              <a class="link" href="ClutterImage.html#ClutterImageClass" title="struct ClutterImageClass">ClutterImageClass</a>;
#define             <a class="link" href="ClutterImage.html#CLUTTER-IMAGE-ERROR:CAPS" title="CLUTTER_IMAGE_ERROR">CLUTTER_IMAGE_ERROR</a>
enum                <a class="link" href="ClutterImage.html#ClutterImageError" title="enum ClutterImageError">ClutterImageError</a>;
<a class="link" href="ClutterContent.html" title="ClutterContent"><span class="returnvalue">ClutterContent</span></a> *    <a class="link" href="ClutterImage.html#clutter-image-new" title="clutter_image_new ()">clutter_image_new</a>                   (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="ClutterImage.html#clutter-image-set-data" title="clutter_image_set_data ()">clutter_image_set_data</a>              (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>,
                                                         <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                         <em class="parameter"><code><span class="type">CoglPixelFormat</span> pixel_format</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> width</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> height</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> row_stride</code></em>,
                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="ClutterImage.html#clutter-image-set-bytes" title="clutter_image_set_bytes ()">clutter_image_set_bytes</a>             (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>,
                                                         <em class="parameter"><code><span class="type">GBytes</span> *data</code></em>,
                                                         <em class="parameter"><code><span class="type">CoglPixelFormat</span> pixel_format</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> width</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> height</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> row_stride</code></em>,
                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="ClutterImage.html#clutter-image-set-area" title="clutter_image_set_area ()">clutter_image_set_area</a>              (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>,
                                                         <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                         <em class="parameter"><code><span class="type">CoglPixelFormat</span> pixel_format</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/cairo/cairo-Types.html#cairo-rectangle-int-t"><span class="type">cairo_rectangle_int_t</span></a> *rect</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> row_stride</code></em>,
                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
<span class="returnvalue">CoglTexture</span> *       <a class="link" href="ClutterImage.html#clutter-image-get-texture" title="clutter_image_get_texture ()">clutter_image_get_texture</a>           (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="ClutterImage.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  GObject
   +----ClutterImage
</pre>
</div>
<div class="refsect1">
<a name="ClutterImage.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
ClutterImage implements
 <a class="link" href="ClutterContent.html" title="ClutterContent">ClutterContent</a>.</p>
</div>
<div class="refsect1">
<a name="ClutterImage.description"></a><h2>Description</h2>
<p>
<a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> is a <a class="link" href="ClutterContent.html" title="ClutterContent"><span class="type">ClutterContent</span></a> implementation that displays
image data.
</p>
<p>
</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;stdlib.h&gt;</span>
<span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gdk-pixbuf/gdk-pixbuf.h&gt;</span>
<span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;clutter/clutter.h&gt;</span>

<span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="keyword">struct</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">  </span><span class="usertype">ClutterContentGravity</span><span class="normal"> gravity</span><span class="symbol">;</span>
<span class="normal">  </span><span class="keyword">const</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">name</span><span class="symbol">;</span>
<span class="cbracket">}</span><span class="normal"> gravities</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-TOP-LEFT:CAPS">CLUTTER_CONTENT_GRAVITY_TOP_LEFT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Top Left"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-TOP:CAPS">CLUTTER_CONTENT_GRAVITY_TOP</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Top"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-TOP-RIGHT:CAPS">CLUTTER_CONTENT_GRAVITY_TOP_RIGHT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Top Right"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>

<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-LEFT:CAPS">CLUTTER_CONTENT_GRAVITY_LEFT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Left"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-CENTER:CAPS">CLUTTER_CONTENT_GRAVITY_CENTER</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Center"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-RIGHT:CAPS">CLUTTER_CONTENT_GRAVITY_RIGHT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Right"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>

<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-BOTTOM-LEFT:CAPS">CLUTTER_CONTENT_GRAVITY_BOTTOM_LEFT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Bottom Left"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-BOTTOM:CAPS">CLUTTER_CONTENT_GRAVITY_BOTTOM</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Bottom"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-BOTTOM-RIGHT:CAPS">CLUTTER_CONTENT_GRAVITY_BOTTOM_RIGHT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Bottom Right"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>

<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-RESIZE-FILL:CAPS">CLUTTER_CONTENT_GRAVITY_RESIZE_FILL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Resize Fill"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="normal">  </span><span class="cbracket">{</span><span class="normal"> <a href="ClutterActor.html#CLUTTER-CONTENT-GRAVITY-RESIZE-ASPECT:CAPS">CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Resize Aspect"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">,</span>
<span class="cbracket">}</span><span class="symbol">;</span>

<span class="keyword">static</span><span class="normal"> </span><span class="type">int</span><span class="normal"> n_gravities </span><span class="symbol">=</span><span class="normal"> </span><span class="function">G_N_ELEMENTS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gravities</span><span class="symbol">);</span>
<span class="keyword">static</span><span class="normal"> </span><span class="type">int</span><span class="normal"> cur_gravity </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>

<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">on_tap</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ClutterTapAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
<span class="normal">        </span><span class="usertype">ClutterActor</span><span class="normal">     </span><span class="symbol">*</span><span class="normal">actor</span><span class="symbol">,</span>
<span class="normal">        </span><span class="usertype">ClutterText</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">label</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">  </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">str</span><span class="symbol">;</span>

<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-save-easing-state">clutter_actor_save_easing_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-content-gravity">clutter_actor_set_content_gravity</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">,</span><span class="normal"> gravities</span><span class="symbol">[</span><span class="normal">cur_gravity</span><span class="symbol">].</span><span class="normal">gravity</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-restore-easing-state">clutter_actor_restore_easing_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">);</span>

<span class="normal">  str </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_strconcat</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Content gravity: "</span><span class="symbol">,</span><span class="normal"> gravities</span><span class="symbol">[</span><span class="normal">cur_gravity</span><span class="symbol">].</span><span class="normal">name</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterText.html#clutter-text-set-text">clutter_text_set_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">label</span><span class="symbol">,</span><span class="normal"> str</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">str</span><span class="symbol">);</span>

<span class="normal">  cur_gravity </span><span class="symbol">+=</span><span class="normal"> </span><span class="number">1</span><span class="symbol">;</span>

<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cur_gravity </span><span class="symbol">&gt;=</span><span class="normal"> n_gravities</span><span class="symbol">)</span>
<span class="normal">    cur_gravity </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="type">int</span>
<span class="function">main</span><span class="normal"> </span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">argv</span><span class="symbol">[])</span>
<span class="cbracket">{</span>
<span class="normal">  </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text</span><span class="symbol">;</span>
<span class="normal">  </span><span class="usertype">ClutterContent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">image</span><span class="symbol">;</span>
<span class="normal">  </span><span class="usertype">ClutterAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">;</span>
<span class="normal">  </span><span class="usertype">GdkPixbuf</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pixbuf</span><span class="symbol">;</span>
<span class="normal">  </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">str</span><span class="symbol">;</span>

<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="clutter-General.html#clutter-init">clutter_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">argc</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">argv</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">!=</span><span class="normal"> <a href="clutter-General.html#CLUTTER-INIT-SUCCESS:CAPS">CLUTTER_INIT_SUCCESS</a></span><span class="symbol">)</span>
<span class="normal">    </span><span class="keyword">return</span><span class="normal"> EXIT_FAILURE</span><span class="symbol">;</span>

<span class="normal">  stage </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterStage.html#clutter-stage-new">clutter_stage_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-name">clutter_actor_set_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Stage"</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterStage.html#clutter-stage-set-title">clutter_stage_set_title</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_STAGE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"Content Box"</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterStage.html#clutter-stage-set-user-resizable">clutter_stage_set_user_resizable</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_STAGE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">),</span><span class="normal"> TRUE</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"destroy"</span><span class="symbol">,</span><span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="clutter-General.html#clutter-main-quit">clutter_main_quit</a></span><span class="symbol">),</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-margin-top">clutter_actor_set_margin_top</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="number">12</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-margin-right">clutter_actor_set_margin_right</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="number">12</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-margin-bottom">clutter_actor_set_margin_bottom</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="number">12</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-margin-left">clutter_actor_set_margin_left</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="number">12</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-show">clutter_actor_show</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">);</span>

<span class="normal">  pixbuf </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_pixbuf_new_from_file</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TESTS_DATADIR</span><span class="normal"> G_DIR_SEPARATOR_S </span><span class="string">"redhand.png"</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="normal">  image </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterImage.html#clutter-image-new">clutter_image_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="normal">  </span><span class="function"><a href="ClutterImage.html#clutter-image-set-data">clutter_image_set_data</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_IMAGE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">image</span><span class="symbol">),</span>
<span class="normal">                          </span><span class="function">gdk_pixbuf_get_pixels</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">),</span>
<span class="normal">                          </span><span class="function">gdk_pixbuf_get_has_alpha</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">)</span>
<span class="normal">                            </span><span class="symbol">?</span><span class="normal"> COGL_PIXEL_FORMAT_RGBA_8888</span>
<span class="normal">                            </span><span class="symbol">:</span><span class="normal"> COGL_PIXEL_FORMAT_RGB_888</span><span class="symbol">,</span>
<span class="normal">                          </span><span class="function">gdk_pixbuf_get_width</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">),</span>
<span class="normal">                          </span><span class="function">gdk_pixbuf_get_height</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">),</span>
<span class="normal">                          </span><span class="function">gdk_pixbuf_get_rowstride</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">),</span>
<span class="normal">                          NULL</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">);</span>

<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-content-scaling-filters">clutter_actor_set_content_scaling_filters</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span>
<span class="normal">                                             <a href="ClutterActor.html#CLUTTER-SCALING-FILTER-TRILINEAR:CAPS">CLUTTER_SCALING_FILTER_TRILINEAR</a></span><span class="symbol">,</span>
<span class="normal">                                             <a href="ClutterActor.html#CLUTTER-SCALING-FILTER-LINEAR:CAPS">CLUTTER_SCALING_FILTER_LINEAR</a></span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-content-gravity">clutter_actor_set_content_gravity</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> gravities</span><span class="symbol">[</span><span class="normal">n_gravities </span><span class="symbol">-</span><span class="normal"> </span><span class="number">1</span><span class="symbol">].</span><span class="normal">gravity</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-content">clutter_actor_set_content</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> image</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">image</span><span class="symbol">);</span>

<span class="normal">  str </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_strconcat</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Content gravity: "</span><span class="symbol">,</span>
<span class="normal">                     gravities</span><span class="symbol">[</span><span class="normal">n_gravities </span><span class="symbol">-</span><span class="normal"> </span><span class="number">1</span><span class="symbol">].</span><span class="normal">name</span><span class="symbol">,</span>
<span class="normal">                     NULL</span><span class="symbol">);</span>

<span class="normal">  text </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterText.html#clutter-text-new">clutter_text_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="normal">  </span><span class="function"><a href="ClutterText.html#clutter-text-set-text">clutter_text_set_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TEXT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">),</span><span class="normal"> str</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-constraint">clutter_actor_add_constraint</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="ClutterAlignConstraint.html#clutter-align-constraint-new">clutter_align_constraint_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> <a href="ClutterAlignConstraint.html#CLUTTER-ALIGN-BOTH:CAPS">CLUTTER_ALIGN_BOTH</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">0.5</span><span class="symbol">));</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-child">clutter_actor_add_child</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> text</span><span class="symbol">);</span>

<span class="normal">  </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">str</span><span class="symbol">);</span>

<span class="normal">  action </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterTapAction.html#clutter-tap-action-new">clutter_tap_action_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="normal">  </span><span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"tap"</span><span class="symbol">,</span><span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">on_tap</span><span class="symbol">),</span><span class="normal"> text</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-action">clutter_actor_add_action</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> action</span><span class="symbol">);</span>

<span class="normal">  </span><span class="function"><a href="clutter-General.html#clutter-main">clutter_main</a></span><span class="normal"> </span><span class="symbol">();</span>

<span class="normal">  </span><span class="keyword">return</span><span class="normal"> EXIT_SUCCESS</span><span class="symbol">;</span>
<span class="cbracket">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>
</p>
<p>
<a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> is available since Clutter 1.10.
</p>
</div>
<div class="refsect1">
<a name="ClutterImage.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="ClutterImage-struct"></a><h3>struct ClutterImage</h3>
<pre class="programlisting">struct ClutterImage;</pre>
<p>
The <span class="structname">ClutterImage</span> structure contains
private data and should only be accessed using the provided
API.
</p>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterImageClass"></a><h3>struct ClutterImageClass</h3>
<pre class="programlisting">struct ClutterImageClass {
};
</pre>
<p>
The <span class="structname">ClutterImageClass</span> structure contains
private data.
</p>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-IMAGE-ERROR:CAPS"></a><h3>CLUTTER_IMAGE_ERROR</h3>
<pre class="programlisting">#define CLUTTER_IMAGE_ERROR             (clutter_image_error_quark ())
</pre>
<p>
Error domain for the <a class="link" href="ClutterImage.html#ClutterImageError" title="enum ClutterImageError"><span class="type">ClutterImageError</span></a> enumeration.
</p>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterImageError"></a><h3>enum ClutterImageError</h3>
<pre class="programlisting">typedef enum {
  CLUTTER_IMAGE_ERROR_INVALID_DATA
} ClutterImageError;
</pre>
<p>
Error enumeration for <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><a name="CLUTTER-IMAGE-ERROR-INVALID-DATA:CAPS"></a><span class="term"><code class="literal">CLUTTER_IMAGE_ERROR_INVALID_DATA</code></span></p></td>
<td>Invalid data passed to the
  <a class="link" href="ClutterImage.html#clutter-image-set-data" title="clutter_image_set_data ()"><code class="function">clutter_image_set_data()</code></a> function.
</td>
</tr></tbody>
</table></div>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-image-new"></a><h3>clutter_image_new ()</h3>
<pre class="programlisting"><a class="link" href="ClutterContent.html" title="ClutterContent"><span class="returnvalue">ClutterContent</span></a> *    clutter_image_new                   (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Creates a new <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> instance.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the newly created <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> instance.
Use <code class="function">g_object_unref()</code> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr></tbody>
</table></div>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-image-set-data"></a><h3>clutter_image_set_data ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_image_set_data              (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>,
                                                         <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                         <em class="parameter"><code><span class="type">CoglPixelFormat</span> pixel_format</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> width</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> height</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> row_stride</code></em>,
                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>
Sets the image data to be displayed by <em class="parameter"><code>image</code></em>.
</p>
<p>
If the image data was successfully loaded, the <em class="parameter"><code>image</code></em> will be invalidated.
</p>
<p>
In case of error, the <em class="parameter"><code>error</code></em> value will be set, and this function will
return <code class="literal">FALSE</code>.
</p>
<p>
The image data is copied in texture memory.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>image</code></em> :</span></p></td>
<td>a <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>the image data, as an array of bytes. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixel_format</code></em> :</span></p></td>
<td>the Cogl pixel format of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td>the width of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
<td>the height of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>row_stride</code></em> :</span></p></td>
<td>the length of each row inside <em class="parameter"><code>data</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<code class="literal">TRUE</code> if the image data was successfully loaded,
and <code class="literal">FALSE</code> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-image-set-bytes"></a><h3>clutter_image_set_bytes ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_image_set_bytes             (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>,
                                                         <em class="parameter"><code><span class="type">GBytes</span> *data</code></em>,
                                                         <em class="parameter"><code><span class="type">CoglPixelFormat</span> pixel_format</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> width</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> height</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> row_stride</code></em>,
                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>
Sets the image data stored inside a <span class="type">GBytes</span> to be displayed by <em class="parameter"><code>image</code></em>.
</p>
<p>
If the image data was successfully loaded, the <em class="parameter"><code>image</code></em> will be invalidated.
</p>
<p>
In case of error, the <em class="parameter"><code>error</code></em> value will be set, and this function will
return <code class="literal">FALSE</code>.
</p>
<p>
The image data contained inside the <span class="type">GBytes</span> is copied in texture memory,
and no additional reference is acquired on the <em class="parameter"><code>data</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>image</code></em> :</span></p></td>
<td>a <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>the image data, as a <span class="type">GBytes</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixel_format</code></em> :</span></p></td>
<td>the Cogl pixel format of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td>the width of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
<td>the height of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>row_stride</code></em> :</span></p></td>
<td>the length of each row inside <em class="parameter"><code>data</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<code class="literal">TRUE</code> if the image data was successfully loaded,
and <code class="literal">FALSE</code> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 1.12</p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-image-set-area"></a><h3>clutter_image_set_area ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_image_set_area              (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>,
                                                         <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                         <em class="parameter"><code><span class="type">CoglPixelFormat</span> pixel_format</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/cairo/cairo-Types.html#cairo-rectangle-int-t"><span class="type">cairo_rectangle_int_t</span></a> *rect</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> row_stride</code></em>,
                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>
Sets the image data to be display by <em class="parameter"><code>image</code></em>, using <em class="parameter"><code>rect</code></em> to indicate
the position and size of the image data to be set.
</p>
<p>
If the <em class="parameter"><code>image</code></em> does not have any image data set when this function is
called, a new texture will be created with the size of the width and
height of the rectangle, i.e. calling this function on a newly created
<a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> will be the equivalent of calling <a class="link" href="ClutterImage.html#clutter-image-set-data" title="clutter_image_set_data ()"><code class="function">clutter_image_set_data()</code></a>.
</p>
<p>
If the image data was successfully loaded, the <em class="parameter"><code>image</code></em> will be invalidated.
</p>
<p>
In case of error, the <em class="parameter"><code>error</code></em> value will be set, and this function will
return <code class="literal">FALSE</code>.
</p>
<p>
The image data is copied in texture memory.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>image</code></em> :</span></p></td>
<td>a <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>the image data, as an array of bytes. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixel_format</code></em> :</span></p></td>
<td>the Cogl pixel format of the image data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>rect</code></em> :</span></p></td>
<td>a rectangle indicating the area that should be set</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>row_stride</code></em> :</span></p></td>
<td>the length of each row inside <em class="parameter"><code>data</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<code class="literal">TRUE</code> if the image data was successfully loaded,
and <code class="literal">FALSE</code> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 1.10</p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-image-get-texture"></a><h3>clutter_image_get_texture ()</h3>
<pre class="programlisting"><span class="returnvalue">CoglTexture</span> *       clutter_image_get_texture           (<em class="parameter"><code><a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a> *image</code></em>);</pre>
<p>
Retrieves a pointer to the Cogl texture used by <em class="parameter"><code>image</code></em>.
</p>
<p>
If you change the contents of the returned Cogl texture you will need
to manually invalidate the <em class="parameter"><code>image</code></em> with <a class="link" href="ClutterContent.html#clutter-content-invalidate" title="clutter_content_invalidate ()"><code class="function">clutter_content_invalidate()</code></a>
in order to update the actors using <em class="parameter"><code>image</code></em> as their content.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>image</code></em> :</span></p></td>
<td>a <a class="link" href="ClutterImage.html" title="ClutterImage"><span class="type">ClutterImage</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to the Cogl texture, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 1.10</p>
<p class="stability">Stability Level: Unstable</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.19.1</div>
</body>
</html>