00001 00002 00003 00004 00005 00006 #ifndef _EMOJI_H_ 00007 #define _EMOJI_H_ 00008 00010 #define EMOJI_START 0xe001 00012 #define EMOJI_END 0xe537 00013 00015 #define EMOJI_CELL_SIZE 20 00016 00018 #define EMOJI_GROUP_X 16 00020 #define EMOJI_GROUP_Y 6 00021 00026 #define EMOJI_GROUP(i) (((i)-EMOJI_START) / 256) 00027 #define EMOJI_CH2LOC(i, rc) { int g = EMOJI_GROUP(i); \ 00028 int idx = (i) - EMOJI_START; \ 00029 int y = g * EMOJI_GROUP_Y; \ 00030 rc.x1 = (idx % 16) * EMOJI_CELL_SIZE; \ 00031 rc.x2 = rc.x1 + EMOJI_CELL_SIZE - 1; \ 00032 rc.y1 = (y + ((idx % 256) / 16)) * EMOJI_CELL_SIZE; \ 00033 rc.y2 = rc.y1 + EMOJI_CELL_SIZE - 1; \ 00034 } 00035 00036 00037 #endif