class Pixmap(Drawable):
    __pixmap__ = resource.Resource.__resource__

    def free(self, onerror = None):
	request.FreePixmap(display = self.display,
			   onerror = onerror,
			   pixmap = self.id)

	self.display.free_resource_id(self.id)

    def create_cursor(self, mask,
		      (fore_red, fore_green, fore_blue),
		      (back_red, back_green, back_blue),
		      x, y):
	cid = self.display.allocate_resource_id()
	request.CreateCursor(display = self.display,
			     cid = cid,
			     source = self.id,
			     mask = mask,
			     fore_red = fore_red,
			     fore_green = fore_green,
			     fore_blue = fore_blue,
			     back_red = back_red,
			     back_green = back_green,
			     back_blue = back_blue,
			     x = x,
			     y = y)
	cls = self.display.get_resource_class('cursor', cursor.Cursor)
	return cls(self.display, cid, owner = 1)
 def create_cursor(self, mask, fore_red, fore_green, fore_blue, back_red,
                   back_green, back_blue, x, y):
     cid = self.display.allocate_resource_id()
     request.CreateCursor(display=self.display,
                          cid=cid,
                          source=self.id,
                          mask=mask,
                          fore_red=fore_red,
                          fore_green=fore_green,
                          fore_blue=fore_blue,
                          back_red=back_red,
                          back_green=back_green,
                          back_blue=back_blue,
                          x=x,
                          y=y)
     cls = self.display.get_resource_class('cursor', cursor.Cursor)
     return cls(self.display, cid, owner=1)