#include <gtk++/gtkwindows.hpp> #include <gtk++/gtkpreviews.hpp> #include <math.h> int main (int argc, char * argv []) { guchar Points[100]; // Initialisation des bibliothèques ::gtk_init (&argc, &argv); // Creation dela fenetre lgtkpp::gtk_window Window; // Le titre Window.SetTitle ("Test Preview"); Window.SetBorderWidth (8); // Connexion des signaux Window.SignalConnect ("delete_event",GtkSignalFunc(gtk_main_quit), NULL); Window.SignalConnect ("destroy",GtkSignalFunc(gtk_main_quit), NULL); // Creation de la preview lgtkpp::gtk_preview Preview (GTK_PREVIEW_GRAYSCALE); Window += Preview; // Taille preview Preview.Size(100,100); // Trace de 100 lignes for (gint j=0; j < 100; j++) { // On commence par remplir le tableau for (gint i=0; i < 100; i++) Points[i] = guchar(191+64*sin(i*M_PI/25)*cos(j*M_PI/25)); // On envoie la ligne dans la preview Preview.DrawRow(Points,0,j,100); } // Affichage et boucle principale Window.ShowAll(); std::cout << Preview << std::endl; lgtkpp::gtk_preview_info Info = Preview.GetInfo(); std::cout << "Visual = " << Info.Visual.GetType() <<", Correction Gamma = " << Info.Gamma << std::endl; ::gtk_main(); return 0; }