All pastes #1849776 Raw Edit

vikky

public text v1 · immutable
#1849776 ·published 2010-03-22 23:09 UTC
rendered paste body
/* gcc -Wall -g `pkg-config --cflags --libs gtk+-2.0`  -o X pre.c */#include <gtk/gtk.h>#include <unistd.h>gboolean on_mouse_hover(GtkWidget *widget, GdkEventCrossing *event, gpointer data){	GtkAllocation alloc;	gtk_widget_get_allocation(widget,&alloc);	if(event->type == GDK_LEAVE_NOTIFY){		printf("Leave Notify\n");			gtk_paint_box(widget->style,widget->window,GTK_STATE_NORMAL,			GTK_SHADOW_NONE,NULL,widget,NULL,0,0,alloc.width,alloc.height);		return TRUE;	}else {		printf("Enter notify\n");		gtk_paint_box(widget->style,widget->window,GTK_STATE_PRELIGHT,			GTK_SHADOW_OUT,NULL,widget,NULL,0,0,alloc.width,alloc.height);		return TRUE;	}}int main(int argc, char **argv){	gtk_init(&argc, &argv);	GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);	GdkGeometry gdkGeometry;	gdkGeometry.min_width= 640;	gdkGeometry.min_height = 480;	gtk_window_set_geometry_hints(GTK_WINDOW(window), window,		&gdkGeometry, GDK_HINT_MIN_SIZE);	GtkLabel *label = gtk_label_new("blah");	GtkFrame *frame  = gtk_frame_new(NULL);	GtkEventBox *frame_event = gtk_event_box_new();	GtkAlignment *frame_align = gtk_alignment_new(0.5,0.5,0.5,0.5);	gtk_widget_set_size_request (frame,200,200);		gtk_container_add(GTK_CONTAINER(frame), label);	gtk_container_add(GTK_CONTAINER(frame_event), frame);	gtk_container_add(GTK_CONTAINER(frame_align), frame_event);		gtk_container_add(GTK_CONTAINER(window), frame_align);	g_signal_connect(frame_event,"leave-notify-event",on_mouse_hover,NULL);	g_signal_connect(frame_event,"enter-notify-event",on_mouse_hover,NULL);	g_signal_connect(G_OBJECT(window), "destroy", gtk_main_quit, NULL);		gtk_widget_show_all(window);	gtk_main();	return 0;}