<Type Name="PixbufAnimationIter" FullName="Gdk.PixbufAnimationIter"> <TypeSignature Language="C#" Maintainer="auto" Value="public class PixbufAnimationIter : GLib.Object" /> <AssemblyInfo> <AssemblyName>gdk-sharp</AssemblyName> <AssemblyPublicKey> </AssemblyPublicKey> <AssemblyVersion>2.12.0.0</AssemblyVersion> </AssemblyInfo> <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement> <Docs> <summary> An iterator used by <see cref="T:Gdk.PixbufAnimation" /> for displaying animations by stepping through frames. </summary> <remarks /> </Docs> <Base> <BaseTypeName>GLib.Object</BaseTypeName> </Base> <Interfaces> </Interfaces> <Members> <Member MemberName="Advance"> <MemberSignature Language="C#" Value="public bool Advance (IntPtr current_time);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> <Parameter Name="current_time" Type="System.IntPtr" /> </Parameters> <Docs> <summary> Possibly advances an animation to a new frame. Chooses the frame based on the start time passed to <see cref="M:Gdk.PixbufAnimation.GetIter" />. </summary> <param name="current_time">A <see cref="T:IntPtr" />, pointer to a C time object</param> <returns>A <see cref="T:System.Boolean" />, true if the image may need updating.</returns> <remarks> <p> <paramref name="current_time" /> would normally come from g_get_current_time(), and must be greater than or equal to the time passed to <see cref="M:Gdk.PixbufAnimation.GetIter" />, and must increase or remain unchanged each time this method is called. That is, you can't go backward in time; animations only play forward. </p> <p> As a shortcut, pass <see langword="null" /> for the current time and g_get_current_time() will be invoked on your behalf. So you only need to explicitly pass <paramref name="current_time" /> if you're doing something odd like playing the animation at double speed. </p> <p> If this method returns false, there's no need to update the animation display, assuming the display had been rendered prior to advancing; if true, you need to call <see cref="P:Gdk.PixbufAnimationIter.Pixbuf" /> and update the display with the new pixbuf. </p> </remarks> </Docs> </Member> <Member MemberName="OnCurrentlyLoadingFrame"> <MemberSignature Language="C#" Value="public bool OnCurrentlyLoadingFrame ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary> Used to determine how to respond to the <see cref="E:Gdk.PixbufLoader.AreaUpdated" /> signal when loading an animation. <see cref="E:Gdk.PixbufLoader.AreaUpdated" /> is emitted for an area of the frame currently streaming into the loader. So if you're on the currently loading frame, you need to redraw the screen for the updated area. </summary> <returns>A <see cref="T:System.Boolean" />, true if the frame we're on is partially loaded, or the last frame</returns> <remarks /> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public PixbufAnimationIter (IntPtr raw);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="raw" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="raw">Pointer to the C object.</param> <remarks> <para>This is an internal constructor, and should not be used by user code.</para> </remarks> </Docs> </Member> <Member MemberName="DelayTime"> <MemberSignature Language="C#" Value="public int DelayTime { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.Int32</ReturnType> </ReturnValue> <Docs> <summary> Gets the number of milliseconds the current pixbuf should be displayed, or -1 if the current pixbuf should be displayed forever. </summary> <value>A <see cref="T:System.Int32" />, delay time in milliseconds (thousandths of a second)</value> <remarks> g_timeout_add() (FIXME: this doesn't seem to be bound) conveniently takes a timeout in milliseconds, so you can use a timeout to schedule the next update. </remarks> </Docs> </Member> <Member MemberName="Pixbuf"> <MemberSignature Language="C#" Value="public Gdk.Pixbuf Pixbuf { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gdk.Pixbuf</ReturnType> </ReturnValue> <Docs> <summary> Gets the current pixbuf which should be displayed; the pixbuf will be the same size as the animation itself (<see cref="M:Gdk.PixbufAnimation.GetWidth" />, <see cref="M:Gdk.PixbufAnimation.GetHeight" />). This pixbuf should be displayed for <see cref="P:Gdk.PixbufAnimation.DelayTime" /> milliseconds. The caller of this function does not own a reference to the returned pixbuf; the returned pixbuf will become invalid when the iterator advances to the next frame, which may happen anytime you call <see cref="M:Gdk.PixbufAnimationIter.Advance" />. Copy the pixbuf to keep it (don't just add a reference), as it may get recycled as you advance the iterator. </summary> <value>A <see cref="T:Gdk.Pixbuf" /></value> <remarks /> </Docs> </Member> <Member MemberName="GType"> <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>GLib.GType</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>GType Property.</summary> <value>a <see cref="T:GLib.GType" /></value> <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.PixbufAnimationIter" />.</remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected PixbufAnimationIter (GLib.GType gtype);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="gtype" Type="GLib.GType" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="gtype">a <see cref="T:GLib.GType" /></param> <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.PixbufAnimationIter" /> that would have their own GLib.GType assigned to it. This is not typically used by C# code.</remarks> </Docs> <Attributes> <Attribute> <AttributeName>System.Obsolete</AttributeName> </Attribute> </Attributes> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected PixbufAnimationIter ();" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>Protected constructor.</summary> <remarks /> </Docs> </Member> </Members> </Type>