add ui, change project struct
This commit is contained in:
44
Core/App/Graphic/asciifont.c
Normal file
44
Core/App/Graphic/asciifont.c
Normal file
@@ -0,0 +1,44 @@
|
||||
#include <stdint.h>
|
||||
#include "asciifont.h"
|
||||
#include "bmfont.h"
|
||||
#include "Fonts/quan8x8.h"
|
||||
#include "Fonts/unifont16x16.h"
|
||||
|
||||
#define ASCII_CHAR_START 0x21
|
||||
#define ASCII_CHAR_END 0x7E
|
||||
|
||||
uint8_t af_get_char_data(bmf_BitmapFont *font, uint32_t unicode, uint8_t *buffer) {
|
||||
if (unicode < ASCII_CHAR_START || unicode > ASCII_CHAR_END) {
|
||||
return 0;
|
||||
}
|
||||
uint8_t ch_w = font->char_width;
|
||||
uint8_t ch_h = font->char_height;
|
||||
uint8_t wp = ch_w / 8;
|
||||
wp += (ch_w % 8) ? 1 : 0;
|
||||
uint16_t buffer_size = wp * ch_h;
|
||||
uint32_t start, curr;
|
||||
start = (unicode - ASCII_CHAR_START) * buffer_size;
|
||||
for (curr = 0; curr < buffer_size; curr ++) {
|
||||
buffer[curr] = font->font_date[start + curr];
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bmf_BitmapFont font_quan_8x8_obj = {
|
||||
af_get_char_data,
|
||||
FONT_QUAN_8_8,
|
||||
8,
|
||||
8,
|
||||
FONT_QUAN_ASCII_WIDTH_8_8
|
||||
};
|
||||
|
||||
bmf_BitmapFont font_unifont_16x16_obj = {
|
||||
af_get_char_data,
|
||||
FONT_UNIFONT_16_16,
|
||||
16,
|
||||
16,
|
||||
FONT_UNIFONT_ASCII_WIDTH_16_16
|
||||
};
|
||||
|
||||
bmf_BitmapFont *font_quan_8x8 = &font_quan_8x8_obj;
|
||||
bmf_BitmapFont *font_unifont_16x16 = &font_unifont_16x16_obj;
|
||||
Reference in New Issue
Block a user