Struct gdk_pixbuf::PixbufAnimationIter [−][src]
pub struct PixbufAnimationIter(_);
Expand description
An opaque struct representing an iterator which points to a certain position in an animation.
Implementations
Possibly advances an animation to a new frame. Chooses the frame based
on the start time passed to PixbufAnimationExtManual::iter()
.
current_time
would normally come from g_get_current_time()
, and
must be greater than or equal to the time passed to
PixbufAnimationExtManual::iter()
, and must increase or remain
unchanged each time [PixbufAnimationIterExtManual::pixbuf()
][crate::prelude::PixbufAnimationIterExtManual::pixbuf()] is
called. That is, you can’t go backward in time; animations only
play forward.
As a shortcut, pass None
for the current time and g_get_current_time()
will be invoked on your behalf. So you only need to explicitly pass
current_time
if you’re doing something odd like playing the animation
at double speed.
If this function 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 [PixbufAnimationIterExtManual::pixbuf()
][crate::prelude::PixbufAnimationIterExtManual::pixbuf()]
and update the display with the new pixbuf.
current_time
current time
Returns
true
if the image may need updating
Gets the current pixbuf which should be displayed; the pixbuf might not
be the same size as the animation itself
(PixbufAnimationExt::width()
, PixbufAnimationExt::height()
).
This pixbuf should be displayed for
[PixbufAnimationIterExtManual::delay_time()
][crate::prelude::PixbufAnimationIterExtManual::delay_time()] 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
[PixbufAnimationIterExtManual::advance()
][crate::prelude::PixbufAnimationIterExtManual::advance()]. Copy the pixbuf to keep it
(don’t just add a reference), as it may get recycled as you advance
the iterator.
Returns
the pixbuf to be displayed
Gets the number of milliseconds the current pixbuf should be displayed,
or -1 if the current pixbuf should be displayed forever. g_timeout_add()
conveniently takes a timeout in milliseconds, so you can use a timeout
to schedule the next update.
Note that some formats, like GIF, might clamp the timeout values in the image file to avoid updates that are just too quick. The minimum timeout for GIF images is currently 20 milliseconds.
Returns
delay time in milliseconds (thousandths of a second)
Used to determine how to respond to the area_updated signal on
PixbufLoader
when loading an animation. area_updated is emitted
for an area of the frame currently streaming in to the loader. So if
you’re on the currently loading frame, you need to redraw the screen for
the updated area.
Returns
true
if the frame we’re on is partially loaded, or the last frame
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for PixbufAnimationIter
impl !Send for PixbufAnimationIter
impl !Sync for PixbufAnimationIter
impl Unpin for PixbufAnimationIter
impl UnwindSafe for PixbufAnimationIter
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,