1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
   |  
#include <stdlib.h>
#include <gtk/gtk.h>
 
gint main(gint argc, gchar ** argv)
{
	/* Variables */
	GtkWidget * pWindow = NULL;
	GtkWidget * pCurve = NULL;
	GtkWidget * pBox = NULL;
	/* Points de la courbe */
	gfloat vector[4] = {-8, 0, -2, 7};
 
	/* Initialisation de gtk */
	gtk_init(&argc, &argv);
	pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
	g_signal_connect(
			G_OBJECT(pWindow),
		   	"destroy",
		   	G_CALLBACK(gtk_main_quit),
		   	NULL
			);
 
	pBox = gtk_vbox_new(TRUE, 10);
	gtk_container_add (GTK_CONTAINER(pWindow), pBox);
 
	/* Création d'une courbe */
	pCurve = gtk_curve_new();
	gtk_curve_reset (GTK_CURVE(pCurve));
 
	/* Prarmetrage de l'affichage de la courbe */
	gtk_curve_set_range(GTK_CURVE(pCurve), -10, 10, -10, 10);
	gtk_widget_set_sensitive(pCurve, FALSE);
 
	/* Placement des points de la courbe */
	gtk_curve_set_vector(GTK_CURVE(pCurve), 4, vector);
 
	/* Parametrage du type de courbe
	 * GTK_CURVE_TYPE_SPLINE
	 * GTK_CURVE_TYPE_LINEAR
	 * GTK_CURVE_TYPE_FREE
	 */
	gtk_curve_set_curve_type(GTK_CURVE(pCurve), GTK_CURVE_TYPE_SPLINE);
 
	gtk_box_pack_start (GTK_BOX(pBox), pCurve, TRUE, TRUE, 0);
 
	/* Affichage de la fenetre */
	gtk_widget_show_all(pWindow);
 
	/* Demarrage de la boucle evenementielle */
	gtk_main();
 
	return EXIT_SUCCESS;
} | 
Partager