+
+ ResetIter();
+ DisplayStaticImage();
+}
+
+void wxAnimationCtrl::DisplayStaticImage()
+{
+ wxASSERT(!IsPlaying());
+
+ // m_bmpStaticReal will be updated only if necessary...
+ UpdateStaticImage();
+
+ if (m_bmpStaticReal.IsOk())
+ {
+ // show inactive bitmap
+ GdkBitmap *mask = (GdkBitmap *) NULL;
+ if (m_bmpStaticReal.GetMask())
+ mask = m_bmpStaticReal.GetMask()->GetBitmap();
+
+ if (m_bmpStaticReal.HasPixbuf())
+ {
+ gtk_image_set_from_pixbuf(GTK_IMAGE(m_widget),
+ m_bmpStaticReal.GetPixbuf());
+ }
+ else
+ {
+ gtk_image_set_from_pixmap(GTK_IMAGE(m_widget),
+ m_bmpStaticReal.GetPixmap(), mask);
+ }
+ }
+ else
+ {
+ if (m_anim)
+ {
+ // even if not clearly documented, gdk_pixbuf_animation_get_static_image()
+ // always returns the first frame of the animation
+ gtk_image_set_from_pixbuf(GTK_IMAGE(m_widget),
+ gdk_pixbuf_animation_get_static_image(m_anim));
+ }
+ else
+ {
+ ClearToBackgroundColour();
+ }
+ }