Re: GtkGLArea and signals



Make sure that you're calling

  glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT )

somewhere before the image is display.  Calling this
in the configure_event handler (called when the window is resized,
and also the first time before mapping) seems to work for me.

Good luck,

Ralph Walden


layabouts the-giant-sofa demon co uk wrote:
> 
> sven gimp org wrote:
> >> Why is it that I can't simply have the glarea widget signal
> >> itself that it is in need of a refresh? Isn't a widget allowed
> >> to signal itself?
> >
> > if you would emit the signal correctly it would probably work
> > (you missed to pass a valid GdkEvent to signal_emit). However
> > the correct way of emitting an expose event is to use
> > gtk_widget_queue_draw() or gtk_widget_queue_draw_area().
> 
> OK, I see what you mean. Thanks :)
> 
> I have another signal related problem now - I want to refresh the GL widget
> as soon as it is displayed, otherwise a load of random crap in memory is
> displayed until I (for example) rotate the view with the mouse. I really need
> to force this refresh to occur before the user interacts with the program.
> 
> The problem is that I've tried doing a gtk_widget_draw() in my "realize" handler
> and even tried it in a "map" handler, but it doesn't make a difference. To
> be perfectly honest I'm programming blind, because I can't find any
> documentation that describes what these signals really are, precisely when
> they fire, and what you can and can't do within the signal handlers, depending
> on the state of the widget.
> 
> Where do I find this information? It doesn't appear to be in the GTK docs.
> I'm really looking for something like this (taken from Amiga MUI docs):
> 
> "   To sum it up again, look at the diagram below. Things between
> brackets might be called zero or more times for the same object.
> 
>      OM_NEW; /* you dont know anything about display environment here */
>      {
>         MUIM_Setup;      /* information about display, still no window */
>         MUIM_AskMinMax;  /* tell me your min/max dimensions */
>         [ window is opened here ]
>         {
>            MUIM_Show;    /* add yourself to the window, don't yet draw */
>            {
>               MUIM_Draw;     /* draw yourself */
>            }
>            MUIM_Hide;    /* remove yourself from the window */
>         }
>         [ window is closed here ]
>         MUIM_Cleanup;    /* free any display dependant data */
>      }
>      OM_DISPOSE; /* kill yourself completely */"
> 
> Is there anything analogous to this in the GTK documentation? And a full
> explanation of the signals? - all the signal information in the GtkWidget
> documentation is blank apart from the parameter descriptions! And its the
> same with the GTK 2.0 docs too :(
> 
> Thanks,
> 
> Giles
> 
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list

-- 

Ralph E. Walden
Tripos, Inc.
rwalden tripos com



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