/[graveman]/graveman/current/src/gtk-mng-view.c
ViewVC logotype

Diff of /graveman/current/src/gtk-mng-view.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by scresto, Mon Apr 4 01:37:42 2005 UTC revision 1.2 by scresto, Fri Apr 29 23:05:29 2005 UTC
# Line 44  Line 44 
44   * Boston, MA 02111-1307, USA.   * Boston, MA 02111-1307, USA.
45   */   */
46    
47    #include <graveman.h>
48  #include <gtk/gtkmain.h>  #include <gtk/gtkmain.h>
49  #include "gtk-mng-view.h"  #include "gtk-mng-view.h"
50  #include <gdk-pixbuf/gdk-pixbuf.h>  #include <gdk-pixbuf/gdk-pixbuf.h>
# Line 494  gtk_mng_view_load_mng_from_memory (GtkMn Line 495  gtk_mng_view_load_mng_from_memory (GtkMn
495    return TRUE;    return TRUE;
496  }  }
497    
498    Tmng *gtk_mng_free(Tmng *Amng)
499    {
500      if (!Amng) return NULL;
501    
502      g_free(Amng->mng_data);
503    
504      g_free(Amng);
505    
506      return NULL;
507    }
508    
509    Tmng *gtk_mng_read_file (const gchar* Afileformat, ...)
510    {
511      gint fd;
512      guint bytes_read = 0;
513      Tmng *Lmng = g_malloc0(sizeof (Tmng));
514      va_list Largs;
515      gchar Lfile[MAXPATHLEN];
516    
517      va_start(Largs, Afileformat);
518      g_vsnprintf(Lfile, MAXPATHLEN-1, Afileformat, Largs);
519      va_end(Largs);
520    
521      if ((fd = open (Lfile, O_RDONLY)) == -1)
522      {
523        g_warning (Lfile);
524        g_free(Lmng);
525        return NULL;
526      }
527    
528      Lmng->mng_data = g_new (guchar, _MNG_BLOCK_SIZE);
529      while ((bytes_read = read (fd, Lmng->mng_data + Lmng->size, _MNG_BLOCK_SIZE)))
530      {
531        Lmng->size += bytes_read;
532        Lmng->mng_data = (guchar *) g_realloc (Lmng->mng_data, Lmng->size + _MNG_BLOCK_SIZE);
533      }
534      close (fd);
535      Lmng->mng_data = (guchar *) g_realloc (Lmng->mng_data, Lmng->size);
536    
537      return Lmng;
538    }
539    
540    GtkMngView *gtk_mng_view_new_init(Tmng *Amng)
541    {
542      GtkMngView *Awidgetmng = GTK_MNG_VIEW(gtk_mng_view_new());
543    
544      if (Amng && Amng->mng_data && Amng->size)
545        gtk_mng_view_load_mng_from_memory(Awidgetmng, Amng->mng_data, Amng->size);
546    
547      return Awidgetmng;
548    }
549    
550  /*  /*
551   * vim:et:ts=8:sts=2:sw=2   * vim:et:ts=8:sts=2:sw=2
552   */   */

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26