<!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"><stdlib.h></span> <span class="preproc">#include</span><span class="normal"> </span><span class="string"><gdk-pixbuf/gdk-pixbuf.h></span> <span class="preproc">#include</span><span class="normal"> </span><span class="string"><clutter/clutter.h></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">>=</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">(&</span><span class="normal">argc</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</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>