Skip to content

Instantly share code, notes, and snippets.

@khajavi
Created May 26, 2013 21:05
Show Gist options
  • Save khajavi/5654034 to your computer and use it in GitHub Desktop.
Save khajavi/5654034 to your computer and use it in GitHub Desktop.
Simple gtk base caro example
#include <gtk/gtk.h>
#include <cairo.h>
static gboolean
on_draw_event( GtkWidget* widget,
cairo_t *cr,
gpointer user_data ) {
cairo_set_source_rgb( cr, 0.3, 0.5, 0.8 );
cairo_rectangle( cr, 100, 100, 50, 50 );
cairo_fill( cr );
return FALSE;
}
int main( int argc, char* argv[] ) {
GtkWidget *darea;
GtkWidget *window;
gtk_init( &argc, &argv );
window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
gtk_window_set_default_size( GTK_WINDOW(window), 400, 400 );
gtk_window_set_title( GTK_WINDOW(window), "Simple Cairo Example" );
darea = gtk_drawing_area_new();
gtk_container_add( GTK_CONTAINER(window), darea );
g_signal_connect( G_OBJECT(window),
"destroy",
G_CALLBACK( gtk_main_quit ),
NULL );
g_signal_connect( G_OBJECT(darea),
"draw",
G_CALLBACK( on_draw_event ),
NULL );
gtk_widget_show_all( window );
gtk_main();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment