📄 lcd_pattern.h
字号:
/*-----------------------------------------------------------------------------
@@
@@ Copyright (c) 1998 Sharp Corporation All rights reserved.
@@
@@ (Summary) : The file of definition of line type and fill pattern for LCD
@@ Controller
@@
@@ (Comment) :
@@
@@ (Author) : Tsuneo TOMITA
@@
@@ (History) : Date Modifier Comment
@@
@@ (RCS ID) :
@@
-----------------------------------------------------------------------------*/
#ifndef LCD_PATTERN
#define LCD_PATTERN
/* Initial pattern mask */
#define LCD_PAT_MASK 0x80
/* The number of line type */
#define LCD_MAX_LINETYPE 3
static const unsigned char LCD_LINE_PAT[] = /* Bit pattern of line type */
{
0xFF, /* solid */
0xAA, /* dot */
0xF0, /* dash */
0xE4 /* dash-dot */
};
/* The number of fill pattern */
#define LCD_MAX_FILLTYPE 2
/* The size of byte of bit pattern to fill */
#define LCD_SIZE_FILLPAT 8
#define LCD_SIZE_FILLPAT_H 4
#define LCD_FILL_NONE -1
#if (APD_LCD_BPP == 16)
static const unsigned char LCD_FILL_PAT[] = /* Bit pattern to fill */
{
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* solid */
0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, /* half-tone */
0x11, 0x22, 0x44, 0x88, 0x11, 0x22, 0x44, 0x88, /* upward to the right */
0x88, 0x44, 0x22, 0x11, 0x88, 0x44, 0x22, 0x11, /* upward to the left */
0x99, 0x66, 0x66, 0x99, 0x99, 0x66, 0x66, 0x99, /* diagonal cross */
0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, /* vertical */
};
/* Horaizontal fill pattern */
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] = /* Specify index of above LCD_FILL_PAT */
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{1, 1, 1, 1}, /* APD_LCD_FILL_DOT */
{2, 2, 2, 2}, /* APD_LCD_FILL_DIAGONAL */
{3, 3, 3, 3}, /* APD_LCD_FILL_BDIAGONAL */
{4, 4, 4, 4}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{5, 5, 5, 5}, /* APD_LCD_FILL_VERTICAL */
{0, 5, 5, 5} /* APD_LCD_FILL_CROSS */
};
#endif /* APD_LCD_BPP == 16 */
#if (APD_LCD_BPP == 8)
/* 32bits mask pattern to fill */
static const unsigned long LCD_FILL_PAT[] =
{
0xFFFFFFFF, /* solid */
0xFF00FF00, /* half-tone */
0x00FF00FF,
0x000000FF,
0x0000FF00,
0x00FF0000,
0xFF000000,
0xFF0000FF,
0x00FFFF00,
};
/* Specify index of above LCD_FILL_PAT */
#ifdef APD_LCD_LEBO
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] =
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{1, 2, 1, 2}, /* APD_LCD_FILL_DOT */
{3, 4, 5, 6}, /* APD_LCD_FILL_DIAGONAL */
{6, 5, 4, 3}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{6, 6, 6, 6}, /* APD_LCD_FILL_VERTICAL */
{0, 6, 6, 6} /* APD_LCD_FILL_CROSS */
};
#else
#ifdef APD_LCD_BEBO
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] =
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{2, 1, 2, 1}, /* APD_LCD_FILL_DOT */
{6, 5, 4, 3}, /* APD_LCD_FILL_DIAGONAL */
{3, 4, 5, 6}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{3, 3, 3, 3}, /* APD_LCD_FILL_VERTICAL */
{0, 3, 3, 3} /* APD_LCD_FILL_CROSS */
};
#endif /* APD_LCD_BEBO */
#endif /* APD_LCD_LEBO */
/* static Hline pattern */
#ifdef APD_LCD_LEBO
static const unsigned long LCD_HLINE_PAT[][LCD_MAX_FILLTYPE] =
{
{0xFFFFFFFF, 0xFFFFFFFF}, /* SOLID */
{0xFF00FF00, 0xFF00FF00}, /* DOT */
{0xFFFFFFFF, 0x00000000}, /* DASH */
{0xFFFFFF00, 0x00FF0000} /* DASH-DOT */
};
#else
#ifdef APD_LCD_BEBO
static const unsigned long LCD_HLINE_PAT[][LCD_MAX_FILLTYPE] =
{
{0xFFFFFFFF, 0xFFFFFFFF}, /* SOLID */
{0x00FF00FF, 0x00FF00FF}, /* DOT */
{0x00000000, 0xFFFFFFFF}, /* DASH */
{0x0000FF00, 0x00FFFFFF} /* DASH-DOT */
};
#endif /* APD_LCD_BEBO */
#endif /* APD_LCD_LEBO */
#endif /* APD_LCD_BPP == 8 */
#if (APD_LCD_BPP == 4)
static const unsigned long LCD_FILL_PAT[] = /* 32bits mask pattern to fill */
{
0xFFFFFFFF, /* solid */
0xF0F0F0F0, /* half-tone */
0x0F0F0F0F,
0x000F000F,
0x00F000F0,
0x0F000F00,
0xF000F000,
0xF00FF00F,
0x0FF00FF0,
};
#ifdef APD_LCD_LEBO
#ifdef APD_LCD_LEPO
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] = /* Specify index of above LCD_FILL_PAT */
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{1, 2, 1, 2}, /* APD_LCD_FILL_DOT */
{3, 4, 5, 6}, /* APD_LCD_FILL_DIAGONAL */
{6, 5, 4, 3}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{6, 6, 6, 6}, /* APD_LCD_FILL_VERTICAL */
{0, 6, 6, 6} /* APD_LCD_FILL_CROSS */
};
#else
#ifdef APD_LCD_BEPO
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] = /* Specify index of above LCD_FILL_PAT */
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{2, 1, 2, 1}, /* APD_LCD_FILL_DOT */
{4, 3, 6, 5}, /* APD_LCD_FILL_DIAGONAL */
{5, 6, 3, 4}, /* APD_LCD_FILL_BDIAGONAL */
{8, 7, 7, 8}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{5, 5, 5, 5}, /* APD_LCD_FILL_VERTICAL */
{0, 5, 5, 5} /* APD_LCD_FILL_CROSS */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_LEPO */
#else
#ifdef APD_LCD_BEBO
#ifdef APD_LCD_BEPO
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] = /* Specify index of above LCD_FILL_PAT */
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{2, 1, 2, 1}, /* APD_LCD_FILL_DOT */
{6, 5, 4, 3}, /* APD_LCD_FILL_DIAGONAL */
{3, 4, 5, 6}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{3, 3, 3, 3}, /* APD_LCD_FILL_VERTICAL */
{0, 3, 3, 3} /* APD_LCD_FILL_CROSS */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_BEBO */
#endif /* APD_LCD_LEBO */
/* static Hline pattern */
#ifdef APD_LCD_LEBO
#ifdef APD_LCD_LEPO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0xF0F0F0F0, /* DOT */
0xFFFF0000, /* DASH */
0xFFF00F00 /* DASH-DOT */
};
#else
#ifdef APD_LCD_BEPO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0x0F0F0F0F, /* DOT */
0xFFFF0000, /* DASH */
0xFF0FF000 /* DASH-DOT */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_LEPO */
#else
#ifdef APD_LCD_BEBO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0x0F0F0F0F, /* DOT */
0x0000FFFF, /* DASH */
0x00F00FFF /* DASH-DOT */
};
#endif /* APD_LCD_BEBO */
#endif /* APD_LCD_LEBO */
#endif /* APD_LCD_BPP == 4 */
#if (APD_LCD_BPP == 2)
/* 32bits mask pattern to fill */
static const unsigned long LCD_FILL_PAT[] =
{
0xFFFFFFFF, /* solid */
0xCCCCCCCC,
0x33333333,
0x03030303,
0x0C0C0C0C,
0x30303030,
0xC0C0C0C0,
0xC3C3C3C3,
0x3C3C3C3C,
};
#ifdef APD_LCD_LEPO
/* Specify index of above LCD_FILL_PAT */
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] =
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{1, 2, 1, 2}, /* APD_LCD_FILL_DOT */
{3, 4, 5, 6}, /* APD_LCD_FILL_DIAGONAL */
{6, 5, 4, 3}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{6, 6, 6, 6}, /* APD_LCD_FILL_VERTICAL */
{0, 6, 6, 6} /* APD_LCD_FILL_CROSS */
};
#else
#ifdef APD_LCD_BEPO
/* Specify index of above LCD_FILL_PAT */
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] =
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{2, 1, 2, 1}, /* APD_LCD_FILL_DOT */
{6, 5, 4, 3}, /* APD_LCD_FILL_DIAGONAL */
{3, 4, 5, 6}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{3, 3, 3, 3}, /* APD_LCD_FILL_VERTICAL */
{0, 3, 3, 3} /* APD_LCD_FILL_CROSS */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_LEPO */
/* static Hline pattern */
#ifdef APD_LCD_LEBO
#ifdef APD_LCD_LEPO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0xCCCCCCCC, /* DOT */
0xFF00FF00, /* DASH */
0xFC30FC30 /* DASH-DOT */
};
#else
#ifdef APD_LCD_BEPO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0x33333333, /* DOT */
0xFF00FF00, /* DASH */
0x3F0C3F0C /* DASH-DOT */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_LEPO */
#else
#ifdef APD_LCD_BEBO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0x33333333, /* DOT */
0x00FF00FF, /* DASH */
0x0C3F0C3F /* DASH-DOT */
};
#endif /* APD_LCD_BEBO */
#endif /* APD_LCD_LEBO */
#endif /* APD_LCD_BPP == 2 */
#if (APD_LCD_BPP == 1)
/* 32bits mask pattern to fill */
static const unsigned long LCD_FILL_PAT[] =
{
0xFFFFFFFF, /* solid */
0xAAAAAAAA,
0x55555555,
0x11111111,
0x22222222,
0x44444444,
0x88888888,
0x99999999,
0x66666666,
};
#ifdef APD_LCD_LEPO
/* Specify index of above LCD_FILL_PAT */
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] =
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{1, 2, 1, 2}, /* APD_LCD_FILL_DOT */
{3, 4, 5, 6}, /* APD_LCD_FILL_DIAGONAL */
{6, 5, 4, 3}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{6, 6, 6, 6}, /* APD_LCD_FILL_VERTICAL */
{0, 6, 6, 6} /* APD_LCD_FILL_CROSS */
};
#else
#ifdef APD_LCD_BEPO
/* Specify index of above LCD_FILL_PAT */
static const char LCD_FILL_PAT_H[][LCD_SIZE_FILLPAT_H] =
{
{0, 0, 0, 0}, /* APD_LCD_FILL_SOLID */
{2, 1, 2, 1}, /* APD_LCD_FILL_DOT */
{6, 5, 4, 3}, /* APD_LCD_FILL_DIAGONAL */
{3, 4, 5, 6}, /* APD_LCD_FILL_BDIAGONAL */
{7, 8, 8, 7}, /* APD_LCD_FILL_DCROSS */
{0, (char)LCD_FILL_NONE, (char)LCD_FILL_NONE,
(char)LCD_FILL_NONE}, /* APD_LCD_FILL_HORIZONTAL */
{3, 3, 3, 3}, /* APD_LCD_FILL_VERTICAL */
{0, 3, 3, 3} /* APD_LCD_FILL_CROSS */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_LEPO */
/* static Hline pattern */
#ifdef APD_LCD_LEBO
#ifdef APD_LCD_LEPO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0xAAAAAAAA, /* DOT */
0xF0F0F0F0, /* DASH */
0xE4E4E4E4 /* DASH-DOT */
};
#else
#ifdef APD_LCD_BEPO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0x55555555, /* DOT */
0x0F0F0F0F, /* DASH */
0x27272727 /* DASH-DOT */
};
#endif /* APD_LCD_BEPO */
#endif /* APD_LCD_LEPO */
#else
#ifdef APD_LCD_BEBO
static const unsigned long LCD_HLINE_PAT[] =
{
0xFFFFFFFF, /* SOLID */
0x55555555, /* DOT */
0x0F0F0F0F, /* DASH */
0x27272727 /* DASH-DOT */
};
#endif /* APD_LCD_BEBO */
#endif /* APD_LCD_LEBO */
#endif /* APD_LCD_BPP == 1 */
#endif /* APD_LCD_PATTERN */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -