mirror of
https://github.com/yourtion/30dayMakeOS.git
synced 2026-02-09 21:05:08 +08:00
简化字符串显示
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
void make_window8(unsigned char *buf, int xsize, int ysize, char *title);
|
||||
void putfonts8_asc_sht(struct SHEET *sht, int x, int y, int c, int b, char *s, int l);
|
||||
|
||||
void HariMain(void)
|
||||
{
|
||||
@@ -70,30 +71,25 @@ void HariMain(void)
|
||||
sheet_updown(sht_win, 1);
|
||||
sheet_updown(sht_mouse, 2);
|
||||
sprintf(s, "(%3d, %3d)", mx, my);
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 0, 0, COL8_FFFFFF, s);
|
||||
putfonts8_asc_sht(sht_back, 0, 0, COL8_FFFFFF, COL8_008484, s, 10);
|
||||
sprintf(s, "memory %dMB free : %dKB",
|
||||
memtotal / (1024 * 1024), memman_total(memman) / 1024);
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 0, 32, COL8_FFFFFF, s);
|
||||
sheet_refresh(sht_back, 0, 0, binfo->scrnx, 48); /* 刷新文字 */
|
||||
putfonts8_asc_sht(sht_back, 0, 32, COL8_FFFFFF, COL8_008484, s, 40);
|
||||
|
||||
for (;;) {
|
||||
sprintf(s, "%010d", timerctl.count);
|
||||
boxfill8(buf_win, 160, COL8_C6C6C6, 40, 28, 119, 43);
|
||||
putfonts8_asc(buf_win, 160, 40, 28, COL8_000000, s);
|
||||
sheet_refresh(sht_win, 40, 28, 120, 44); /* 到这里结束 */
|
||||
putfonts8_asc_sht(sht_win, 40, 28, COL8_000000, COL8_C6C6C6, s, 10);
|
||||
|
||||
io_cli();
|
||||
if (fifo8_status(&keyfifo) + fifo8_status(&mousefifo) + fifo8_status(&timerfifo)
|
||||
+ fifo8_status(&timerfifo2) + fifo8_status(&timerfifo3) == 0) {
|
||||
io_sti(); /* 不做HLT */
|
||||
io_sti();
|
||||
} else {
|
||||
if (fifo8_status(&keyfifo) != 0) {
|
||||
i = fifo8_get(&keyfifo);
|
||||
io_sti();
|
||||
sprintf(s, "%02X", i);
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_008484, 0, 16, 15, 31);
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 0, 16, COL8_FFFFFF, s);
|
||||
sheet_refresh(sht_back, 0, 16, 16, 32); /* 刷新文字 */
|
||||
putfonts8_asc_sht(sht_back, 0, 16, COL8_FFFFFF, COL8_008484, s, 2);
|
||||
} else if (fifo8_status(&mousefifo) != 0) {
|
||||
i = fifo8_get(&mousefifo);
|
||||
io_sti();
|
||||
@@ -109,9 +105,7 @@ void HariMain(void)
|
||||
if ((mdec.btn & 0x04) != 0) {
|
||||
s[2] = 'C';
|
||||
}
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_008484, 32, 16, 32 + 15 * 8 - 1, 31);
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 32, 16, COL8_FFFFFF, s);
|
||||
sheet_refresh(sht_back, 32, 16, 32 + 15 * 8, 32); /* 刷新文字 */
|
||||
putfonts8_asc_sht(sht_back, 32, 16, COL8_FFFFFF, COL8_008484, s, 15);
|
||||
/* 移动光标 */
|
||||
mx += mdec.x;
|
||||
my += mdec.y;
|
||||
@@ -128,23 +122,19 @@ void HariMain(void)
|
||||
my = binfo->scrny - 1;
|
||||
}
|
||||
sprintf(s, "(%3d, %3d)", mx, my);
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_008484, 0, 0, 79, 15); /* 消坐标 */
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 0, 0, COL8_FFFFFF, s); /* 写坐标 */
|
||||
sheet_refresh(sht_back, 0, 0, 80, 16); /* 刷新文字 */
|
||||
sheet_slide(sht_mouse, mx, my); /* 包含sheet_refresh含sheet_refresh */
|
||||
putfonts8_asc_sht(sht_back, 0, 0, COL8_FFFFFF, COL8_008484, s, 10);
|
||||
sheet_slide(sht_mouse, mx, my);/* 包含sheet_refresh含sheet_refresh */
|
||||
}
|
||||
} else if (fifo8_status(&timerfifo) != 0) {
|
||||
i = fifo8_get(&timerfifo); /* 首先读入(为了设定起始点) */
|
||||
io_sti();
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 0, 64, COL8_FFFFFF, "10[sec]");
|
||||
sheet_refresh(sht_back, 0, 64, 56, 80);
|
||||
putfonts8_asc_sht(sht_back, 0, 64, COL8_FFFFFF, COL8_008484, "10[sec]", 7);
|
||||
} else if (fifo8_status(&timerfifo2) != 0) {
|
||||
i = fifo8_get(&timerfifo2); /* 首先读入(为了设定起始点) */
|
||||
io_sti();
|
||||
putfonts8_asc(buf_back, binfo->scrnx, 0, 80, COL8_FFFFFF, "3[sec]");
|
||||
sheet_refresh(sht_back, 0, 80, 48, 96);
|
||||
putfonts8_asc_sht(sht_back, 0, 80, COL8_FFFFFF, COL8_008484, "3[sec]", 6);
|
||||
} else if (fifo8_status(&timerfifo3) != 0) {
|
||||
i = fifo8_get(&timerfifo3); /* 首先读入(为了设定起始点) */
|
||||
i = fifo8_get(&timerfifo3);
|
||||
io_sti();
|
||||
if (i != 0) {
|
||||
timer_init(timer3, &timerfifo3, 0); /* 然后设置0 */
|
||||
@@ -208,3 +198,11 @@ void make_window8(unsigned char *buf, int xsize, int ysize, char *title)
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void putfonts8_asc_sht(struct SHEET *sht, int x, int y, int c, int b, char *s, int l)
|
||||
{
|
||||
boxfill8(sht->buf, sht->bxsize, b, x, y, x + l * 8 - 1, y + 15);
|
||||
putfonts8_asc(sht->buf, sht->bxsize, x, y, c, s);
|
||||
sheet_refresh(sht, x, y, x + l * 8, y + 16);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user