[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Newbie Question



Hi all,
I am writing a GTK+ App that requires an image to be updates at intervals
I have the image widget in a window that is updated periodicly. Here is 
the code:

GtkWidget *image;
GdkImage *test;
guint32 pixel;
GtkWidget *window;
GdkVisual *help;

int main()
{
    .....
 gtk_init(&argc,&argv);   //Parses GTK+ init options
 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window),"Test"); //title the window
  help=gdk_visual_get_best();                      //get the visual
  test=gdk_image_new(GDK_IMAGE_NORMAL,help,1024,1024); //create the gdk 
image
  image=gtk_image_new(test,NULL); //set up the image widget
     
  gtk_container_add(GTK_CONTAINER(window),image); //add the image to the 
window
     
 
  gtk_signal_connect(GTK_OBJECT(window),
             "delete_event",
             GTK_SIGNAL_FUNC(delete_event_cb),
             NULL); //exit main when the window closes.
            
      //create the window widget
      gtk_widget_show_all(window);
      gtk_timeout_add(50,conac,NULL);
      gtk_main();
      return 0;
}


conac is the timeout I am adding is as follows

gint conac(gpointer data)
{
  int i;
  int a,b,c,d;
  long *final;
  gchar *tvarr;
 
  final=calloc(LIN_ARR,sizeof(long));           //final image buffer
  tvarr=(gchar *)calloc(LIN_ARR,sizeof(char));  //display buffer of 
characters
  expose(exptime,final,pci_fd,memfd,TRUE);  //default leach expose function
     
  max_min(tvarr,final,min,max);        //from final make the display 
buffer.

  gtk_widget_hide(image);
  gdk_image_destroy(test);
  test=gdk_image_new(GDK_IMAGE_NORMAL,help,1024,1024); //create the gdk 
image
 
  //populate the Gdk image
  for(a=0;a<1024;a++)
    for(b=0;b<1024;b++)
      {
    pixel=tvarr[a*1024+b]<<help->red_shift| 
      tvarr[a*1024+b]<<help->green_shift|
      tvarr[a*1024+b]<<help->blue_shift;
    c=1023-a;
    d=1023-b;
    gdk_image_put_pixel(test,a,d,pixel);
      }
  gtk_container_remove(GTK_CONTAINER(window),image);
  image=gtk_image_new(test,NULL);
  gtk_container_add(GTK_CONTAINER(window),image);
  gtk_widget_show(image);
 
  return 1;
}

I am aware that the gtk_signal_connect() dosent work, I really dont 
care, I would like to get the image update functin "conac" working (ie. 
Updating the child widget image and displating it in the window)

Thanks in advance for the help,
Aaron Smith




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]