
// ui_cursor.h
//
// Mouse cursor bitmaps.
//
// Author: Ajay Tatachar <ajay.tatachar@gmail.com>

#ifndef UI_CURSOR_H
#define UI_CURSOR_H

#define CURSOR_WIDTH 16
#define CURSOR_HEIGHT 16

enum cursor_color
{
  CURSOR_BLACK = 0,
  CURSOR_WHITE = 1,
  CURSOR_NONE = 2,
};

static const uint8_t CURSOR_DEFAULT_PIXELS[] = {
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE
};

static const uint8_t CURSOR_RESIZE_H_PIXELS[] = {
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE
};

static const uint8_t CURSOR_RESIZE_W_PIXELS[] = {
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE
};

static const uint8_t CURSOR_RESIZE_WH_PIXELS[] = {
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE
};

static const uint8_t CURSOR_CLOSE_PIXELS[] = {
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE
};

static const uint8_t CURSOR_OPACITY_PIXELS[] = {
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,
  CURSOR_NONE,  CURSOR_BLACK, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE, CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_WHITE,
  CURSOR_WHITE, CURSOR_WHITE, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,  CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK,
  CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_BLACK, CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,
  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE,  CURSOR_NONE
};

#endif /* UI_CURSOR_H */
