void a_Interface_set_cursor(BrowserWindow *bw, GdkCursorType CursorType) 
{ 

#define bmap_width 16 
#define bmap_height 16 
static unsigned char bmap_bits[] = { 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; 

static unsigned char bmap_mask_bits[] = { 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 

GdkCursor *cursor; 
GdkPixmap *source, *mask; 
GdkColor fg = { 0,0,0,0 }; /* black */ 
GdkColor bg = { 0,0,0,0 }; /* black */ 

source = gdk_bitmap_create_from_data (NULL, bmap_bits, bmap_width, bmap_height);mask = gdk_bitmap_create_from_data (NULL, bmap_mask_bits, bmap_width, bmap_height); 

  if ( bw->CursorType != CursorType ) { 
     cursor = gdk_cursor_new_from_pixmap(source, mask, &fg, &bg, 8, 8); 
     gdk_window_set_cursor(bw->docwin->window, cursor); 
     gdk_cursor_destroy(cursor); 
     bw->CursorType = CursorType; 
  } 
}