/** xbmcursor.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); #include "xbitmap.xbm" #include "xmask.xbm" static GdkColor oneColor = {0,0xFFFF,0x0000,0x0000}; static GdkColor zeroColor = {0,0x0000,0x0000,0x0000}; int main(int argc,char *argv[]) { GtkWidget *topLevel; GdkCursor *cursor; GdkBitmap *bitmap; GdkBitmap *mask; gnome_init("xbmcursor","1.0",argc,argv); topLevel = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(topLevel), 150,150); gtk_signal_connect(GTK_OBJECT(topLevel),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(topLevel),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); gtk_widget_show_all(topLevel); bitmap = gdk_bitmap_create_from_data(NULL,xbitmap_bits, xbitmap_width,xbitmap_height); mask = gdk_bitmap_create_from_data(NULL,xmask_bits, xmask_width,xmask_height); cursor = gdk_cursor_new_from_pixmap( bitmap,mask, &oneColor,&zeroColor, xbitmap_x_hot,xbitmap_y_hot); gdk_window_set_cursor(topLevel->window,cursor); gtk_main(); exit(0); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }