0

示例代码在带有 R 2.14.1 和2.20.25gdkCursorNewFromPixmap的 Ubuntu 上导致错误RGtk2

代码:

library(RGtk2)

# This data is in X bitmap format, and can be created with the 'bitmap' utility in X11
cursor1_width <- 16
cursor1_height <- 16
cursor1_bits <- c(
  0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20,
  0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10,
  0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01)
cursor1mask_bits <- c(
  0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31,
  0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18,
  0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01)
 fg <- c(65535, 0, 0) # Red.
 bg <- c(0, 0, 65535) # Blue.
 source <- gdkPixmapNew(NULL, cursor1_width, cursor1_height, 8) 
 mask <- gdkPixmapNew(NULL, cursor1_width, cursor1_height, 8) 
 cursor <- gdkCursorNewFromPixmap(source, mask, fg, bg,0,0 )

错误:

Error in checkPtrType(source, "GdkPixmap") : 
  object of class GdkBitmap, RGtkObject isn't a GdkPixmap
Calls: gdkCursorNewFromPixmap -> checkPtrType
4

1 回答 1

0

它归结为GdkPixmap不等于GdkBitmap,使用gtk_pixmap_new而不是gtk_bitmap_create_from_data(顺便说一句已弃用)(使这些适应 R 命名约定)

于 2013-10-12T13:27:11.300 回答