Example #1
0
int draw (GtkWidget *widget, GdkEventExpose *event) 
{
	if (event->count > 0) return TRUE;

	if (gtk_gl_area_make_current (GTK_GL_AREA(widget))) {
	  glClearColor(0,0,0,1);
	  glClear(GL_COLOR_BUFFER_BIT);
	  glColor3f(0,0.2,0.8);
	  glBegin(GL_TRIANGLES);
	  glVertex2f(10,10);
	  glVertex2f(10,90);
	  glVertex2f(90,90);
	  glEnd();
	  gtk_gl_area_swap_buffers (GTK_GL_AREA(widget));
	}
	return TRUE;
}
Example #2
0
gboolean draw(GtkWidget *widget, cairo_t *cr)
{
	if (gtk_gl_area_make_current(GTK_GL_AREA(widget)))
	{
	      glViewport(0,0, gtk_widget_get_allocated_width(widget), gtk_widget_get_allocated_height (widget));

		/* draw a triangle */
	      glClearColor(0,0,0,1);
	      glClear(GL_COLOR_BUFFER_BIT);
	      glColor3f(1,1,1);
	      glBegin(GL_TRIANGLES);
	      glVertex2f(10,10);
	      glVertex2f(10,90);
	      glVertex2f(90,90);
	      glEnd();

		/* refresh-draw ! */
	      gtk_gl_area_swap_buffers (GTK_GL_AREA(widget));
	}

	return TRUE;
}