/* @event notified event @context pointer to the notification count  */
static void EFIAPI notify(struct efi_event *event, void *context)
/* @event notified event @context pointer to the notification count  */
static void EFIAPI notify(struct efi_event *event, void *context)
{
	efi_uintn_t *pos = context;
	efi_uintn_t dx, sx, width;
	if (!pos)
		return;
	*pos += 5;
	if (*pos >= WIDTH + gop->mode->info->width)
		*pos = 0;
	width = WIDTH;
	dx = *pos - WIDTH;
	sx = 0;
	if (*pos >= gop->mode->info->width) {
		width = WIDTH +  gop->mode->info->width - *pos;
	} else if (*pos < WIDTH) {
		dx = 0;
		sx = WIDTH - *pos;
		width = *pos;
	}
	gop->blt(gop, bitmap, EFI_BLT_BUFFER_TO_VIDEO, sx, 0, dx, DEPTH,
		 width, HEIGHT, WIDTH * sizeof(struct efi_gop_pixel));
}