//! Character-plot for affine BGs, any sized,vertically oriented font. void ase_drawg_s(uint gid) { TTE_BASE_VARS(tc, font); uint charW= (font->cellW+7)/8, charH= (font->cellH+7)/8; uint x0= tc->cursorX/8, y0= tc->cursorY/8; u8 se= tc->cattr[TTE_SPECIAL] + gid*charW*charH; int ix, iy; for(ix=0; ix<charW; ix++) for(iy=0; iy<charH; iy++, se++) _sbmp8_plot(&tc->dst, ix+x0, iy+y0, se); }
//! Simple version of bmp16 renderer. void bmp16_drawg_b1cts_base(uint gid) { TTE_BASE_VARS(tc, font); TTE_CHAR_VARS(font, gid, u8, srcD, srcL, charW, charH); uint x0= tc->cursorX, y0= tc->cursorY; uint srcP= font->cellH; u32 ink= tc->cattr[TTE_INK], raw; uint ix, iy, iw; for(iw=0; iw<charW; iw += 8) { for(iy=0; iy<charH; iy++) { raw= srcL[iy]; for(ix=0; raw>0; raw>>=1, ix++) if(raw&1) sbmp16_plot(&tc->dst, x0+ix, y0+iy, ink); } srcL += srcP; x0 += 8; } }