#include "mktest.h" unsigned char Courier_Font[256*8] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x00, 0x28,0x28,0x28,0x00,0x00,0x00,0x00,0x00, 0x14,0x28,0x7C,0x28,0x28,0x7C,0x28,0x50, 0x10,0x38,0x40,0x30,0x08,0x70,0x20,0x20, 0x20,0x50,0x20,0x78,0x10,0x28,0x10,0x00, 0x00,0x18,0x20,0x20,0x58,0x48,0x3C,0x00, 0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00, 0x08,0x08,0x10,0x10,0x10,0x10,0x08,0x08, 0x10,0x10,0x08,0x08,0x08,0x08,0x10,0x10, 0x00,0x10,0x10,0x7C,0x10,0x28,0x00,0x00, 0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x18,0x30,0x20, 0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00, 0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40, 0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00, 0x30,0x10,0x10,0x10,0x10,0x10,0x7C,0x00, 0x38,0x44,0x08,0x10,0x20,0x40,0x7C,0x00, 0x38,0x44,0x04,0x18,0x04,0x44,0x38,0x00, 0x08,0x18,0x28,0x48,0x7C,0x08,0x1C,0x00, 0x3C,0x20,0x20,0x38,0x04,0x44,0x38,0x00, 0x1C,0x20,0x40,0x78,0x44,0x44,0x38,0x00, 0x7C,0x44,0x04,0x08,0x08,0x10,0x10,0x00, 0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00, 0x38,0x44,0x44,0x3C,0x04,0x08,0x70,0x00, 0x00,0x30,0x30,0x00,0x30,0x30,0x00,0x00, 0x00,0x30,0x30,0x00,0x00,0x30,0x60,0x40, 0x00,0x08,0x30,0xC0,0x30,0x08,0x00,0x00, 0x00,0x00,0x7C,0x00,0x7C,0x00,0x00,0x00, 0x00,0x40,0x30,0x0C,0x30,0x40,0x00,0x00, 0x18,0x24,0x04,0x08,0x08,0x00,0x18,0x00, 0x38,0x44,0x4C,0x54,0x54,0x4C,0x40,0x3C, 0x30,0x10,0x28,0x28,0x38,0x44,0x44,0x00, 0xF8,0x44,0x44,0x78,0x44,0x44,0xF8,0x00, 0x3C,0x44,0x40,0x40,0x40,0x44,0x38,0x00, 0x70,0x48,0x44,0x44,0x44,0x48,0x70,0x00, 0x7C,0x24,0x28,0x38,0x28,0x24,0x7C,0x00, 0x7C,0x24,0x28,0x38,0x28,0x20,0x70,0x00, 0x3C,0x44,0x40,0x40,0x5C,0x44,0x38,0x00, 0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x00, 0x7C,0x10,0x10,0x10,0x10,0x10,0x7C,0x00, 0x3C,0x08,0x08,0x08,0x48,0x48,0x30,0x00, 0x44,0x44,0x48,0x70,0x48,0x44,0x44,0x00, 0x70,0x20,0x20,0x20,0x24,0x24,0x7C,0x00, 0x6C,0x6C,0x6C,0x54,0x44,0x44,0x44,0x00, 0x64,0x64,0x64,0x54,0x54,0x4C,0x4C,0x00, 0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00, 0x78,0x24,0x24,0x24,0x38,0x20,0x70,0x00, 0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x1C, 0xF0,0x48,0x48,0x48,0x70,0x48,0x44,0x00, 0x34,0x4C,0x40,0x38,0x04,0x44,0x78,0x00, 0x7C,0x54,0x10,0x10,0x10,0x10,0x38,0x00, 0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00, 0x44,0x44,0x44,0x48,0x28,0x28,0x30,0x00, 0x44,0x44,0x54,0x54,0x54,0x54,0x28,0x00, 0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00, 0x44,0x44,0x28,0x10,0x10,0x10,0x38,0x00, 0x7C,0x44,0x08,0x10,0x20,0x44,0x7C,0x00, 0x18,0x10,0x10,0x10,0x10,0x10,0x10,0x18, 0x20,0x10,0x10,0x08,0x08,0x08,0x04,0x04, 0x18,0x08,0x08,0x08,0x08,0x08,0x08,0x18, 0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C, 0x20,0x10,0x10,0x08,0x00,0x00,0x00,0x00, 0x00,0x00,0x38,0x44,0x3C,0x44,0x7C,0x00, 0x40,0x40,0x58,0x64,0x44,0x44,0x78,0x00, 0x00,0x00,0x38,0x44,0x40,0x40,0x3C,0x00, 0x0C,0x04,0x34,0x4C,0x44,0x44,0x3C,0x00, 0x00,0x00,0x38,0x44,0x7C,0x40,0x3C,0x00, 0x0C,0x10,0x3C,0x10,0x10,0x10,0x3C,0x00, 0x00,0x34,0x4C,0x44,0x44,0x3C,0x04,0x38, 0x40,0x40,0x58,0x64,0x44,0x44,0x44,0x00, 0x10,0x00,0x70,0x10,0x10,0x10,0x7C,0x00, 0x08,0x00,0x3C,0x04,0x04,0x04,0x04,0x38, 0x40,0x40,0x5C,0x48,0x70,0x48,0x5C,0x00, 0x30,0x10,0x10,0x10,0x10,0x10,0x7C,0x00, 0x00,0x00,0x68,0x54,0x54,0x54,0x54,0x00, 0x00,0x00,0x58,0x64,0x44,0x44,0x44,0x00, 0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00, 0x00,0x58,0x64,0x44,0x44,0x78,0x40,0x40, 0x00,0x34,0x4C,0x44,0x44,0x3C,0x04,0x04, 0x00,0x00,0x6C,0x30,0x20,0x20,0x78,0x00, 0x00,0x00,0x3C,0x40,0x38,0x04,0x78,0x00, 0x00,0x20,0x7C,0x20,0x20,0x20,0x1C,0x00, 0x00,0x00,0x44,0x44,0x44,0x4C,0x34,0x00, 0x00,0x00,0x44,0x44,0x48,0x28,0x30,0x00, 0x00,0x00,0x44,0x44,0x54,0x54,0x28,0x00, 0x00,0x00,0x6C,0x28,0x10,0x28,0x6C,0x00, 0x00,0x00,0x44,0x28,0x28,0x10,0x10,0x70, 0x00,0x00,0x7C,0x48,0x10,0x24,0x7C,0x00, 0x0C,0x10,0x10,0x20,0x10,0x10,0x0C,0x00, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x30,0x08,0x08,0x04,0x08,0x08,0x30,0x00, 0x00,0x00,0x00,0x34,0x58,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; void test_fontchar(const unsigned char * title, short x, short y, char character, short num_font, short size, BOOL italic, BOOL bold) { h_Font font[3]; short s; // unsigned char old_font; begintest("Font Char",title); hl_loadTiosFont(&(font[0]),&(font[1]),&(font[2])); clrscr(); DrawStr(1,80,title,A_NORMAL); s=hl_drawChar(&(font[num_font]),x,y,character,italic,bold,LCD_SCREEN); /* old_font=FontSetSys(num_font); DrawChar(x,y+10,character,A_NORMAL); FontSetSys(old_font);*/ ngetchx(); testvalue("size",s,size); finishtest(); } void test_fontstr(const unsigned char * title, short x, short y, const unsigned char * str, short num_font, short size, BOOL italic, BOOL bold) { h_Font font[3]; short s; // unsigned char old_font; begintest("Font Char",title); hl_loadTiosFont(&(font[0]),&(font[1]),&(font[2])); clrscr(); DrawStr(1,80,title,A_NORMAL); s=hl_drawStr(&(font[num_font]),x,y,str,italic,bold,LCD_SCREEN); /* old_font=FontSetSys(num_font); DrawStr(x,y+10,str,A_NORMAL); FontSetSys(old_font);*/ ngetchx(); testvalue("size",s,size); finishtest(); } void test_fontother(void) { h_Font font = { .h=H_NULL, .filename={'c','o','u','r','i','e','r'}, .width=5, .upperline=7, .underline=1, .include_space=0, .size_item=8, .tab=Courier_Font }; short size; clrscr(); size = hl_drawStr(&font,0,60,"ABCDEFGHIJK abcdefg",FALSE,FALSE,LCD_SCREEN); printf("draw normal: %d\n",size); size = hl_drawStr(&font,0,70,"ABCDEFGHIJK abcdefg",FALSE,TRUE,LCD_SCREEN); printf("draw bold: %d\n",size); size = hl_drawStr(&font,0,80,"ABCDEFGHIJK abcdefg",TRUE,FALSE,LCD_SCREEN); printf("draw italic: %d\n",size); size = hl_drawStr(&font,0,90,"ABCDEFGHIJK abcdefg",TRUE,TRUE,LCD_SCREEN); printf("draw bold italic: %d\n",size); ngetchx(); } volatile unsigned short cpt; //to save the previous INT_HANDLER INT_HANDLER OldInt1 = NULL; INT_HANDLER OldInt5 = NULL; //the counter DEFINE_INT_HANDLER (IntCpt) { cpt++; } void test_fontspeed(const unsigned char * title, short num_font,BOOL italic,BOOL bold) { cpt=0; OldInt1 = GetIntVec (AUTO_INT_1); OldInt5 = GetIntVec (AUTO_INT_5); SetIntVec (AUTO_INT_1, IntCpt); SetIntVec (AUTO_INT_5, DUMMY_HANDLER); h_Font font[3]; short h_score; short tios_score; unsigned char old_font; short j; clrscr(); begintest("Font speed",title); hl_loadTiosFont(&(font[0]),&(font[1]),&(font[2])); cpt=0; for (j=0;j<100;j++) hl_drawStr(&(font[num_font]),0,30,"hello",italic,bold,LCD_SCREEN); h_score=cpt; old_font=FontSetSys(num_font); cpt=0; for (j=0;j<100;j++) DrawStr(0,40,"hello",A_NORMAL); tios_score=cpt; FontSetSys(old_font); SetIntVec (AUTO_INT_1, OldInt1); SetIntVec (AUTO_INT_5, OldInt5); printf("\nh=%d tios=%d ratio=%f\n",h_score,tios_score,((float)tios_score)/((float)h_score)); ngetchx(); finishtest(); }