; Module/File: Gadget_AnimationImageFromFile.pb ; Function: Add gif-animation widget from file - Linux ; Author: Omi ; Date: Apr. 04, 2014 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- ;Use with PB-ImageGadget see 'ImageGadget_AnimationFromFile.pb' EnableExplicit ImportC "" gtk_image_new_from_file(filename.p-utf8) gdk_pixbuf_animation_get_width(pixbuf) gdk_pixbuf_animation_get_height(pixbuf) EndImport ; Object constants #MainWin= 0 #ImGd1 = 0 Global.i gEvent, gQuit Global.GtkWidget *stockimage1 Procedure.i ImageAnimationGadget(Gadget, x, y, w, h, filename.s, autosize) Protected *image= gtk_image_new_from_file(filename) If autosize Protected pixbuf= gtk_image_get_animation_(*image) w= gdk_pixbuf_animation_get_width(pixbuf) h= gdk_pixbuf_animation_get_height(pixbuf) EndIf Protected.i Container= ContainerGadget(Gadget, x, y, w, h, #PB_Container_BorderLess) If Gadget <> #PB_Any : Container= Gadget : EndIf gtk_container_add_(GadgetID(Container), *image) gtk_widget_show_(*image) CloseGadgetList() ProcedureReturn *image EndProcedure If OpenWindow(#MainWin, 300, 200, 300, 200, "Add animation image", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ;choose an existing gif-animation ... *stockimage1= ImageAnimationGadget(#ImGd1, 5, 10, 100, 100, "/usr/share/gtk-2.0/demo/floppybuddy.gif", #True) Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.46 LTS Beta 1 (Linux - x86) ; CursorPosition = 43 ; Folding = - ; EnableUnicode ; EnableXP