display_copy_mono(gx_device * dev,
             const byte * base, int sourcex, int raster, gx_bitmap_id id,
             int x, int y, int w, int h,
             gx_color_index zero, gx_color_index one)
{
    gx_device_display *ddev = (gx_device_display *) dev;
    if (ddev->callback == NULL)
        return gs_error_Fatal;
    dev_proc(ddev->mdev, copy_mono)((gx_device *)ddev->mdev,
        base, sourcex, raster, id, x, y, w, h, zero, one);

    while(dev->parent)
        dev = dev->parent;

    if (ddev->callback->display_update)
        (*(ddev->callback->display_update))(ddev->pHandle, dev, x, y, w, h);
    return 0;
}
display_copy_mono(gx_device * dev,
             const byte * base, int sourcex, int raster, gx_bitmap_id id,
             int x, int y, int w, int h,
             gx_color_index zero, gx_color_index one)
{
    gx_device_display *ddev = (gx_device_display *) dev;
    if (ddev->callback == NULL)
        return gs_error_Fatal;
    dev_proc(ddev->mdev, copy_mono)((gx_device *)ddev->mdev,
        base, sourcex, raster, id, x, y, w, h, zero, one);

    while(dev->parent)
        dev = dev->parent;

    if (ddev->callback->display_update)
        (*(ddev->callback->display_update))(ddev->pHandle, dev, x, y, w, h);
    return 0;
}